第1页共10页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共10页矩阵键盘实验一.实验目的:1.了解4*4矩阵键盘的工作原理
2.掌握利用行列扫描法读取按键信息及软件消抖的方法
3.熟悉掌握VHDL语言和QUARTUS2软件的使用
4.理解状态机的工作原理和设计方法
5.掌握利用EDA工具进行自顶向下的电子系统设计方法
二.实验任务设计制作一个检测4*4矩阵键盘的按键编码的实验,把实际按键的键值的八位编码先转换成从0000—1111的编码,再译成数码管能识别的八位编码,在数码管动态显示时,4*4矩阵键盘的第一行对应00—03,第二行对应04—07,第三行08—11,第四行对应12—15
三.实验原理:1.键盘的工作原理:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端
行线通过上拉电阻接到+5V电源上
无按键按下时,行线处于高电平的状态,而当有按键按下时,行线电平与此行线相连的列线电平决定
2.行列扫描法原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行线都为高电平
第二步,在第一步判断有键按下后,延时10ms消除机械抖动,再次读取行值,如果此行线还处于低电平状态则进入下一步,否则返回第一步重新判断
第三步,开始扫描按键位置,采用逐行扫描,每间隔1ms的时间,分别拉低第一列,第二列,第三列,第四列,无论拉低哪一列其他三列都为高电平,读取行值找到按键的位置,分别把行值和列值储存在寄存器里
第四步,从寄存器中找到行值和列值并把其合并,得到按键值,对次按键值进行编码,按照从第一行第一个一直到第四行第四个逐行进行编码,编码值从“0000”至“1111”,再进行译码,最后显示按键号码
3.数码管动态扫描原理:数码管的7个段及小数点都是由LED块组成的,显示方式分