|
發布時間: 2017-7-28 20:10
正文摘要:我使用的是金沙灘51單片機開發板,stc89c52的單片機, 以下是我的程序: #include<reg52.h> sbit LED = P0^0; sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLE ... |
| 定時器初始化未完成,補上EA=1試試。 |
|
“單片機硬件沒問題軟件沒問題但是小燈不亮” 一定是遇到“鬼”了。 |
|
樓主的程序沒有什么問題,但不清楚樓主對P1.0~1.4的設置是什么意思,統統注釋掉,LED即可正常閃爍。 #include<reg52.h> sbit LED = P0^0; //sbit ADDR0 = P1^0; //sbit ADDR1 = P1^1; //sbit ADDR2 = P1^2; //sbit ADDR3 = P1^3; //sbit ENLED = P1^4; void main () { unsigned char cnt = 0; // ENLED = 0; // ADDR3 = 1; // ADDR2 = 1; // ADDR1 = 1; // ADDR0 = 1; TMOD = 0x01; TH0 = 0xB8; TL0 = 0x00; TR0 = 1; while(1) { if(TF0 == 1) { TF0 = 0; TH0 = 0xB8; TL0 = 0x00; cnt++; if(cnt >= 50) { cnt = 0; LED = ~LED; } } } } |
| 板上的電路并不適合使用這個程序 |
mengzhixinheng 發表于 2017-7-28 21:30 好,我檢查檢查 |
| 你的定時器初始化不完整 |
| 定時器0沒啟動 |
| 加個延時看看,可能是閃得太快了,人眼看不見 |
| 用T0定時器計時的秒表的程序也不能正常顯示, |