设计九按键扫描电路_第1页
设计九按键扫描电路_第2页
设计九按键扫描电路_第3页
全文预览已结束

下载本文档

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

文档简介

1、实验七按键阵列扫描控制电路设计一、设计要求按键是数字设备的输入部件,是人工干预数字系统的主要手段。操作者可以通过按键向系统输入数据、指令等二进制信息。1. 设计要求本设计要求实现一个按键阵列判断电路,并用七段数码管显示该按键的标识。 当有键按下时,显示其标识符,并保持显示符直到新的按键作用。如果多个按键同时闭合, 只响应最先作用的按键。2. 硬件环境设计对象的实现环境与所采用的FPGA开发装置有关,本节以 LP2900为例,说明采用按键阵列扫描的设计原理和实现方法。LP2900开发装置上有“ 09,“* ,“#共12个键构成的3行4列按键阵列。FPGA 与按键阵列如图1所示。FPGA通过端口

2、RK1RK3读取键阵列的行线状态 X0X2 ;通过3 线-8线译码器控制键阵列的列线 Y0Y3 。 74138的译码输入由FPGA端口 DE3DE1控制。按键扫描原理1 按键状态判断数字电路中,按键的闭合和断开状态可以通过其控制的逻辑电平判断。图2 (a)电路将按键闭合、断开转换成代表“ 0 或“1二值逻辑的低电平和高电平,然后判断电路输出X的电平即可了解按键的通、断状态。比方图 2中,假设测得X的电平为“1,说明按键断 开;测得为“ 0,那么表示按键闭合。由于按键一般为机械开关,其触点的合、断有弹性抖动,如图2 ( b)所示,抖动时间约510ms。为了保证按键动作一次电路只判断到一次状态电平

3、改变,防止误判断,需要采 用消抖动措施。采用根本 RS触发器可以对X的电平信号整形,实现消抖动。+5VRih图2按键状态判断原理2.按键阵列判断假设需要判断的按键较多,为节省信号端口资源,一般将按键分成行、列两组连接成阵列形式,十六个按键的阵列如图3( a)所示。每个按键跨接在一条行线Xi和一条列线 Yj间,当按键闭合时,行线与列线接通。 每条行线都通过一个电阻上拉到 +5V电位,当行线上 的所有按键都未闭合时,行线一定为高电平。当某条列线为低电平时,根据行线电平可判断该列线上各键的状态。比方,当Yi为低电平时,如果四条行线X。、Xi、X2、X3的状态为“ 1011,可判 Kii键闭合,Koi

4、, K21,K31 键断开;假设 X。、Xi、X2、X3的状态为“ 0101 ,那么可判断Koi、K21键闭合。RR1 1 .KoiKq2 K03 咯W Xo懂.K12KisF XLR聲聴1 1RK31W x3Yg(a) 4X4键阵列电路(b)扫描信号波形图3按键阵列扫描原理3. 按键扫描判断采用状态机可自动逐个扫描按键通断情况,状态机的模等于或大于按键个数。每个状态可以使键阵列的一条列线Yj为低电平,通过判断行线 Xi的电平来了解按键 Kj的开关状态:当Kj键闭合,Xi为低电平;反之,Xi为高电平。对于图3 ( a)所示的键阵列电路,状 态机控制产生如图 3 (b)所示的四列负脉冲顺序扫描信

5、号。每列信号的低电平宽度为一个 状态时间,各列信号按列序顺延。每个列信号周期逐个判断同一行中的四个按键KioK i3,所有行判断完毕后周而复始。所以键阵列的扫描周期是列信号周期乘以行数,等于状态机触发时钟周期乘以状态数。阵列扫描周期必须小于按键闭合时间,否那么键闭合状态可能会被漏判。按键的闭合时间因人的动作快慢而异,通常为数百毫秒。当阵列为16个键时,状态机的触发频率可为100Hz左右。二、参考设计方案根据按键阵列的判断原理,可采用一个计数器产生按键编码信号,计数器的脉冲周期等于按键的扫描时间,计数器的模M大于等于被扫描的按键数N。本设计要求判断12个按键的阵列,所以可采用 12进制计数器 Q

6、3Q2Q1Q0产生按键扫描码400004 1011。计数 器低两位Q1Q0控制3-8译码器的de2和de1端,用于产生列扫描信号 Y0Y3 ;高两位Q3Q2 控制数据选择器选择行线电平X0X2,输出Y用于控制12进制计数器的使能端。当被扫描的按键闭合时,选择器的输出信号丫=0,控制存放器data保存计数器当前的键码状态,同时控制计数器停止计数,即封锁计数器停止按键扫描,以防止其它按键闭合产生的影响。然后将存放器中存储的数据送入显示译码器模块中,用于显示按键名。按键名的显示采用七段显示译码器实现,故需先将4位输入数据转换成对应的 7个段极信号a、b、c、d、e、f、g。由于七段显示译码器的共阴极

7、端也是由de1、de2、de3控制,可以看出该信号与按键扫描信号共用,导致按键按下后,第一列的信号1、2、3显示在C1数码管上,第二列的信号4、5、6显示在C2数码管上,第三列的信号7、& 9 显示在都C3数码管上,第四列的信号*、0、#显示在C4数码管上。当按键松开后,C1C2C3C4 四个数码管上都会同时显示。参考设计电路如图 4所示。4低两位高两位20Q严Qo200HzU上data5.D逊制计数器译码器DE23E1YO Y1 Y2 Y3雹数据选择器 1 2 D D D显示译码器7图4参考设计框图四、参考设计步骤1 输入按键阵列扫描电路局部,编写分频器、计数器、数据选择器的代码。调试一:1

8、2进制计数器的存放器 data的输出接四个发光二极管。再用一个发光二极管 观察数据选择器的输出。编译 Compilation 正确后下载。任意按下阵列中的按键,观察: 按键闭合时,数据选择器是否输出维持低电平,按键断开后,选择器输出高电平; 发光二极管的指示是否与键码相符,键码能否被保存。2在表1中填写按键名与计数值的对照表,并按表 1编写显示译码器的代码。3.去除按键扫描电路的发光二极管,连接整个电路。4 根据所用FPGA开发装置的端口协议分配引脚。编译配置正确后下载,观察设计效 果。表1按键名与计数值对照表选择行线扫描有效计数值按键名段极信号XiYiQ3Q0a b c d e f gX0Y00 0 0 0Y10 0 0 1Y20 0 1 0Y30 0 1 1X1Y00 1 0 0Y10 1 0 1Y20 1 1 0Y30 1

温馨提示

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

最新文档

评论

0/150

提交评论