单片机——第9章应用系统.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第9章 应用系统配置及接口技术 系统前向通道: 数字量、开关量、模拟量输入(A/D) 系统后向通道: 数字量、开关量、模拟量输出(D/A) 人机通道:键盘、显示器、打印机等 9.1 人机通道配置与接口技术 进行人机对话。包括人对系统的状态干预与数 据输入,还有系统显示运行状态与运行结果等。 键盘、 显示器用来完成人机对话的人机通道。 9.1.1 键盘接口及处理程序 9.1.2 LED显示器接口及显示程序 9.1.1 键盘接口及处理程序 键盘分编码键盘和非编码键盘。 键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等; 靠软件识别的称为非编码键盘。 键盘中的按键: 都是一个常开开关电路。 当按键K未被按下时, P1.0输入为高电平; 当按键K闭合时,P1.0输入为低电平。 图9-2 按键电路 通常按键在闭合及断开的瞬间均伴有一连串的抖动。如图所示。抖动时间一般为5~10 ms。 键抖动会引起一次按键被误读多次,必须去除键抖动。可用硬件或软件两种方法消除。 常用软件方法去抖动,即检测出键闭合后执行一个5~10 ms延时程序,再一次检测键的状态,如果仍保持闭合,则确认为真正按下。当检测到按键释放后,也要给5~10 ms的延时,待后沿抖动消失后,才能转入该键的处理程序。 1) 独立式非编码键盘接口及处理程序 各按键相互独立地接通一条输入数据线,如图所示。 当一个键按下时,与之相连的输入数据线即清0(低电平),平时该线为1(高电平)。要判别是否有键按下,用单片机的位处理指令十分方便。 优点是电路简单; 缺点是占用I/O线多。 图9-4 独立连接式非编码键盘 查询方式键盘的处理程序 程序清单(设I/O为P1口): START: MOV A,#0FFH;输入时先置P1口为全1 MOV P1,A MOV A,P1;键状态输入 PL1: JNB ACC.0,P0F;0号键按下转P0F标号地址 JNB ACC.1,P1F;1号键按下转P1F标号地址 JNB ACC.2,P2F;2号键按下转P2F标号地址 JNB ACC.3,P3F;3号键按下转P3F标号地址 JNB ACC.4,P4F;4号键按下转P4F标号地址 JNB ACC.5,P5F;5号键按下转P5F标号地址 JNB ACC.6,P6F;6号键按下转P6F标号地址 JNB ACC.7,P7F;7号键按下转P7F标号地址 LJMP START;无键按下返回 P0F: LJMP PROM0 P1F: LJMP PROM1 ;入口地址表 ┊ ┊ P7F : LJMP PROM7 PROM0:… ;0号键功能程序 LJMP START ;0号键执行完返回 PROM1:… LJMP START  ┊ PROM7:… LJMP START 由程序可以看出,各按键由软件设置了优先级,优先级顺序依次为0~7。 2) 行列式键盘接口及工作原理 图9-6 4×4矩阵键盘接口图 为了减少键盘与单片机接口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式, 按键扫描的工作过程如下: ① 判断键盘中是否有键按下; ② 进行行扫描,判断是哪一个键按下,若有键按下,则调用延时子程序去抖动; ③ 读取按键的位置码; ④ 将按键的位置码转换为键值(键的顺序号)0、1、2…、F。 在扫描过程中,当发现某行有键按下,也就是输入的列线中有一位为0时,便可判别闭合按键所在列的位置,根据行线位置和列线位置就能判断按键在矩阵中的位置,知道是哪一个键按下。 首先判别键盘中有无键按下:由I/O口向键盘送(输出)全扫描字,然后读入(输入)列线状态来判断。方法: 向行线(水平线)输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根列线电平被拉至低电平,从而使列输入不全为1。 判断键盘中哪一个键被按下:通过将行线逐行置低电平后,检查列输入状态实现的。 方法: 依次给行线送低电平,然后查所有列线状态,称行扫描。如果全为1,则所按下的键不在此行;如果不全为1,则所按下的键必在此行,而且是在与零电平列线相交的交点上的那个键。 行扫描法识别键号的工作原理: 将第0行变为低电平,其余行为高电平时,输出编码为1110。然后读取列的电平,判别第0行是否有键按下。在第0行上若有某一按键按下,则相应的列被拉到低电平,则表示第0行和此列相交的位置上有按键按下。若没有任一条列线为低电平,则说明0行

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档