历史上的今天
返回首页

历史上的今天

今天是:2025年01月18日(星期六)

正在发生

2021年01月18日 | 关于4×4矩阵式键盘路的改进

2021-01-18 来源:eefocus

下图就是一个常规的4×4键盘电路图。

这种常规的矩阵键盘电路,相信大家都司空见惯了,好多人都会编写它的驱动程序。


图中使用了P0口的8个引脚(P0.0~P0.7),分别驱动键盘的行和列。按键的编号,在图中分别标注了0~F。


检测按键的一般的思路是在四个列线,分别输出一个低电平,然后输入行线,逐行检测是否存在低电平。


如果在某行有低电平出现,就说明该行、列的交叉点上的按键,被按下了。


其实,这些行、列引线,是“分时”工作的,当在某一列输出低电平的时候,其它的列,输出的就是高电平。


如果利用这些输出高电平的列,进行输入,那么就可以极大的节省IO接口的引线数量。


基于这个道理,在上图中,下面的四个列驱动引线(P0.4~P0.7),就完全可以省去,只是使用行驱动的引脚(P0.0~P0.3)来分时输出低电平即可。


电路见下图。

为了对引脚之间进行隔离,图中加上了四个二极管,确保只有在引脚输出低电平的时候,方可把键盘中相应的列置为0。


针对这个电路,对按键的检测方法,和常规的4×4键盘检测思路是相同的,例如:


当在P0.0输出低电平,即最左边的列为0,这时检测P0.1、P0.2及P0.3是否为0,可以判断最左边的三个按键是否按下;


当在P0.1输出低电平,即左边第二列为0,这时检测P0.0、P0.2及P0.3是否为0,可以判断左边第二列的三个按键是否按下;


…………;


这个检测按键是否按下的思路非常简单,会编写常规4×4键盘驱动程序的网友,肯定都会编写出来这种电路的驱动程序。


因为行和列使用了相同的IO引线,实际上,连接在同一个引线的行、列交叉点处的按键,就已经失效了,那么就把把原来的按键,移动出来,把二极管画在交叉点,电路如下所示。

再把移出来四个按键连接在IO引线,另一端直接接地;把其它按键的编号,再整理一下,就成了下图电路。

这个电路比常规的4×4键盘电路仅仅多用了四个二极管,但是却节省了四条IO接口引线,这个意义是十分巨大的。


按照这个电路的设计思路,使用n条IO接口引线,就可以驱动n×n个按键。


那么用5个IO引脚,就可以驱动5×5的键盘,这就足以满足各种应用了。


网上也有一些其它类型的节省接口的键盘电路,但是都有不足,不是电路过于复杂,就是驱动的按键个数较少,远远不及本电路简单实用。


这是个完美的精简接口的4×4键盘电路,不仅可以用在51单片机系统,在使用其它MCU组建的电路中同样适用。


针对这个电路,已经用汇编语言和C语言编写出了驱动程序,因为汇编语言可以使用“位操作”指令,所以程序的比较简单;C语言的程序,就显得累赘一些。


推荐阅读

史海拾趣

B.B. Battery公司的发展小趣事

B.B. Battery公司成立之初,面临着资金短缺、市场竞争激烈等诸多挑战。然而,公司的创始人凭借对电池行业的深刻理解和敏锐的市场洞察力,带领团队不断探索和积累。他们深入调研市场需求,研发出适应市场需求的电池产品,并通过优化生产流程、降低成本等方式,逐步在市场上获得了一席之地。

DURACELL公司的发展小趣事

DURACELL公司自成立以来,一直致力于提供高品质的电池产品。公司不断投入研发资源,推动电池技术的创新。金霸王碱性电池以其“卓越品质,持久电力”的出众品质行销全球近百个国家和地区。此外,DURACELL公司还积极拓展产品线,生产和销售锂电池等高性能电池产品,以满足不同领域的需求。

Handok Co Ltd公司的发展小趣事

