**这是本文档旧的修订版!**
=====矩阵键盘键入系统设计=====
实验任务
- 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 设计矩阵键盘键入系统并观察调试结果
- 要求:按动矩阵键盘按键,通过核心板上的数码管显示按键的键值。
- 解析:通过FPGA编程驱动矩阵键盘电路,获取矩阵键盘键入的信息,然后通过编码将键盘输出的信息译码成对应的键值信息,最后通过驱动核心板独立数码管,将键盘按键的键值显示在数码管上。
实验目的
在基础数字电路实验部分我们已经掌握了FPGA驱动独立显示数码管的原理及方法,掌握了有限状态机的设计实现思想,本实验主要学习矩阵键盘的原理及驱动设计。
- 熟悉独立显示数码管驱动模块的应用
- 熟悉状态机FSM的编程方法
- 掌握矩阵键盘的工作原理
- 完成FPGA驱动矩阵键盘的设计实现
设计框图
根据前面的实验解析我们可以得知,该设计可以拆分成三个功能模块实现,
- ArrayKeyBoard:通过驱动矩阵键盘工作获取键盘的操作信息数据。 * Decoder:通过编码方式将键盘的操作信息译码成对应的键值信息。 * Segmentled:通过驱动核心板独立数码管将键盘按键的键值显示在数码管上。
实验原理
键盘类型
矩阵键盘连接
矩阵键盘驱动设计
系统总体实现
实验步骤
- 双击打开Quartus Prime工具软件;
- 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);
- 新建文件:File → New → Verilog HDL File,键入设计代码并保存;
- 设计综合:双击Tasks窗口页面下的Analysis & Synthesis对代码进行综合;
- 管脚约束:Assignments → Assignment Editor,根据项目需求分配管脚;
- 设计编译:双击Tasks窗口页面下的Compile Design对设计进行整体编译并生成配置文件;
- 程序烧录:点击Tools → Programmer打开配置工具,Program进行下载;
- 观察设计运行结果。