51单片机基础之外部中断(二)
代码:
#include
typedef unsigned char u8;
typedef unsigned int u16;
sbit LED=P2^0;
sbit KEY=P3^3;
void delay(u16 i)
{
while(i--);
}
void EXIT1_Init(void) //外部中断初始化
{
IT1=1;//跳变沿触发方式(下降沿),低电平触发
EX1=1;//打开INT0的中断允许,打开外部中断0允许
EA=1;//打开总中断
}
void main(void)
{
EXIT1_Init();//打开外部中断
while(1)
{
}
}
void exit1() interrupt 2 //中断服务函数 ,中断优先级第一,所以为0
{
delay(1000);
if(KEY==0)
{
LED=!LED;
}
}
//外部中断0和外部中断1差不多,只是数字上的区别还有中断优先级的区别。
运行结果:
当
共有 0 条评论