1 一、设计目的 巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对FPGA 几个简单的模块设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤
二、设计内容 (1)设计一个4×4 的键盘扫描模块,要求有防抖动功能
(2)用键盘控制16×16 点阵 LED 显示各种字符
(3)用键盘控制蜂鸣器发声,能有各种音调
三、实现方法 本系统的系统组成及连接原理如图3
1 所示,主系统由四个功能模块组成:分频模块(为键盘扫描模块和提供时钟)、键盘扫描模块、LED 点阵模块、发声模块
时钟输入 接蜂鸣器 接 LED 点阵 接键盘 图 3
1 整体模块划分 1、分频模块 分频模块的作用是把 2MHZ 的时钟分成 1kHZ 和500HZ,为键盘扫描模块和LED 点阵模块提供时钟
主要方法是通过计数器实现分频
分频模块如图 3
2,clk 是输入时钟,clkout_kb 是输入给键盘扫描模块使用,clkout_LED 是输入给 LED 点阵模块使用
2 分频模块视图 分频模块 键盘扫描模块 LED点阵 发声模块 2 其仿真结果如图3
3 分频模块仿真 2、键盘扫描模块 2
1 行列式键盘原理 行列式键盘又叫做矩阵式键盘
用带有I/O 口的线组成行列结构,按键设置在行列的交点上
本次试验用到的是4×4 的行列结构键盘,可以构成16 个按键
这样,当按键数量平方增长是,I/O 口只是线性增长,这样就可以节省 I/O 口
行列式键盘的原理如图3
keyin 上拉电阻 keydrv 图 3
4 行列式键盘的原理 按键设置在行列线交叉点,行、列线分别连接到按键开关的两端
列线通过上拉电阻接+5V 的电压,即列线的输出被嵌位在高电平状态
判断按键中有无键按