|
剛學(xué)定時(shí)器,需要寫(xiě)一個(gè)程序,就是按下S2(代碼里面的key1)之后讓led燈全亮,定時(shí)器定時(shí)5s之后讓led燈全部熄滅。我這樣子寫(xiě)發(fā)現(xiàn)并不能熄滅,有沒(méi)有人給說(shuō)一下問(wèn)題并且給個(gè)思路?- #include <reg52.h>
- #include <intrins.h>
- sbit key1=P3^0;
- void delay(unsigned char z)//zms延時(shí)
- {
- unsigned char i, j;
- while(z>0)
- {
- _nop_();
- i = 2;
- j = 199;
- do
- {
- while (--j);
- } while (--i);
- z--;
- }
- }
- void timer0Init() //50ms
- {
- TR0=1;
- TMOD=0X01;
- TH0=(65535-46082)/256;
- TL0=(65535-46082)%256;
- }
- void main()
- {
- unsigned char msec;
- timer0Init();
- while(1)
- {
- if(key1==0)
- {
- delay(20); //消抖
- if(key1==0)
- P1=0x00;
- if(TF0==1)
- {
- TF0=0;
- msec++;
- TH0=(65535-46082)/256;
- TL0=(65535-46082)%256;
- if(msec==100)
- P1=0XFF;
- }
- while(!key1) ;//松手檢測(cè)
- }
- }
- }
復(fù)制代碼
|
|