定时器初始化未完成,补上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定时器计时的秒表的程序也不能正常显示, |