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

第5章MCS-51单片机外部并行接口扩展技术.ppt

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

第9章 MCS-51的接口技术 9.1 概述 9.2 键盘接口 9.3 单片机与LED显示器接口技术 9.4 单片机与显示器接口实例 9.1 概述 接口信号和编址方法 数据交换方式 编程方法 9.2键盘接口 9.2.1 键盘工作原理 4×4键盘结构 9.2.2键盘、显示接口方法 9.2.2 键盘输入程序设计方法 键盘输入的功能有以下四个方面: 判断键盘上有无键按下 方法:使扫描口PA0~PA7=0…0, 读PC口 若PC0…PC3=1111 则无键按下 若PC0…PC3≠111 则必然有键按下 去按键颤抖 方法:读键值后,记忆该键值,然后延迟10ms左右,再读键值, 若2键值相等,则该键是正常按下,处理该键值 若不相等,则认为是干扰,放弃。 判别按下键的键值 方法:1列驱动,全行读出,每列驱动一次 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 PC3 PC2 PC1 PC0 1 1 1 1 1 1 1 0 24 16 8 0 1 1 1 1 1 1 0 1 25 17 9 1 1 1 1 1 1 0 1 1 26 18 10 2 … 0 1 1 1 1 1 1 1 31 23 15 7 键值N=行首键号+列号 使CPU对键的一次按下,仅作一次处理 方法:1. 有键按下,等待,释放后再作处理 2. 设键按下标志位,按下置’1’,处理键值,释放置’0’ 键盘输入程序流程图 9.2.3键盘、显示接口方法 键盘输入程序清单 keyi: acall ks1 ;调用判别有无 ;键按下子程序 jnz lk1 n1: acall dir ;调用延迟子程序 ajmap keyi lk1: acall dir ;延迟12mS acall dir acall ks1 ;调用判别有无 ;键按下子程序 jnz lk2 acall dir ajmp keyi lk2: mov r2,#0feh ;扫描模式送r2 mov r4,#00h ;列号,(键值N=行首键号+列号) lk4 : mov dptr,#7001h;扫描模式送8155A口 mov a,r2 movx @dptr,a ;列号(r4)送8155A口 inc dptr inc dptr movx a,@dptr ;读8155C口 jb acc.0,lone;转判1行 mov a,#00h ;0行有键按下,首键值0送a ajmp lkp ;转键植计算 lone: jb acc.1,ltwo ;转判2行 mov a,#08h ;1行有键按下,首键号8送a ajmp lkp ;转键植计算 ltwo: jb acc.2,lthr;转判3行 mov a,#10h ;2行有键按下,键首号10h送a ajmp lkp ;转键植计算 lthr: jb acc.3,next;转下一列 mov a,#18h ;3行有键按下,首键号18h送a lkp: add a,r4 ; 键植计算 push acc ;键号进栈保护 lk3: acall dir ;判键释放否 acall ks1 ;(调用延迟子程序) jnz lk3

文档评论(0)

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

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

1亿VIP精品文档

相关文档