#include "reg51.h"
#include "intrins.h"
//-----------------------------------------------
bit FLAG; //1:上升沿中断 0:下降沿中断
sbit P10 = P1^0;
//-----------------------------------------
//中断服务程序
void exint0() interrupt 0 //INT0中断入口
{
P10 = !P10; //将测试口取反
FLAG = INT0; //保存INT0口的状态, INT0=0(下降沿); INT0=1(上升沿)
}
//-----------------------------------------------
void main()
{
INT0 = 1;
IT0 = 0; //设置INT0的中断类型 (1:仅下降沿 0:上升沿和下降沿)
EX0 = 1; //使能INT0中断
EA = 1;
while (1);
}
用过单片机检测上升沿和下降沿的师傅,看看上面历程中的红色部分,特别不解FLAG变量的作用,还有中断服务中FLAG = INT0的作用,求解释!!
|