B .共阴极显示器

23
第第第 MCS-51 第第第第第第第第第第第第 一、 MCS-51 第第第第第第第第 数数数数数数数数数数数数数数数数数数数数数数 数数数 数数数 数数数数数数数数 数数数数数数数数 ,8一, 数数 数数数数数数数数数 数数数数数数 数数数数 一,, 数数数数数数数数 数数数数数数数数数数 ,。 1 第第第第第第 数数数数数数数数数数数数A 第第第第第第

description

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

Transcript of B .共阴极显示器

Page 1: B .共阴极显示器

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

Page 2: B .共阴极显示器

B .共阴极显示器

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

Page 3: B .共阴极显示器

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

Page 4: B .共阴极显示器

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

Page 5: B .共阴极显示器

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 2

RET 1 TAB: DB C0H,F9H,A4H,B0H,99H

Page 6: B .共阴极显示器

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

Page 7: B .共阴极显示器

其中: 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

Page 8: B .共阴极显示器

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

Page 9: B .共阴极显示器

二、拨码盘接口 1.BCD 拨码盘的构造 BCD 拨码盘具有 0 ~ 9 十个位置,每个位置都有相应 的指示,一个拨码盘可以输入 1 个十进制数据。每 个 BCD 拨码盘后面有 5 位引出线,其中一位为输入控 制线 ( 编号为 A) ,另外 4 位是数据线 ( 编号为 8,4,2,1) 。

拨码被拨到某一个位置时,输入控制线 (A) 分别与 4 位数据线中的某几位接通。如果把接通的位定义为 1 , 不通的线定义为 0 ,则拨码盘数据线的状态就是拨盘 位置所指示的 BCD 码。

Page 10: B .共阴极显示器

2. 接口电路

Page 11: B .共阴极显示器

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

Page 12: B .共阴极显示器

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

Page 13: B .共阴极显示器

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

Page 14: B .共阴极显示器

C .键抖动及消除 键按下和释放时存在着机械抖动,其对应的列线电 压波形如图示,通常抖动时间为 5-10mS 。

为了保证 CPU 对键的闭合只作一次处理,必须消除抖 动,消除抖动可采用硬件方法即用 R-S触发器隔离, 但为了节省硬件,目前都用软件方法来实现,即增 加一延时程序,在键稳定闭合和断开时才去读取键 的状态。

Page 15: B .共阴极显示器

2 .键盘接口电路

Page 16: B .共阴极显示器

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

Page 17: B .共阴极显示器

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

Page 18: B .共阴极显示器

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

Page 19: B .共阴极显示器

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

Page 20: B .共阴极显示器

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

Page 21: B .共阴极显示器

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

Page 22: B .共阴极显示器

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,…

Page 23: B .共阴极显示器

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