这是一个用中断和计时器控制一个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出现循环的效果?
求大侠解释
此帖出自
小平头技术问答
这个一直在循环工作
void time() interrupt 1
{
static char i=0
led1=~led1;
if(i<10) // 这个数字你觉得多少度无所谓,但要小于255
i++;
else ET0=0; // 关中断
}
这样子就会看到闪烁几下后 就一直亮着或者灭了
一周热门 更多>