网站大量收购独家精品文档,联系QQ:2885784924

单片机原理与接口技术第6章单片机系统基本并行扩展技术教学幻灯片讲义.ppt

单片机原理与接口技术第6章单片机系统基本并行扩展技术教学幻灯片讲义.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
演示文稿演讲PPT学习教学课件医学文件教学培训课件

6.5.3 键盘接口扩展 ----行列式键盘 3.行列式键盘 若每一个按键都占用一条I/O口线, 当按键数目较多时, 就要使用大量的I/O口线。为了减少键盘与单片机接口时所占用I/O口线的数目, 通常设置两组互不连接的行线和列线, 在行线与列线的交叉处设置一个按键开关, 如图所示。无键按下时,行线与列线不连接,有键按下时,行线与列线接通。 在这种行列式无编码键盘中, 对按键的识别由软件完成, 通常有两种方法:一是传统的行扫描法;二是速度较快的线反转法。本节主要讨论行扫描法。 下图为4×8行列式键盘与MCS-51单片机的接口电路。 键盘通过8155的A口和C口与单片机连接。 6.5.3 键盘接口扩展 ----行列式键盘接口 4.行列式键盘的接口方法 6.5.3 键盘接口扩展 ----行列式键盘举例 例6-5 根据上图所示接口电路,编写行列式键盘扫描程序。 分析: 8155的PA设定为输出口, 称其为扫描线, PA口的端口地址为7F01H。 PC3~PC0设定为输入口, 称其为回送线, PC口的端口地址为7F03H。 键值编码形式: 回送线PC0, PC1, PC2, PC3上的键值(每条回送线上有8个键, 顺序从左到右)分别为: PC0:00H+(00H~07H) PC1:08H+(00H~07H) PC2:10H+(00H~07H) PC3:18H+(00H~07H) 其中, (00H~07H)的具体内容由扫描线决定, 存放在R4中。 6.5.3 键盘接口扩展 ----行列式键盘举例 (1) 扫描是否有键按下子程序KEY1,回扫线的值存放在A中。 程序如下: ORG 1000H KEY1:MOV DPTR, #7F01H ;将PA口地址送DPTR,PA口 ;作为扫描线 MOV A, #00H ;所有扫描线均为低电平 MOVX @DPTR, A ;PA口向列线输出00H INC DPTR INC DPTR ;指向PC口 MOVX A, @DPTR ;取回送线状态 CPLA ;行线状态取反 ANL A, #0FH ;屏蔽A的高半字节 RET ;返回 6.5.3 键盘接口扩展 ----行列式键盘举例 (2) 判断是否有键按下子程序KEY,如果有,识别按键的键码。 其中DELAY1是延时子程序。 程序如下: KEY: ACALL KEY1 ;检查有键闭合否 JNZ LKEY1 ;A非0说明有键按下 ACALL DELAY1 ;执行一次延时子程序(延时6 ms) AJMP KEY LKEY1: ACALL DELAY1 ACALL DELAY1 ;有键闭合延时2×6ms=12ms以去抖动 ACALL KEY1 ;延时以后再检查是否有键闭合 JNZ LKEY2 ;有键闭合, 转LKEY2 ACALL DELAY1 ;无键闭合, 说明是干扰信号, 不作处理 AJMP KEY ;延时6ms后转KEY继续等待键入 LKEY2: MOV R2, #0FEH ;扫描初值送R2, 设定PA0为当前扫描线 MOV R4, #00H ;回送初值送R4 6.5.3 键盘接口扩展 ----行列式键盘举例 LKEY4: MOV DPTR, #7F01H ;指向PA口 MOV A, R2 MOVX @DPTR, A ;扫描初值送PA口 INC DPTR INC DPTR ;指向PC口 MOV A, @DPTR ;取回送线状态 JB ACC.0, LONE ;ACC.0=1, 第0行无键闭合, 转LONE MOV A, #00H ;装第0行行值 AJMP LKEYP ;转计算键码 LONE: JB ACC.1, LTWO ;ACC.1=1, 第1行无键闭合, 转LTWO MOV A, #08H ;装第1行行值 AJMP LKEYP ;转计算键码 LTWO: JB ACC.2, LTHR ;ACC.2=1, 第2行无键闭合, 转LTHR MOV A, #10H ;装第2行行值 AJMP LKEYP LTHR: JB ACC.3, NEXT ;ACC.3=1, 第3行无键闭合, 转NEXT MOV A, #18H ;装第3行行值 6.5.3 键盘接口扩展 ----行列式键盘举例 LKEYP: ADD A, R4 ;计算键码 PUSH ACC ;保存键码 LKEY3: ACALL DELAY1 ;延时6

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档