第9章键盘显示_第1页
第9章键盘显示_第2页
第9章键盘显示_第3页
第9章键盘显示_第4页
第9章键盘显示_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、第第9章章 显示器、键盘显示器、键盘9.1 显示器接口电路显示器接口电路9.2 键盘接口电路键盘接口电路9.1.1 LED显示器显示器1LED显示器结构与原理显示器结构与原理LED显示器是由发光二极管显示字段的显示器显示器是由发光二极管显示字段的显示器件。件。在微机应用系统中通常使用的是七段在微机应用系统中通常使用的是七段LED。这。这种显示块有共阴极与共阳极两种,如图种显示块有共阴极与共阳极两种,如图9-1所示。所示。七段显示器与微机接口非常容易。如表七段显示器与微机接口非常容易。如表9-1所示。所示。 图图9-1 9-1 七段七段LEDLED显示器显示器 使用使用LED显示器时,要注意区分

2、这两种不同的接法。为了显显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计个小数点,共计8段。因此为段。因此为LED显示器提供的编码正好是一个显示器提供的编码正好是一个字节。用字节。用LED显示器显示显示器显示16进制数的编码已列在表进制数的编码已列在表9-1所示。所示。 abcdegGNDfdpGNDabcefgddpabcdefgdpdpgfedcba5V(a)(b) 为了实现为了实现LED显示器的动态扫描,除了要给显示器提供显示器的动态扫描,除了要给显示器提供段码(字形

3、编码)的输入之外,还要对显示器加位的控制段码(字形编码)的输入之外,还要对显示器加位的控制(控制(控制LED显示器亮灭),这就是通常所说的显示器亮灭),这就是通常所说的位控和段控。位控和段控。 表表9-1 LED显示器显示器16进制数编码进制数编码 2LED显示器与显示方式显示器与显示方式在微机应用系统中使用在微机应用系统中使用LED显示块构成显示块构成N位位LED显示器。图显示器。图9-11是是N位显示器的构成原理。位显示器的构成原理。LED显示器有两种显示方式:显示器有两种显示方式:(1)LED静态显示方式静态显示方式(2)LED动态显示方式动态显示方式a b c d e f Rdpa b

4、 c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdp3.83.83.83.83.8 I/O口位选控制 I/O口段选控制图图9-11 N位位LED显示器显示器 GND/+5VGND/+5VGND/+5VGND/+5VGND/+5VI/O(1)I/O(2)I/O(3)I/O(4)图图9-12 四位静态四位静态LED显示器电路显示器电路 静态显示静态显示即由单片机一次输出显示后,就能保持,即由单片机一次输出显示后,就能保持,直到下次送新的显示模式为止。直到下次送新的显示模式为止。优点:优点:显示可靠,占用机时少。显示可靠,占用机时少。缺点

5、:缺点:使用元件多,线路比较复杂。使用元件多,线路比较复杂。 适用于显示位数少的情况。每个显示器需适用于显示位数少的情况。每个显示器需8位输出口位输出口控制。控制。 动态显示动态显示即单片机定时对显示器扫描。此时,显示即单片机定时对显示器扫描。此时,显示器件分时工作,每次只能有一个器件显示。(仿真器)器件分时工作,每次只能有一个器件显示。(仿真器)优点:优点:硬件少,价格低。硬件少,价格低。缺点:缺点:占用机时多,只要单片机不执行显示程序,显示占用机时多,只要单片机不执行显示程序,显示就立即停止。就立即停止。3LED显示器接口显示器接口从从LED显示器的原理可知,为了显示字母与数显示器的原理可

