可编程逻辑器件应用实验指导(10)

2019-08-03 12:28

实验九 利用可编程逻辑器件进行一个矩阵键盘

控制接口的设计

一、实验目的

1、了解矩阵键盘的功能和矩阵键盘控制接口的设计方法 2、用VDHL语言设计控制矩阵键盘的接口电路

二、实验器材

1、台式计算机 1台

2、可编程逻辑逻辑器件实验软件1套 3、下载电缆一套 4、示波器一台

三、实验说明

1、台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。

2、可编程逻辑逻辑器件实验软件向原理图的设计和硬件描述语言的编程提供平台,并将调试好的程序下载到可编程逻辑逻辑器件中。

3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。

4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化

四、实验内容和步骤

1、实验仪器中4×8矩阵键盘的电路原理图如图9-1所示。

图9-1 4×8矩阵键盘电路原理图

扫描信号为BCOM[8..1],在BCOM[8..1]前已接有一个3-8译码器,3-8译码器的输入为SEL0~SEL3。当3-8译码器的输入为“000”时,即BCOM1为‘0’,其他位为‘1’,我们按下第一排第一键,此时KIN0输出‘0’,KIN1~KIN3输出全为‘1’,按下第二排第二键时,KIN1输出‘0’,其他输出‘1’;当3-8译码器输入为001时,即BCOM2为‘0’,我们按下第一排第二键,此时KIN0输出‘0’,KIN1~KIN3输出全为‘1’,同理其他键依此类推。

键盘上的每个按键就是一个开关,当某键被按下时,该按键的接点会呈现‘0’状态,反之为‘1’。扫描信号为SEL[2..0]进入3-8译码器,再从译码器输出到键盘,所以第一次只能扫描一排,依此周而复始。按键位置与数码的关系如表50-1所示。

若从KIN[3..0]输出的皆为‘1’时,表示没有按键按下,代表该列没有按键被按下,则不进行按键编码的操作,反之,如果有被按下时,则应将KIN[3..0]读出的值送到译码电路进行编码。

表9-1 按键位置与数码关系 SEL2~SEL0 KIN3~KIN0 对应的按键 1110 000 1101 1011 0111 1110 001 1101 1011 0111 1110 010 1101 1011 0111 1110 011 1101 1011 0111 1110 100 1101 1011 0111 1110 101 1101 1011 0111 1110 110 1101 1011 0111 1110 111 1101 1011 0111

0 6 LAST CTRL 1 7 STEP EMPTY1 2 REG C EMPTY2 3 EXEC D EMPTY3 MEM 8 E EMPTY4 ESC 9 F SHIFT 4 A NEXT NONE 5 B ENTER NONE 光靠矩阵键盘是无法正确地完成输入工作的,另外还需搭配以下几个电路模块:

a、时钟产生电路

当一个系统中使用不同操作频率的脉冲波形时,最方便的方法就是利用一个自由计数器来产生各种频率。本电路中就使用三种不同频率的工作脉冲波形。它们分别是:系统时钟(它是系统内部所有时钟的提供者,频率最高)、

弹跳消除取样信号、键盘扫描信号和七段显示器扫描信号。在很多的电路设计中,键盘扫描信号和七段显示器扫描信号可以使用相同的时钟信号,本设计也采用此方法。

具体做法:

先建立一个N位的计数器,N的大小由电路的需求所定。N的值越大,分频的次数就越多,但所占用的空间也越大。

若要得到一个脉冲波形信号,可以只取计数器中一个值,如使用CLK<=Q(4)语句,其值变化为0-1-0-1-1??。

? 若要得到脉冲波形序列,可以取计数器中的几个值,如使用CLK<=Q(4

DOWNTO 3)语句,其值变化为00-01-10-11-00-01??。

b、键盘扫描电路

扫描电路的作用是用来提供键盘扫描信号(表50-1中的SEL2~SEL0)的电

000-001-010-011-100-101-110-111??依次的周而复始。扫描时依序分别扫描八列按键,当扫描信号为000时,扫描0这一列按键??每扫描一列按键,就检查一次是否有按键按下,如果这排有按键按下,就马上停止扫描,立即进行按键编码动作,存储键码,如果没有按键按下,则继续扫描下一列。 c、弹跳消除电路

因为按键大多是机械式开关结构,在开关切换的瞬间会在接触点出现来回弹跳的现象,对于激活关闭一般电器并不会有何影响,但对于灵敏度较高的电路,却有可能产生误动作而出错。

弹跳现象产生的原因可从图50-2说明。虽然只是按下按键一次然后放掉,然而实际产生的按键信号却不只跳动一次,经过取样的检查后将会造成误判,以为按键两次。

按键信号 抽样信号 抽样结果

图9-2 弹跳现象产生错误的抽样结果

如果调整抽样频率(如图9-3),可以发现弹跳现象获得了改善。

按键信号 抽样信号 抽样结果

图9-3 调整抽样频率后得到的抽样结果

因此必须加上弹跳消除电路,避免误操作信号的发生。注意,弹跳消除电路

所使用脉冲信号的频率必须比其它电路使用的脉冲信号的频率更高;通常将扫描电路或LED显示电路的工作频率定在24HZ左右,两者的工作频率是通常的4倍 或更高。 d、键盘译码电路

上述键盘中的按键可分为数字键和功能键。

数字键主要用来输入数字,但从表50-2中发现,键盘所产生的输出KIN3~KIN0无法拿来直接使用;另外不同的数字按键也担负不同的功能,因此必须由键盘译码电路来规划第个按键的输出形式,以便执行相应的动作。

有了表50-2,要写出键盘译码电路的VHDL程序就非常容易了,尤其针对有表可以对照的电路设计,只要使用CASE-WHEN或WHNE-ELSE语句,便可轻松完成设计。

表9-2 键盘参数表

SEL2~SEL0 KIN3~KIN0 1110 000 1101 1011 0111 1110 001 1101 1011 0111 1110 010 1101 1011 0111 1110 011 1101 1011 对应的按键 0 6 LAST CTRL 1 7 STEP EMPTY1 2 REG C EMPTY2 3 EXEC D 键盘译按键功码输出 能 00000 00100 10100 11000 00001 00111 10101 11010 00010 10010 01100 11011 00011 10011 01101 数字0 数字6 功能键 功能键 数字1 数字7 功能键 扩展1 数字2 功能键 字母C 扩展2 数字3 功能键 字母D


可编程逻辑器件应用实验指导(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中化学“自主合作探究式”课堂教学模式的建构与实践

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: