注册登录

ZLG72128硬件电路设计之按键扫描电路

刚接触单片机时,为了实现稳定的按键检测,往往需要进行按键消抖处理,按键数量较多时还得考虑采用矩阵连接方式进行列扫描检测,软件操作尽显复杂之势。如今立功科技推出的ZLG72128专用芯片帮你轻松实现。

 ZLG72128简介

ZLG72128是广州立功科技股份有限公司自行设计的数码管显示驱动及键盘扫描管理芯片。一片ZLG72128能够直接驱动12位共阴式数码管(或96只独立的LED),同时还可以扫描管理多达32只按键。其中有8只按键还可以作为功能键使用,就像电脑键盘上的Ctrl、Shift、Alt键一样。另外ZLG72128内部还设置有连击计数器,能够使某键按下后不松手而连续有效。通信采用I²C总线接口,与微控制器的接口仅需两根信号线。该芯片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。

ZLG72128对外采用I²C总线接口通信,通信简单便于控制;由于I²C采用开漏输出结构,所以使用时需接上拉电阻,一般通信速率越高,为保证通信波形的正确性,其上拉电阻也要随之减小,I²C通信速率不要大于400KHz,上拉电阻的典型值为4.7KΩ,过小会增加功耗。

其电路设计极其简单,简要电路框图如图1所示:

微信图片_20190926130817.png

图1 电路设计框图

  ZLG72128按键电路

如图2所示,ZLG72128的32只按键电路极为简单,COM8~COM11引脚为按键的行接口;COM0~COM7为按键的列接口,如此构成4行8列的32只按键扫描电路,其中COM11行上的8只按键为功能键,其余24只按键为普通键。在键盘电路与ZLG72128芯片引脚之间需要连接一个电阻,其典型值是10KΩ。当然用户也可以根据自己的按键数量需求,进行按行或按列自行裁剪,以满足系统的最优设计需求。

 微信图片_20190926130821.jpg

图2 按键电路

  ZLG72128按键识别功能介绍

ZLG72128内置按键消抖处理,可管理高达32只按键,当有按键按下时会有中断信号INT产生,主机接到中断信号后只需读取对应的寄存器即可得知是哪一只按键按下,程序操作极为简单,再也不需要主机主动进行消抖处理或主动轮询检测,大大减小了主机MCU的资源消耗。

不仅如此,ZLG72128还为普通键提供了连击计数功能。所谓连击是指按住某个普通键不松手,经过两秒钟的延迟后,开始连续有效,连续有效间隔时间约两百毫秒。这一特性跟电脑上的键盘很类似。

此按键电路适用于功能键+普通键同时按下的检测,就如同电脑的Ctrl+C、Ctrl+V的操作,操作起来非常有效。

  ZLG72128按键功能拓展

那么问题又来了,当我们希望对两个或两个以上功能键与普通键同时按下进行检测时,ZLG72128是否可以做到呢?那么答案也是肯定可以做到的,只是电路要做一点点改变,如图3所示,只需在功能键与普通键之间加一个二极管(对于二极管尽量选择导通压降较小的肖特基二极管)即可满足要求。

 微信图片_20190926130826.jpg

图3 多个功能键复用按键电路

  完善的配套资料

针对ZLG72128芯片我司提供完善的软硬件设计资料,从原理图、PCB设计、Demo板测试到配套软件驱动(包含普通Cortex M系列MCU内核、Linux驱动、AMetal驱动、AWorks驱动),以及软硬件设计文档等全套资料。

0条回复

作者
用户头像
文章 0关注 0粉丝 0
发私信
相关文章
联系客服