已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章MCS 51与键盘 显示器的接口设计 2 键盘和显示器 键盘和显示器是计算机常用的输入输出设备 用于输入数据和命令 显示计算机的运行状态 命令和计算结果 考虑到简化结构 降低成本 单片机系统中经常采用简单键盘和数码管显示器 本节介绍它们与单片机的接口电路 3 10 1LED显示器接口原理 LED LightEmittingDiode 数码管共阳极数码管共阴极数码管每个显示字形对应一个二进制数码 称为段码 字形码或显示代码公共端称为位码 4 电路图 5 字型表 hgfedcba00111111 3FH11000000 C0H 6 工作方式 数码与显示码之间要有转换方法 硬件法 使用译码集成电路软件法 使用查表法得到显示码静态方式 恒定点亮动态方式 每个一段时间点亮一次即轮流点亮注意 导通电流和点亮时间比例 7 静态显示工作方法 8 下面是将显示缓冲区78H一7FH中的8个BCD码送数码管显示器的程序 DIR MOVR0 78H 置首地址MOVR2 00H 初始化位计数器MOVR7 08H 置循环次数SETBP1 7LOOP MOVA R2SWAPAADDA R0 显示数据送低4位MOVP1 A 输出显示数据和位地址INCR0 指向下一个数INCR2 指向下一位DJNZR7 LOOPCLRP1 7RET 9 动态显示工作方法 硬件 段码控制线来控制显示字形 段码 公共极COM端 位码 软件 查段码表实现各位轮流点亮注意要根据数码管的大小 确定驱动电路 包括位码驱动和段码驱动 10 6位动态显示器的接口电路图 11 6位动态显示器的显示程序框图 12 6位动态显示器的显示程序 程序如下 其中DLT为延时2ms子程序 DIR MOVR0 79H 置显示缓冲区首地址MOVR3 0lH 置位选码初值MOVA R3LOOP MOVDPTR 7F01H DPTR PA口地址MOVX DPTR A 输出位选码INCDPTR 指向PB口MOVA Ro 取被显示的数据ADDA 12H 形成查表的偏移地址MOVCA A十PC 求出显示代码JNBPSW 5 DIR1 判断是否显示小数点SETBACC 7 显示小数点 13 DIR1 MOVX DPTR A 输出显示代码ACALLDLT 延时INCR0 指向下一个显示数据MOVA R3JBACC 5 LOOPl 判断6位是否显示完毕RLA 形成下一个位代码MOVR3 AAJMPLOOPLOOP1 RETDB3FH 06H 5BH 4FH 66H 6DHDB7DH 07H 7FH 6FH 77H 7CHDB39H 5EH 79H 71HDLF MOVR7 04HDLT1 MOVR6 0FFHDLT2 DJNZR6 DI T2DJNZR7 DLT1RET 14 15 键盘由一组常开的按键开关组成 每个按键都被赋予一个代码 称为键码 键盘可以分为二种 即编码键盘和非编码键盘 编码键盘是通过一个编码电路来识别闭合键的键码 非编码键盘是通过软件来识别键码 由于非编码键盘的硬件电路简单 用户可以方便地增减键的数量 因此在单片机系统中应用广泛 这里着重介绍非编码键盘的接口电路 10 2键盘接口电路 16 1 按键电路和消除抖动 组成键盘的按键有触点式和非触点式两种 单片机中应用的一般是由机械触点构成的 在下图左中 当开关S未被按下时 P1 7输入为高电平 S闭合后 P1 7输入为低电平 由于按键是机械触点 当机械触点断开 闭合时 会有抖动动 P1 7输入端的波形如图右所示 17 按键电路和消除抖动 抖动持续时间的长短与开关的机械特性有关 一般在5一l0ms之间 这种抖动对于人来说是感觉不到的 但对计算机来说 则是完全可以感应到的 因为计算机处理的速度是在微秒级 而机械抖动的时间至少是毫秒级 对计算机而言 这已是一个 漫长 的时间了 我们在做单片机应用系统时会遇到这样个问题 就是说按键有时灵 有时不灵 其实就是这个原因 你只按了一次按键 可是计算机却已执行了多次中断的过程 如果执行的次数正好是奇数次 那么结果正如你所料 如果执行的次数是偶数次 那就不对了 为使CPU能正确地读出P1口的状态 对每一次按键只作一次响应 就必须考虑如何去除抖动 18 消除抖动的方法 硬件方法 软件方法 如用滤波电路 双稳态电路等 优点 速度快 实时 缺点 增加了硬件成本 当发现有键按下时 延时10 20ms再查询是否有键按下 若没有键按下 说明上次查询结果为干扰或抖动 若仍有键按下 则说明闭合键已稳定 即可判断其键码 19 2 非编码键盘的结构 独立式按键 行列式键盘 独立式按键是指直接用I O口线构成单个按键电路 每个按键占用一条I O口线 每个按键的工作状态不会产生相互影响 将I O口线的一部分作为行线 另一部分作为列线 按键设置在行线和列线的交叉点上 这就构成了行列式键盘 行列式键盘中校键的数量可达行线数n乘以列线数m 如4行 4列行列式键盘的按键数可以达到4 4 16个 由此可以看到行列式键盘在按键较多时 可以节省I O口线 20 独立式按键电路图 独立式按键电路的结构和处理程序简单 扩展方便 但其占用的I O口线相对较多 不适合在按键数量较多的场合下采用 21 行列式键盘的电路原理图 按键设置在行线和列线交点上 即按键开关的两端分别接在行线和列线上 行线通过一个电阻接到十5V电源上 在没有键按下时 行线处于高电平状态 判断是否有键按下的方法是 向所有的列线I O口输出低电平 然后将行线的电平状态读人累加器A中 若无键按下 行线仍保持高电平状态 若有键按下 行线至少应有一条为低电平 行 列 22 3 非编码键盘的工作方式 程序扫描方式 中断扫描方式 一般情况下 在单片机应用系统中 键盘处理只是CUP工作的一部分 为了能及时发现有键按下 CPU必须不断调用键盘处理程序 对键盘进行扫描 因此称为程序扫描方式 在程序扫描工作方式中 为了能及时响应键盘输入 需要不停地对键盘进行扫描 即使没有键操作时 也不能中断 这就浪费了大量CPU宝贵的时间 为了提高CPU的效率 在电路中增加适当的电路 当有键闭合时 产生中断请求信号 在中断服务子程序中进行去抖动 求键码和处理重键等工作 在单片机应用系统中 非编码键盘由CPU通过键盘处理程序完成整个工作过程 相对CPU来言 按键闭合是随机发生的 键盘处理程序必须能够及时捕捉到闭合的键 并求出其键码 按照这一过程的不同 非编码键盘的工作方式可分为程序扫描方式和中断扫描方式 23 例 8031与非编码键盘的接口 列PA0 7 行PC0 3 24 键盘处理程序编程要点 判断有无键闭合消除键抖动求闭合键的键号判断闭合键有无释放若释放结束处理 25 1 判断有无键闭合 判断键盘中有无键按下 由PA口输出00H 再将PC口的状态读入 若PC0一PC3全为1 说明无键按下 若不全为l则有键按下 26 1 判断有无键闭合的程序部分 KS1 MOVDPTR 7F01HMOVA 00HMOVX DPTR A 输出扫描信号00HINCDPTRINCDPTRMOVXA DPTR 读入C口状态CPLA 求反ANLA 0FH 屏敝高4位RET 27 2 消除抖动 消除抖动 当发现有键按下时 延时一段时间后再判断键盘的状态 若仍有键保持按下状态 则可断定有键按下 否则认为是抖动 28 2 消除抖动的程序部分 LK1 ACALLTIMACALLTIM 延时6msACALLKS1 判断有无键闭合JNZLK2 A 0 有键闭合 转求键码ACALLTIM 延时6msAJMPKEY1 非键闭合 返回 29 3 求闭合键的键号 从PA口依次输出下列扫描信号 每次输入扫描信号后 检查PC口的状态 若某一位为0 说明闭合的键在该行 即可确定闭合键的行和列 30 列PA0 7 行PC0 3 例如PA口输出11111011 从PC口读入的状态为1101 11011111 PA2 1011 PC1 31 3 求闭合键的键号的程序部分 LK2 MOVR2 0FEH R2一第一次扫描输出信号MOVR4 00H R4一列号LK3 MOVDPTR 7F0lH DPTR A口地址MOVA R2MOVX DPTR A 输出扫描信号INCDPTRINCDPTR 指向C口地址MOVXA DPTR 读C口状态JBACC 0 L1 PC0 1 转移MOVA 00H A 0行0列键号 准备求键号AJMPLK 32 R4 33 34 8279键盘显示器接口芯片 P246 实现对键盘和显示器的自动扫描识别闭合键的键号完成显示器的动态扫描 35 8279引脚及逻辑符号 36 8279的内部结构 37 工作原理 由SL0 SL3输出键盘和显示器的扫描线回复线RL0 RL7作为键盘的列线以搜索闭合键将键盘数据送入FIFO存储器 有键闭合时数据进入FIFO存储器 使IRQ置位向CPU申请中断 显示缓冲区 RAM 存放显示数据的段码 数据轮流从显示寄存器输出 在SL0 SL3的配合下 实现动态显示 OUTA和OUTB 38 接口方法 控制线连接 A0 IRQ CLK及RESET信息交换 命令字 状态字 A0 1 和数据 A0 0 口地址的确定 由A0确定出两个端口地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 平版印刷员岗前保密意识考核试卷含答案
- 临床试剂工安全知识评优考核试卷含答案
- 钟表部件组件装配工风险评估与管理能力考核试卷含答案
- 机制地毯挡车工安全理论测试考核试卷含答案
- 梳理缝编非织造布制作工安全知识强化考核试卷含答案
- 移栽机操作工岗前常识考核试卷含答案
- 2024年甘肃政法大学辅导员考试笔试真题汇编附答案
- 2024年隆化县幼儿园教师招教考试备考题库附答案
- 2025年三亚辅警协警招聘考试真题附答案
- 2025年电信网络运行维护操作手册
- 散文系列《补鞋子的人》精-品解读
- 2025国开本科《公共部门人力资源管理》期末历年真题(含答案)
- 养老院对护工规范管理制度
- 农行内控制度汇编
- 2025年企业党支部书记年度述职报告
- 2026年孝昌县供水有限公司公开招聘正式员工备考题库及参考答案详解1套
- 绝经后宫颈上皮内病变处理要点2026
- 2025年校长个人述职报告:凝心聚力抓落实 立德树人开新局
- 沥青混凝土面板全库盆防渗施工质量通病防治手册
- 光伏电站故障处理培训大纲
- 设备维保三级管理制度
评论
0/150
提交评论