单片机原理及接口技术复习题精选.ppt

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

DU S/E O U F N N N 8279的状态字:当从控制端口读取数据时,为状态字 DU:=1,显示无效,显示RAM不可用。 S/E:特殊工作方式下,有多键同时按下时,该位被置1 O:=1,当FIFO满后,再往里面写入数据,则置该位为1 U=1,FIFO为空 F=1,FIFO为满 NNN:FIFO中有几个数据。 2. 8279的接口电路与应用 图 7.31 8031与 8279 接口连接框图 上述电路中,8279数据端口地址为: 命令端口地址为: 7.4 管理功能部件的扩展 7.4.1 键盘接口 键盘实际上是由排列成矩阵形式的一系列按键开关组成, 用户通过键盘可以向CPU输入数据、地址和命令。  键盘按其结构形式可分为: 编码式键盘和非编码式键盘两类。 单片机系统中普遍使用非编码式键盘, 这类键盘主要解决以下几个问题:  ① 键的识别;  ② 如何消除键的抖动;  ③ 键的保护。 1. 非编码式键盘工作原理 非编码式键盘识别按键的方法有两种: 一是行扫描法, 二是线反转法。  1) 行扫描法 通过行线发出低电平信号, 如果该行线所连接的键没有按下的话, 则列线所接的端口得到的是全“1”信号, 如果有键按下的话, 则得到非全“1”信号。  为了防止双键或多键同时按下, 往往从第 0 行一直扫描到最后 1 行, 若只发现 1 个闭合键, 则为有效键, 否则全部作废。 找到闭合键后, 读入相应的键值, 再转至相应的键处理程序。 2) 线反转法 线反转法也是识别闭合键的一种常用方法, 该法比行扫描速度快, 但在硬件上要求行线与列线外接上拉电阻。  先将行线作为输出线, 列线作为输入线, 行线输出全“0”信号, 读入列线的值, 然后将行线和列线的输入输出关系互换, 并且将刚才读到的列线值从列线所接的端口输出, 再读取行线的输入值。那么在闭合键所在的行线上值必为 0。这样, 当一个键被按下时, 必定可读到一对唯一的行列值。 2. 键盘接口电路 图 7.26 采用8155的键盘接口电路 下面的程序是用行扫描法进行键扫描的程序, 其中KS1 为判键闭合的子程序。 有键闭合时键值存入20H单元和A中。 DIR为数码显示器扫描显示子程序, 执行一遍的时间约6 ms。 程序执行后, 若键闭合, 键值存入A中, 键值的计算公式是: 键值=行号×4+列号; 若无键闭合, 则A中存入标志FFH。 KEY1:LCALL KS1 ; 检查有无闭合键? JNZ LK1 ; (A)=0, 有键闭合则转 LJMP LK8 ; 无闭合键则返回  LK1: LCALL DIR ; 延时 12 ms LCALL DIR ; 清抖 LCALL KS1 ; 再检查有键闭合否? JNZ LK2 ; 有键闭合则转 LJMP LK8 ; 无键闭合则返回 LK2: MOV R3, #00H ; 行号初值送R3 MOV R2, #FEH ; 行扫描初值送R2 LK3: MOV DPTR, #0101H ; 指向 8155 口A MOV A, R2 ; 行扫描值送A MOVX @DPTR, A ; 扫描 1 行 INC DPTR INC DPTR ; 指向 8155 口C MOVX A, @DPTR ; 读入列值 ANL A, #0FH ; 保留低 4 位 MOV R4, A ; 暂存列值 CJNZ A, #0FH, LK4 ; 列值非全“1”则转 MOV A, R2 ; 行扫描值送A JNB ACC.7, LK8 ; 扫至最后一行则转 RL A ; 未扫完, 则移至下一行 MOV R2, A ; 行值存

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档