微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于CPLD的键盘控制器设计

基于CPLD的键盘控制器设计

时间:05-20 来源:EDN 点击:


3 仿真实验及分析

3.1 扫描电路的输出仿真波形


键盘控制器扫描电路的输出仿真波形如图6所示。在图6中扫描电路的输出端依次循环输出低电平来扫描键盘的每一行,图中L1~L4是没有加三态门的扫描器输出,其作为编码电路的输入,R1~R4是加三态门的输出波形,从图3中可以看出当L1~L4的输出是高电平时,R1~R4的输出状态是高阻。


当同一列上的2个按键同时按下时,就可以避免在可编程逻辑器件LC4128V的两个引脚上发生高低电平短接的非法情况。

3.2 编码器的仿真波形

编码器的仿真波形如图7所示。


在图7中,当键盘的第一行扫描电平为低时,根据4×4键盘的扫描原理,只有当第一列的第一个键被按下时,C1才能为低。相应的编码电路输出K3K2K1KO值为0001。只有当第二列的第一个键被按下时,C2才能为低,此时K3K2K1K0值为0010。同理,当C3,C4分别为低时,K3K2K1K0值依次为0011,0100。依此方式编码便可得到前15个按键的键值,而第16个按键的键值就要通过R4和L4相或非后产生单片机中断信号,通知单片机来读取它的键值0000。

3.3去抖动电路的仿真波形

去抖动电路的仿真波形如图8所示。


在图8中,当按键过程中发生抖动时,经过去抖动电路处理,DELYOUTl一直保持低电平。可见,抖动对键值的读取并不产生影响。

3.4 键盘控制器的整体仿真波形

键盘控制器的整体仿真波形如图9所示。


图9是当键盘行扫描信号把键盘的第二行置低,并且第一列的第二个键被按下时键盘控制器的输入/输出波形。从图9中可以看出,控制器检测的键值为0101(这个按键的编码值),这个值并不是在检测到有键按下时就立即被锁存到键值锁存器中的,而是经过一段时间的延迟后,键盘控制器向单片机发出读取这个键值的中断信号(INT),与此同时才给锁存器一个锁存信号来锁存这个值。这样做不但可以防止按键误操作,而且也能处理按键被长时间按下的情况。

4 结 语

IspMACH 4000系列的LC4128V强大的在系统编程能力,在IspLEVER系列工具软件的强力支持下,可以在很短的时间内实现嵌入式系统的接口设计,而且能够使嵌入式产品更具有灵活性。现实表明,可编程逻辑器件的发展和广泛应用,正在使计算机及其应用系统的设计产生革命性的变化。

该设计的键盘控制器已应用于某实际的嵌入式产品中,大大增加了产品的升级空间和节省了单片机的资源,并且收到了非常好的效果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top