51单片机中断系统外部中断设计程序

51单片机中断系统外部中断设计程序,第1张

按键一头接在外部中断口,一头接地。按一次触发一次。

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的状态就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8119725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存