第12讲 MCS-51的键盘显示.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第12讲 MCS-51的键盘显示接口 电气工程系 赵志衡 E-mail:zhzhhe@hit.edu.cn * 主要内容: LED显示器原理 键盘接口原理 * LED显示器原理 数码管分类 常用的数码管可分为8段和“米”字段两种 从电气特性上可分为“共阴极”和“共阳极”两种 LED结构及外形图 a b c d e f g * LED显示器原理 8段式LED显示段码的确定 共阳极数码管接线示意图 * 为使LED显示不同的符号或数字,要为LED提供段码(或称字型码)。 提供给LED显示器的段码(字型码)正好是一个字节(8段)。各段与字节中各位对应关系如下(习惯上如此设置): 按上述格式,8段LED的段码如下表所示。 * 显示字符 共阴极段码 共阳极段码 显示字符 共阴极段码 共阳极段码 0 3FH C0H c 39H C6H 1 06H F9H d 5EH A1H 2 5BH A4H E 79H 86H 3 4FH B0H F 71H 8EH 4 66H 99H P 73H 8CH 5 6DH 92H U 3EH C1H 6 7DH 82H T 31H CEH 7 07H F8H y 6EH 91H 8 7FH 80H H 76H 89H 9 6FH 90H L 38H C7H A 77FH 88H “灭” 00H FFH b 7CH 83H … … … LED段码表(8段) * LED的静态显示 基本原理及特点: 多个数码管显示时,每一位数码管恒定的点亮,不闪烁。 显示程序简单,但是要求较多的I/O口线 驱动电流较小 * LED的动态显示 基本原理及特点: 多个数码管显示时,依次循环点亮每一个数码管,利用人的视觉暂留看到整个显示内容,只有循环速度足够快,才不会感觉闪烁。 显示程序较复杂,但是节省I/O口线 驱动电流较大 LED显示器动态显示示意图 * 键盘显示接口电路设计 8155PA口地址7F01H 8155PC口地址7F03H 8155PB口地址7F02H * 键盘接口 键盘的分类 编码式:由专门的芯片(8279等)识别按下的键码。 非编码式:依靠软件实现键码的识别。 非编码键盘的结构 独立式键盘 矩阵式键盘 软件实现按键识别的方法 扫描法 键盘使用中的注意事项: -- 键盘的抖动 * 独立式键盘 1)每个按键占用一根口线 2)电路配置灵活,软件结构简单。 3)适用于按键较少的场合。 特点:可直接判断哪个键按下 ;---------------------------------------------------------------------------------------------------------- ; 独立式键盘的处理程序(注意对键盘整体扫描的方法) ;---------------------------------------------------------------------------------------------------------- LOOP: MOV A,P1 ;读P1口电平状态 ANL A,#0FH ;取P1口低4位 CJNE A,#0FH,KEY ;判断是否有键按下 SJMP LOOP ;如没有键按下,重新扫描 KEY: CJNE A,#0EH,NEXT1 ;判断是否为一号键按下 LCALL KEY1 ;调用一号键处理子程序 SJMP LOOP NEXT1: CJNE A,#0DH,NEXT2 ;判断是否为2号键按下 LCALL KEY2 … * 矩阵式键盘 由行线和列线组成 适用于按键较多的情况 节省IO口线,软件实现较复杂 按键的识别方法 矩阵式键盘示意图 * 矩阵式键盘的工作过程 键没有按下时行线和列线是分开的,键按下将相应的行线列线短接。 连接行线的管脚作为输入口,没有键按下时,被外电路拉高为“1”。 连接列线的管脚作为输出口,需要扫描键盘时,逐次输出低电平,若此时有键按下,则与其交叉的行线回读值为“0”,否则为“1”。 根据当前的扫描列线和回读电平为“0”的行线可确定按下的键值。 * 矩阵式键盘键码的判别 对于一个规则编码的矩阵式键盘,通过对键盘的列线依次进行扫描(逐列输出低电平),然后回读行线,如果哪一行的电平为低,说明该行、该列交叉的键被按下。该键的键码为: 键码=该行首键码+该列号 0行 1行 2行 3行 0列 1列 2列 3列 如何对键盘整体扫描? * 键盘的扫描方式 程序控制扫描方式 当MCU空闲时,才调用键盘扫描程序 定时扫描方式 每隔一定时间对键盘扫描一

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档