4×4矩阵键盘EDA设计.ppt





《4×4矩阵键盘EDA设计.ppt》由会员分享,可在线阅读,更多相关《4×4矩阵键盘EDA设计.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、EDA大作业主讲人:周旭 黄强 卢自凯4X4矩阵键盘目录设计任务1实验结果5软件设计 4实验问题 2软件设计 3设计任务1. 熟悉熟悉 44 键盘的扫描原理及使用方法;键盘的扫描原理及使用方法;2.学习用学习用 FPGA扫描控制矩阵键盘;扫描控制矩阵键盘;3. 设计一个矩阵键盘控制器设计一个矩阵键盘控制器, 并通过数码管并通过数码管 7/8 显示对应的键盘值显示对应的键盘值;4. 按键接下显示应为按键接下显示应为 0X,按键松开显示为,按键松开显示为 FX,其中,其中 X为对应的键值为对应的键值;系统结构的总体设计5/25/2022实验问题1. 44 键盘与开发板的连接问题;键盘与开发板的连接
2、问题; (1)将将 JP6KEY8KEY1 的短路帽取下,然后用的短路帽取下,然后用 8PIN 排线将排线将 Switch PACK 的的 CON2 的的KEYIN1KEYOUT4 与主板上的与主板上的 JP6 左边排针左边排针 KEY8KEY1 相连,再用杜方线将主板上的相连,再用杜方线将主板上的3.3V电源引到电源引到 Switch PACK上(这时指示灯应该会亮)。上(这时指示灯应该会亮)。 2. 矩阵键盘按键消抖;矩阵键盘按键消抖; 键盘扫描电路键盘扫描电路5/25/2022键盘扫描电路是用于产生keyout4keyout1信号,其变化的顺序依次是1110-1101-1011-0111
3、-周而复始地扫描。其停留在某个状态的时间大约为10ms。更短的停留时间是没有必要的,因为人按键的时间大约为10ms,不可能有更快的按键动作发生;另外,更短的停留时间还容易采集到抖动信号,会干扰判断。而太长的停留时间则会使某些较快的按键东走丢失。 键盘译码电路和按键标志位产生电路键盘译码电路和按键标志位产生电路5/25/2022键盘译码电路是从keyout4 keyout1和keyin4keyin1信号中译码出按键的键值的电路,它的真值表就是以前行扫描信号、列扫描与按键位置的关系图。按键标志位产生电路是产生按键标志位信号keypressed的电路。由于这两个电路关系紧密,因此放入同一个模块中实现
4、。clk在系统中的频率是最高,其他时钟都是它的分频产生。keyout为键盘扫描信号,keyin为键盘输入信号,keyvalue为键值(代表按键所在的位置),keypressed表示有一个按键被按下,每发生一次按键动作,keypressed就输出一个宽度为全局时钟周期的正脉冲。该信号用于与其他模块握手,负责通知其他模块键盘是否有按键发生。其他模块在keypressed有效时,可以读取键值。2022-5-259硬件设计4x4矩阵键盘原理图刚开始在刚开始在 KEYOUT4:1输出输出 1110(KEYOUT1 输出低电平),延时一段时输出低电平),延时一段时间后读取间后读取 KEYIN 的状态,由于
5、的状态,由于 KEYIN 接有上拉电阻,平时无按键时值为接有上拉电阻,平时无按键时值为 1111,若读取的值不为,若读取的值不为1111,则说明,则说明 S1、S5、S9、S13 有按键按下,有按键按下,KEYIN1-KEYIN4 的每一位对应一个按键的每一位对应一个按键KEYIN4:1的值为的值为 1110,说明,说明 S1 按下)按下);扫描完一行之后继续扫描第二行,扫描完一行之后继续扫描第二行,KEYOUT4:1输出输出 1101(KEYOUT2 输出低电平),通读取输出低电平),通读取 KEYIN的值可判断的值可判断 S2、S6、S10、S14按键的状态。同理扫描第三、四行可实现其它按
6、键的状态检测。按键的状态。同理扫描第三、四行可实现其它按键的状态检测。 5/25/20222022-5-2511硬件设计8段数码管原理图2022-5-2512硬件设计2022-5-2513软件设计 module matrix_keyboard(Clock,nRST,nEN,pEN,INT,KeyVal,KeyIn,KeyOut);input Clock;/系统时钟系统时钟input nRST;/同步复位同步复位(只有时钟上升沿到来时,才能有效,否则无法对系统完成复位)只有时钟上升沿到来时,才能有效,否则无法对系统完成复位) inputnEN;/按键通码使能(触点打开)按键通码使能(触点打开)i
7、nputpEN;/按键断码使能(触电断开)按键断码使能(触电断开)output INT /按键中断输出按键中断输出output7:0KeyVal;/按键值按键值reg7:0KeyVal;input3:0KeyIn;/键盘接口输入键盘接口输入output3:0KeyOut;/键盘接口输出键盘接口输出reg3:0KeyOut;wireClkEN;wireClk4EN;wire3:0KeyDone;/按键消抖输出按键消抖输出wire15:0nFlag;/下降沿标志下降沿标志wire15:0pFlag;/上降沿标志上降沿标志wirenINT;/通码中断通码中断wirepINT;/断码中断断码中断reg
8、3:0Dout1,Dout2,Dout3;/寄存器寄存器reg15:0KeyTmp1;reg15:0KeyTmp2;reg31:0ClkCount;/时钟计数器时钟计数器reg1:0Cnt4;/CNT4 4进制加法计算器进制加法计算器2022-5-2514软件设计 parameter CmpCnt = 100000;/消抖时钟分频系数消抖时钟分频系数=0.002*系统时钟频率系统时钟频率always (posedge Clock)/系统时钟分频,将系统时钟时间用系统时钟分频,将系统时钟时间用CLKEN 分出分出2msbeginif(nRST)(同步复位信号取反(同步复位信号取反)ClkCoun
9、t = 0;else if(ClkEN)ClkCount = 0;elseClkCount = ClkCount + 1b1;endassign ClkEN = (ClkCount = CmpCnt); /Clock=50MHz时,时,ClkEN=2ms/*产生消抖时钟使能信号产生消抖时钟使能信号*/2022-5-2515软件设计 always (posedge Clock)beginif(nRST)Cnt4 = 2d0;else if(ClkEN)beginif(Clk4EN)Cnt4 = 2d0;elseCnt4 = Cnt4 + 1b1;endendassign Clk4EN = (Cn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩阵 键盘 EDA 设计

限制150内