6、知,为了显示字母与数字,必须最终转换成相应的段选码。这种转换可字,必须最终转换成相应的段选码。这种转换可以通过以通过硬件译码器或软件进行译码硬件译码器或软件进行译码。l l 硬件译码器硬件译码器LED显示器接口(如图显示器接口(如图9-14所示)所示)l l 软件译码软件译码LED显示器接口(如显示器接口(如图图9-15 9-16所所示)示)硬件译码:硬件译码:锁存器锁存器 译码驱动器译码驱动器 显示器显示器图图9-14 利用硬件译码器的七段利用硬件译码器的七段LED接口电路接口电路 MC14495为七段码显示器译码驱动器为七段码显示器译码驱动器图图9-15 通过通过8155扩展扩展I/O口控

7、制的口控制的8位位LED动态显示接口动态显示接口8155的的A口作为位控口,经反相驱动器接显示口作为位控口,经反相驱动器接显示器的公共阴极;器的公共阴极;8155的的B口作为段码控制口,经同相驱动器接口作为段码控制口,经同相驱动器接显示器的各个阳极。显示器的各个阳极。软件译码程序设计思想:软件译码程序设计思想:1 1、将段码表(显示数据)存放在将段码表(显示数据)存放在RAM的的 (79H7EH)中。)中。2、根据要显示的数字或字符去查相应的段码。、根据要显示的数字或字符去查相应的段码。3、然后将段码输出到七段、然后将段码输出到七段LED的驱动器上。的驱动器上。4、采用扫描的方式控制、采用扫描

8、的方式控制LED的点亮顺序。的点亮顺序。显示数据显示数据79H7EH8155的口地址:的口地址:7F00H7F05H偏移量偏移量ROM表首地址当前表首地址当前PC地址地址MOVC A,A+PC是以是以PC为基址寄存器的单字节指令。为基址寄存器的单字节指令。执行过程是:执行过程是:CPU读取本指令后,读取本指令后, PC的值自动的值自动加,累加器加,累加器A的内容作为无符号数与新的的内容作为无符号数与新的PC的的内容相加形成一个内容相加形成一个16位地址,再将该地址指出的位地址,再将该地址指出的程序存储器单元的内容送累加器程序存储器单元的内容送累加器A。指令执行后。指令执行后PC指向下一条指令继

9、续执行。指向下一条指令继续执行。显示缓冲区在显示缓冲区在RAM中中7EH 7DH 7CH 7BH 7AH 79HLED6 LED2 LED1存放要显示的数据和字符的段码存放要显示的数据和字符的段码程序清单:程序清单:DIR: MOV R0,#79H;置缓冲器指针初值置缓冲器指针初值 MOV R3,#01H;置扫描位初值置扫描位初值 MOV A, R3LD0: MOV DPTR ,#7F01H;A口地址口地址 MOVX DPTR,A INC DPTR; B口地址口地址 MOV A,R0;取显示数据;取显示数据 ADD A,0DH;加偏移量;加偏移量 MOVC A,A+PC;查表取段码查表取段码D

10、IR1:MOVX DPTR,A;段数据送段数据送B口口 ACALL DL1;延时;延时ms INC R0 MOV A,R3 JB A.5,LD1 RL A MOV R3,A SJMP LD0LD1: RETDSEG: DB 3FH,06H,5BH,.DSEG1:DB 7DH,07H,7FH,.DSEG2:DB 39H,5EH,79H,.DSEG3:DB 31H,6EH,1CH,.DSEG4:DB 18H,00H,00H,.DL1: MOV R7,#02HDL: MOV R6,#0FFHDL6: DJNZ R6,DL6 DJNZ R7,DL RET9动态显示子程序流程图动态显示子程序流程图9.2

11、 键盘接口电路键盘接口电路编码键盘:编码键盘:由硬件自动提供与被按键对应的由硬件自动提供与被按键对应的ASCII码或其它编码。如标准计算机(不是本章码或其它编码。如标准计算机(不是本章讨论的内容)讨论的内容)非编码键盘:非编码键盘:软件方式产生编码。软件方式产生编码。 优点:优点:结构简单、成本低廉。结构简单、成本低廉。 非编码键盘非编码键盘接口技术的主要内容是如何确定被接口技术的主要内容是如何确定被按键的行、列位置,即键码(值)识别是接口技按键的行、列位置,即键码(值)识别是接口技术的关键问题。术的关键问题。按键识别:常用行扫描法。按键识别:常用行扫描法。键盘工作原理键盘工作原理行列式键盘电

