#include"main.h"
sbit Key_S1=P1^0;
unsigned int count=0;
void delay(unsigned char n) // 延时
{
unsigned char i;
while(n--)
{
for(i=10;i>0;i--);
}
}
void initi(void) // 中断初始化,寄存器的设置
{
IT0=1; //下降沿触发
EX0=1; // 允许外部0中断
IP=0x01;//外中断优先级为高
EA=0;// 开始时全部中断关闭
}
void main()
{
unsigned char Key_Flag=0;
initi();
while(1)
{
Key_S1=1;
if(Key_S1==0) // 独立按键处理
{
delay(50);
if(Key_S1==0)
{
Key_Flag=~Key_Flag; // 每按一次键,取反一次
}
if(Key_Flag==0)
{
EA=0; // 关中断
}
else
{
EA=1; //开中断
}
}
// 在此行调用显示函数显示count
}
}
void Int0(void) interrupt 0 // 中断服务程序
{
count++; // 没中断一次加一 即每来一个脉冲加一
if(count==10000)
{
count=0;
}
// 在此行调用显示函数显示count
}