wulin 发表于 2020-5-8 13:47 谢谢 哥哥 ![]() |
完美BAO 发表于 2020-5-8 10:33 bit j=0;//闪烁周期标志 bit k=0;//闪烁允许标志 void timer0() interrupt 1 { static uint i; TH0=(65536-50000)/256; TL0=(65536-50000)%256; i++; if(i<10)j=1;//0.5s else j=0; if(i==20) //1s { i=0; time_cnt++; if(time_cnt==time)//time控制闪烁启停时间 { time_cnt=0; k=~k; } } if(j==1&&k==1)//1s周期闪烁 led=0; else led=1; } |
bobo233 发表于 2020-5-8 00:36 去掉这两行 会出现 定时到了 它会一直走 灯也一直亮 |
在中断服务程序中,你把ET0和TR0 关掉了。注释掉这两句应该就行 |
ET0=0表示关闭定时器0的中断,TR0=0是定时器停止工作,去掉这2行就好乐 |