- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 MCS-51单片机输入口及其应用
学习要点 在设计键盘接口时,解决以下几个问题: 1。开关状态的可靠输入—可设计硬件去抖动电路或设计去抖动软件。 2。键盘状态的监测方法—中断方式还是查询方式。 3。键盘编码方法。 4。键盘控制程序的编制。 4.1 输入设备的分类 1。按钮开关 2。单刀开关 3。BCD指拨开关 4.2 键盘去抖方法 键盘防抖(消抖)概念 通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号小型如下图。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如下图。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。 键盘去抖方法 按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。按键的抖动,可用硬件或软件两种方法。 1。硬件消抖 2。软件消抖 硬件消抖 在键数较少时可用硬件方法消除键抖动。下图所示的RS触发器为常用的硬件去抖。 图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为1;当键按下时,输出为0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说, 即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。 硬件消抖 状态表: 初始:A=0 1=0 ;B=1 5=1 6=0 2=0 ;3=1 按键:A=1 1=1 ;B=0 5=0 6=1 2=1 ;3=0 抖动:A=1 1=1 ;B=1 5=1 4=0(3=0) 6=1 2=1;3=0 软件消抖 如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。 4.3 独立式键盘 1.独立式按键结构 独立式按键是指直接用I/O口线构成的单个按键电路。每根I/O口线上按键的工作状态不会影响其他I/O口线的工作状态。独立式按键电路如图4-1所示。 2.独立式按键的软件结构 包括按键查询、键功能程序转移。FP0~FP7 为功能程序入口地址标号,PROM0~PROM7分别为每个按键的功能程序。 图4-2为使用扩展I/O的独立式按键电路,按键数量可多可少。 独立式按键电路 8255扩展I/O的独立式键盘 4.4 行列式键盘 1.键盘工作原理 行列式键盘电路原理如图4-3所示。按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5伏时,被钳位在高电平状态。 键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。 行列式键盘原理电路 行列式键盘工作方式 2.键盘工作方式(如图4-4所示) 键盘的工作方式: 编程扫描方式、定时扫描方式、中断扫描方式三种。 在键盘扫描子程序中完成下述几个功能。 (1)判断键盘上有无键按下 (2)去键的机械抖动影响。 (3)求按下键的键号。 (4)键闭合一次仅进行一次键功能操作。 8155扩展I/O口组成的行列式键盘 键扫描子程序框图 键盘扫描方式 3.键盘扫描方式 扫描法:在判定有键按下后逐列(或逐行)置低电平,同时读入行(或列)的状态,如果行(或列)的状态出现非全1状态,这时0状态的行、列交点的键就是所按下的键。特点是逐列(或逐行)扫描查询。这时相应行(或列)应有上拉电阻接高电平。 反转法:只要经过两个步骤就可获得键值。反转法原理如图4-5所示。 行列式键盘接口 4.行列式键盘接口(如图4-6所示) 通用并行扩展I/O口键盘接口 8031串行I/O口扩展的键盘接口 4.5 键盘扫描程序 1.键输入 检查键盘是否有键被按下,消除按键抖 动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。 独立式键盘电路 矩阵式键盘 行列式按键(例程讲解) 行列式按键(逐列或逐行扫描原理) 扫描步骤(逐列) 1。全扫描:作用:判断是否有键按下。 先对各行送低电平,如读回各列值都为1,则说明没有键按下,如某列上出现低电平,则说明有跨接到该列的键按下; 例程:
文档评论(0)