已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
按键的特点及工作原理独立式按键矩阵式按键 键盘接口技术应用 本章内容 PC机除了主机以外还需要哪些部分呢 单片机电路有时候也需要键盘 显示等外设 按键的特点及工作原理 按键的分类 触点式 机械 无触点式 电气键输入原理 通过按键的接通与断开 产生两种相反的逻辑状态低电平 0 与高电平 1 键功能的实现 对于一组键或一个键盘 需通过接口电路与单片机相连 可采用查询或中断方式测试有无键按下 再确定是哪一个键按下 将该键号送入累加器ACC 然后判断是数字键还是功能键 若是数字键 则将键号对应的数字送入相关输入缓冲区 若是功能键 则通过跳转指令转入执行该键的功能程序 执行完后再返回主程序 键盘接口需要解决的问题 是否有键按下 按键识别 键抖动及消除 机械按键抖动时间在5ms 10ms之间 硬件方案 双稳态去抖电路 软件方案 延时10ms 20ms后再次判断 消除方法 求键号 独立式按键 接口电路 特点 一线一键 按键识别 编程 简单 但占用较多口线 适合8键以下使用 例1 用P1口检测三个按键的状态并完成相应的功能 解 资源分配 用P1口的低3位检测3个按键的输入 为1则表示按键没有按下 为0则表示相应按键被按下 流程图 ORG0000HKB MOVP1 0FFHMOVA P1CPLAANLA 07HJZKBLCALLD10MSMOVA P1CPLAANLA 07HJZKB 编程 按三个按键中的任一键都对应一个特定功能 判断按键是否按下 CJNEA 01H KB01LCALLPGM1SJMPKBKB01 CJNEA 02H KB02LCALLPGM2SJMPKBKB02 CJNEA 04H KBLCALLPGM3SJMPKBPGM1 RET 判断具体哪个键按下并转去执行相应功能 矩阵式按键 关键 如何判断键号 接口电路 特点 按键识别应采用扫描法或线路反转法编程较为复杂 节省口资源 8键以上使用 键盘扫描子程序一般包括以下内容 1 判别有无键按下 2 扫描获取闭合键的行 列值 3 用计算法或查表法得到键值 4 判断闭合键释放否 如没释放则继续等待 5 保存闭合键号 键按下 释放判断 KS MOVA 00HMOVP1 A 全扫描字 00H送P1口MOVP1 0FHMOVA P1 读入P1口状态CPLA 变正逻辑 高电平表示有键按下ANLA 0FH 取低4位RET 返回 A 0表示有键按下 按键识别 扫描法 流程 当第0列处于低电平时 逐行查找是否有行线变低 若有 则第0列与该行的交叉点按键按下 若无 则表示第0列无键按下 再让下一列处在低电平 依此循环 这种方式称为键盘扫描 键号 行首键号 0 4 8 12 列号 0 1 2 3 原理 在某一时刻只让一条列线处于低电平 其余列线均处于高电平 则当这一列有键按下时 该键所在的行电平将会由高电平变为低电平 可判定该列相应的行有键按下 例2 键盘扫描程序 SERCH MOVR2 0EFHMOVR3 00HLINE0 MOVA R2MOVP1 AMOVA P1JBACC 3 LINE1MOVA 00HAJMPTRYKLINE1 JBACC 2 LINE2MOVA 04HAJMPTRYKLINE2 JBACC 1 LINE3MOVA 08H AJMPTRYKLINE3 JBACC 3 LINE4MOVA 0CHAJMPTRYKLINE4 INCR3MOVA R2RLAJNBACC 0 BACKMOVR2 AAJMPLINE0TRYK ADDA R3BACK RET 定时扫描方式 定时扫描方式就是每隔一段时间对键盘扫描一次 它利用单片机内部的定时器产生一定时间 例如10ms 的定时 当定时时间到就产生定时器溢出中断 CPU响应中断后对键盘进行扫描 并在有键按下时识别出该键 再执行该键的功能程序 中断扫描方式 为提高CPU工作效率 可采用中断扫描工作方式 其工作过程如下 当无键按下时 CPU处理自己的工作 当有键按下时 产生中断请求 CPU转去执行键盘扫描子程序 并识别键号 键盘和显示器综合应用 知识回顾LED显示的接口方式按键的接口方式键盘和显示的综合应用实例 停车场计数器硬件设计软件设计 LED显示和按键的应用 停车场计数器硬件电路设计 显示部分 静态显示 StaticDisplay 连接 动态显示 DynamicDisplay 连接 课堂练习1 尝试完成上述功能的显示电路连接 计数部分 实际电路采用传感器 这里我们可以用按键模拟代替 停车场计数器程序设计 基本功能 单片机 a dp P2 1 P2 0 P2 6 P2 7 b g 5V a dp b g P0 1 P0 0 P0 6 P0 7 5V 编写程序的基本思路主程序完成单片机的初始设定 初始显示等 两个按键可采用查询或者中断方式 本例子采用中断方式 各段功能程序地址确定 ORG0000HLJMPMAINORG0003H 外部中断0的入口地址LJMPCAR IN 进车后的中断子程序ORG0013H 外部中断1的入口地址LJMPCAR OUT 出车后的中断子程序 NUMEQU20HNUM HEQU21HNUM LEQU22H MAIN主程序流程 TAB DB0C0H 0F9H 0A4H 0B0HDB99H 92H 82H 0F8H 80H 90H 主程序 MOVNUM 00HMOVNUM H 00HMOVNUM L 00H MOVDPTR TAB DISP MOVA NUM HMOVCA A DPTRMOVP2 A MOVA NUM LMOVCA A DPTRMOVP0 A SJMPDISP 中断初始化 初始车数设为0 设置查表首地址 十位显示 P2口 个位显示 P0口 FLOWCHART 进车中断子程序 模拟 进车 按键按下后 进车中断子程序 CAR IN INCNUM MOVA NUMMOVB 10DIVAB MOVNUM H A MOVNUM L B RETI 返回 除操作后 A B分别是什么 车数加1 车数除以10得到十位和个位 十位送NUM H 个位送NUM L 出车中断子程序 CAR OUT INCNUM 车数减1MOVA NUMMOVB 10DIVAB 除以10 得到十位和个位MOVNUM H A 高位送到NUM HMOVNUM L B 低位送到NUM HRETI 总结 通过静态显示和独立按键完成了一个应用系统的设计 实际系统需采用传感器 重点 硬件资源的分配 程序构思 主程序 显示部分 和中断子程序 计数值更新部分 的关系 思考 程序的改进 怎样实现计数到99后的清0 当停车场可容纳车位数目增多 需三位计数时 电路和软件如何修改 当设计秒表 或数字钟 时 该应用程序有何借鉴之处 动态显示和按键编程实例 秒表 问题1 秒表的基本功能有哪些 启动 停止 清0秒的加1计数显示的不断更新问题2 上述功能需要通过什么相应的资源和软件来实现 按键 显示器定时器显示缓冲区的不断更新 秒表的硬件设计 动态显示连接 至少2个数码管 用来显示秒值 独立式按键 两个按键 课堂练习1 请画出完成上述功能的硬件电路 软件设计 主要程序块 动态显示秒值更新键盘查询和按键功能设定完成步骤 步骤一 显示和秒值更新步骤二 键功能的加入 实现步骤一 显示和秒的加1计数 程序设计分析主程序 实现两位LED的动态显示定时器中断子程序 判断是否到1S 若到 更新显示缓冲区的内容 课堂练习2 请写指令 完成上述两部分程序的基本架构 ORG0000HLJMPMAINORG000BHLJMPCONT ORG0100HMAIN 初始化部分动态显示程序部分CONT 定时器中断处理显示缓冲区更新处理RETI 初始化部分程序 MAIN MOVP0 00HMOV40H 00HMOV41H 00HMOVTMOD 01HMOVTH0 3CHMOVTL0 0B0HMOVDPTR TABMOVR7 02HMOVBYTE 01HMOVR0 40H 简易秒表主程序的设计 初始化 P0选中LED的一位 BYTE 查表送该位的字型码 P2 延时 位左移指向下一位 R1加1指向显示缓冲区的下一位 2位显示完 M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 眼科手术并发症的混合过错责任认定
- 真菌性肺炎的混合感染诊断与治疗策略
- 监测系统接口标准化建设
- 皮肤科治疗安全操作口诀
- 白内障手术并发症的临床分型与处理策略
- 癌症末期家属心理压力与社工支持策略
- 病种质量管理与绩效联动
- 病理科质量改进的持续机制
- 病房护理设备引进技术的智能化交互设计
- 病毒基因组变异与疫苗设计策略
- 地基处理施工中的安全风险与防范
- 2023年09月四川成都市新津区招考聘用卫生专业技术人才33人笔试历年难易错点考题荟萃附带答案详解
- 沪科版七年级上册初一数学全册教案(教学设计)
- 全国各气象台站区站号及经纬度
- 三阶魔方入门-小学教学版
- 生产技术部主要职责及流程
- 广东高中高考英语听说考试故事速记复述技巧
- GB/T 32065.5-2015海洋仪器环境试验方法第5部分:高温贮存试验
- GB/T 20033.3-2006人工材料体育场地使用要求及检验方法第3部分:足球场地人造草面层
- 2023年牡丹江市林业系统事业单位招聘笔试模拟试题及答案解析
- 数字电子技术说课课件
评论
0/150
提交评论