电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

单片机原理与应用及c51程序设计课件第七章--mcs-51与键盘、显示器的接口

  • 资源ID:88206440       资源大小:315.50KB        全文页数:30页
  • 资源格式: PPT        下载积分:25金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要25金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

单片机原理与应用及c51程序设计课件第七章--mcs-51与键盘、显示器的接口

第七章 MCS-51与键盘、显示器的接口,7.1 MCS-51单片机1与键盘接口,7.1.1 键盘的工作原理,键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。它的结构和产生的波形如图所示。,键盘的处理主要涉及三个方面:,1按键的识别,2抖动的消除,消除按键盘抖动通常有两种方法:硬件消抖和软件消抖。,硬件消抖是通过在按键输出电路上加一定的硬件线路来消除抖动,一般采用RS触发器或单稳态电路。如图。,软件消抖是利用延时来跳过抖动过程,3键位的编码,通常有两种方法编码。,(1)用连接键盘的I/O线的二进制组合进行编码。如(a)图,(2)顺序排列编码。如(b)图,处理方法如下:编码值=行首编码值X+列号Y。,7.1.2 独立式键盘与单片机的接口,键盘的结构形式一般有两种:独立式键盘与矩阵式键盘。,独立式键盘就是各按键相互独立,每个按键各接一根I/O口线,每根I/O口线上的按键都不会影响其它的I/O口线。,图(a)为中断方式工作的独立式键盘的结构形式,(b)为查询方式工作的独立式键盘的结构形式,下面是针对图7.4(b)图查询方式的汇编语言形式的键盘程序。总共有8个键位,KEY0KEY7为8个键的功能程序。 START:MOV A,#0FFH; MOV P1,A ;置P1口为输入状态 MOV A,P1 ;键状态输入 CPL A JZ START ;没有键按下,则转开始 JB ACC.0,K0 ;检测0号键是否按下,按下转 JB ACC.1,K1 ;检测1号键是否按下,按下转 JB ACC.2,K2 ;检测2号键是否按下,按下转 JB ACC.3,K3 ;检测3号键是否按下,按下转 JB ACC.4,K4 ;检测4号键是否按下,按下转 JB ACC.5,K5 ;检测5号键是否按下,按下转 JB ACC.6,K6 ;检测6号键是否按下,按下转 JB ACC.7,K7 ;检测7号键是否按下,按下转 JMP START ;无键按下返回,再顺次检测,K0:AJMP KEY0 K1:AJMP KEY1 K7:AJIMP KEY7 KEY0: ;0号键功能程序 JMP START ;0号键功能程序执行完返回 KEY1: ;0号键功能程序 JMP START ;1号键功能程序执行完返回 KEY7: ;7号键功能程序 JMP START ;7号键功能程序执行完返回,7.1.3 矩阵键盘与单片机的接口,矩阵式键盘又叫行列式键盘。用I/O口线组成行、列结构,键位设置在行列的交点上。例如4×4的行、列结构可组成16个键的键盘,比一个键位用一根I/O口线的独立式键盘少了一半的I/O口线。,矩阵键盘的连接方法有多种,可直接连接于单片机的I/O口线;可利用扩展的并行I/O口连接;也可利用可编程的键盘、显示接口芯片(如8279)进行连接等等。其中,利用扩展的并行I/O口连接方便灵活,在单片机应用系统中比较常用。下图就是通过8255A芯片扩展的并行I/O口连接48的矩阵键盘。,一矩阵键盘的工作过程,对矩阵键盘的工作过程可分两步:第一步是CPU首先检测键盘上是否有键按下;第二步是再识别是哪一个键按下。 1检测键盘上是否有键按下处理方法是:将列线送入全扫描字,读入行线的状态来判别。其具体过程如下:PA口输出00H,即所有列线置成低电平,然后将行线电平状态读入累加器A中。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为“1“。 2识别键盘中哪一个键按下处理方法是:将列线逐列置低电平,检查行输入状态,称为逐列扫描。其具体过程如下:从PA0开始,依次输出“0”,置对应的列线为低电平,然后从PC口读入行线状态,如果全为“1”,则按下的键不在此列;如果不全为“1”,则按下的键必在此列,而且是该列与“0”电平行线相交的交点上的那个键。为求取编码,在逐列扫描时,可用计数器记录下当前扫描列的列号,检测到第几行有键按下,就用该行的首键码加列号得到当前按键的编码。,二矩阵键盘的工作方式,1查询工作方式,这种方式是直接在主程序中插入键盘检测子程序,主程序每执行一次则键盘检测子程序被执行一次,对键盘进行检测一次,如果把没有键按下,则跳过键识别,直接执行主程序;如果有键按下,则通过键盘扫描子程序识别按键,得到按键的编码值,然后根据编码值进行相应的处理,处理完后再回到主程序执行。键盘扫描子程序流程如图 。,键盘扫描子程序如下:(硬件线路如图7.4,8255A的A口、B口、C口和控制口地址分别为7F00H、7F01H、7F02H、7F03H,设8255A已在主程序中初始化。已设定为A口方式0输出,C口的低4位方式0输入。),KEY1:ACALL KS1 ;调用判断有无键按下子程序 JNZ LK1 ;有键按下时,(A)0转消抖延时 KEY2:ACALL TM6ms AJMP KEY1 ;无键按下返回 LK1:ACALL TM12ms ;调12 ms延时子程序 ACALL KS1 ;查有无键按下,若有则真有键按下 JNZ LK2 ;键(A) 0逐列扫描 AJMP KEY2 ;不是真有键按下,返回 LK2:MOV R2,#0FEH ;初始列扫描字(0列)送入R2 MOV R4,#00H ;初始列(0列)号送入R4 LK4:MOV DPTR,#7F00H ;DPTR指向8155PA口 MOV A,R2 ;列扫描字送至8155PA口 MOVX DPTR,A INC DPTR ;DPTR指向8155PC口 INC DPTR,MOVX A,DPTR ;从8155 PC口读入行状态 JB ACC.0,LONE ;查第0行无键按下,转查第1行 MOV A,#00H ;第0行有键按下,行首键码#00HA AJMP LKP ;转求键码 LONE:JB ACC.1,LTWO ;查第1行无键按下,转查第2行 MOV A,#08H ;第1行有键按下,行首键码#08HA AJMP LKP ;转求键码 LTWO:JB ACC.2,LTHR ;查第2行无键按下,转查第3行 MOV A,#10H ;第2行有键按下,行首键码#10HA AJMP LKP ;转求键码 LTHR:JB ACC.3,NEXT ;查第3行无键按下,转该查下一列 MOV A,#18H ;第3行有键按下,行首键码#18HA LKP:ADD A,R4 ;求键码,键码=行首键码+列号 PUSH ACC ;键码进栈保护 LK3:ACALL KS1 ;等待键释放 JNZ LK3 ;键未释放,等待 POP ACC ;键释放,键码A RET ;键扫描结束,出口状态(A)=键码,NEXT:INC R4 ;准备扫描下一列,列号加1 MOV A,R2 ;取列扫描字送累加器A JNB ACC.7,KEND ;判断8列扫描否?扫描完返回 RL A ;扫描字左移一位,变为下一列扫描字 MOV R2,A ;扫描字送入R2保存 AJMP LK4 ;转下一列扫描 KEND:AJMP KEY1 KS1:MOV DPTR,#7F00H ;DPTR指向8155PA口 MOV A,#00H ;全扫描字A MOVX DPTR,A ;全扫描字送往8155PA口 INC DPTR ;DPTR指向8155PC口 INC DPTR MOVX A,DPTR ;读入PC口行状态 CPL A ;变正逻辑,以高电平表示有键按下 ANL A,#0FH ;屏蔽高4位,只保留低4位行线值 RET ;出口状态:(A)0时有键按下,TM12ms:MOV R7,#18H ;延时12 ms子程序 TM:MOV R6,#0FFH TM6:DJNZ R6,TM6 DJNZ R7,TM RET TM6ms:MOV R7,#0CH ;延时6 ms子程序 TM2:MOV R6,#0FFH TM62:DJNZ R6,TM6 DJNZ R7,TM RET,C语言键盘扫描子程序:略,2定时扫描工作方式,3中断处理方式,7.2 MCS-51单片机与LED显示器接口,7.2.1 LED显示器的结构与原理,在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种,如图所示。,其中:(a)为共阴极结构。(b)为共阳极结构。(c)图为管脚图,从ag管脚输入不同的8位二进制编码,可显示不同的数字或字符。共阴极和共阳极的字段码互为反码 。,7.2.2 LED数码管显示器的译码方式,一硬件译码方式,译码方式是指由显示字符转换得到对应的字段码的方式,硬件译码方式是指利用专门的硬件电路来实现显示字符到字段码的转换,这样的硬件电路有很多,比如MOTOTOLA公司生产的MC14495芯片就是其中的一种,MC14495是共阴极一位十六进制数字段码转换芯片,能够输出用四位二进制表示形式的一位十六进制数的七位字段码,不带小数点。它的内部结构如图。,二软件译码方式,软件译码方式就是通过编写软件译码程序,通过译码程序来得到要显示的字符的字段码。,7.2.3 LED数码管的显示方式,一LED静态显示,LED静态显示时,其公共端直接接地(共阴极)或接电源(共阳极),各段选线分别与I/O口线相连。要显示字符,直接在I/O线送相应的字段码。,二LED动态显示方式,LED动态显示是将所有的数码管的段选线并接在一起,用一个I/O口控制,公共端不是直接接地(共阴极)或电源(共阳极),而是通过相应的I/O口线控制。,设数码管为共阳极,它的工作过程为:第一步使右边第一个数码管的公共端D0为1,其余的数码管的公共端为0,同时在I/O(1)上送右边第一个数码管的字段码,这时,只有右边第一个数码管显示,其余不显示;第二步使右边第二个数码管的公共端D1为1,其余的数码管的公共端为0,同时在I/O(1)上送右边第二个数码管的字段码,这时,只有右边第二个数码管显示,其余不显示,依此类推,直到最后一个,这样四个数码管轮流显示相应的信息,一个循环完后,下一循环又这样轮流显示,从计算机的角度看是一个一个的显示,但由于人的视觉滞留,只要循环的周期足够快,看起来所有的数码管都是一起显示的了。这就是动态显示的原理。而这个循环周期对于计算机来说很容易实现。所以在单片机中经常用到动态显示。,7.2.4 LED显示器与单片机的接口,LED显示器从译码方式上有硬件译码方式和软件译码方式。从显示方式上有静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。,一硬件译码静态显示,下图是一个两位数码管硬件译码静态显示的接口电路图。,二软件译码动态显示,下图是一个8位软件译码动态显示的接口电路图。图中用8255A扩展并行I/O口接数码管,数码管采用动态显示方式,8位数码管的段选线并联与8255A的A口通过74LS373相连,8位数码管的公共端通过74LS373分别与8255A的B口相连。也即8255A的B口输出位选码选择要显示的数码管,8255A的A口输出字段码使数码管显示相应的字符,8255A的A口和B口都工作于方式0输出。A口、B口、C口和控制口的地址分别为7F00H、7F01H、7F02H和7F03H。,软件译码动态显示汇编语言程序为:(设8个数码管的显示缓冲区为片内RAM

注意事项

本文(单片机原理与应用及c51程序设计课件第七章--mcs-51与键盘、显示器的接口)为本站会员(F****n)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.