12、路原理如图行列式键盘电路原理如图9-3所示。按键设置在所示。按键设置在行列式交点上,行列线分别连接到按键开关的两行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接端。当行线通过上拉电阻接+5伏时,被钳位在高伏时,被钳位在高电平状态。电平状态。键盘中有无按键按下是由列线送入全扫描字、键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来下可由列线逐列置低电平后,检查行输入状态来判断。判断。 图图9-3行列式键盘原理电路行列行列式键盘原理电路行列式键盘原理电路式键盘原理电

13、路输出口输出口0 1 1 1 0 1 11 1 0 111 1 1 01111111111011111行列式键盘原理图行列式键盘原理图按键识别:按键识别:1、测试有无键按下;、测试有无键按下; 检查输入端,是否有端口为低电平。检查输入端,是否有端口为低电平。2、去抖动、去抖动 软件方法:采用延时躲过抖动,时间一般为软件方法:采用延时躲过抖动,时间一般为1020ms。(也有硬件去抖动电路。(也有硬件去抖动电路P233)3、确定键的物理位置(行、列),计算键码。、确定键的物理位置(行、列),计算键码。4、等待键释放,通过时间延迟实现。、等待键释放,通过时间延迟实现。 如键码编排为:如键码编排为:

14、00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH键码计算公式:键码计算公式: 键码键码= 行首键号行首键号+列号列号 00 04 +(0,1,2,3) 08 0C 单片机的键盘接口处理单片机的键盘接口处理 单片机的键盘接口处理的内容包括以下几个方面:单片机的键盘接口处理的内容包括以下几个方面:1、键扫描、键扫描2 2、去抖动、去抖动键按下键稳定前沿抖动后沿抖动3、键码计算、键码计算4、等待键释放、等待键释放 计算键码后,再以延时后进行行扫描的方法等待键计算键码后,再以延时后进行行扫描的方法等待键释放。等待释放是为了保

15、证键的一次闭合仅进行一次处释放。等待释放是为了保证键的一次闭合仅进行一次处理。理。00H19H18H17H16H13H12H11H10H08H09H0AH0BH0EH0FH07H06H03H02H01H1AH1BH1EH1FH。9.2.1非编码键盘的接口非编码键盘的接口 键盘处理程序的关键是如何识别键码。键盘处理程序的关键是如何识别键码。 对键盘进行控制的方法分为:对键盘进行控制的方法分为: 程控扫描法程控扫描法 定时扫描法定时扫描法 中断扫描法。中断扫描法。一、程序控制扫描方式一、程序控制扫描方式+5V8155PA7PA6.PA0PC0PC1PC2PC35.1K4CEIO/MWRRDALEP

16、0WRRDALEP2.7P2.080310 12 34 5 678 9 10 11 12 1314 1516 1718 19 20 21222324 2526 27 28 2930318155扩展扩展I/O口组成的行列式键盘口组成的行列式键盘8155PA口地址口地址7F01HPC口地址口地址7F03H.判断按键是否抬起(以防止重复进行键处理)等待键释放后再进行进一步处理。键扫描程序框图入口有键按下?延时12ms有键按下?NYNY键号入栈保存按键抬起?NY键号送A返回ORG 1000HKEY1:ACALL KS1 ;调用判断有无键按下子程序JNZ LK1 ;有键按下,转去抖动AJMP KEY1

17、;无键按下,返回LK1:ACALL TM12S ;延时12msACALL KS1 ;再查有无键按下JNZ LK2 ;确实有键按下,逐行扫描,确定具体键AJMP KEY1 ;无键按下,返回LK2:MOV R2,#0FEH ;首列扫描字送R2 MOV R4,#00H ;首列号R4LK4:MOV DPTR,#7F01H ;首列扫描字送8155的PA口MOV A,R2 ;第一列扫描MOVX DPTR,A ;使第i 列为0(R2中Di位为0)INC DPTRINC DPTR ;指向8155的PC口MOVX A,DPTR ;读入行状态JB ACC.0, LONE ;0行无键按下,转查1行LONE:JB A

18、CC.1, LTWO ;1行无键按下,转查2行MOV A,#00H ;0行有键按下,行首键号#00H送AAJMP LKP ;求键号LTWO:JB ACC.2, LTHR ;2行无键按下,转查3行MOV A,#08H ;1行有键按下,行首键号#08H送AAJMP LKP ;求键号LTHR:JB ACC.3, NEXT ;3行无键按下,转查下一列MOV A,#10H ;2行有键按下,行首键号#10H送AAJMP LKP ;求键号MOV A,#18H ;3行有键按下,行首键号#18H送ALKP: ADD A,R4 ;求键号=行首键号+列号PUSH ACC ;键号入栈LK3:ACALL KS1 ;等待

19、键释放JNZ LK3 ;未释放,继续等待POP ACC ;已释放,键号送ARETNEXT:INC R4 ;指向下一列,列号加1MOV A, R2 ;判断8列扫描完没有JNB ACC.7,KND ;8列扫描完,返回RL A ;没扫描完,置下一列扫描字MOV R2, A ;扫描字送AAJMP LK4 ;继续下列扫描KND:AJMP KEY1 ;8列扫描完,返回KS1:MOV DPTR, #7F01H ;查有无键按下子程序MOV A,#00HMOVX DPTR,A ;8155 PA口输出全扫描字#00HINC DPTRINC DPTR ;指向8155的PC口MOVX A,DPTR ;读入行状态,若有

20、键按下,则A0FFHCPL A ;改成正逻辑,若有键按下,则A00HANL A ,#0FH ;屏蔽高四位RET ;子程序返回,当有键按下时,AA00HT12sm:MOV R7, #18H ;12sm延时子程序TM:MOV R6,#0FFH TM6:DJNZ R6, TM6DJNZ R7,TMRET;td=1+(1+255*2+2)*24+2*MCd.键操作及功能处理求出键号后要进行键处理:先判断是何种键,然后:对数字键-送显示缓冲区显示;对功能键-执行相应的功能键处理程序。设图5.36中,015号键为数字键,即键号键号10H10H的是数字键的是数字键;1631号键为功能键,即键号键号10H10

21、H的是功能键的是功能键,其功能键处理程序入口地址分别为:AAA、BBB、CCC、PPP。则转入功能键处理程序清单如下:ORG 8000HKEYADR:MOV A ,BUFF ;键号送ACLR CSUBB A,#10H ;Y与10H比较JC DIGPRO ;10H,数字键,转AJMP A+DPTRRL A ;使键值为0、2、4、6、偶数KEYTBL:MOV DPTR,#JMPTBLJMPTBL:AJMP AAA ;2 字节指令散转到16个功能键处理 AJMP BBB ; 程序入口AJMP CCCAJMP DDDAJMP EEEAJMP FFFAJMP GGGAJMP HHHAJMP IIIAJMP JJJAJMP KKKAJMP LLLAJMP MMMAJMP NNNAJMP OOOAJMP PPP图9-7 中断方式键盘接口中断方式键盘接口3反转法键盘扫描方式反转法键盘扫描方式 (a)线反转法第一步 (b)线反转法第二步 图9-8 线反转法原理4其它键盘接口其它键盘接口图9-9 8031串行I/O口扩展的行列式键盘接口典型键盘典型键盘/显示器接口实

温馨提示

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

评论

0/150

提交评论