X4阵列键盘键信号检测电路设计_第1页
X4阵列键盘键信号检测电路设计_第2页
X4阵列键盘键信号检测电路设计_第3页
X4阵列键盘键信号检测电路设计_第4页
X4阵列键盘键信号检测电路设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、X4阵列键盘键信号检测电路设计 4X44X4阵列键盘显示电路设计阵列键盘显示电路设计 VCC CLK INPUT VCC A3.0 INPUT B3.0 OUTPUT RR6.0 OUTPUT CLK A3.0 B3.0 R3.0 K4X4 inst A3.0LED7S6.0 DECL7S inst4 Cyclone II inclk0 frequency: 20.000 MHz Operation Mode: Normal Clk Ratio Ph (dg) DC (%) c01/20.0050.00 inclk0c0 PLL20 inst1 up counter clock q15.0 c

2、out CNT8 inst2 X4阵列键盘键信号检测电路设计 考查题目:(1-4选择两题) 1、模拟路灯控制系统的设计; 2、音乐自动播放系统的设计; 3、4*4键盘扫描、显示系统的设计(包含消抖电路); 4、VGA动画图像显示控制电路设计; 5、开发板上FPGA芯片引脚对应关系(必做)。 要求:(1)写出设计思路; (2)写出设计方案(可以多考虑几种方案); (3)写出程序及仿真的波形; (4)讨论设计结果及写出设计后的收获。 交考查卷子的时间:交考查卷子的时间:20132013年元月年元月1010日。日。 过期不候!过期不候! X4阵列键盘键信号检测电路设计 实验与设计实验与设计 一、一、

3、4 4* *4 4键盘的原理:键盘的原理: X4阵列键盘键信号检测电路设计 实验与设计实验与设计 1 1、每一个按键就、每一个按键就 是一个开关电路;是一个开关电路; 2 2、按下时为、按下时为0 0状态;状态; 3 3、未按下为、未按下为1 1状态;状态; 4 4、A A是列,是列,B B是行是行 A0A1A2A3 B3 0 123 B2 4567 B1 89AB B0 CDEF X4阵列键盘键信号检测电路设计 A0A1A2A3 X4阵列键盘键信号检测电路设计 实验与设计实验与设计 实验原理:实验原理: X4阵列键盘键信号检测电路设计 实验与设计实验与设计 4X4键盘扫描程序设计: libr

4、ary ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; - - entity k44 is port( clk: in std_logic; -扫描时钟频率不宜过高,一般在 1KHz以下 A: in std_logic_vector(3 downto 0); - 读入列码 B:out std_logic_vector(3 downto 0); -输出行码,扫描信号 R: out std_logic_vector(3 downto 0); -输出键值

5、 end entity; 接下页接下页 X4阵列键盘键信号检测电路设计 architecture one of k44 is signal BA:std_logic_vector(7 downto 0); signal E:std_logic_vector(3 downto 0); -行扫描信号 signal C:std_logic_vector(1 downto 0); -用于计数产生扫描信号 begin BA=E B=E; process(A) begin if rising_edge(clk) then cEEEE NULL; end case; X4阵列键盘键信号检测电路设计 实验与设

6、计实验与设计 case ba is -按键定义按键定义 when “0111_1110”= R R R R R R R R R R R R R R R R NULL; end case; end if ; end process; end; 接上页接上页 X4阵列键盘键信号检测电路设计 Verilog HDL语言程序: module K4X4 (CLK,A,B,R); input CLK; input 3:0 A; output 3:0 B; output 3:0 R; reg 1:0 C ; reg 3:0 R,B ; always (posedge CLK) begin C LED7S L

7、ED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S NULL ; END CASE ; END PROCESS ; END ; X4阵列键盘键信号检测电路设计 实验与设计实验与设计 三、分频器三、分频器_ _十六位计数器程序(十六位计数器程序(LPMLPM):): LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY lpm; USE lpm.all; ENTITY CNT8 IS PORT ( clock: IN STD

8、_LOGIC ; cout: OUT STD_LOGIC ; q: OUT STD_LOGIC_VECTOR (15 DOWNTO 0) ); END CNT8; X4阵列键盘键信号检测电路设计 实验与设计实验与设计 ARCHITECTURE SYN OF cnt8 IS SIGNAL sub_wire0 : STD_LOGIC ; SIGNAL sub_wire1 : STD_LOGIC_VECTOR (15 DOWNTO 0); COMPONENT lpm_counter GENERIC ( lpm_direction: STRING; lpm_port_updown: STRING; l

9、pm_type: STRING; lpm_width: NATURAL); PORT (clock: IN STD_LOGIC ; cout: OUT STD_LOGIC ; q: OUT STD_LOGIC_VECTOR (15 DOWNTO 0); END COMPONENT; BEGIN X4阵列键盘键信号检测电路设计 实验与设计实验与设计 BEGIN cout = sub_wire0; q UP, lpm_port_updown = PORT_UNUSED, lpm_type = LPM_COUNTER, lpm_width = 16 ) PORT MAP ( clock = cloc

10、k, cout = sub_wire0, q = sub_wire1 ); END SYN; X4阵列键盘键信号检测电路设计 实验与设计实验与设计 四、设计扩展四、设计扩展 (1 1)实验任务)实验任务1 1:修改扫描程序,使第二个:修改扫描程序,使第二个casecase语句成为一语句成为一 个独立的有时钟敏感信号的过程结构,再根据以前的方个独立的有时钟敏感信号的过程结构,再根据以前的方 法使程序自动生成法使程序自动生成ROMROM替代模块(要检测键功能是否改替代模块(要检测键功能是否改 变);或干脆例化进一个变);或干脆例化进一个LPM_ROMLPM_ROM以取代第二个以取代第二个casec

