1 / 23

B .共阴极显示器

第八章 MCS-51 与数码显示器和键盘的接口 一、 MCS-51 与数码显示器接口 数码显示器是单片机应用产品中最常用的廉价的输 出设备,它由8个发光二极管按一定规律排列而成, 当某一发光二极管导通时,则会被点亮,控制不同 组合的二极管导通,就能显示出各种字符。 1 .显示器的结构 常用的显示器结构如图所示: A .共阳极显示器. B .共阴极显示器. 2 .显示器的工作方式: A .静态显示方式 所谓静态显示,是指显示器显示一字符时,相应的 发光二极管恒定地导通或截止。这种显示方式的每

omar-welch
Download Presentation

B .共阴极显示器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第八章 MCS-51与数码显示器和键盘的接口一、MCS-51与数码显示器接口数码显示器是单片机应用产品中最常用的廉价的输 出设备,它由8个发光二极管按一定规律排列而成, 当某一发光二极管导通时,则会被点亮,控制不同 组合的二极管导通,就能显示出各种字符。1.显示器的结构 常用的显示器结构如图所示:A.共阳极显示器

  2. B.共阴极显示器 2.显示器的工作方式: A.静态显示方式 所谓静态显示,是指显示器显示一字符时,相应的 发光二极管恒定地导通或截止。这种显示方式的每 一个数码显示器,需要一个8位输出口控制。所以 硬件较多,但字符较亮。

  3. a.采用8位锁存器74LS273作为静态显示器接口

  4. b.采用移位寄存器74LS164作为静态显示器接口

  5. MCS-51串行口工作于方式0输出 显示段码:F9H 显‘1’更新显示器子程序:DIR:MOV R7,#08H MOV R0,#7FH DL0:MOV A,@R0 ADD A,#0BH MOVC A,@A+PC MOV SBUF,A 2 DL1:JNB T1,DL1 3 CLR T1 2 DEC R0 1 DJNZ R7,DL0 2RET 1 TAB: DB C0H,F9H,A4H,B0H,99H

  6. B.动态显示方式 所谓动态显示是指一位一位地轮流点亮各位显示器。 对于每一位显示器来说,每隔一段时间点亮一次, 通常点亮时间为1mS左右,相隔时间为20mS 6位共阴显示器和8155的接口逻辑如图所示:

  7. 其中:8155 A口作为段数据口,8155A口扫描输出总 是只有一位为高电平。 对于6位显示器,在MCS-51RAM中,设置了6个单元的显 示缓冲区即79H-7FH,它用来存放显示数据。更新显示器子程序如下:DIR:MOV R0,#79H MOV R3,#01H MOV A,R3 LD0:MOV DPTR,#7F01H MOVX @DPTR,A INC DPTR MOV A,@R0 ADD A,#0DH MOVC A,@A+PC

  8. DIR1:MOVX @DPTR,A ACALL DL1 INC R0 MOV A,R3 JB ACC.5,LD1 RL A MOV R3,A SJMP LD0 LDI:RET DSEG:DB 3FH,06H,5BH, DL1:MOV R7,#02H DL:MOV R6,#FFH DL6:DJNZ R6,DL6 DJNZ R7,DL RET

  9. 二、拨码盘接口1.BCD拨码盘的构造BCD拨码盘具有0~9十个位置,每个位置都有相应 的指示,一个拨码盘可以输入1个十进制数据。每 个BCD拨码盘后面有5位引出线,其中一位为输入控 制线(编号为A),另外4位是数据线(编号为8,4,2,1)。 拨码被拨到某一个位置时,输入控制线(A)分别与4位数据线中的某几位接通。如果把接通的位定义为1, 不通的线定义为0,则拨码盘数据线的状态就是拨盘 位置所指示的BCD码。

  10. 2.接口电路

  11. 3.拨码盘数据输入程序INBCD:MOV R0,#30H MOV A,P1 MOV P1,#7FH XCHD A, @RO MOV A,P1 RET SWAP A MOV @R0,A MOV P1,#0BFH MOV A,P1 XCHD A,@R0 INC R0 MOV P1,#0DFH MOV A,P1 XCH A,@R0 MOV P1,#0EFH

  12. 三、键盘接口 键盘是由若干个按键组成的开关矩阵,它是单片机 最简单的输入设备,操作员可以通过键盘输入数据 或命令,实现人机通信。1.键盘工作原理 一个4X4的键盘结构如图所示:

  13. A.按键与否的判别 我们使所有行为低自列线读入数据,若列线中有一位 为低,则可判为有键按下,否则全为高为无键按下。B.按键的识别 由于矩阵网络上每一个键都可以由它所在的行与列 来定位。所以,我们可使第一行至第四行逐行为低, 通过读入数据来识别是何键按下。 例如:当使行2为低,读入列值时,其列2值为低, 则可判是键5按下。

  14. C.键抖动及消除 键按下和释放时存在着机械抖动,其对应的列线电 压波形如图示,通常抖动时间为5-10mS。 为了保证CPU对键的闭合只作一次处理,必须消除抖 动,消除抖动可采用硬件方法即用R-S触发器隔离, 但为了节省硬件,目前都用软件方法来实现,即增 加一延时程序,在键稳定闭合和断开时才去读取键 的状态。

  15. 2.键盘接口电路

  16. 3.键输入程序A.键输入程序功能a.判别键盘上有无键闭合 使PA0-7输出为“0”,读PC口,若PC0-3为全“1”, 则无键闭合,否则为有键闭合。b.消键抖动 当判别到有键闭合时,延时10mS 后再判别键盘状 态,若仍有键闭合,则为有键按下,否则认为是键 的抖动。c.确定闭合键的键号 设第一列至第四列的列值为00H、08H、10H、18H则键号 N=行号+列值d.对键的一次闭合仅作一次处理 等待闭合键释放后进行键处理。

  17. e.各按键对应的键值如下:

  18. B.程序清单:KEY1:ACALL KS1 KS1:MOV DPTR,#7F01H JNZ LK1 MOV A,#00H NI:ACALL DIR MOVX @DPTR,A AJMP KEY1 INC DPTR LK1:ACALL DIR INC DPTR ACALL DIR MOVA,@DPTR ACALL KS1 CPL A JNZ LK2 ANL A,#0FH ACALL DIR RET AJMP KEY1 LK2:MOV R2,#FEH MOV R4,#00H LK4:MOV DPTR,#7F01H MOV A,R2 MOVX @DPTR,A

  19. INC DPTR LK3: ACALL DIR INC DPTR ACALL KS1 MOVX A,@DPTR JNZ LK3 JB ACC.0, LONE POP ACC MOV A, #00H RET AJMP LKP NEXT:INC R4 LONE:JB ACC.1, LTW0 MOV A, R2 MOV A, #08H JNB ACC.7,KND AJMP LKP RL A LTWO: JB ACC.2, LTHR MOV R2, A MOV A, #10H AJMP LK4 AJMP LKP KND: AJMP KEY1 LTHR:JB ACC.3, NEXT MOV A, #18H LKP:ADD A, R4 PUSH ACC

  20. C.键输入程序的改进 前面程序主要存在以下问题:a.无键按下,程序将进入死循环b.按键不抬起,程序也将进入死循环,且显示不亮。c. 键位置不能灵活放置。键输入程序可作如下更改:ST: MOV DPTR,#7F01H LK0:CLR 00H MOV A,#00H LK1:MOV A,#FFH MOVX @DPTR,A RET INC DPTR INC DPTR MOVX A,@DPTR CPL A ANL A,#0FH JNZ LK2

  21. LK2:ACALL DIR ACALL DIR MOV R2,#08H MOV R3,#FEHLK3:MOV DPTR,#7F01H MOV A,R3 MOVX @DPTR,A RL A MOV R3, A INC DPTR INC DPTR MOVX A,@DPTR CPL A ANL A,#0FH JNZ LK4 DJNZ R2,LK3

  22. SJMP LK0 LK4:SWAP A ORL A,R2 MOV B,A JB 00H,LK1 MOV DPTR,#TAB MOV R3,#1FHLK5:MOV A,R3 MOVC A,@A+DPTR CJNE A,B,LK7 LK6:SETB 00H MOV A,R3 RETLK7:DJNZ R3,LK5 SJMP LK6 TAB:DB 88H,48H,47H,…

  23. d.各按键对应的键值与键号如下:

More Related