版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、项目二 键盘与显示系统设计任务5 4*4键盘系统设计任务内容 组装一个小型单片机系统,外接16个按键(代表0F),以及1位数码管显示器,要求实时显示当前按下的按键值。学习目标掌握独立键盘和矩阵键盘的结构与接口电路设计了解按键抖动的原因,掌握解决方法掌握矩阵键盘检测方法掌握多分支结构的编程技巧知 识 点知识点一 非编码键盘概述知识点二 按键抖动与消抖知识点三 线性非编码键盘的识别与处理知识点四 矩阵非编码键盘的识别与处理知识点1 非编码键盘概述 键盘是单片机应用系统中最常用的输入设备,通过键盘输入数据或命令,可以实现简单的人机对话。 键盘有编码键盘和非编码键盘之分。1. 编码键盘 编码键盘除了键
2、开关外,还需去键抖动电路、防串键保护电路以及专门的、用于识别闭合键并产生键代码的集成电路(如8255、8279等)。 编码键盘的优点是所需软件简短;缺点是硬件电路比较复杂,成本较高。知识点1 非编码键盘概述2.非编码键盘 非编码键盘仅由键开关组成,按键识别、键代码的产生以及去抖动等功能均由软件编程完成。 非编码键盘的优点是电路简单、成本低;缺点是软件编程较复杂。目前,单片机应用系统中普遍采用非编码键盘。 按照键开关的排列形式,非编码键盘又分为线性非编码键盘和矩阵非编码键盘两种。知识点1 非编码键盘概述(1)线性非编码键盘 线性非编码键盘的键开关(K1、K2、K3、K4)通常排成一行或一列,一端
3、连接在单片机I/O口的引脚上,同时经上拉电阻接至+5V电源,另一端则串接在一起作为公共接地端。 线行非编码键盘电路配置灵活,软件结构简单,但每个按键必须占用一根I/O端口,故这种形式适用于按键数量较少的场合。图2.39 线性非编码键盘知识点1 非编码键盘概述(2)矩阵非编码键盘 矩阵非编码键盘又称行列式非编码键盘,I/O端分为行线和列线接入端,按键跨接在行线和列线上。按键按下时,行线与列线相通。图2.40所示是一个43的矩阵非编码键盘,共有4根行线和3根列线,可连接12个按键(按键数=行数列数)。与线性非编码键盘相比,12个按键只占用7个I/O口,显然在按键数量较多时,矩阵非编码较线性非编码键
4、盘可以节省很多I/O接口。图2.40 矩阵非编码键盘知识点2 按键抖动与消抖 按键是控制系统中最常见的输入设备,根据按键硬件电路的连接,按键的闭合和打开将在单片机的输入引脚上分别加入高、低电平,这样CPU就可以根据读入引脚的信号来判断按键的状态。知识点2 按键抖动与消抖 实际状况下,按键的合断都存在一个抖动的暂态过程,如图2.41所示。这种抖动的过程大约510ms,人的肉眼是觉察不到的,但对高速CPU来说,可能产生误处理。为了保证每按一次键只作一次处理,必须采取措施来消除键的抖动。图2.41 键合断时的电压抖动知识点2 按键抖动与消抖 消除抖动的措施有两种:硬件消抖和软件消抖。1硬件消抖 硬件
5、消抖可以采用简单的R-S触发器或单稳电路构成,如图2.42所示,但硬件复杂,在单片机控制系统中并不常用。图2.42 硬件消抖电路知识点2 按键抖动与消抖2软件消抖 软件消抖是用延时来躲避暂态抖动过程,由于按键抖动过程仅持续510ms,因此在控制软件中执行一段大约510ms的延时程序后再读入按键的状态,不需要硬件开销,在单片机系统设计中经常采用。 具体方法为:首先读取I/O口状态并第1次判断有无键被按下,若有键被按下则等待510ms,然后再读取I/O口状态并第2次判断有无键被按下,若仍然有键被按下则说明某个按键处于稳定的闭合状态;若第2次判断时无键被按下,则认为第1次是按键抖动引起的无效闭合。知
6、识点3 线性非编码键盘的识别与处理 线性非编码键盘每个按键的一端接到单片机的I/O口,另一端接地。当无按键被按下时,I/O引脚为高电平;当按下某个按键时,对应的I/O口引脚为低电平。 编程时只要采用if语句不断查询I/O口引脚状态,若某I/O口为低电平,则延时5-10mS,再用if语句判断一次,若还为低电平,就执行对应按键的功能。 为了确保按键每按一次执行一次操作,在判断按键按下后增加一条while语句,等待I/O口变高电平,即等待按键释放。 if (K1=0) delay1ms(5); if (K1=0) while(K1=0); 具体功能语句; 知识点3 矩阵非编码键盘的识别与处理 在使用
7、矩阵键盘时,连接行线和列线的I/O管脚不能全部用来输出或全部用来输入,必须一个输出,另一个输入。常用方法有两种:一是行扫描法,二是线反转法。知识点3 矩阵非编码键盘的识别与处理1行扫描法 通过行线发出低电平信号,如果该行线所连接的键没有按下的话,则列线所接的端口得到的是全“1”信号,如果有键按下的话,则得到非全“1”信号。 为了防止双键或多键同时按下,往往从第0行一直扫描到最后1行,若只发现1个闭合键,则为有效键,否则全部作废。 找到闭合键后,读入相应的键值,再转至相应的键处理程序。知识点3 矩阵非编码键盘的识别与处理知识点3 矩阵非编码键盘的识别与处理知识点3 矩阵非编码键盘的识别与处理知识
8、点3 矩阵非编码键盘的识别与处理2. 线反转法 线反转法也是识别闭合键的一种常用方法,该法比行扫描速度快。 先将行线作为输出线,列线作为输入线,行线输出全“0”信号,读入列线的值,然后将行线和列线的输入输出关系互换,并且将刚才读到的列线值从列线所接的端口输出,再读取行线的输入值。那么在闭合键所在的行线上值必为 0。这样,当一个键被按下时,必定可读到一对唯一的行列值。知识点3 矩阵非编码键盘的识别与处理知识点3 矩阵非编码键盘的识别与处理知识点3 矩阵非编码键盘的识别与处理3. 矩阵非编码键盘编程过程 (1) 判断是否有按键被按下(注意要调用延时5ms子程序判断,以消除抖动的影响)。 (2) 若有键被按下,通过行扫描法或反转法识别闭合键的行值和列值。 (3) 采用计算法或查表法将闭合按键的行值和列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砂石开采施工方案(3篇)
- 积雪运输施工方案(3篇)
- 管理施工方案审批(3篇)
- 组织市集活动方案策划(3篇)
- 翻新标线施工方案(3篇)
- 讲师线上活动方案策划(3篇)
- 车站土建施工方案(3篇)
- 道路施工方案特点(3篇)
- 野餐活动策划方案学生(3篇)
- 铝板景观施工方案(3篇)
- 北京海淀中关村中学2026届高二上数学期末调研试题含解析
- 2025版 全套200MW800MWh独立储能项目EPC工程概算表
- 顺德家俱行业分析会报告
- 非煤地下矿山员工培训
- 保安法律法规及业务能力培训
- 班团活动设计
- GB/T 6109.1-2025漆包圆绕组线第1部分:一般规定
- 前纵隔占位患者的麻醉管理要点(PASF 2025年)
- 企业财务会计制度完整模板
- 销售岗位个人简历模板下载合集
- 雅马哈DTX430K电子鼓中文说明书
评论
0/150
提交评论