键盘显示器及功率接口优秀PPT.ppt
《键盘显示器及功率接口优秀PPT.ppt》由会员分享,可在线阅读,更多相关《键盘显示器及功率接口优秀PPT.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.1键盘的接口键盘的接口 键盘是计算机不行缺少的输入设备,是实现人机对话的纽带。按其结构形式键盘可分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法产生键码。在单片机中运用的都是非编码键盘,因为非编码键盘结构简洁成本低廉。按键型式有独立式和矩阵式两种:按键型式有独立式和矩阵式两种:1、独立式按键就是各按键相互独立,每个按键各接一根输入、独立式按键就是各按键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其它输入线上的工线,一根输入线上的按键工作状态不会影响其它输入线上的工作状态。因此,通过检测输入线的电平状态可以简洁推断那个作状态。因此,通过检测输入线的
2、电平状态可以简洁推断那个按键按下。按键按下。2、矩阵式按键就是键盘上的键按行列构成矩阵,在行列的交、矩阵式按键就是键盘上的键按行列构成矩阵,在行列的交叉点上都对应有一个键。所谓键事实上是一个机械弹性开关,叉点上都对应有一个键。所谓键事实上是一个机械弹性开关,被按下则其交点的行线和列线接通。非编码键盘接口技术的主被按下则其交点的行线和列线接通。非编码键盘接口技术的主要内容就是如何确定被按键的行列位置,并据此产生键码。这要内容就是如何确定被按键的行列位置,并据此产生键码。这就是所谓键的识别问题。就是所谓键的识别问题。6.1.1键盘输入的抖动问题键盘输入的抖动问题 键盘实质上是一组按键开关的集合,均
3、利用机械触点的合、断作用。一个电压信号通过机械触点的断开、闭合过程如图6.1所示。图6.1 按键抖动信号波形 按键在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性确定,一般为510ms。按键稳定闭合期的长短则由操作人员的按键动作所确定的,一般为特别之几秒到几秒的时间。键的闭合与否,反应在电压上就是呈现出高电平或低电平,假如高电平表示断开的话,那低电平则表示闭合,通过电平的凹凸状态的检测,可确认按键按下与否。为了确保CPU对一次按键动作只确认一次,必需消退抖动的影响。6.1.2 消退按键抖动的措施消退按键抖动的措施 通常有硬件、软件两种消退抖动的方法硬件消退抖动方法有一种双
4、稳态消抖电路如图6-2所示,其两个与非门构成一个RS触发器。当按键未按下时,输出为1;键按下时,输出为0。键的机械性能,使按键因弹性抖动而产生瞬时不闭合,抖动跳开b,只要按键不返回原始状态a,双稳态电路的状态就不变更,输出保持为0,不会产生抖动的波形。即使b点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波形。图6-2 双稳态消抖电路软件消退抖动方法 硬件消退抖动法须要增加电子元件,电路困难,特殊是按键较多时,实现起来有困难。而用软件消退抖动法,不须要增加电子元件,只要编写一段延时程序,就可以达到消退抖动的目的,在软件消退抖动方法中,若CPU检测到有键按下时,先执行一段延时程序后再
5、检测此按键,若仍为按下状态,则CPU认为该键的确按下。同样,当键从按下到再次松开时,CPU检测到有键松开,并在延时一段时间后仍检测到键在松开状态,则认为键的确松开,这样就消退了抖动的影响,实现了软件消退抖动的目的图6-3 所示为软件去抖动判别程序的流程图图 6-3 软件消退抖动流程图6.1.3 非编码键盘的接口方法 非编码键盘分为独立式非编码键盘和矩阵式非编码键盘。下面分别进行介绍。1.独立式非编码键盘结构 独立式非编码键盘(又称小键盘),是指干脆用一条I/O线对应连接一个按键(一键一线)的键盘电路。由于每个按键单独占有一条I/O口线,所以该口线的状态只反映该按键是否按下,不会影响其它I/O线
6、的状态。因而独立式按键电路配置敏捷,软件结构简洁,但在按键数量较多时,须要的I/O口线也较多。独立式按键电路如图6-4所示。当某一按键闭合时,相应的I/O线变为低电平。推断是否有键下的方法是,查询哪一根接按键的I/O线为低电平常,便知此键按下。独立式非编码键盘的优点是电路结构简洁。缺点是当键数较多时,占用的I/O口线多。例如编写图6-4所示的键处理程序如下:图 6-4 独立式非编码键盘程序清单 START:MOV A,#0FFH ;输入时先置P1口为全1 MOV P1,A MOV A,P1 ;键状态输入 JNB ACC.0,P0F ;0号键按下转POF标号地址 JNB ACC.1,P1F ;1
7、号键按下转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标号地址 SJMP START ;无键按下返回P0F:LJMP PROM0 ;转至0号键功能程序P1F:LJMP PROM1 ;转至1号键功能程序P2F:LJMP PROM2 ;转至2号键功能程序P3F:LJMP PROM3 ;转至3号
8、键功能程序P4F:LJMP PROM4 ;转至4号键功能程序P5F:LJMP PROM5 ;转至5号键功能程序P6F:LJMP PROM6 ;转至6号键功能程序P7F:LJMP PROM7 ;转至7号键功能程序PROM0:.;0号键功能程序 LJMP START ;0键执行完返回PROM1:.;1号键功能程序 LJMP START ;1键执行完返回PROM2:.;2号键功能程序 LJMP START ;2号键执行完返回PROM3:.;3号键功能程序 LJMP START ;3号键执行完返回PROM4:.;4号键功能程序 LJMP START ;4号键执行完返回PROM5:.;5号键功能程序 L
9、JMP START ;5号键执行完返回PROM6:.;6号键功能程序 LJMP START ;6号键执行完返回PROM7:.;7号键功能程序 LJMP START ;7号键执行完返回小测:设计小测:设计51单片机通过单片机通过8255H实现扩展实现扩展8 个独立按键的电个独立按键的电路,要求画出原理图,并编写能够识别是否有键按下的程序路,要求画出原理图,并编写能够识别是否有键按下的程序,要求有防抖程序。要求有防抖程序。2.矩阵式非编码键盘结构 矩阵式非编码键盘适用于按键数量较多的场合。矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,一个由3行*8列构成24个按键的键盘如图6-5所示。图
10、6-5矩阵式键盘结构 矩阵键盘的工作原理:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。无按键动作时,行线处于高电平状态,当有键按下时,行线电平状态将由与此行线相连的列线电平确定。列线电平为低,则行线电平为低;列线电平为高,则行线电平亦为高。这一点是识别矩阵键盘按键是否被按下的关键。由于矩阵键盘中行、列线为多键共用,各按键均影响该键所在行和列的电平。各按键彼此将相互发生影响,所以必需将行、列线信号协作起来并作适当的处理,才能确定闭合键的位置。按键的识别方法:有扫描法和线反转法。描法是常用的方按键的识别方法:有扫描法和线反转法。描法是常用的方法,现重点
11、介绍扫描法,此方法分两步进行:法,现重点介绍扫描法,此方法分两步进行:第一步,识别键盘有无键被按下。第一步,识别键盘有无键被按下。其次步,假如有键被按下,识别出具体的按键。其次步,假如有键被按下,识别出具体的按键。识别键盘有无键被按下的方法是:让全部列线均置为识别键盘有无键被按下的方法是:让全部列线均置为0电电平,检查各行线电平是否变更。假如有变更,说明有键被按下,平,检查各行线电平是否变更。假如有变更,说明有键被按下,假如没有变更,则说明无键被按下。假如没有变更,则说明无键被按下。识别具体按键的方法识别具体按键的方法(亦称为扫描法亦称为扫描法);逐列置零电平,其;逐列置零电平,其它各列置位高
12、电平,检查各行线电平的变更,假如其行电平由它各列置位高电平,检查各行线电平的变更,假如其行电平由高电平变为低电平,则可确定此行此列交叉点的按键被按下。高电平变为低电平,则可确定此行此列交叉点的按键被按下。单片机应用系统中,键盘扫描只是单片机应用系统中,键盘扫描只是CPU的工作内容之一。的工作内容之一。CPU在忙于各项工作任务时,如何兼顾键盘的输入,取决于键在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘工作方式。盘工作方式。通常键盘工作方式有三种,即编程扫描、定时扫描和中通常键盘工作方式有三种,即编程扫描、定时扫描和中断扫描。断扫描。下面以下面以8031键盘键盘实际矩阵电路分实际矩阵电路分
13、析说明键盘的编析说明键盘的编程扫描程序。程扫描程序。一是一是KEY-SCAN 键检查子键检查子程序程序 二是二是KEY-GET 键扫描取值子程键扫描取值子程序序8031键盘接口电键盘接口电路如图路如图6-6所示。所示。在6000H接口地址的锁存器74LS373锁存低电平,此时读入P1口状态,在P1.0、P1.1、P1.2三条行线上,只要有一个不是高电平,求反后A中就不为零。此时说明有键按下了。否则无键按下。键检查子程序:KEY-SCAN:MOV DPTR,#6000H;列口地址送数据指针MOV A,#00H MOVX DPTR,A ;列线送低电平 MOV P1,#0FFHMOV A,P1 ;读
14、行线电平CPL A ;求反ANL A,#07H ;A=0无键按下,A0有键按下RET 以上检测程序只能推断有无键按下,但在有键按下后再分析具体是哪个键按下,则须要用扫描键取值程序。KEY-GET:ACALL KEY-SCAN ;调键检测 JNZ K-G1 ;有键按下 AJMP KEY-GET K-G1:LCALL DELAY ;消退抖动延时,约18ms LCALL KEY-SCAN ;再调键检测 JNZ K-G2 ;有键按下 LCALL DELAY AJMP KEY-GET K-G2:MOV R2,#0FEH ;R2存扫描信号 MOV R4,#00H ;键值起始值 K-G3:MOV DPTR,
15、#6000H ;输出列扫描信号 MOV A,R2 MOVX DPTR,A MOV A,P1 ;读P1口 JB Acc.0,LINE1 ;推断0行高?MOV A,#00H ;0行起始值 AJMP K-G-END LINE1:JB Acc.1,LINE2 ;推断1行高?MOV A,#08H ;1行起始值 AJMP K-G-END LINE2:JB Acc.2,NEXT-COL ;推断2行高?高下一列 MOV A,#10H ;2行起始值 K-G-END:ADD A,R4 ;计算键值 ENDNEXT-COL:INC R4 ;换列时加1 MOV A,R2 JNB Acc.7,KEY-NEXT ;7列是低
16、 RL A ;移到下一行 MOV R2,A AJMP K-G3 ;返回输出列信号 KEY-NEXT:AJMP KEY-GET 在调用KEY-SCAN程序判明有键按下时,再进入此程序,否则将在此程序中等待按键。这里R2用来供应信号的低电平的位置,R4是用来记录位线到哪一位,运行程序出口A中得到按键的键值。其键值表如表6-1,键值标注在键位下面园括弧内。表6-1键位和键值图 除了以上编程扫描工作方式外,定时扫描工作方式是利用单片机内部定时器产生定时中断(例如10ms),CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键并执行相应键功能程序,定时扫描工作方式的键盘硬件电路与编程扫描工作方式相同
17、。键盘工作于编程扫描状态时,CPU要不间断地对键盘进行扫描工作,以监视键盘输入状况,直到有键按下为止。其间CPU不能干任何其他工作,假如CPU工作量较大,这种方式将不能适应。定时扫描进了一大步,除了定时监视一下键盘输入状况外,其余时间可进行其他任务的处理,CPU效率提高了,为了进一步提高CPU工作效率,可接受中断扫描工作方式即只有在键盘有键按下时,才执行键盘扫描并执行该键功能程序,假如无键按下,CPU将忽视键盘,可以说前两种扫描方式,CPU对键盘的监视是主动进行的,而后一种扫描方式,CPU对键盘的监视是被动进行的。6.1.4 BCD码拨盘接口 BCD码十进制拨盘是向单片机应用系统输入数据的设备
18、,是一种硬件设置数据的设备。运用拨盘输入的数据具有不行变性,却又易于修改。十进制输入,BCD输出的拨盘是最常运用的一种。图6-7所示是一个4位BCD码拨盘组结构和连接示意图。每位拨盘有09十个拨动位置,每个位置有相应的数字表示,分别代表拨盘输入的十进制数。所以,一位拨盘可以代表一位十进制数,可以依据设计的须要,用多位BCD码拨盘组成多位十进制数。图 6-7 4位BCD码拨盘结构和连接 BCD码盘有一个输入限制线A,4个BCD码输出信号线。拨盘的各个不同的位置,使输入限制线A分别与4根BCD码输出线中的某几根接通,使BCD码输出线的状态与拨盘所显示的值一样,并使该编码信号输入单片机的CPU。BC
19、D码拨盘的输入输出状态如表6-2所示。BCD码拨盘与单片机相连的应用如图6-8 所示。拨盘的输入限制线A接+5 V,4根输出线通过电阻接地并接单片机CPU的P1口。由表6.2可知,当拨盘在09的某个位置时,4根输出线的8、4、2、1端有一组相应的电平状态生成,CPU可以通过读取P1口的端口状态知道拨盘设置的数据。在这种状况下,拨盘输出的BCD码为正逻辑电平。假如BCD码拨盘的输入限制线A接地,4根输入线通过电阻接+5 V,那么拨盘输出的BCD码为负逻辑电平,如图6-9所示 图 6-8 单片机与BCD码盘的接口6-9 BCD码盘负逻辑接口6.1.5串行键盘应用 除了利用并行输入口设计键盘限制电路
20、外,还可以用串行方式设计键盘限制电路。图6-10为用单片机串行口设计的串行键盘限制电路。CD4014是8位表态移位寄存器(同步并入),实现并行输入串行输出。如图610所示,CD4014的P1P8作为8个开关S1S8的输入端,输入的开关量通过AT89C51的TXD端限制CD4014的CLK端,把输入值逐次串行输入AT89C51的RXD端口,并存入寄存器A中。图 6-10 单片机串行口键盘限制电路 键盘电路程序如下:S1:STB P1.0 ;置位CD4014的PS端 CLR P1.0 ;清CD4014的PS端,起先串行移位 MOV SCON,#10H ;设置串行方式0,起先接收 W1:JNB RI
21、,W1 ;判RI状态 CLR RI ;一次串行输入完成 MOV A,SBUF ;存放输入的数据 RET 除了运用CD4014集成电路外,还可以运用74LS165等集成电路芯片设计串行键盘限制电路。6.2 LED七段发光显示器接口 发光二极管显示器,简称LED(Light Emitting Diode),LED有七段和八段之分,也有共阴极和共阳极两种。共阴极LED显示块的发光二极管的阴极连在一起,通常此公共阴极接地,当某个发光二极管的阳极为高电平常。发光二极管点亮,相应段被显示。同样共阳板LED显示块的发光二极管的阳极连在一起,通常此公共阳极接正电压。当某个发光二极管的阴极接低电平常,发光二极管
22、被点亮,相应的段被显示。两个显示块都有SP显示段,用于显示小数点。显示器连接如图6.11所示:图6.11 LED原理及外形引脚图 7段字型码如表6.3所列,由于只有8个段发光二极管,所以字型码为一个字节。“米”字段LED字型码由于有15个段发光二极管,所以字型码为两个字节。一般由N片LED显示块可拼接成N位LED显示器。N位LED显示器有N根位选线和8*N根段选线。依据显示方式不同,位选线和段选线的连接方法也各不相同。段选线限制显示字符的字型,而位选线则限制显示位的亮、暗。LED显示器有静态显示和动态显示两种显示方式。6.2.1 静态显示接口及编程 LED显示器上工作于静态显示方式时,各位的共
23、阴极(或阳极)连接在一起接地(或+5V);每位的段选线(asp),分别与一8位的锁存器输出相连。静态显示是由于显示器中的各位相应独立,而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一字符为止。静态显示器的亮度较高。由于各位分别由一个8位输出口限制段选码,在同一时间里,每一位显示的字符可以各不相同。这种显示方式接口,编程简洁,管理简洁,付出的代价是占用口线资源较多。在单片机应用系统中,常接受MCl4495芯片作为LED的静态显示接口,它可以和LED显示器干脆相连。MCl4495芯片的引脚和逻辑框图如图6.12所示。它是由4位锁存器、地址译码和笔段ROM阵列以及带有限流电阻的驱
24、动电路(输出电流为10mA)等三部分电路组成。图6.12中A、B、C、D为二进制码(或BCD码)输入端;为锁存限制端,为低电平常可以输入数据。为高电平常锁存输入数据,h+i为输入数据大于等于10指示位,若输入数据大于或等于10,则h+i输出高电平,否则输出为低电平;为输入等于15指示位,若输入数据等于15,则输出高电平,否则为高阻状态。图 6.12 MC14495 引脚和逻辑框图 MCl4495芯片的作用是输入被显字符的二进制码(或BCD码),并把它自动转换成相应字形码,送给LED显示。图6.13为接受MCl4495芯片的4位静态LED显示器接口电路。图中,P17P14用于输出欲显示字符的二进
25、制码(或BCD码),P120用于限制二四译码器工作,P1.1和P10经译码器输出后限制MCl4495中哪一位接收P1.7P1.4上代码。例:下面以静态LED显示器接口为例编程,编出能在图6-13电路中自左到右显示出来的程序。设8031单片机内部RAM的20H和21H单元中有四位十六进制数(20H中为高两位)。图 6.12 MC14495 引脚和逻辑框图图 6.13 4位静态LED显示器接口 图 6.12 MC14495 引脚和逻辑框图 ORG 1000HORG 1000H SDISPLAY:MOV A,20H SDISPLAY:MOV A,20H;20H;20H中数送中数送A AANL A,#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 键盘 显示器 功率 接口 优秀 PPT
限制150内