最新单片机 第2章PPT课件.ppt
《最新单片机 第2章PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新单片机 第2章PPT课件.ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章单片机键盘接口技术2.1 键键 盘盘 概概 述述2.1.1 按键的分类按键的分类组成键盘的按键开关按照结构原理可分为两类:一类是触点式按键开关,如机械触点式按键、导电橡胶式按键、柔性按键等;另一类是无触点按键开关,如电气式按键、磁感应按键等。第2章单片机键盘接口技术第2章单片机键盘接口技术第2章单片机键盘接口技术第2章单片机键盘接口技术第2章单片机键盘接口技术第2章单片机键盘接口技术第2章单片机键盘接口技术1. 硬件方法硬件消抖的典型做法是:采用R-S触发器或RC积分电路。1) 双稳态消抖双稳态消抖即在按键输出端加R-S触发器或单稳态触发器构成消抖电路,如图2-2所示,触发器一旦翻转,触
2、点抖动对其不会产生任何影响。电路的工作过程如下:(1) 当按键未按下时,a=0,b=1,输出A=1,B=0。第2章单片机键盘接口技术(2) 当按键按下时,按键的机械弹性作用使按键产生前沿抖动。 当开关没有稳定到达b端时,B输出为0,反馈到上面的与非门的输入端,封锁了与非门,双稳态电路的状态不会改变,输出A保持为1,这样就消除了前沿的抖动波形。 当开关稳定到达b端时,因a=1,b=0,使A=0,双稳态电路状态发生翻转。第2章单片机键盘接口技术(3) 当释放按键时,按键的机械弹性作用使按键产生后沿抖动。 当开关未稳定到达a端时,A=0,封锁了下面的与非门,双稳态电路的状态保持不变,输出A保持不变,
3、这样就消除了后沿的抖动波形。 当开关稳定到达a端时,因a=0,b=1,使A=1,双稳态电路状态发生翻转,输出A重新返回原来的状态。第2章单片机键盘接口技术图2-2 用R-S触发器构成的消抖电路第2章单片机键盘接口技术2) 滤波消抖如图2-3所示,利用RC积分电路可以吸收振荡脉冲的特点,正确选取适当的时间常数,便可消除按键抖动的影响。第2章单片机键盘接口技术图2-3 用RC积分电路构成的消抖电路第2章单片机键盘接口技术电路的工作过程如下:(1) 当按键未按下时,电容C两端的电压为Vcc,非门输出为1。(2) 当按键按下时,由于电容C两端的电压不能突变,因此即使在接触过程中出现抖动,只要C两端的充
4、电电压波动不超过非门的开启电压(TTL为0.8 V左右),非门的输出就不会改变(可通过选取合适的R1、R2和C的值来实现)。第2章单片机键盘接口技术(3) 当按键断开时,即使出现抖动,由于C两端的电压不能突变(它要经过R2放电),因此只要C两端的放电电压波动不超过非门的关闭电压,非门的输出就不会改变。所以,RC电路滤波消抖成败的关键在于R1、R2和C时间常数的选取。必须保证C由稳态电压充电到开启电压或放电到关闭电压的延迟时间大于或等于10 ms。参数的数值可由计算或实验确定,图2-3中的参数仅供参考。若采用输入端有施密特触发特性的门电路,则效果更好。第2章单片机键盘接口技术2. 软件方法软件方
5、法当按键较多时,硬件方法将导致系统硬件电路设计复杂化,硬件消抖将无法胜任,这时常采用软件方法进行消抖。软件消抖的基本原理是:在检测到有按键按下时,不是立即认定此键已被按下,而是执行一个10 ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍然保持闭合状态电平,若仍然保持,则确认该键真正被按下。这实际上是避开了按键按下时的抖动时间,从而消除了前沿抖动的影响。 第2章单片机键盘接口技术同理,在检测到按键释放后,再延时510 ms,消除后沿抖动,然后再对键值进行处理。不过一般情况下,我们通常不对按键释放的后沿进行处理,实践证明,这样也能满足一定的要求。总之,硬件方法一般用
6、在对按键操作过程比较严格,且按键数量较少的场合,而按键数量较多时,通常采用软件消抖。更好的做法是利用定时中断服务程序或利用标志位的方法来实现软件消抖。第2章单片机键盘接口技术2.1.4 按键的其他问题按键的其他问题前面对按键的分类、输入及消抖进行了说明,在实际中还应该考虑按键的串键、连击、多功能键、复合键等其他问题。1. 串键串键串键是指同时有一个以上的键被按下。串键会引起CPU错误响应。通常采取的策略是:单键按下有效,多键同时按下无效。第2章单片机键盘接口技术2. 连击连击连击是指一次按键产生多次击键的效果。连击的本质就是一次按键被反复检测到。通常采取的策略是:等待按键释放,使得一次按键只执
7、行一次键功能处理(不管一次按键持续的时间多长,仅检测一次),否则,键功能处理程序的执行次数将是不可预知的,由按键时间来决定。比如,按键检测时间一般为微秒级,假设一次按键时间持续1 s,则执行键功能处理程序的次数将达到万次左右,大大降低了CPU的效率。第2章单片机键盘接口技术3. 多功能键多功能键在单片机应用系统中,为简化硬件线路,缩小整个系统的规模,总希望设置最少的按键,获得最多的控制功能。可以通过软件的方法实现一键多功能。通常采用的策略是:选择一个RAM工作单元,对某一个按键进行按键计数,根据不同的计数值,转到子程序。这种计数多功能键最好与显示器结合使用,以便知道当前的计数值,同时配合一个启
8、动键。第2章单片机键盘接口技术4. 复合键复合键复合键就是两个或两个以上的键的联合,当这些键同时被按下时,才能执行相应的功能程序。实际情况做不到“同时按下”,它们的时间差别可以长到50 ms。通常采用的策略是:定义一个或两个引导键,这些引导键被按下时没什么意义,执行空操作。微机键盘上的CTRL、SHIFT、ALT等均为引导键,其缺点是操作复杂,且操作时间较长。第2章单片机键盘接口技术2.1.5 键盘的编码方式键盘的编码方式键盘是由一组规则排列的按键组成的,每一个按键所在的物理位置不同,对应的功能也不同。按键所在的物理位置的编码称为键码,而按键所对应的功能或数值称为键名或键值,如数字键09、字符
9、键0AH0FH、功能键10H等。键码是人为规定的,由相应的键值处理程序来实现。第2章单片机键盘接口技术(1) 编码式键盘:键盘闭合键的识别是由专用硬件实现的,即硬件方法产生键码。(2) 非编码式键盘:键盘闭合键的识别是由软件实现的,即软件方法产生键码。第2章单片机键盘接口技术2.2 非编码式键盘非编码式键盘2.2.1 键盘的工作方式键盘的工作方式键盘的工作方式有程序扫描方式、定时扫描方式和中断方式。1. 程序扫描方式程序扫描方式程序扫描方式就是在主程序循环扫描各任务的中间,加入键盘扫描的任务。当主程序扫描的任务太多或任务耗时较长时,单片机的反应会有些慢。第2章单片机键盘接口技术2. 定时扫描方
10、式定时扫描方式定时扫描方式是指采用定时中断方式对键盘进行扫描,以响应键盘输入的请求。这种方式避免了程序扫描方式的缺点,能及时读取键盘的输入,但不管键盘上有无键闭合,CPU总是定时扫描键盘,降低了CPU的效率。程序扫描方式和定时扫描方式相似,都属于查询方式,后者较前者的实时性强,但需占用一个定时器。第2章单片机键盘接口技术3. 中断方式中断方式中断方式是指各个按键都接到一个与门上,当任何一个按键被按下时,都会使与门输出为低电平,从而引起单片机的中断,这样就克服了定时扫描方式的不足,但需要额外的硬件电路,并占用一个外部中断源。中断方式的好处是不用在主程序中不断地循环查询,如果有键被按下,则单片机再
11、去做相应的处理。第2章单片机键盘接口技术2.2.2 键盘的组成形式键盘的组成形式根据键盘组成形式的不同,非编码式键盘分为独立式键盘和矩阵式键盘两种,如图2-4所示。第2章单片机键盘接口技术图2-4 键盘的组成形式第2章单片机键盘接口技术1. 独立式键盘独立式键盘独立式键盘是指各个按键相互独立,每个按键的一端接地,另一端占用一个I/O口线。按键被按下时输出低电平有效,为了保证按键断开时输出高电平,在每个按键的输出端接入10 k左右的上拉电阻。第2章单片机键盘接口技术2. 矩阵式键盘矩阵式键盘矩阵式键盘也称为行列式键盘,由行线和列线组成,按键一端接行线,另一端接列线,行、列线不相交,按键数等于矩阵
12、行数和列数的乘积。同样,为了保证按键断开时,输出高电平,列线或行线通过上拉电阻接到+5 V上,每一根行线、列线占用一个I/O口线。例如,一个键盘有20个按键,如果采用独立式,则需要20个I/O口线;如果采用矩阵式(如4根行线、5根列线),则只需要占用9个I/O口线。第2章单片机键盘接口技术2.2.3 独立式键盘独立式键盘1. 接口电路接口电路独立式键盘单片机接口电路的设计一般采用低电平输入有效方式,按键直接与单片机的I/O口线相接。为了保证按键断开时,I/O口线有确定的高电平,在每个按键的输入端接有上拉电阻。图2-5(a)、(b)分别为采用查询方式和中断方式的接口电路。第2章单片机键盘接口技术
13、当使用80C51单片机的I/O口作为按键的输入端口时,如果使用P1、P2、P3端口,则因端口内部已有上拉电阻,故外部的上拉电阻可省略。当采用P0端口时,应外接10 k左右的上拉电阻。1) 查询方式如图2-5(a)所示,平时无键被按下时,各I/O口均为高电平;当某键被按下时,相应的输入线为低电平。CPU查询此输入口的状态就可很容易地判断哪个键被按下。第2章单片机键盘接口技术2) 中断方式如图2-5(b)所示,按键S0S2的数据输出线相与后与单片机的外部中断相连。平时无键被按下时,各I/O口均为高电平,也为高电平;当某键被按下时,相应的输入线为低电平,则为低电平,申请中断,CPU响应中断后查询此输
14、入口的状态就可知道哪个键闭合。0INT0INT0INT第2章单片机键盘接口技术图2-5 独立式键盘接口电路第2章单片机键盘接口技术2. 程序设计程序设计独立式键盘接口电路简单,软件程序也简单易写,有查询方式和中断方式两种结构。由于按键的数目较少,且相互独立,按键识别容易,因此CPU可以根据按键被按下时所对应的I/O输入口的状态直接进行编码识别。对键值的处理一般采取直接处理的方式,即用跳转指令AJMP或采用散转指令JMP A+DPTR。 第2章单片机键盘接口技术1) 查询方式 如图2-5(a)所示,I/O口采用P1口,先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该
15、I/O口线所对应的按键已被按下,然后,再转向该键的键值处理程序。当某一按键Sn(n=02)闭合时,P1.n输入为低电平;释放时,P1.n输入为高电平。程序中,F0F2为每个按键的功能程序的入口地址标号,PROM0PROM2分别为每个按键的功能程序。第2章单片机键盘接口技术 START:MOV A,0FFH MOV P1,A;置输入方式 MOV A,P1 JNB ACC. 0,XD;查询P1.0是否为低电平 JNB ACC. 1,XD;查询P1.1是否为低电平 JNB ACC. 2,XD;查询P1.2是否为低电平 SJMP STARTXD:LCALL Delay10ms;延时10 ms,消除抖动
16、MOV A,0FFH MOV P1,A;置输入方式第2章单片机键盘接口技术 MOV A,P1 JNB ACC. 0,F0;查询P1.0是否为低电平 JNB ACC. 1,F1;查询P1.1是否为低电平 JNB ACC. 2,F2;查询P1.2是否为低电平 SJMP START;无键按下,返回 F0: AJMP PROM0;转0号键功能程序 F1: AJMP PROM1 F2: AJMP PROM2第2章单片机键盘接口技术PROM0: ;0号键功能程序 LJMP STARTPROM1:;1号键功能程序 LJMP STARTPROM2:;2号键功能程序 LJMP STARTDelay10ms: ;
17、延时10 ms子程序RET第2章单片机键盘接口技术2) 中断方式查询方式使CPU时刻处于键盘检测状态,不能干别的事情。为了提高CPU的效率,可采用中断方式。如图2-5(b)所示,各个按键都接到一个“与门”上,当任何一个按键被按下时,都会使“与门”输出为低电平,从而引起单片机中断。它的好处在于:主程序不必不断地循环查询,只有中断请求(表示有键按下)时,单片机才去做相应的处理。第2章单片机键盘接口技术总之,独立式键盘的特点是各个按键相互独立,单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线的工作状态,电路配置灵活,软件结构简单。按键比较少或口线比较富余时, 可以采用这种类
18、型的键盘,但当按键数量较多时,I/O口线浪费较大,而且查询按键的时间也较长,不宜采用。第2章单片机键盘接口技术2.2.4 矩阵式键盘矩阵式键盘1. 接口电路接口电路图2-6所示的键盘为两种典型的键盘布局,一般由16个按键组成(即44矩阵式键盘结构),正好可以直接用单片机的一个并行口实现,这也是一般单片机系统中最常用的一种形式,其单片机接口电路如图2-7所示。第2章单片机键盘接口技术图2-6 两种典型的键盘布局第2章单片机键盘接口技术图2-7 P1口直接构成的44矩阵式键盘接口电路第2章单片机键盘接口技术矩阵式键盘的工作原理是:按键设置在行列线交叉点上,行列线分别连接按键开关的两端,列线通过上拉
19、电阻接到+5 V上。无键按下时,所有列线都处于高电平状态;有键按下时,按键所在行列线将导通,此时按键所在列线电平状态将由与此列线相连的行线电平决定,行线电平为低,则列线电平为低;行线电平为高,则列线电平为高。这是识别矩阵键盘按键是否被按下的关键所在。第2章单片机键盘接口技术需要说明的是:在单片机应用系统中,除了直接通过单片机I/O口连接键盘外,还可以通过三态缓冲器573、8155、8255等I/O口扩展芯片来外接键盘,或者利用单片机的串行接口通过串/并转换芯片74LS164来扩展键盘。图2-8所示为通过并行接口芯片8255扩展I/O口构成的48矩阵式键盘接口电路。第2章单片机键盘接口技术图2-
20、8 8255扩展的48矩阵式键盘接口电路第2章单片机键盘接口技术2. 按键的识别方法按键的识别方法由于矩阵式键盘采用行列式结构,行列线和多个键相连,因此各按键的按下与否均影响该键所在行线和列线的电平,各键间相互影响。也就是说,一根I/O口线的状态已经不能确定哪一个键被按下,需要通过连接到按键两端的两根I/O口线的状态共同确定按键的状态,因此,必须将行线与列线信号状态分别处理并综合考虑才能确定按键的行列位置。第2章单片机键盘接口技术1) 扫描法行扫描法就是使行线逐行步进输出“0”(相当于逐行动态接地),列线输入;相反,列扫描法就是使列线逐列步进输出“0”(相当于逐列动态接地),行线输入。扫描法原
21、理如图2-9所示。这里以行扫描法为例,即P1.0P1.3为行输出线,分时逐行输出“0”,P1.4P1.7为列输入线。注意:在读P1.4P1.7引脚状态时,必须先向它们写“1”。 第2章单片机键盘接口技术图2-9 扫描法原理图第2章单片机键盘接口技术具体分析如下: (1) 将P1口置“1”,然后令P1.0输出“0”时,扫描第0行,读入P1的状态。具体描述如下: 当0键被按下时,读入P1的状态为11101110,即0EEH。 当1键被按下时,读入P1的状态为11011110,即0DEH。 当2键被按下时,读入P1的状态为10111110,即0BEH。 当3键被按下时,读入P1的状态为0111111
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新单片机 第2章PPT课件 最新 单片机 PPT 课件
限制150内