当前位置:首页 > 单片机 > 单片机
[导读] 该 电路在程序处理时,由处理器首先向I/O1~I/O3写高电平,然后读入。如果非全“1”,说明,K0~K6中有键按下,此时可根据读入的端口状态判断键 的状态,如果读入的结果为全“1”,则I/O1~I/O3轮流输出低电平,再




该 电路在程序处理时,由处理器首先向I/O1~I/O3写高电平,然后读入。如果非全“1”,说明,K0~K6中有键按下,此时可根据读入的端口状态判断键 的状态,如果读入的结果为全“1”,则I/O1~I/O3轮流输出低电平,再读入,这样就可根据另外两根I/O线的状态来判别是K7~K15中的哪一个键 被按下。重复调用键盘处理子程序可将读取的键值与上次的值进行比较,甚至两次读数相同为止,这样即可消除按键抖动所造成的误读。该电路选用的单片机为

AT89C2051

,用C51语言编写的按键电路处理程序如下:


#include


#define uchar unsigned char


uchar getkey(void);


uchar keyvol;


void main(void)


{


keyvol=getkey(); /*调用键处理函数,返回的数据等于16表示同有键按下,0至15对应k0至K15*/


}


以下为键盘处理子程序:


uchar getkey(void)


{


uchar x


P1=P1|0x07; /*I/O1至I/O3写“1”*/


x=P1&0x07; /*读入I/O1至I/O3并屏蔽其它位*/


if(x==0x07) /*判断K0至K6是否按下并转换键值*/

{
P1=P1&0xfe; /*

I/O1写“0”*/


x=P1&0x07;


x=x/2+7;


if(x= =10)


{


P1=P1|0x07;


P1=P1&0xfd; /*I/O2写“0”*/


x=P1&0x07;


x=(x+1)/2+10; /*屏蔽I/O2并转换K10至K12的键值*/


if(x = =13)


{


P1=P1|0x07;


P1=P1&0xfb; /*I/O3写“0”*/


x=P1&0x07;


x=x+13; /*屏蔽I/O3并转换K13至K15的键值*/


}


}


}


return x;


}


利用该键盘电路并根据逻辑组合原理可推断开n条I/O线可组合的按键数N为:


N=(2n-1)+(2 n-1 -1)n





个人觉得自己写程序的时候有个地方需要注意:当IO口赋值011,按k0之后IO读数为000,按k13读数也为000,所以如果检测到到k0到k6,这几个都没按才可以继续检测k7到k15.


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

语音识别技术,也被称为自动语音识别(Automatic Speech Recognition,ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。

关键字: 语音识别 按键 二进制

今天说说激光雷达的扫描角度,它的技术原理、应用与挑战是什么呢?激光雷达,作为一种主动式遥感设备,通过发射激光并接收其反射信号来获取目标物体的距离、速度和其他相关信息。扫描角度作为激光雷达的关键参数,决定了其探测范围和分辨...

关键字: 激光雷达 扫描

十档调色太阳能庭院灯方案-DLT8P60SC-杰力科创

关键字: 机械 按键

CC2530-最小系统搭建

关键字: cc2530 io口

基于Proteus学习单片机系列——按键

关键字: protues 按键

相信很多道友都有对输入IO 口进行滤波的需求,比如按键输入、红外对管输入等。本文以按键为例,简单介绍了如何进行较为高效的滤波。

关键字: io口 单片机

现在大街上随处可见的LED显示屏,还有装饰用的LED彩灯以及LED车灯,处处可见LED灯的身影,LED已经融入到生活中的每一个角落。LED显示屏静态与动态扫描是相对应的,一般来说,实像素LED显示屏就是指构成显示屏的红绿...

关键字: led显示屏 静态 扫描

综合中国产业研究院和中国国家统计局的数据来看,截止到2019年年底,中国电梯保有量已经达到745.1万台,如此巨量的电梯给预防新冠疫情造成很大困难。

关键字: 电梯按键 电梯 按键

  方案特色:   * 支持按键、滑块和滚轮触摸界面;   * 硬件资源占用少,占用2个定时器和GPIO口;   * 外围器件少,每个通道只需两个电阻和一个电容,制造成本

关键字: 电容式 按键 触摸感应

  随着现代电子技术尤其是人机接口技术的不断发展,触摸式按键在电子产品和手持式仪器中得到越来越广泛应用。相对传统的机械式按键,触摸式按键具有明显的技术优势,不但系统硬件结构简单,生产成本低,而且

关键字: 按键 触摸式 wtc6216
关闭
关闭