#include <REGX52.H>
#include <INTRINS.H>
// 定义LED1管脚
sbit LED1 = P2 ^ 0;
/*
*外部中断0初始化
*触发方式 type 1:下降沿 0:低电平
*/
void externalInterrupt0Init(bit type)
{
IT0=type;
EX0=1;//打开INT0的中断允许
EA=1;//打开总中断
}
/**
* 11.0592MHZ毫秒级延迟
*/
void Delayms(unsigned int m) //@11.0592MHz
{
unsigned int n;
for(n=0;n<m;n++){
unsigned char i, j;
_nop_();
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
}
void main()
{
externalInterrupt0Init(1);
while (1) {
}
}
/*
*外部中断0触发回调
*/
void externalInterruptCallback() interrupt 0
{
Delayms(10);//消抖
if (P3_2 == 0) // P3_2是中断0控制位
{
LED1=!LED1;
}
}