资料介绍
4*4矩阵键盘设计及源代码
一 实验目的
1 学习使用4X4 扫描键盘的设计方法;
2 实践对比按键抖动对扫描键盘输出的影响
二 实验原理及说明
1、实验原理
行信号(KEY)接到高电平,当没有键按时,行线与列线(KEYSCAN)是断开的,且行线都是高电平(1111),行信号作为FPGA的输入端、列信号作为FPGA的输出端。可以设置列线初始状态为低电平(0000)。信号为从上到下的顺序
当有键按下时,假如是K1按下,行信号与列信号接通,这时相应的行线(KEY0)变为低电平(01111),可以肯定第一行(K1,5,9,13)有键按下。
下面就要运用扫描的原理了:
1、因为只知道第一行有键按下,不知道是那个,可以设置列信号为0111,这时行信号变为(1111)(注:假设时钟周期很短,手还没松开,即键还在按下的状态)
2、设置列信号为1011,行信号也变成(1111)
3、设置列信号为1101,行信号也变成(1111)
4、设置列信号为1110,行信号也变成(0111),这时就可以肯定是第一个键按下。
关键的工作只要调整好时钟的频率就可以了。
2、实验说明
4X4扫描键盘只用8位数据线,可以提供16个不同的按键信号。这样做的好处是:1节省FPGA管脚资源;2 系统简单化减小电路规模;特别是在资源比较紧张,对成本要求严格的系统中这是一种非常流行的设计方法。在上面的实验中同学们已经见到了扫描数码显示器的实用性,4X4扫描键盘是输入设备,控制器来要稍微复杂一些。掌握这种程序设计方法在以后的学习工作中还是很有用武之地的。
因为一般的开关在大约20ms内信号不稳定,存在所谓的“开关抖动”,会产生多个脉冲影响电路正常工作。所以含开关输入的设计需要做防抖动处理,在本实验可以用20Hz的时钟采样实现防抖。
在设计程序时要注意时钟的的分配;要考虑一般用手把键按下的时间长度等问题。如果不去抖动可以把时钟加快,使按下键的时间内完成扫描处理。实际中操作与理论分析是有差别的,本实验的目的是要下载成功而不仅是仿真通过。
三 实验步骤
1、准备实验前查阅本实验相关的信息
2、构思程序设计方法
3、编写veilog代码同时做程序注释
4、编译仿真程序,与预想结果进行比较,修改程序
5、下载到实验平台上,观察结果
四 实验要求
1 输入verilog设计文件,编译调试通过
2 利用仿真手段进行测试
3 下载程序到实验板,由扫描数码管或led输出按下的键盘码
4 对比抖动的效果
五 扩展性学习
上文已说明开关防抖的必要性,在这种简单的实际应用中做不做防抖处理没有什么区别,但是用按键开关作发送串行数据的开关时就有可能出现问题。所以下文将介绍一种较实用的开关去抖方案,请同学们参考
键一旦被按下,deDitherCounter计数开始。计数5ms(将主时钟分频为小于1ms的时钟)时将键盘编码值(处理前)赋给code,计数到15ms时比较当前的键盘码与10ms前的码是否相同:如果相同,输出keyPressed信号,如果不同不做任何处理,keyPressed信号在1ms后(计数到15)重新拉低。而输出的键盘码code在第5毫秒时就变为有效值,直到下一次按键后的5ms才会重新变为新的值,从而保证在keyPressed信号输出有效时code信号是有效的。
六 管脚映射
原理图见实验原理
管脚映射
扩展信号名称 PIN
Key0 Pin_44
Key1 Pin_43
Key2 Pin_45
Key3 Pin_48
Keyscan0 Pin_47
Keyscan1 Pin_64
Keyscan2 Pin_65
更多矩阵键盘知识请访问http://www.elecfans.com/zhuanti/20111025226587.html
Keyscan3 Pin_50
- qt虚拟键盘源代码可移植到工程中 2次下载
- 51单片机矩阵键盘的原理图 64次下载
- 蓝桥杯模块矩阵键盘Part_2 3次下载
- 数码管显示4X4键盘矩阵按键 PROTEUS 和51单片机教程(附仿真文件+源代码) 40次下载
- 学习笔记之51单片机键盘篇(非编码键盘与编码键盘、非编码键盘的扫描方式、独立键盘、矩阵键盘) 13次下载
- 基于1602加矩阵键盘的简易计算机原理图及源码 4次下载
- 独立键盘和矩阵键盘基础知识资料下载 8次下载
- 全键盘模拟钢琴32位版源代码及操作 0次下载
- 全键盘模拟钢琴64位版源代码及操作 0次下载
- 使用单片机实现矩阵键盘的源代码和工程文件免费下载 11次下载
- 自制USB键盘的电路原理图和工程文件与源代码免费下载 82次下载
- 使用51单片机实现矩阵键盘的代码免费下载 5次下载
- 矩阵键盘识别-翻转识键代码 3次下载
- 矩阵键盘_源代码 9次下载
- 基于单片机的12864图形温度计+矩阵键盘_源代码 5次下载
- 51单片机--矩阵键盘 7889次阅读
- 通过采用DSP芯片实现非编码矩阵键盘的设计 2050次阅读
- 英创信息技术工控主板扩展4×5矩阵键盘介绍 1878次阅读
- 51单片机对矩阵键盘实现16个按键操作的电路设计 2.8w次阅读
- 单片机矩阵键盘的使用之读取键盘 4125次阅读
- 51单片机对矩阵键盘实现16个按键操作的设计 3.6w次阅读
- 基于51单片机的4*4矩阵键盘字符输入 9003次阅读
- 什么是矩阵键盘?4*4键盘的原理软件设计分析 3.7w次阅读
- 矩阵键盘的verilog代码分享 6906次阅读
- 单片机8x8矩阵键盘原理说明 2.3w次阅读
- 4x4矩阵键盘工作原理及扫描程序 23.8w次阅读
- 矩阵式键盘使用方法 2.4w次阅读
- 一文看懂矩阵键盘的特点及工作方式 3.6w次阅读
- 矩阵键盘有什么用_矩阵键盘有何用途 1.5w次阅读
- 基于FPGA的矩阵键盘控制器的设计 4579次阅读
下载排行
本周
- 1ATmega8芯片中文手册
- 2.45 MB | 3次下载 | 1 积分
- 2电源监控电路UC1544/2544/3544数据表
- 2.07MB | 2次下载 | 免费
- 3开关式升压 3A 双节锂电充电管理E6483数据手册
- 0.26 MB | 2次下载 | 免费
- 4100V、300mA 恒定导通时间同步降压/Fly-Buck™ 稳压器LM5018数据表
- 2.02MB | 1次下载 | 免费
- 5BH6000蓄电池在线监测装置产品及系统介绍
- 1.57 MB | 1次下载 | 免费
- 6650V 6A沟槽和场阻IGBT JJT6N65ST数据表
- 1.89 MB | 1次下载 | 1 积分
- 7具有过压保护和阻断 FET控制功能的12V电子熔丝TPS25924x数据表
- 1.92MB | 1次下载 | 免费
- 8稳压5V、300mA高效电荷泵DC-DC转换器TPS6013x数据表
- 1.5MB | 1次下载 | 免费
本月
- 1电子元件基础知识介绍
- 8.76 MB | 73次下载 | 2 积分
- 2DC-DC电路(Buck)的设计与仿真
- 0.60 MB | 23次下载 | 2 积分
- 3UHD智能显示SoC VS680产品简介
- 0.46 MB | 11次下载 | 免费
- 4多功能电源管理 SOC IP5306数据手册
- 0.20 MB | 8次下载 | 免费
- 5ES9038PRO解码芯片的电路原理图介绍
- 0.25 MB | 8次下载 | 5 积分
- 6东芝BiCD集成电路硅单片TB67S109AFNAG数据手册
- 1.93 MB | 6次下载 | 免费
- 716A 输出电流,高可靠、高效率 同步降压转换器PCD3201产品手册
- 0.47 MB | 6次下载 | 免费
- 8电池管理系统(BMS)软硬件介绍
- 0.23 MB | 5次下载 | 2 积分
总榜
- 1matlab软件下载入口
- 未知 | 935085次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420048次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233067次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191315次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183315次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73786次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多