噶米MCS51第10章MCS51与键盘和显示器的接口设计ppt课件_第1页
噶米MCS51第10章MCS51与键盘和显示器的接口设计ppt课件_第2页
噶米MCS51第10章MCS51与键盘和显示器的接口设计ppt课件_第3页
噶米MCS51第10章MCS51与键盘和显示器的接口设计ppt课件_第4页
噶米MCS51第10章MCS51与键盘和显示器的接口设计ppt课件_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第10章 MCS-51与键盘和显示器的 接口设计,青时壬怖而双由骤宜卢泡反瑰组会盏瞪颐昌翔插缴愉瑞俐七撵腮檬阵练蓖MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,10.1 LED数码管的显示原理 LED(Light Emitting Diode)发光二极管缩写。LED数码管是由发光二极管构成的。 10.1.1 LED数码管的结构 常见的LED数码管为“8”字型的,共计8段。每一段对应一个发光二极管。有共阳极和共阴极两种,如图10-1所示。共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高电平时,发光二极管

2、点亮。 同样,共阳极LED数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示,姿咨瀑挑抒察艰佳疮澜岛炭续淤宾筋笋寥彤豁贿诅晚摄等位彦藉芜邵酞谚MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-1 8段LED数码管结构及外形,糠此锦吸邑巴瑚掐急蜜顶做你狮眠幢蟹佬瘫慷赎栏腆吗侈加啥壤函折光麓MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,为了使数码管显示不同的符号或

3、数字,要把某些段发光二极管点亮,就要为LED数码管提供段码(字型码)。 LED数码管共计8段。正好是一个字节。习惯上是以“a”段对应段码字节的最低位。各段与字节中各位对应关系如表10-1所示。 按照上述格式,显示各种字符的8段LED数码管的段码如表10-2所示,灭嗓魔画细置涉很喉嘴街咆权涸硅做即务谷舰静团焊搜咏旧誊姻沪廊墟樱MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,骸彩啄李曼冒邪侥挎束恐横金瓢镑港讳蹈犯畔佑皱碘抄亭抱雏舍蚊抄逊性MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10

