中断键盘扫描

本文介绍了51单片机使用中断处理键盘扫描的方法,重点在于中断服务函数Int0_Routine,通过低电平有效的INT0口检测按键。在中断服务程序中,进行了去抖动处理,包括关闭中断、延迟、获取键值、再次延迟以及发送键值到串口。此外,还讨论了解决按键抖动和按键响应不稳定的问题,如在按键按下时确保中断口INT0被正确置低,并在读取键值后将P1口设为双向口。
摘要由CSDN通过智能技术生成

 先理解下中断的含义:对于51单片机,例如中断口 INT0口,低电平有效,是指如果该脚是低电平,则进入中断函数           

        void Int0_Routine(void) interrupt 0  执行,对于STC12LE5404AD,当P1=0XFF时,如果有按键按下,则 INT0口为低,则进入中断函数void Int0_Routine(void) interrupt 0 。代码如下:

 

//#include <reg52.h>
#include <intrins.h>
#include <STC12.h>
#define   uchar unsigned char   /*宏定义*/ 

sbit P1_7=P1^7;
sbit P1_6=P1^6;
sbit P1_5=P1^5;
sbit P1_4=P1^4;
sbit P1_3=P1^3;
sbit P1_2=P1^2;
sbit P1_1=P1^1;
sbit P1_0=P1^0; 


sbit FREE_HAND=P2^2;
sbit PSTN_CIN=P2^3;
sbit MAN_CIN=P2^7;

 uchar i = 0;
uchar ch;
uchar record = 0;
uchar temp;
uchar key_test ;
uchar GetKey

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值