51单片机按键中断程序

51单片机按键中断程序,第1张

#include "reg51.h"

void int0(void) interrupt 0

{

}

void main(void)

{

IT0=1

EX0=1

EA=1

while(1)

}

void External_Interrupt_0() interrupt 0

{

Count_A = ~ Count_A

LED1 = ~ LED1

}

你用外部中断0,是否是想按住按键时就停在哪里,是就这样改一下!void External_Interrupt_0() interrupt 0

{

Count_A = ~ Count_A

LED1 = ~ LED1 while(!P32)

}

假如P32按下时下降沿或低电平触发,进入外部中断,执行完2条指令取反后,一直等待按键松开。

//sbit zd=P3^2//外部中断口//unsigned char avoid main(void)//主函数{TCON=0x01EX0=1//外部中断允许EA=1//开总中断while(1){//其他程序}}void int0(void) interrupt 0 //外部中断0 中断子程序{//这里面可以写中断子程序/*a++if(a==2) a=0while(!zd)if(a) TR0=1//开关计时器else TR0=0*/}由于对你的要求“按下INTO接的按键,使单片机执行间隔四灯轮流闪烁的中断子程序”不够理解,只能给你这样一个程序框架了进入中断要执行中断子程序,不同的中断源要进入不同的中断子程序。对于51的C编程,可以用中断标号,如‘interrupt 0’来使中断进入不同的中断。中断标号与它们的中断优先级一致,即外部中断0 interrupt 0定时器中断0 interrupt 1外部中断1 interrupt 2定时器中断1 interrupt3


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

原文地址:https://54852.com/yw/11165708.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存