11、ase语句。语句。 检测其功能和资源的变化情况。检测其功能和资源的变化情况。 (2 2)实验任务)实验任务2 2:利用此实验设计一个加、减、乘法计算器。:利用此实验设计一个加、减、乘法计算器。 (3 3)实验任务)实验任务3 3:为键盘电路加上去抖动电路模块。:为键盘电路加上去抖动电路模块。 (4 4)实验任务)实验任务4 4:扫描程序中,为何将两个:扫描程序中,为何将两个casecase语句包括于语句包括于 IFIF语句中?这会导致怎样的硬件结果?用仿真波形说明语句中?这会导致怎样的硬件结果?用仿真波形说明 之。之。 X4阵列键盘键信号检测电路设计 4.2.1 密码锁输入电路的设计 图4.2

12、是电子密码锁方案一的输入 电路框图,由键盘扫描电路、弹跳消除 电路、键盘译码电路、按键数据缓存器, 加上外接的一个34矩阵式键盘组成。 X4阵列键盘键信号检测电路设计 图4.2 密码锁的输入电路框图 弹跳消除 电 路 键盘译码 电 路 按键数据 缓存器 123 456 789 *0# 键盘扫描电路 工作时钟脉冲信号 键盘输入按键数据 键盘扫描信号 X4阵列键盘键信号检测电路设计 1矩阵式键盘的工作原理 矩阵式键盘是一种常见的输入装 置,在日常的生活中,矩阵式键盘在计 算机、电话、手机、微波炉等各式电子 产品上已经被广泛应用。图4.3是一个 34矩阵式键盘的面板配置图,其中数 字09作为密码数字

13、输入按键,*作为 “上锁”功能按键,#作为“解锁/清除” 功能按键。 X4阵列键盘键信号检测电路设计 图4.3 34矩阵式键盘的面板配置 123 456 789 *0# 键盘扫描信号 KY3(00) 1110 KY2(01) 1101 KY1(10) 1011 KY0(11) 0111 KX2 KX1 KX0 经提升电阻至VCC X4阵列键盘键信号检测电路设计 表4.1 按键位置与数码关系 X4阵列键盘键信号检测电路设计 2密码锁输入电路各主要功能模 块的设计 1) 时序产生电路 本时序产生电路中使用了三种不同 频率的工作脉冲波形:系统时钟脉冲(它是 系统内部所有时钟脉冲的源头,且其频率 最高

14、)、弹跳消除取样信号、键盘扫描信号。 2) 键盘扫描电路 扫描电路的作用是用来提供键盘扫 描信号(表4.1中的KY3KY0)的,扫描信 号变化的顺序依次为111011011011 01111110.依序地周而复始。 X4阵列键盘键信号检测电路设计 3) 弹跳消除电路 由于本设计中采用的矩阵式键盘 是机械开关结构,因此在开关切换的瞬 间会在接触点出现信号来回弹跳的现象, 对于电子密码锁这种灵敏度较高的电路 这种弹跳将很可能会造成误动作输入, 从而影响到密码锁操作的正确性。 从图4.4中可以观察出弹跳现象产 生的原因,虽然只是按下按键一次然后 放掉,然而实际产生的按键信号却不止 跳动一次,经过取样

15、信号的检查后,将 会造成误判断,以为键盘按了两次。如 果调整抽样频率(如图4.5所示),可以发 现弹跳现象获得了改善。 X4阵列键盘键信号检测电路设计 图4.4 弹跳现象产生错误的抽样结果 抽样结果 抽样信号 按键信号 X4阵列键盘键信号检测电路设计 图4.5 调整抽样频率后得到的抽样结果 抽样结果 抽样信号 按键信号 X4阵列键盘键信号检测电路设计 弹跳消除电路的实现原理如图4.6 所示,先将键盘的输入信号D_IN做为电 路的输入信号,CLK是电路的时钟脉冲 信号,也就是取样信号,D_IN经过两级 D触发器延时后再使用RS触发器处理。 X4阵列键盘键信号检测电路设计 图4.6 弹跳消除电路的内部实现原理图 PRN CLRN DQ PRN CLRN DQ DFF VCC 13 D_IN CLK D0 DFF 1011 D1 8 NOT NOT 9 7 AND2 6 AND2 D_OUT S R Q Q X4阵列键盘键信号检测电路设计 此处RS触发器的前端连接和非门 的处理原则是: (1) 因为一般人的按键速度至多是 10次/秒,亦即一次按键时间是100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论