关于中断几个小问题

2019-03-24 19:51发布

这是一个用中断和计时器控制一个led灯循环闪烁的程序
#include<reg52.h>
sbit led1=P1^0;
void main()
{EA=1;
ET0=1;
TMOD=0x01;
TH0=(65536-46083)/256;
TH1=(65536-46083)%256;
TR0=1;
while(1);
}
void time() interrupt 1
{
led1=~led1;
TH0=(65536-46083)/256;
TH1=(65536-46083)%256;
}
程序中没有有关循环的语句  为什么导到硬件中led出现循环的效果?

求大侠解释 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
hades2011
2019-03-25 07:57
中断却没有关闭  可以这样子修改}
void time() interrupt 1
{
static char i=0
led1=~led1;
if(i<10)   //  这个数字你觉得多少度无所谓,但要小于255
             i++;
else     ET0=0;  // 关中断
}
  这样子就会看到闪烁几下后  就一直亮着或者灭了

一周热门 更多>