




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章MCS 51单片机的交互通道配置与接口 主要内容 从工程应用角度介绍了MCS 51单片机的交互通道配置与接口 主要包括人机界面中的键盘 显示器 微型打印机等 介绍了多种实用方案和设计技巧 重点在于系统概念的形成 各种接口设计方案和设计技巧的掌握 熟悉各种交互设备 难点在于使用动态方法进行键盘和显示的硬件及软件设计 人机界面 是指人与计算机系统进行信息交互的接口 包括信息的输入和输出 6 1MCS 51单片机与键盘的接口技术键盘 单片机系统中完成控制参数输入及修改的基本输入设备 是人工干预系统的重要手段 键盘的分类 按编码方式可分为编码键盘与非编码键盘 按键组连接方式可分为独立连接式键盘与矩阵连接式键盘 6 1 1概述键盘输入的主要对象 各种按键或开关 1 独立连接式键盘每键相互独立 各自与一条I O线相连 CPU可直接读取该I O线的高 低电平状态 其优点是硬件 软件结构简单 判键速度快 使用方便 缺点是占I O口线多 适用场合 多用于设置控制键 功能键 适用于键数少的场合 独立连接式键盘连接图如右图所示 当没有键被按下时 所有的数据输入线都为高电平 当有任意一个键被按下时 与之相连的数据输入线将变为低电平 通过相应指令 可以判断是否有键按下 2 矩阵连接式键盘键按矩阵排列 各键处于矩阵行 列的结点处 CPU通过对连在行 列 的I O线送已知电平的信号 然后读取列 行 线的状态信息 逐线扫描 得出键码 其特点是键多时占用I O口线少 硬件资源利用合理 但判键速度慢 适用场合 多用于设置数字键 适用于键数多的场合 4行4列矩阵式键盘连接图如右图所示 这种键盘适合采取动态扫描的方式进行识别 扫描方式 低电平扫描 回送线必须被上拉为高电平 高电平扫描 回送线需被下拉为低电平 右图中给出了低电平扫描的电路 3 薄膜开关特点 不需要进行导线与开关间的焊接 结构简单 体积小 防尘 防水 防有害气体侵蚀 寿命长 可靠性高 应用 与按键式键盘类似 多个薄膜开关也可按照独立式或矩阵式设计内部电路 其原理与普通键盘相同 按键开关去抖动问题 键盘的抖动时间一般为5 10ms 抖动现象会引起CPU对一次键操作进行多次处理 从而可能产生错误 硬件去抖动 消除抖动不良后果的方法 其中RC滤波电路去抖动电路简单实用 效果较好 软件去抖动检测到按键按下后 执行延时10ms子程序后再确认该键是否确实按下 消除抖动影响 1 开关状态的可靠输入 必须消除键抖动 可以采用硬件和软件两种方法 硬件方法就是在按键输入通道上添加去抖动电路 软件方法则采用延迟10 20ms 2 键盘状态的监测方法 中断方式还是查询方式 3 键盘编码方法 4 键盘控制程序的编制 6 1 3键盘接口功能 对键盘上所按下的键进行识别 分类 1 编码键盘 采用专用的编码 译码器件 被按下的键由该器件译码输出相应的键码 键值 其特点是增加了硬件开销 编码固定 但编程简单 适用于规模大的键盘 6 1 2使用键盘时必须解决的问题 2 非编码键盘 采用软件编 译码的方式 通过扫描 对每个被按下的键判别输出相应的键码 键值 其特点是不增加硬件开销 编码灵活 但编程较复杂 占CPU时间 适用于小规模的键盘 特别是单片机系统 键盘 1 键盘接口的工作原理对于矩阵式键盘 如上页图所示 键盘的行线X0 X3通过电阻接 5V 当键盘上没有键闭合时 所有的扫描线和回送线都断开 无论扫描线处于何种状态 回送线都呈高电平 当键盘上某一键闭合时 则该键所对应的扫描线和回送线被短路 可以确定 变为低电平的回送线与扫描线相交处的键闭合 CPU对键盘扫描的方式 程序控制的随机方式 CPU空闲时扫描键盘 定时控制方式 定时扫描键盘 中断方式 CPU对键盘上闭合键的键号确定方法 根据扫描线和回送线的状态计算求得 或根据行线和列线的状态查表求得 2 键输入程序的设计方法 1 判断键盘上是否有键闭合 2 消除键的机械抖动 3 确定闭合键的物理位置 4 得到闭合键的编号 5 确保CPU对键的一次闭合只做一次处理3 键盘接口方式 1 独立式键盘接口 静态方式 特点 结构简单 每个按键接单片机的一条I O线 通过对输入线的查询 可以识别每个按键的状态 例题 在MCS 51单片机系统中 设计一个含8个按键的独立式键盘 解 在MCS 51中 含8个按键的独立式键盘的线路连接如下页图所示 8个按键经上拉电阻拉高后分别接到MCS 51单片机P1口的8条I O线上 P1 0 P1 7 在无键按下的情况下 P1 0 P1 7线上输入均为高电平 当有键按下时 与被按键相连的I O线将得到低电平输入 其他位按键的输入线上仍维持高电平输入 P1口8条I O线经与非门74LS30实现逻辑与非后 再经过1个非门74LS04进行信号变换 然后接至MCS 51的引脚上 可通过中断的方式处理键盘 在中断服务程序中 先延时20ms消除键抖动 再对各键进行查询 找到所按键 并转到相应的处理程序中去 CLOSE JNBACC 7 KEY7 查询7号键JNBACC 6 KEY6 查询6号键JNBACC 5 KEY5 查询5号键JNBACC 4 KEY4 查询4号键JNBACC 3 KEY3 查询3号键JNBACC 2 KEY2 查询2号键JNBACC 1 KEY1 查询1号键JNBACC 0 KEY0 查询0号键INT0 RETIKEY7 7号键处理程序KEY71 MOVA P1 再读P1口各引脚JNBACC 7 FUNC71 确认键是否释放RETIKEY6 其他键处理程序 D20 20ms延时子程序 END 主程序如下 ORG0000HLJMPMAINORG0003H 外部中断0中断服务入口地址LJMPINT 转中断服务ORG0100HMAIN SETBEA 开总中断允许SETBEX0 开INT0中断SETBIT0 下降沿有效 中断服务程序清单如下 INTICALLD20 延时去抖动MOVP1 0FFH P1口送全1值 准双向口原因 MOVA P1 读P1口各引脚CJNEA 0FFH CLOSE 验证是否确实有键闭合AJMPINT0 无键按下 按键时间过短 则退 出中断 2 矩阵式键盘接口 行反转法 矩阵式键盘按键识别方法有行反转法和扫描法等 行反转法需要两个双向I O口分别接行 列线 步骤如下 1 由行线输出全 0 读入列线 判有无键按下 2 若有键按下 再将读入的列列线输出 读进行线的值 3 第一步读进的列线值与第二步读进的行线值运算 从而得到代表此键的唯一的特征值 行反转法因输入与输出线反过来用而得名 优点是判键速度快 两次即可 例题 请为8051微处理器设计一个由4行4列键阵构成的键盘 解 4 4矩阵键盘的线路连接如下页图所示 其中P2口的低4位作为输出线 P1口的低4位作为输入线 输入线通过74LS21进行逻辑相与后作为8051的一个外部中断源输入 当有键按下时就将引起中断 中断服务程序要对所按的键进行判别 1 查询闭合键的位置子程序KEYRKEYR子程序用以确定每组线中哪一位为0 是否有多个0 在调用前 应将读某组线的数据存入累加器A中 KEYR子程序返回时 某组线中0的位置 0 3 保存在R3中 按键闭合引起中断后 执行中断服务程序 表2 5工作寄存器组选择控制表 KEYR子程序如下 KEYR CJNEA 0FEH TESTP11 测试P1 0MOVR3 0 P1 0 0 说明被按键的输入线为P1 0LJMPFINISH 返回TESTP11 CJNEA 0FDH TESTP12 测试P1 1MOVR3 1LJMPFINISHTESTP12 CJNEA 0FBH TESTP13 测试P1 2MOVR3 2LJMPFINISHTESTP13 CJNEA 0F7H FINISH 测试P1 3MOVR3 3FINISH RET 2 中断服务程序中断服务程序开始部分应利用软件延时消除键抖动 然后再对所按的键做出处理 中断服务程序如下 ORG1000HINT11 LCALLDELAY 延时去抖动MOVA P1 读输入线ANLA 0FH 判断是否有键闭合CJNEA 0FH TEST 有键闭合 转判断按键程序RETI 无键闭合 返回TEST MOVB A 暂存LCALLKEYR 调用读取子程序MOV40H R3 暂存在40H单元MOVP2 0FFH 输出线写1MOVP1 B 输入线写入数据MOVA P2 读输出线LCALLKEYR 调用读取子程序XCHA R3SWAPAORL40H A 得按键特征值RETI 中断程序结束后 键的特征值存放在40H单元中 此键的输出线号位于40H单元的高4位 其输入线号位于低4位 此后 根据40H单元的内容去查表 得到相应键的代码 可进行显示或其他处理 3 去抖动的延时子程序DELAY利用CPU的空闲方式 通过定时器T1实现延时 T1必须预先置初值 以得到需要的延迟时间 设晶振频率为6MHz 欲延时20ms 定时时间为 216 TC 6 12 20 103 s 初值 TC 25536 63C0H 程序如下 DELAY MOVTOMD 11H 方式1定时MOVTL1 0C0H 定时器1定时初值MOVTH1 63HSETBEA 开中断SETBET1 开定时器1中断SETBPT1 定时器1为高级中断 因被键盘中断调用 SETBTR1 启动定时器ORLPCON 1 启动空闲方式 实际CPU在此处等待CLRTR1 以下四条指令只有在延时后 定时器被唤醒 才能执行CLRPT1CLRET1RETEND 4 通过串行口扩展键盘接口 MCS 51系列单片机的串行口与串 并转换芯片配合 如串入并出芯片74LS164 可以扩展键盘 例题 利用MCS 51的串行口与串 并转换芯片配合 扩展2行8列的键盘接口 键号为0 15 要求给出其硬件连接和键盘查询子程序 解 串口与串 并转换芯片配合扩展键盘的线路连接如下图所示 其中 P1 0和P1 1作为行线 键盘的编码为 P1 0线上的8个键分别为00H 00H 07H P1 1线上的8个键分别为08H 00H 07H 扫描线 00H 07H 的具体值存放在R4中 程序采取查询方式读取键号 并且考虑了键的抖动问题 DLY1是延时子程序 程序如下 ORG1000HSERKEY MOVSCON 00H 设置串行口MOVA 00H 键盘初始化 送00H到列线上LCALLVARTO 发送数据CHK JNBP1 0 CHK0 检查是否有键按下JNBP1 1 CHK0 检查是否有键按下AJMPCHK 无键按下 继续查找CHK0 LCALLDLY1 调用10ms延时子程序 去抖JNBP1 0 CHEN 确实有键按下 转CHENJNBP1 1 CHENAJMPCHK 无键按下 继续查找CHEN MOVR2 0FEH 首列扫描字送R2 查键号 最低位为0MOVR4 00H 首列偏移值送R4 CHKN MOVA R2 发送列扫描字LCALLVARTOJBP1 0 CH1 检查P1 0有无键按下 若无 转CH1MOVA 0 第一行首列值送A 00H R4 AJMPCKEY 转求键号CH1 JBP1 1 NEXT 检查P1 1有无键按下 若无
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年成人高考语文高频考点速记题库:作文写作思路与
- 2025年花艺师职业资格考试真题模拟训练-花艺行业法律法规试题
- 2025年安全教育培训考试应急救援知识题库全真试题
- 2025年护士执业资格考试题库(营养护理学)护理技能操作试题卷
- 2025年摄影师职业技能鉴定模拟试题及答案试卷
- 2025年调酒师职业资格考试模拟试题:调酒师职业道德与素养
- 2025年调酒师职业技能大赛酒水品鉴与评价能力测试试题试卷
- 2025年中学教师资格考试《综合素质》核心考点特训题库(含答案)之教师职业道德填空题
- 《2025年期货从业资格考试法律法规高频考题试题》
- 2025年消防设施操作员资格考试:消防安全知识培训试题库
- T/CCS 039-2023煤炭联运集装箱智能定量装载系统技术条件
- 网络安全运维方案设计
- 线性代数教案设计全(同济大学第六版)
- 私募股权融资流程与风险管理
- 云上贵州大数据集团笔试题目
- 施工合同赶工协议
- 《人工智能原理及其应用》王万森编著电子工业出版社课后习题答案37
- DB1331T 063-2023雄安新区地埋管地源热泵系统工程技术规程
- 汽车销售劳动合同书
- 湖北武汉历年中考作文题与审题指导(2000-2024)
- 中学学生会检查细则说明表格
评论
0/150
提交评论