THGSC-3型 实验指导书(EDA基础部分)(8)

2018-12-19 21:00

THGSC-3型 大规模EDA/SOPC综合实验开发系统

实验十 矩阵键盘显示电路的设计

一、实验目的

1. 了解普通4×4 键盘扫描的原理。 2. 进一步加深七段码管显示过程的理解。 3. 了解对输入/输出端口的定义方法。 二、实验设备

1. PC机 一台; 2. Altera Blaster下载器 一根; 3. THGSC-3型实验箱 一台。 三、实验原理

实现键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。作为一个嵌入系统设计人员,总是会关心产品成本。目前有很多芯片可以用来实现键盘扫描,但是键盘扫描的软件实现方法有助于缩减一个系统的重复开发成本,且只需要很少的CPU 开销。嵌入式控制器的功能能强,可能充分利用这一资源,这里就介绍一下软键盘的实现方案。

图10-1 简单键盘电路

通常在一个键盘中使用了一个瞬时接触开关,并且用如图10-1 所示的简单电路,微处理器可以容易地检测到闭合。当开关打开时,通过处理器的I/O 口的一个上拉电阻提供逻辑1;当开关闭合时,处理器的/IO 口的输入将被拉低得到逻辑0。可遗憾的是,开关并不完善,因为当它们被按下或者被释放时,并不能够产生一个明确的1 或者0。尽管触点可能看起来稳定而且很快地闭合,但与微处理器快速的运行速度相比,这种动作是比较慢的。当触点闭合时,其弹起就像一个球。弹起效果将产生如图10-2 所示的好几个脉冲。弹起的持续时间通常将维持在5ms~30ms 之间。如果需要多个键,则可以将每个开关连接到微处理器上它自己的输入端口。然而,当开关的数目增加时,这种方法将很快使用完所有的输入端口。键盘上阵列这些开关最有效的方法(当需要5 个以上的键时)就形成了一个如图10-3 所示的二维矩阵。当行和列的数目一样多时,也就是方型的矩阵,将产生一个最优化的布列方式(I/O 端被连接的时候)。一个瞬时接触开关(按钮)放置在每一行与每一列的交叉点。矩阵所需的键的数目显然根据应用程序而不同。每一行由一个输出端口的一位驱动,而每一列由一个电阻器上拉且供给输入端口一位。

35 天煌科技 天煌教仪

THGSC-3型 大规模EDA/SOPC综合实验开发系统

图10-2 按键抖动

图10-3 矩阵键盘

键盘扫描的实现过程如下:对于4×4 键盘,通常连接为4 行、4 列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出4 行为高电平,然后输出4 列为低电平,再读入输出的4 行的值,通常高电平会被低电平拉低,如果读入的4 行均为高电平,那么肯定没有按键按下,否则,如果读入的4 行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出4 列为高电平,然后再输出4 行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。获取到行值和列值以后,组合成一个8 位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在7 段码管显示。 四、实验内容

本实验要求完成的任务是通过编程实现对4X4 矩阵键盘按下键的键值的读取,并在数码管上完成一定功能(如移动等)的显示。实验中数码管与FPGA 的连接电路和管脚连接在《用户手册》做了详细说明。 五、实验步骤

1. 打开QUARTUSII 软件,新建一个工程。

36 天煌科技 天煌教仪

THGSC-3型 大规模EDA/SOPC综合实验开发系统

2. 建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。 3. 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序。 4. 编写完VHDL 程序后,保存起来。方法同实验一。

5. 对编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。

6. 编译仿真无误后,依照《用户手册》进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。

7. 用下载电缆通过JTAG 口将对应的sof 文件加载到FPGA 中。

8. 将数字信号源模块的时钟选择为1kHz,按下矩阵键盘的某一个键,观察数码管上显示的数值,再按下第二个键观察数码管的变化。观察实验结果是否与自己的编程思想一致。

9. 实验完毕,关闭电源,整理实验器材。

六、实验结果

矩阵键盘有按键按下时,数码管第8位显示相应键值,并且数码管上显示的数值依次左移。 七、实验报告

1. 绘出不同的键值时的数码管的仿真波形,并作说明。 2. 根据自己的思路,找一找还有没有其它方法进行键盘的扫描显示,并画出流程图。 3. 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。

37 天煌科技 天煌教仪

THGSC-3型 大规模EDA/SOPC综合实验开发系统

实验十一 用VHDL 设计七人表决器

一、实验目的

1. 熟悉VHDL 的编程。 2. 熟悉七人表决器的工作原理。 3. 进一步了解实验系统的硬件结构。 二、实验设备

1. PC机 一台; 2. Altera Blaster下载器 一根; 3. THGSC-3型实验箱 一台。 三、实验原理

所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4 时,则认为同意;反之,当否决的票数大于或者等于4 时,则认为不同意。实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为‘1’时,表示此人同意;否则若拨动开关输入为‘0’,则表示此人反对。表决的结果用一个LED 表示,若表决的结果为同意,则LED 被点亮;否则,如果表决的结果为反对,则LED 不会被点亮。同时,数码管上显示通过的票数。 四、实验内容

本实验就是利用实验系统中的拨动开关模块和LED 模块以及数码管模块来实现一个简单的七人表决器的功能。拨动开关模块中的SW1~SW7 表示七个人,当拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’时,表示对应的人投反对票;LED 模块中D1 表示七人表决的结果,当D1点亮时,表示此行为通过表决;否则当D1 熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。在此实验中数码管、LED、拨动开关与FPGA 的连接电路和管脚连接在《用户手册》中都做了详细说明。 五、实验步骤 1. 打开QUARTUSII 软件,新建一个工程。

2. 建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。 3. 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序。 4. 编写完VHDL 程序后,保存起来。方法同实验一。

5. 对自己编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。

6. 编译仿真无误后,依照《用户手册》进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。

7. 用下载电缆通过JTAG 口将对应的sof 文件加载到FPGA 中。

8. 拨动实验系统中拨动开关模块的SW1-SW7七位拨动开关,观察发光管模块的D1的亮灭规律并记录。同时观察数码管的显示并记录。观察实验结果是否与自己的编程思想一致。

38 天煌科技 天煌教仪

THGSC-3型 大规模EDA/SOPC综合实验开发系统

9. 实验完毕,关闭电源,整理实验器材。

六、实验结果

当设计文件加载到目标器件后,拨动实验系统中SW1~SW7,七位拨码开关,如果拨码开关的值为“1”(即拨码开关的开关置于上端,表示此人通过表决)的个数大于或等于4时LED 模块的D1被点亮,否则D1不被点亮。同时数码管上显示通过表决的人数。

七、实验报告

1. 绘出仿真波形,并作说明;

2. 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来; 3. 在此实验的基础上增加一个表决的时间,只有在这一时间内的表决结果才有效; 4. 实验心得和意见。

39 天煌科技 天煌教仪


THGSC-3型 实验指导书(EDA基础部分)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:道路绿化喷淋工程施工组织设计方案

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

马上注册会员

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