版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、矩阵键盘驱动数码管1. 矩阵键盘的结构和驱动原理2. 扫描法获得矩阵键盘扫描码的原理和方法3. 扫描码驱动数码管矩阵键盘的结构和驱动原理Row0Row1Row2Row3Col3Col2Col1Col0扫描法获得矩阵键盘扫描码的原理和方法无按键按下时,col0col3输出分别为“1111”当输入扫描时,扫描第一行,即IN1<=0,当按下Button 1,那么输出col输出信号将发生变化,Out1变为0,则col0col3输出分别为“1110”,取反,则为“0001”,代表BT1被按下。因此,可通过行扫描码和列输出码来获得分时扫描的键盘按压信号。只要扫描时间适当,就可得到按键的按压情况。因有
2、四行,因此,扫描后存储的扫描码为16位,扫描行列输出也分4位4位地存放。library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;-实体entity key_seg_test is Port ( clk : in std_logic; -系统时钟,40MHz - key_row : out std_logic_vector(3 downto 0); -FPGA输出到键盘的行扫描信号 key_col : in std_logic_vector(3 do
3、wnto 0); -键盘输入到FPGA的列响应信号 - seg_d : out std_logic_vector(7 downto 0); -7段数码管数据线 seg_sel : out std_logic_vector(3 downto 0) -7段数码管位数选择,'1'表示对应位数的数码管有效 );end key_seg_test;-构造体architecture topdesign_arch of key_seg_test issignal key_row_reg : std_logic_vector(3 downto 0);signal key_code : std_l
4、ogic_vector(15 downto 0);signal count_clk : std_logic_vector(22 downto 0);-主程序begin-process(clk) -时钟计数分频begin if(clk'event and clk='1')then count_clk<=count_clk+1; end if;end process;-process(clk)begin if(clk'event and clk='1')then -逐行扫描 case count_clk(19 downto 16) is -数码
5、管动态扫描,扫描频率为(40*106)/(220)=38.15Hz(扫描周期为0.026s) when "0000"=> key_row_reg<="1110" -第一行 when "0001"=> key_code(3 downto 0) <= not key_col; when "0010"=> key_row_reg<="1101" -第二行 when "0011"=> key_code(7 downto 4) <= no
6、t key_col; when "0100"=> key_row_reg<="1011" -第三行 when "0101"=> key_code(11 downto 8) <= not key_col; when "0110"=> key_row_reg<="0111" -第四行 when "0111"=> key_code(15 downto 12)<= not key_col; when others => end c
7、ase; end if;end process;-key_row<=key_row_reg;-process(key_code)begincase key_code iswhen "00001"=>seg_d<="00111111" -0when "00010"=>seg_d<="00000110" -1 when "00100"=>seg_d<="01011011" -2when "01000"=>seg_
8、d<="01001111" -3when "10000"=>seg_d<="01100110" -4when "00000"=>seg_d<="01101101" -5when "00000"=>seg_d<="01111101" -6when "00000"=>seg_d<="00000111" -7when "00000"=>seg_
9、d<="01111111" -8when "00000"=>seg_d<="01101111" -9when "00000"=>seg_d<="01110111" -Awhen "00000"=>seg_d<="01111100" -Bwhen "00000"=>seg_d<="00111001" -Cwhen "00000"=>seg_d<="01011110" -Dwhen "00000"=>seg_d<="01111001" -Ewhen "10000"=>seg_d<="01110001" -Fwhen others => seg_d<="00000000"end ca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 律师事务所电子卷宗存储管理制度
- 高级花卉工试题及答案
- 炼钢厂安全员试题及答案2026版
- 2026年康复治疗师疼痛物理因子治疗综合试卷及答案
- 水产品腌制工安全操作规程
- 2026年幼儿教师《幼儿教育心理学》考试试题(附答案)
- 过敏性休克培训试题及答案
- 江苏省事业单位市场监管系统招聘笔试历年真题试卷带解析
- 2026年教师资格《教育法律法规》模拟试卷及解析
- DB34∕T 2840-2017 岩棉保温防火复合板薄抹灰外墙外保温系统安全与质量要求
- 医疗健康信息数据保密及患者隐私保护协议承诺书
- PCCP管道水压试验实施方案
- T/CIS 67002-20213种剧毒鹅膏菌的物种鉴别PCR扩增-Sanger测序法
- DBJ50-T-157-2022房屋建筑和市政基础设施工程施工现场从业人员配备标准
- 小学体育活动中劳动教育的实践案例分析
- 义务教育小学数学课程标准(2020年版)
- 企业管理MBA十日学习课程
- 2023年11月海南省应急管理厅公开招聘下属事业单位事业编制人员18人(第1号)笔试历年高频考点-难、易错点荟萃附答案带详解
- 浙江中烟工业有限责任公司考试题库2024
- 商务星球版七年级地理上册 (地球的自转) 教学课件
- DNA甲基化检测方法教学课件
评论
0/150
提交评论