矩阵键盘的矩阵键盘实验

 我来答
奔放神2263
2016-05-14 · TA获得超过184个赞
知道答主
回答量:177
采纳率:0%
帮助的人:62.1万
展开全部

实验目的
1. 了解 4*4 矩阵键盘的工作原理。
2. 掌握利用行列扫描法读取按键信息及软件消抖的方法。
3. 熟悉掌握 VHDL 语言和 QUARTUS 2 软件的使用。
4. 理解状态机的工作原理和设计方法。
5. 掌握利用 EDA 工具进行自顶向下的电子系统设计方法。
实验任务
设计制作一个检测 4*4 矩阵键盘的按键编码的实验, 把实际按键的 键值的八位编码先转换成从 0000—1111 的编码,再译成数码管能识别 的八位编码, 在数码管动态显示时, 矩阵键盘的第一行对应 00—03, 4*4 第二行对应 04—07,第三行 08—11,第四行对应 12—15。
实验原理
1.键盘的工作原理: 按键设置在行、列线交点上,行、列线分别连接到按键开关的 两端。行线通过上拉电阻接到+5V 电源上。无按键按下时,行线处 于高电平的状态, 而当有按键按下时, 行线电平与此行线相连的列 线电平决定。
2.行列扫描法原理:
第一步, 使行线为编程的输入线,列线是输出线,拉低所有的列线, 判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则 所有的行线都为高电平。
第二步, 在第一步判断有键按下后, 延时 10ms 消除机械抖动,再次读取行值,如果此行线还处于低电平状态则进入下 一步,否则返回第一步重新判断。
第三步,开始扫描按键位置,采用逐 行扫描,每间隔 1ms 的时间,分别拉低第一列,第二列,第三列,第四 列,无论拉低哪一列其他三列都为高电平,读取行值找到按键的位置, 分别把行值和列值储存在寄存器里。
第四步,从寄存器中找到行值和列 值并把其合并,得到按键值,对此按键值进行编码,按照从第一行第一 个一直到第四行第四个逐行进行编码,编码值从“0000” 至“1111” , 再进行译码,最后显示按键号码。 3.数码管动态扫描原理。数码管动态扫描原理: 数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静 态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选 信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与 CPLD 的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送 低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被 点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时, 段选码端口的信号也要做相应的改变 ,每位显示字符停留显示的时间 一般为 1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定 的数字显示。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式