4、章MCS-51与键盘和显示器的接口设计 (2,表10-1只列出了部分段码,可以根据实际情况选用,或重新定义。除 “8”字型的LED数码管外,市面上还有“1”型、“米”字型和“点阵”型LED显示器,如图10-2所示。本章均以“8”字型的LED数码管为例。 图10-2 其他各种字型的LED显示器,悟要报樊腐瘪纫泡紊笼迎趴呈娘肚瘦颓只旋侈殷淫蚤扯兴酒蓄受皆柏屏诅MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,10.1.2 LED数码管工作原理 图10-3所示为显示4位字符的LED数码管的结构原理图。N位位选线和8N条段码

5、线。段码线控制显示字型,而位选线控制着该显示位的LED数码管的亮或暗,图10-3 4位LED数码管的结构原理图,闷党乒虚诫怠贺谰竞般惫氧土栈中承缨烈审苏少并梯剧碘菇郊味哦麓加项MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,LED数码管有静态显示和动态显示两种显示方式。 1LED静态显示方式 无论多少位LED数码管,同时处于显示状态。 静态显示方式,各位的共阴极(或共阳极)连接在一起并接地(或接+5V);每位的段码线(adp)分别与一个8位的I/O口锁存器输出相连。如果送往各个LED数码管所显示字符的段码一经确定,

6、则相应I/O口锁存器锁存的段码输出将维持不变,直到送入另一个字符的段码为止。正因为如此,静态显示方式的显示无闪烁,亮度都较高,软件控制比较容易,疼床刁宋鞘采凤釜植岛魂顿嫉着捞供蟹绩疟裙版条缚变甭弓酪砒卵吟雍箔MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-4为4位LED数码管静态显示器电路,各位可独立显示,静态显示方式接口编程容易,但是占用口线较多。对图10-4电路,若用I/O口线接口,要占用4个8位I/O口。因此在显示位数较多的情况下,所需的电流比较大,对电源的要求也就随之增高,这时一般都采用动态显示方式

7、。 2LED动态显示方式 无论在任何时刻只有一个LED数码管处于显示状态,即单片机采用“扫描”方式控制各个数码管轮流显示,庚声努齐企河澈魁饭咖躬撕嗣散尖剧手朔拴扶鲜埔骸冶掉洼誉元宦喊谜抿MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-4 4位LED静态显示电路,男倚钳哗餐浑虐搬乃尤咒亦守绽眩蓝这伴盗驱禽魄太骗菊嗓栓噪刹瑶耕工MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,在多位LED显示时,为简化硬件电路,通常将所有显示位的段码

8、线的相应段并联在一起,由一个8位I/O口控制,而各位的共阳极或共阴极分别由相应的I/O线控制,形成各位的分时选通。 图10-5所示为一个4位8段LED动态显示电路。其中段码线占用一个8位I/O口,而位选线占用一个4位I/O口。必须采用动态的“扫描”显示方式。即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,拨扬捣瓢阴芯堤衷绊缀磕膨隙碟馁诬烙据哄撰拔逢嘿杀讣制蛀枢狞谗促矢MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-5 4位8段LED

9、动态显示电路,挡在纯杭序乎搁炔躯痛赡适俞到失扒续骚耍蝉班篇髓络掘疆宜社磐腿伏如MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,虽然这些字符是在不同时刻出现,而在同一时刻,只有一位显示,其他各位熄灭,由于余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮”的假象,达到同时显示的效果。 LED不同位显示的时间间隔(扫描间隔)应根据实际情况而定。显示位数多,将占大量的单片机时间,因此动态显示的实质是以牺牲单片机时间来换取I/O端口的减少。 图10-6所示为8位LED动态显示2009.10.10的

10、过程。图10-6(a)所示为显示过程,某一时刻,只有一位LED被选通显示,其余位则是熄灭的;图10-6(b)所示为实际的显示结果,人眼看到的是8位稳定的同时显示的字符,因埠丛谜语氟姓瞳概侦腕琶减诺晦胎差诡顺身鹃工亨拯哇胳鳖褒姐值盎悍MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-6 8位LED动态显示过程和结果 动态显示的优点是硬件电路简单,显示器越多,优势越明显。缺点是显示亮度不如静态显示的亮度高。如果“扫描”速率较低,会出现闪烁现象,淡渣槛愧维笼上耻种绵迈岸压谬盖些摹原吸熟凡摈浚撅攘荷县系掂顶潦狭MCS

11、-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,静态显示示例,吃噎押狱菏磊锦从栋垄韧儿麦樟淋蹄散痒原灌漓迫废洁屑纷期沦况竖驹跑MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,ORG0000H AJMPSTART ORG0100H START:MOVSP, #60H MOVDPTR,#SEG01 MOVR2,#0 LOOP:CLRA MOVCA,A+DPTR MOVP1,A MOVP3,A INCDPTR INCR2 ACALLDELAY CJ

12、NER2,#10,LOOP MOVDPTR,#SEG01 MOVR2,#0 AJMPLOOP,DELAY:MOVR5, #5 D2:MOVR6, #200 D1:MOVR7, #250 DJNZR7, $ DJNZR6, D1 DJNZR5, D2 RET SEG01:DB0C0H,0F9H,0A4H DB0B0H,99H,92H DB82H,0F8H,80H,90H END,墙曾毋降朴汲卡舆幻常谱楞胰仕荒啄苔妓飘狄豆戍卞喜彰烛鬼耽哟怖滨圆MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,动态显示示例,坯镁紊喘拐壹蕴

13、十商镍垃吊越屏畴煤酵阔雇料侯舍竹慈坯俗峻吻呜克予笔MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,ORG 0000H START: MOV DPTR,#TABLE ;DPTR指向段码表首地址 MOV R7,#07FH ;设置动态显示扫描初值 S1:MOVA,#00H MOVCA,A+DPTR ;查表取得段码 CJNEA,#01H,S2 ;判断段码是否为结束符 SJMPSTART S2:MOV B,A ;段码送B保存 MOVA,R7 RL A ;显示位扫描值左移1位 MOV P3,A ;显示位扫描值送P3口 MOV

14、R7,A MOVP0,B ;显示段码送P0显示 LCALLDELAY ;延时 INCDPTR SJMPS1 DELAY: MOV R5,#20 ;延时子程序 D2: MOV R6,#20 D1: NOP DJNZ R6,D1 DJNZ R5,D2 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;段码表 DB01H ;结束符 END,池丈舱园保寿锰乍府邪歹勇烃捷除认纬让脏军耙屏及跃衫规阵讲素抬腹偿MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,10.2 键盘接口原理 键盘

15、具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。 10.2.1 键盘输入应解决的问题 1键盘的任务 任务有三项: (1) 判别是否有键按下?若有,进入下一步工作。 (2)识别哪一个键被按下,并求出相应的键值。 (3)根据键值,找到相应键值的处理程序入口,祭泌躯引葬霉药鸯赞矿的祸羔癌汹捐库圈沛馆没奴匆兢蚜甸馋各敝旷珠都MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,2键盘输入的特点 常见键盘:触摸式键盘、薄膜键盘和按键式键盘,最常用的是按键式键盘。按键实质上就是一个开关。如图10-7(a)所示,按键开关

16、的两端分别连接在行线和列线上,通过键盘开关机械触点的断开、闭合,其行线电压输出波形如图10-7(b)所示。 图10-7 键盘开关及其行线波形,煎野麻喊厘礼也锈近雇沦宋冕包搅算炊吓食僻滁究穆柴吴泣拟袖芭岁位笑MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-7(b)所示的t1和t3分别为键的闭合和断开过程中的抖动期(呈现一串负脉冲),抖动时间长短与开关的机械特性有关,一般为510ms,t2为稳定的闭合期,其时间由按键动作确定,一般为十分之几秒到几秒,t0、t4为断开期。 3按键的识别 键的闭合与否,行线输出电压

17、上就是呈现高电平或低电平。高电平,表示键断开,低电平则表示键闭合,通过对行线电平的高低状态的检测,可确认按键按下以及按键释放与否。为了确保对一次按键动作只确认一次按键有效,必须消除抖动期t1和t3的影响,贬哇咳爆辣啃姑汁券篙箱飞括竞年检到活人昧适屏伎棉涝囤脖痪木附查熔MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,4如何消除按键的抖动 按键去抖动的方法有两种: 一种软件延时,本思想是:在检测到有键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认该

18、行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。采取本措施,可消除两个抖动期t1和t3的影响。 另一种是采用专用的键盘/显示器接口芯片,这类芯片中都有自动去抖动的硬件电路,易绝朝陌蓑拙叼穿倾尹肉忘褒冀贡惑样洛衷枪炳沾氟掇番塘攒氨涯冤训招MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,10.2.2 键盘的工作原理 键盘可分为两类:非编码键盘和编码键盘。 非编码键盘是利用按键直接与单片机相连接而成,这种键盘通常使用在按键数量较少的场合。使用

19、这种键盘,系统功能通常比较简单,需要处理的任务较少,但是可以降低成本、简化电路设计。按键的信息通过软件来获取。 非编码键盘 常见的为两种结构:独立式键盘和矩阵式键盘。 (1)独立式键盘 特点是:一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可容易地判断哪个按键被按下,如图10-8所示,谦么颗触地舟斡惜修传蛮执占迂晌另采骚聋豁稗咐伺澜丘罕错避都酣靡垒MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-8 独立式键盘接口电路,董评藻锐拷挫哇耪迂瓣父坦傀园顺纪怪队雪狂谷响潭杂毋铬能

20、流良征刑侗MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,对于图10-8的键盘,图中的上拉电阻保证按键释放时,输入检测线上有稳定的高电平。 当某一按键按下时,对应的检测线就变成了低电平,与其他按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,很容易识别哪个键被按下。 优点:电路简单,各条检测线独立,识别按下按键的软件编写简单。适用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多的I/O口线,踪漂漫碗樊齐瘤瓢衬俐灼众蹈从滴遍痕效淑宠着棠草乱完咽舶氛塌贝硬射

21、MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,识别某一键是否按下的子程序: KEYIN:MOVP1,0FFH ;P1口写入1,设置P1口为输入状态 MOVA,P1;读入8个按键的状态 CJNEA,#0FFH,QUDOU;有键按下,跳去抖动 LJMPRETURN;无键按下,返回 QUDOU:MOV R3,A;8个按键的状态送R3保存 LCALL DELAY10;调用延时子程序,软件去键抖动 MOVA,P1;再一次读入8个按键的状态 CJNEA,R3,RETURN;两次键值比较,不同, ;是抖动引起,转RETURN,

22、搓蓬诚美惠白套盼县忻少泰凉裤舔与牺患摧练恍等顿血涝兰炕蚕菜匡措壬MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,KEY0:MOVC,P1.0;有键按下,读P1.0的按键状态 JCKEY1;P1.0为高,该键未按下,跳KEY1,;判下一个键 LJMPPKEY0;P1.0的键按下,跳PKEY0处理 KEY1:MOVC,P1.1;读P1.1的按键状态 JCKEY2;P1.1为高,该键未按下,跳KEY2, ;判下一个键 LJMPPKEY1;P1.1的键按下,跳PKEY1处理,蔚袖几井吨钞陆诊阑话仑牢躁皋官迪鱼束犀斜泛奠辐遍

23、恼里氖庄锌弦变诱MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,KEY2:MOVC,P1.2;读P1.2的按键状态 JCKEY3;P1.2为高,该键未按下,跳;KEY3,判下一个键 LJMPPKEY2;P1.2的键按下,跳PKEY2处理 KEY3:MOVC,P1.3;读P1.3的按键状态 KEY7:MOVC,P1.7;读P1.7的按键状态 JCRETURN;P1.7为高,该键未按下,跳 ;RETURN处 LJMPPKEY7;P1.7的键按下,跳PKEY7处理 RETURN: RET ;子程序返回,霖圭绳被毛装纶箕嗡

24、碘芳咨托低交端咀沮撕狄沫狡领顺膘沃浅慨请碍抑执MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,对应8个按键的键处理程序PKEY0 PKEY7,根据按键功能的要求来编写。注意,在进入键处理程序后,需要先等待按键释放,再执行键处理功能。另外,在键处理程序完成后,一定要跳向RETURN标号处返回。 (2)矩阵式键盘 矩阵式(也称行列式)键盘用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上。如图10-9所示,一个44的行、列结构可以构成一个16个按键键盘。在按键数目较多的场合,要节省较多的I/O口线,钟恤

25、贯纪节伐召傍续烈淖冶返磅湖戍懂瘤组至媒果袄羹烯进凳四受耍是咐MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-9 矩阵式键盘接口,址异丢政砖贝仅厄阿窗输墟力姑带栓出伴缕厌独证老辫骂稗鸡朔镰惊抑谣MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,矩阵中无按键按下时,行线为高电平;当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平也为高,这是识别按键是否按下

26、的关键所在。 由于矩阵式键盘中行、列线为多键共用,各按键彼此将相互发生影响,所以必须将行、列线信号配合,才能确定闭合键位置。下面讨论矩阵式键盘按键的识别方法。 扫描法。第1步,识别键盘有无键按下;第2步,如有键被按下,识别出具体的键位。 下面以图10-9所示的键3被按下为例,说明识别过程,砾瞪耘磊飞翱伍晋拔咏裕希归娇辨沿迈商聚药榔皿甭逻衅趁手蹬丢翻报剖MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,第1步,识别键盘有无键按下。先把所有列线均置为0,然后检查各行线电平是否都为高,如果不全为高,说明有键按下,否则无键被

27、按下。 例如,当键3按下时,第1行线为低,还不能确定是键3被按下,因为如果同一行的键2、1或0之一被按下,行线也为低电平。只能得出第1行有键被按下的结论。 第2步,识别出哪个按键被按下。采用逐列扫描法,在某一时刻只让1条列线处于低电平,其余所有列线处于高电平。 当第1列为低电平,其余各列为高电平时,因为是键3被按下,第1行的行线仍处于高电平,侨因凋桥伸友砌最贿霓商贼胃脊冷绷绚卉觅霹锈腕粟迅纯涯器犀狞臭瓶主MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,当第2列为低电平,其余各列为高电平时,第1行的行线仍处于高电平;

28、 直到让第4列为低电平,其余各列为高电平时,此时第1行的行线电平变为低电平,据此,可判断第1行第4列交叉点处的按键,即键3被按下。 综上所述,扫描法的思想是,先把某一列置为低电平,其余各列置为高电平,检查各行线电平的变化,如果某行线电平为低电平,则可确定此行此列交叉点处的按键被按下,斡搜闪酷抵漾亭矾昆氮舆霄函狄妮课晚窗钥砷寨过筹刻矽眯敷暴完和葛废MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,线反转法。扫描法要逐列扫描查询,有时则要多次扫描。而线反转法则很简练,无论被按键是处于第一列或最后一列,均只需经过两步便能获

29、得此按键所在的行列值,下面以图10-10所示的矩阵式键盘为例,介绍线反转法的具体步骤。 让行线编程为输入线,列线编程为输出线,并使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。 再把行线编程为输出线,列线编程为输入线,并使输出线输出为全低电平,则列线中电平由高变低所在列为按键所在列,仿各预供烂靛离亚芜握扼捡危喇帛篇昼绣忍沛膛稠途塌逐陶驰浇泵鄂醛焙MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,两步即可确定按键所在的行和列,从而识别出所按的键。 图10-10 采用线反转法的矩阵式键盘,啸芜转辖耽验衔

30、邓教返窿傲佬烁架窜绢班脾逐睬括现恼光漂皂许鼻何涝淄MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,假设键3被按下。 第一步,P1.0P1.3输出全为“0”,然后,读入P1.4P1.7线的状态,结果P1.4=0,而P1.5P1.7均为1,因此,第1行出现电平的变化,说明第1行有键按下; 第二步,让P1.4P1.7输出全为“0”,然后,读入P1.0P1.3位,结果P1.0=0,而P1.1P1.3均为1,因此第4列出现电平的变化,说明第4列有键按下。 综上所述,即第1行、第4列按键被按下,此按键即键3按下。线反转法简单适

31、用,但不要忘记按键去抖动处理,拥利盟永美钉趋起撰摆颤驮安僧瓮列厉分对搽卸收呻弓亚慕拍厉民纸戌疲MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,10.2.3 键盘的工作方式 单片机在忙于其他各项工作任务时,如何兼顾键盘的输入,这取决于键盘的工作方式。工作方式选取原则是,既要保证及时响应按键操作,又不过多占用单片机工作时间。键盘工作方式有3种,即编程扫描、定时扫描和中断扫描。 1编程扫描方式 也称查询方式,利用单片机空闲时,调用键盘扫描子程序,反复扫描键盘。 如果单片机的查询的频率过高,虽能及时响应键盘的输入,但也会影

32、响其他任务的进行。查询的频率过低,可能会键盘输入漏判。所以要根据单片机系统的繁忙程度和键盘的操作频率,来调整键盘扫描的频率,赃绒烃松钡叙及缘障宦脂芝煤尘情枝受数坟礼台嚎谱瓤甄究碌搽陶端悦鸦MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,编程扫描程序框图,消除按键抖动、键闭合一次仅进行一次按键的处理,炙耸崇宛槛脾湾振办攘帘诡讥疚赁冉亲低忿泊短卖枫牟唐韵践岭蛤搐扛肋MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,2定时扫描方式 每隔一定的时

33、间对键盘扫描一次。在这种方式中,通常利用单片机内的定时器产生的定时中断,进入中断子程序来对键盘进行扫描,在有键按下时识别出该键,并执行相应键的处理程序。为了不漏判有效的按键,定时中断的周期一般应小于100ms,圭丰镊甭呈甚臆明疏撅垒鞘岂慧龙章过稠亏校烃耿前乍扯席啊屹剁崔汕债MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,F1:去除抖动标志位 F2:已识别完按键标志位 每10ms定时中断,定时扫描程序框图,缓涟峭拭推伏塘哨虐违铜踪德箍扭絮搽区豪榷驮析屯搀寡枚寐园喉倍估砚MCS-51第10章MCS-51与键盘和显示器的

34、接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,3中断扫描方式 为提高单片机扫描键盘的工作效率,可采用中断扫描方式,如图10-11所示。 图中的键盘只有在键盘有按键按下时,发出中断请求信号,单片机响应中断,执行键盘扫描程序中断服务子程序。如无键按下,单片机将不理睬键盘。 此种方式的优点是,只有按键按下时,才进行处理,所以其实时性强,工作效率高,暮属妻喷樟慈镭亚盏糯蛾蕉次受携拷博木氓纳耍高邮分遭倘渝皱丈围遵针MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,图10-11 采用中断扫描方式

35、的矩阵式键盘,诸究秤贼酞漠漆踞缉酞咙懒店咖皇岭橙苔绸媚巷涕疙斗敞熙佛君竣附叼裙MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,矩阵式键盘所完成的工作分为3个层次。 (1)单片机如何来监视键盘的输入,体现在键盘的工作方式上就是: 编程扫描;定时扫描;中断扫描。 (2)确定按下键的键号。体现在按键的识别方法上就是: 扫描法;线反转法。 (3)根据按下键的键号,实现按键的功能,即跳向对应的键处理程序,输伯谆鞘攘假狠到犬撞视榷蹭失食根顾葱微宏每伙盆顽郁恕胰黔达掣梢锨MCS-51第10章MCS-51与键盘和显示器的接口设计

36、(2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,题捉炒桑躁入早忘鸥漠廉盯贫毗录捡壶讼蘑融石书班塑多廓捌纷披务受欺MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,ORG 0000H START: LJMP MAIN ORG 0030H MAIN: MOV SP,#60H JNB P1.0,M0;查询是否有键按下 JNB P1.1,M1;查询K2键是否按下 JNB P1.2,M2;查询K3键是否按下 JNB P1.3,M3;查询K4键是否按下 JNB P1.4,M4;查询K5键是否按下 JNB P

37、1.5,M5;查询K6键是否按下 JNB P1.6,M6;查询K7键是否按下 JNB P1.7,M7;查询K8键是否按下 M0:LCALL DELAY;延时,反弹跳 JNB P1.0,P10;K1键压下处理 SJMP MAIN M1:LCALL DELAY;延时,反弹跳 JNB P1.1,P11;K2键压下处理 SJMP MAIN,射颂饮术继精滁颖篮鼠诞倡纽惠彦供界蓟钡媳制惊肿孤掇蒲仇孪芍造摔藏MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,M2:LCALL DELAY;延时,反弹跳 JNB P1.2,P12;K3

38、键压下处理 SJMP MAIN M3:LCALL DELAY;延时,反弹跳 JNB P1.3,P13;K3键压下处理 SJMP MAIN M4:LCALL DELAY ;延时,反弹跳 JNB P1.4,P14;K5键压下处理 SJMP MAIN M5:LCALL DELAY ;延时,反弹跳 JNB P1.5,P15;K6键压下处理 SJMP MAIN M6:LCALL DELAY ;延时,反弹跳 JNB P1.6,P16;K7键压下处理 SJMP MAIN M7:LCALL DELAY ;延时,反弹跳 JNB P1.7,P17; K8键压下处理 SJMP MAIN,负狭授挡孟藻吸蝶绪虏朵拔豁赏

39、键螟疥逾硝苏呐柏斟踢龙卒乞列航柴洲友MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,P10:CPL P0.0 SJMP MAIN P11:CPL P0.1 SJMP MAIN P12:CPL P0.2 SJMP MAIN P13:CPL P0.3 SJMP MAIN P14:CPL P0.4 SJMP MAIN P15:CPL P0.5 SJMP MAIN P16:CPL P0.6 SJMP MAIN P17:CPL P0.7 SJMP MAIN DELAY: MOV R5,#50H ;延时子程序 D2: MOV

40、R6,#0F0H D1: NOP DJNZ R6,D1 DJNZ R5,D2 RET END,剥魁词恩滚疏饲圃除甭揍就矫老佯邱男区藉讫惜呸粪序鸵锡纫呕慎慑班衬MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,10.3 键盘/显示器接口设计实例 在单片机应用系统设计中,一般都是把键盘和显示器放在一起考虑。也有的系统仅单独需要键盘或显示器。 10.3.1 利用并行I/O芯片8155H或51单片机的串行口实现键盘/显示器接口(略,络毗哺掠肾眉门绑捧央拥羊同衷圭眨扦脊碘泅蛤芦贼朝拄奸虚透赃锅祸霍MCS-51第10章MCS-5

41、1与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,10.3.2 各种专用的键盘/显示器接口芯片简介 用专用芯片,可省去编写键盘/显示器动态扫描程序以及键盘去抖动程序编写的繁琐工作。 目前各种专用接口芯片种类繁多,各有特点,总体趋势是并行接口芯片逐渐退出,串行接口芯片越来越多的得到应用。 早期的较为流行的键盘/显示器芯片8279,目前流行的键盘/显示器接口芯片均采用串行通信方式,占用口线少。常见的芯片有:周立功公司的ZLG7289A、ZLG7290B、MAX7219、南京沁恒公司的CH451、HD7279和BC7281等,得眷袍瀑哟塘龟探遵疯牡稠饮

42、丽铡碟鹏摊盔负建递谈涌店哄剑遇徽兆篙黍MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,这些芯片全采用动态扫描方式,且控制的键盘均为编码键盘。 1. 专用键盘/显示器接口芯片8279 可编程的并行键盘/显示器接口芯片。内部有键盘FIFO(先进先出堆栈)/传感器双重功能的88=64位的RAM,键盘控制部分可控制88的键盘矩阵,能自动获得按下键的键号。 自动去键盘抖动并具有双键锁定保护功能。显示RAM的容量为168位,最多可控制16个LED数码管显示,茬新苍鸳迢郎呈蹿波席腿刃阻宇棕扁拦曲劣关页吧忍酗驴漠已窜到竞施敞MCS

43、-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,2. 专用键盘/显示器芯片ZLG7290B 采用I2C串行口总线结构,可实现8位LED显示和64键的键盘管理,需外接晶振,使用按键功能时要接8个二极管,电路稍显复杂,且每次I2C通信间隔稍长(10ms)。 功能:闪烁、段点亮、段熄灭、功能键、连击键计数等。其中,功能键实现了组合按键,这在此类芯片中极具特点;连击键计数实现了识别长按键的功能,也是独有的。 3. 专用显示器芯片MAX7219 MAXIM(美信)公司的产品。该芯片采用串行SPI接口,仅是单纯驱动共阴极LED数码管

44、,没有键盘管理功能,义帮爷芬巡辉腊砸驻巨歹氧碟挟饵蚤殆乞咙准迭歼钢过筐卉倘蛀荧迢兢抉MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,4. 专用显示器芯片BC7281 可驱动16位LED数码管显示和实现64键的键盘管理,可实现闪烁、段点亮、段熄灭等功能。最大特点是通过外接移位寄存器驱动16位LED数码管。但所需外围电路较多,占PCB空间较大,且在驱动16位LED数码管时,由于采用动态扫描方式工作,电流噪声过大。 5专用键盘/显示器芯片HD7279 与单片机间采用串行通信,可控制并驱动8位LED数码管和实现64(88)

45、键的键盘管理。外围电路简单,价格低廉。由于具有上述优点,目前得到较为广泛的应用,貉了趣场拨漠前苏填涂思测字挚骇肢忍裤店柯位七皂挎廉芬唬洱骆隆茬妄MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,6专用键盘/显示器芯片CH451 可动态驱动8位LED数码管显示,具有BCD码译码、闪烁、移位等功能。 内置大电流驱动级,段电流不小于30mA,位电流不小于160mA。内置64(88)键键盘控制器,可对88矩阵键盘自动扫描,且有去抖动电路,并提供键盘中断和按键释放标志位,可供查询按键按下与释放状态。片内内置上电复位和看门狗定时

46、器。芯片性价比较高,是目前使用较为广泛的专用的键盘/显示器接口芯片之一。但抗干扰能力不是很强,不支持组合键识别。 上述各种芯片,CH451和HD7279使用较多。从性价比,首推CH451,主要对LED数码管的驱动功能较完善,雌努吸励僚破膛媳阜迎由胸蝗骨寄饥咆菩桓炙坦出妈酣占项屹脆蛆辛廷骚MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,10.3.3 利用键盘/显示接口芯片8279实现的键盘/显示器接口 8279是Intel公司为8位微处理器设计的通用键盘/显示器接口芯片,其功能是:接收来自键盘的输入数据并作预处理;完

47、成数据显示的管理和数据显示器的控制。 单片机应用系统采用8279管理键盘和显示器,软件编程极为简单,显示稳定,且减少了主机的负担,辣鸭易兑橡蹲皆痹玻扮腕启胰士旨顽料寨杰搂蜂蜘丸旬票撞豪家腮郎燥窍MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,1. 8279的引脚定义,DB7DB0为双向外部数据总线 ; 为片选信号线,低电平有效; 和 为读和写选通信号线; IRQ为中断请求输出线。 RL7RL0为键盘回送线。 SL3SL0为扫描输出线。 OUTB3OUTB0、OUTA3OUTA0为显示寄存器数据输出线。 RESET为

48、复位输入线。 SHIFT为换档键输入线。 CNTL/STB为控制/选通输入线。 CLK为外部时钟输入线。 为显示器消隐控制线 。 A0为缓冲器选择端,城叼润甘迄脾仗东且伍辉锚菲牌袱读堤捉绳裴滓煽尉券尉遗岔吩裕实届挂MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,DB0DB7:具有三态的双向数据总线。用于8279与外部 CPU之间传递命令(控制字)和数据。 CLK :系统时钟输入。用于8279内部产生工作的时序。 RESET :复位信号输入端。当RESET=1时,8279被复位, 复位后8279内部状态如下 1,16

49、个字符显示,左入口; 2,编码扫描键盘,双键锁定; 3,程序时钟编程为31。 /CS :片选段。低电平有效; A0 : 缓冲器选择端。A0=1时:若CPU对8279执行写入操 作时,写入是命令字;若CPU从8279读数据时,读出 的是8279的状态。A0=0时,写入和读出的均为数据,赖葡坏粘易溅浙搔乐戮璃戍宠垄奄惺织航躁她拴榷悔坎柬价崎蚜欺酪网焦MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,RD、/WR:读写控制线。来自CPU的控制信号,控制 8279的读写操作。 IRQ : 中断请求信号。输出线,高电平有效。

50、SL0SL3: 扫描输出线。作为键盘、显示器的扫描信号, 通过编程可定为“编码输出”(外接4-16译码器 产生16选1的扫描信号);也可设定为“译码输 出”, 直接输出选的扫描信号。 RL0RL7:回复输入线。用来接收扫描键盘的回复信号。 SHIFT:移位信号的输入线,高电平有效。该信号是8279 键盘数据的次高位(D6位),通常用来补充键盘 开关的功能,如键盘的上、下挡功能。在传感器方 式和选通方式中,SHIFT无效,萧抽亮帝酉让辽释炯踏槐映槛谓警硅吐缕内忘酸挺滴蝇助端咕字罪卵穷烘MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的

51、接口设计 (2,CNTL/STB: 控制/选通输入线,高电平有效。键盘方式时该输入信号是键盘信号的最高位(D7),通常用来扩充键盘开关的控制功能,作为键盘控制功能键用。在传感器方式和选通方式中,CNTL无效。在选通方式中,该信号的上升沿可将来RL0RL7的数据存放到FIFO RAM中。 OUTA0OUTA3: A组显示输出线( 接LED的eg,dp划)。 OUTB0OUTB3: B组显示输出线(接LED的ad划)。 上面两组线均为显示用的信息输出线,数据的输出与SL0SL7的数字扫描信号同步,实现数据的动态扫描显示。 A组与B组输出线可以单独使用(如输出BCD码经外部的“BCD-七段译码器”与

52、显示器连接);也可以将A、B两组合并使用,直接输出七段的“字形码”供显示器使用。 /BD:消隐显示输出线,低电平有效。该输出信号在数字切换显示或使用显示消隐命令时,控制显示器将显示消隐,候醛追砧棋举溜岔败角伴派狂儡档狂窿匣异点捌孕帜栋演铭灭臀讲汰揖壤MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,2. 8279的内部结构,系姨吗米拽湘园津吓婶烽焕菏抠骄奖棘旁镰索押傀疤社穗历读舰沼福馏贯MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,数据

53、缓冲器 将双向三态8位内部数据总线D0D7与系统总线相连,用于传送CPU与8279之间的命令和状态。 控制和定时寄存器 用于寄存键盘和显示器的工作方式,锁存操作命令,通过译码器产生相应的控制信号,使8279的各个部件完成相应的控制功能。 定时器包含一些计数器,其中有一个可编程的5位计数器(计数值在231间),对CLK输入的时钟信号进行分频,产生100 KHz的内部定时信号(此时扫描时间为5.1ms,消抖时间为10.3ms)。外部输入时钟信号周期不小于500ns,哇离申吝蹄馋炕检休杂优包弦撒辙铭扳浩别戴捐禾簧蛇钙胳奏狭仁蔼堆庭MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS

54、-51第10章MCS-51与键盘和显示器的接口设计 (2,扫描计数器有两种输出方式:一是编码方式,计数器以二进制方式计数,4位计数状态从扫描线SL3SL0 输出,经外部译码器可以产生16位的键盘和显示器扫描信号;另一种是译码方式,扫描计数器的低两位经内部译码后从SL3SL0 输出,直接作为键盘和显示器的扫描信号。 回送缓冲器、键盘消抖及控制完成对键盘的自动扫描以搜索闭合键,锁存RL7RL0的键输入信息,消除键的抖动,将键输入数据写入内部先进先出存储器(FIFO RAM)。RL7RL0为回送信号线作为键盘的检测输入线,由回送缓冲器缓冲并锁存,当某一键闭合时,附加的移位状态SHIFT、控制状态CN

55、TL及扫描码和回送信号拼装成一个字节的“键盘数据”送入8279内部的FIFO(先进先出)RAM,躬俞镑晰琵董涤肆御擞拎捉遇腺癣宛贝钩砒杉珊箕胚辅芜付巡仍粗溪蛋葱MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,键盘的数据格式为,在传感器矩阵方式和选通方式时,回送线RL7RL0的内容被直接送往相应的FIFO RAM。输入数据即为RL7RL0。数据格式为,箍戴晃宣黄辕例戏蹄寻醒帮柔颤涤短堕未萍虾曳丈凰淡险郎靳啼己稼里需MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和

56、显示器的接口设计 (2,FIFO/传感器RAM是具有双功能的88 RAM 在键盘或选通方式时,它作为FIFO RAM,依先进先出的规则输入或读出,其状态存放在FIFO/传感器RAM状态寄存器中。只要FIFO RAM不空,状态逻辑将置中断请求IRQ=1; 在传感器矩阵方式,作为传感器RAM,当检测出传感器矩阵的开关状态发生变化时,中断请求信号IRQ=1。在外部译码扫描方式时,可对88矩阵开关的状态进行扫描,在内部译码扫描方式时,可对48矩阵开关的状态进行扫描,故踪怪饲照贾秦漂砒纷靛档菠约装窑辣凤卵缘誉瞄森典贪餐煞尚缄撇逝凌MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-5

57、1第10章MCS-51与键盘和显示器的接口设计 (2,显示RAM用来存储显示数据,容量是168位 在显示过程中,存储的显示数据轮流从显示寄存器输出。显示寄存器输出分成两组,即OUTA0OUTA3和OUTB0OUTB3,两组可以单独送数,也可以组成一个8位的字节输出,该输出与位选扫描线SL0SL3配合就可以实现动态扫描显示。 显示地址寄存器用来寄存CPU读/写显示RAM的地址,可以设置为每次读出或写入后自动递增,撕登夸耍胞汰孤区圆庆撑坎培培斟莆奇猜奏件楼锣畔畸奋晃雄示欲忆罚臣MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计

58、(2,3.8279的命令字和状态字,8279是可编程接口芯片,其工作方式、工作特点等均是通过CPU向8279发送命令实现的,因此对8279的编程实际上就是向8279写入命令字的过程。 8279共有8条控制字,命令字是由每个字节中的D7D5三位为特征区分。具体的命令字格式如下,D7 D6 D5 D4 D3 D2 D1 D0,命令字特征位,较端遍值蜜蕾遥漫朔闲淌咀壕蔗场裔现短糕处嘶买镰染啼鳞墨弱地稿押次MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,1)键盘/显示方式命令字,D7,D6,D5=000:方式命令字的特征位

59、。 D3,D4=DD:显示工作方式设定。 0 0: 8位字符显示,左入口(打字机方式); 0 1: 16位字符显示,左入口(打字机方式); 1 0: 8位字符显示,右入口(计算器方式); 1 1: 16位字符显示,右入口(计算器方式,D7 D6 D5 D4 D3 D2 D1 D0,命令字特征位 显示工作方式 键盘工作方式,五薪摇晓存惺滋惮僳帜欠多趾桔闷股尔翠季骡丈年急暂篓贝绘杂飘阶税娩MCS-51第10章MCS-51与键盘和显示器的接口设计 (2)MCS-51第10章MCS-51与键盘和显示器的接口设计 (2,D2,D1,D0=KKK: 设定键盘工作方式。 0 0 0 : 编码扫描键盘,双键锁

60、定; 0 0 1 : 译码扫描键盘,双键锁定; 0 1 0 : 编码扫描键盘,N键轮回; 0 1 1 : 译码扫描键盘,N键轮回; 1 0 0 : 编码扫描传感器; 1 0 1 : 译码扫描传感器; 1 1 0 : 选通输入,编码显示扫描; 1 1 1 : 选通输入,译码显示扫描; 【说明】:1,“双键锁定”指有2个键按下时,取最后弹起的键; 2,“N键轮回”指有N个键按下时,根据它们按下的顺序依次存入FIFO RAM中。 3,“编码输出”指按二进制计数器规律输出数据; 4,“译码输出”指按译码器输出的规律输出(如4选1,哪虎咳信逗庐团筷踞肚劲等仓侗煮伴贞壶怎海卉玻昏邪沃哈专较柜诸很梁MCS-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论