什么是中断
它指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
如何设置中断
这里就是在你的函数后面加上对应中断号就行
如何打开中断
看中断图需要将对应的EX0和EA关闭,设置对应的位,但是两个对应的位在头文件中直接定义了所以直接使用即可。
代码
#include"reg52.h"
int cnt=0;
sbit led1=P3^7;
sbit led2=P3^6;
void timer()
{
TMOD=0x01;//1.配置定时器0工作模式
TL0=0x00;
TH0=0xDC;//2.给个初值定时10ms
TR0=1;//3.开始计时
}
void Delay300ms() //@11.0592MHz
{
unsigned char i, j, k;
i = 3;
j = 26;
k = 223;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
EA =1;
ET0 =1; //打开中断
timer();
led1=1;
led2=1;
while(1)
{
led1=0;
Delay300ms();
led1=1;
Delay300ms();
}
}
void interrupt_() interrupt 1 //中断函数,将中断序号放在后面
{
TF0=0;
TL0=0x00;
TH0=0xDC;
cnt++;
if(cnt==100)
{
led2=!led2;//io口状态反转
cnt=0;
}
}