学习了51中断程序的一些知识,简单的来说就是正在做一件事,突然发生了一件更紧急的,所以停下正在做的工作去处理它,处理完后又回来完成。
#include <REGX52.H>
#define uint unsigned int
sbit led=P1^3;
uint i;
void main ()
{
TMOD=0x01;//工作模式1 ,需赋初值
TH0=(65536-1000)/256; //定时1000,高八位
TL0=(65536-1000)%256;
EA=1;//打开中断允许总开关
ET0=1;//定时器0中断允许
TR0=1;//定时器0启动控制
while(1);
}
void timer () interrupt 1 //定时器0中断
{
TH0=(65536-1000)/256; //1ms一次脉冲
TL0=(65536-1000)%256;
i++;
if(i==1000)
{
i=0;
led=~led; //led一秒亮一次 ,即1000次脉冲
}
}