c语言主程序子程序流程图,c语言超经典矩阵式键盘的接法,流程图和扫描程序

本文介绍了如何使用C语言进行矩阵式键盘的行扫描法,包括无键按下判断、闭合键位置确定以及C语言键盘扫描子函数的实现,详细讲解了按键扫描流程和去除键抖动的方法。
摘要由CSDN通过智能技术生成

标签:单片机(2591)程序(73)C语言(456)

列线输入端P1.0~P1.3通过电阻接正电源,行线P1.4~P1.7所接的单片机的I/O口作为输出端。将输入端置为高电平,输出端置为低电平。这样,当按键没有按下时,所有的输入端无变化,代表无键按下。一旦有键按下,则输入线就受输出线的影响被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

486c1d0e1d3a5727ed9d52a1395d30a0.png

行扫描法

行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。

判断键盘中有无键按下 将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。

判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值