DURACELL公司自成立以来,一直致力于提供高品质的电池产品。公司不断投入研发资源,推动电池技术的创新。金霸王碱性电池以其“卓越品质,持久电力”的出众品质行销全球近百个国家和地区。此外,DURACELL公司还积极拓展产品线,生产和销售锂电池等高性能电池产品,以满足不同领域的需求。

福声科技(FUET)公司的发展小趣事

在稳固国内市场的同时,福声科技积极寻求国际合作机会,努力拓展海外市场。公司凭借其优质的产品和服务,成功吸引了日本、韩国、加拿大、美国等多个国家和地区的客户。通过与国际知名企业的合作与交流,福声科技不仅提升了自身的技术水平和品牌影响力,还进一步拓宽了国际市场渠道,为公司的全球化战略奠定了坚实基础。

Global Mixed-Mode Technology Inc公司的发展小趣事
三相缺相报警灯电路的维护周期和注意事项应根据实际情况来制定。一般来说,建议定期检查电路的连接情况、继电器的动作情况以及报警灯的工作状态等。同时,还需要注意保持电路的清洁和干燥以防止短路或腐蚀等问题的发生。在维护过程中应严格遵守操作规程和安全规范以确保人员和设备的安全。
ELPIDA公司的发展小趣事

ELPIDA公司成立于1999年,是日本在DRAM(动态随机存取存储器)领域的重要企业。它的成立是对当时日本半导体产业的一次重要整合,由NEC、日立、三菱电机等公司的DRAM业务合并而成。这一举措旨在振兴日本在DRAM领域的竞争力,并保护国内DRAM产业。

问答坊 | AI 解惑

这样的dll 表示什么意思

             0  1  2  3  4  5  6  7  8 9   a  b  c  d  e&nbs ...…

查看全部问答>

最easy的一个问题,VxWorks下怎么控制评估板上的LED

VxWorks + ARM7 4510 的评估板, 在ADS下裸机编程调试通过了的一个LED闪灯程序。 把它加入到一个在VxWorks下已经可以运行的程序里面去后。(当然相应的头文件都加上了的) 不能闪灯。 观察到运行到LED闪灯程序处时,闪灯程序直接被跳过。 这是什 ...…

查看全部问答>

请教wince下的无线网络视频传输问题

大家好,我们最近在做无线视频传输方面的东西 现在视频的本地采集编解码都已经实现(有芯片产商的demo程序), 视频采集后编码成mpeg-4放在某内存缓冲区中, 现在我们想通过wifi传输视频,用的是windows ce5.0,最终是要实现两个掌上设备点对点的视频传 ...…

查看全部问答>

USB的VID/PID问题

                                 我打算在新设计的设备上,利用STM32的USB来代替传统的串口通信(因为很多笔记本都不提供串口,甚至很多新的台式机 ...…

查看全部问答>

求问一个xilinx 时钟使用的问题

各位好! 我有一个xilinx ML506的板子,下了个简单的组合逻辑电路测试 结果OK。 然后下个时序逻辑就出错了。。。 我的代码如下: module LED( c, my_clk     );          input my_clk;   &nb ...…

查看全部问答>

汽车传感器行业找销售咯

华南区销售工程师华南区:大区办公室设在厦门本部,管辖福建、广东、广西、海南、江西主要工作: 1、   负责所辖区域产品的销售推广、提供售后服务及维护,完成本区域销售任务; 2、   建立健全所辖区域市场渠道信息系统,市 ...…

查看全部问答>

期刊上关于电源的分析

本帖最后由 paulhyde 于 2014-9-15 03:55 编辑 内容是2013年期刊上作者对电源的分析  …

查看全部问答>

请教一个关于运放选型的问题

首先给大家拜个年啦 是这样的,对运放的参数比较熟悉,也知道在不同应用环境下对运放的带宽,供电,压摆率等进行分析,但是问题来了 现在我需要做一个迟滞比较器加一个比较器来产生一个方波,频率和幅值都已知,那么我该怎么去找运放呢, 那么多运放,TI ...…

查看全部问答>