新闻中心

EEPW首页>EDA/PCB>设计应用> 基于CPLD的键盘控制器设计

基于CPLD的键盘控制器设计

作者: 时间:2009-05-21 来源:网络 收藏

通过这样的处理既满足设计的需要,又起到对器件保护的作用。EN是扫描电路的使能输入端,高电平有效。它通过去抖动后的列回复线相与得到。当有按键按下时,相应的列线将被置低。相与的结果为低,这使扫描电路停止扫描,等待控制器对扫描结果进行处理,得到相应的键值送入键值锁存器,等待单片机读取。这样做的好处是可防止控制器漏掉按键的读取。根据调试得知,扫描时钟信号最好是去抖电路时钟的四分频以上。所以CLK是通过对去抖电路的时钟进行分频得到的。图3给出实现扫描电路的具体原理图。

本文引用地址://m.amcfsurvey.com/article/192036.htm

(2)该设计中采用4×4的,有16个按键状态,再加上一个没有键按下的状态共有17个状态,而4位二进制数只能表示16个状态。为了解决这个问题,将R4和L4或非后再与计数器产生的中断信号相或,产生一个单片机中断。当按下最后一个键时,控制器便产生1个中断,让单片机来读取这个按键值0000(在没有键按下时也是这个状态),从而区分了无按键状态和最后一个按键按下的状态。这样在编码的时候只需考虑前15个键的状态信息。最终可用4位二进制数表示所有按键状态。图4给出实现编码器的具体原理图。

(3)键盘去抖动电路主要由2个DQ触发器和1个基本RS触发器组成。当有键按下时,理想情况下相应的列线应该是一直保持低电平。
但是实际应用中不可避免地产生抖动,此时列回复线将发生长短不等的高电平跳跃现象。键盘去抖电路就是去除这样抖动的高电平对按键键值检测带来的干扰。为了消除这样的干扰,去抖电路采用两级延时策略。
只要抖动的高电平持续时间在去抖电路的2个时钟周期之内,这种抖动是不会被引进编码电路的。键盘去抖电路的具体原理图实现如图5所示。

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



评论


相关推荐

技术专区

关闭