void main()
{
EA=1 //开总中断开关
EX0=1 //打开外部中断0开关
IT0=1 //触发方式设置
while(1)
{
...省略
}
}
void int0 () interrupt 0//外部中断函数
{
led0=0
delay_ms(1000)//延时1s
led0=1
}
解释2个if
num2++;//定时器中断一次加一
if(num2==20)//如果num2加了20次了那么
{num2=0num++//把num2加的数清0,num进这个if一次加一次
if(num==60)num=0 如果num2加了20次了那么,把num加的数清0
shi=num/10//求模
ge=num%10//求余
}
按键一端接地,另一端接P3^2 就是外部中断0 ,,sbit key = P3^2
void main()
{
EX0 = 1
IT0 = 1
EA = 1
while(1)
{
这里写你的功能;
}
}
void int0() interrupt 0
{
unsigned int i = 0
while(1)
{
if(key == 0)
{
i++
if(i >= 1000)
{
i=0
flag = 1
break
}
}
else
{
i=0
break
}
}
}
这个程序包括了消抖部分,flag = 1的时候就表明 按键按下了。 flag的变量定义,还有头文件,自己加上,在主程序你检测flag的状态就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)