单片机数码管显示
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.LED显示器接口原理
3.LED数码管的显示方式:动态
段码线 8位I/O
8 a~dp
a g d
8 a~dp
a g d
8 a~dp
a g d
8 a~dp
a g d
f e
b
c h
f e
b
c h
f e
b
c h
f e
b
c h
位选线4位I/O
图10-4 4位8段LED动态显示电路
显示字符
段码
显示器显示状态(微观) 0 1
一.LED显示器接口原理
2.LED数码管的译码:硬件译码与软件译码 +5V 8051 (3)软件译码特点: P1.0 不用专用的译码/驱动器件, P1.1 a f b P1.2 g 驱动功率较小;不增加硬件 P1.3 P1.4 的开销;软件编程较复杂; e c P1.5 d P1.6 h 字型灵(比如:有八段,只可 P1.7 共阳LED 译多种字符,字型好看……)。 八段LED数码管段代码编码表(连线不同可有多种表):
第10章
MCS-51的键盘、显示器的接口
设计
一.LED显示器接口扩展
1.LED数码管的结构: ①共阳与共阴
h g f e d c b a
接高电平
高电平点亮 h g f …… a
f e
a g d
b
c h
h g f …… a 低电平点亮 接地
公共极
共阳极
共阴极
一.LED显示器接口原理
1.LED数码管的结构:①共阳与共阴
t3
t4
行线为低电平?
Y 键闭合
键未闭合
t0 t4——断开期 t1 t3——抖动期 5~10ms t2——闭合期 由按键动作决定
判断按键是否闭合
二. 键盘接口原理
入 口
N 行线为高电平? Y 延时10ms N 行线为高电平? Y 键未松开 键松开
断开
闭合 t0 t1 t2 t3
断开
t4
Biblioteka Baidu
t0 t4——断开期 t1 t3——抖动期 5~10ms t2——闭合期 由按键动作决定
以8位LED 动态显示
2003.10.10 0
1
3FH
06H
为例
0
1
BFH
06H
3.
0
CFH
3FH
人 2 0 0 3. 1 0. 1 0 眼 0 看 1 到 的 3. 结 果
0 0 2
0
2
3FH
5BH
LED数码管动态显示举例
工作原理:从P0口送段代码,P1口送位选信号。段码虽同时 到达6个LED,但一次仅一个LED被选中。利用“视觉暂留”, 每 送一个字符并选中相应位线,延时一会儿,再送/选下一个 ……循环扫描即可。 3 7406 OC门 X +5V
图
6位动态扫描显示状态
LED数码管静态显示举例
VCC TxD RxD
A B
CLK A B CLK A B CLK
CLR
CLR
CLR
h g f e d c b a
74LS164
h g f e d c b a
74LS164
h g f e d c b a
74LS164
8051单 片机
共阳LED 数码管
+5V
√
②非编码键盘: 单片机系统多采用此类键盘
采用软件编/译码的方式,通过扫描,对每个被按下 的键判别输出相应的键码/键值。 特点:不增加硬件开销,编码灵活,适用于小规模 的键盘,特别是单片机系统。但编程较复杂,占CPU 时间,还须软件“消颤”。
(2)按键组连接方式:独立式键盘与行列式键盘
①独立式键盘: 每键相互独立,各自与一条I/O线相 连,CPU可直接读取该I/O线的高/低电平状态。 特点:占I/O口线多,但判键速度快,多用于设置控 制键、功能键。适用于键数少的场合。 ②行列式键盘: 键按矩阵排列,各键处于矩阵行/列 的结点处,CPU通过对连在行(列)的I/O线送已知电平 的信号,然后读取列(行)线的状态信息。逐线扫描, 得出键码。 特点:键多时占用I/O口线少,但判键速度慢,多用于 设置数字键。适用于键数多的场合。
f e
b
f e
b
f e
b
f e
b
c
h
c
h
c
h
c
h
位选线
图10-2 4位LED显示器的构成
一.LED显示器接口原理
3.LED数码管的显示方式:静态与动态
(1)静态显示
各数码管在显示过程中持续得到送显信号,与各数码管接口 的I/O口线是专用的。
静态显示特点:
无闪烁,用元器件多,占I/O线多,无须扫描,节省CPU时间,编 程简单。
字形 共阴 0 3F 1 0F9 06 2 0A4 5B 3 0B0 4F 4 99 66 5 92 6D 6 82 7D 7 0F8 07 8 80 7F 9 90 6F 黑 0FF 00 共阳 0C0
一.LED显示器接口原理
3.LED数码管的显示方式: 静态与动态
段码线
8 a~dp a g d 8 a~dp a g d 8 a~dp a g d 8 a~dp a g d
扩展键盘接口
二. 键盘接口原理
1.键盘 原理
单片机系统中完成控制参数输入及修改的基本输 入设备,是最简单的单片机输入设备。
列 线
列线的电平决 定行线电平,
行线 输出
+5V
即 行线电平 为按键闭合的 判断依据
二. 键盘接口原理
入 口
断开
N 行线为低电平? Y 延时10ms N
断开
闭合
t0
t1
t2
有几个LED就要几个74LS164,但只要数据不变, 送一次就保持住了,且不闪烁,编程十分简单。
要求:根据上图编写通过串行口和74LS164驱动共 阳LED数码管查表显示的子程序。 条件:系统有6个LED数码管,待显数据(00H—09H) 已放在35H—30H单元中(分别对应十万位→个位),
DSPLY:MOV DPTR, #TABLE ;共阳LED数码管译码表首址 MOV R0,#30H ;待显数据缓冲区的个位地址 REDO:MOV SCON,#00H MOV A, @R0 ;通过R0实现寄存器间接寻址 MOVC A, @A+DPTR ;查表 MOV SBUF, A ;经串行口发送到74LS164 JNB TI, $ ;查询送完一个字节的第8位? CLR TI ;为下一字节发送作准备 INC R0 ;R0指向下一个数据缓冲单元 CJNE R0,#06H,REDO ;判断是否发完6个数? RET ;发完6个数就返回 TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳LED译码表 DB 92H, 82H, 0F8H, 80H,90H
一.LED显示器接口原理
2.LED数码管的译码:硬件译码与软件译码
8051
P1.3 P1.2 P1.1 P1.0
CD4511
D C B A
共阴LED
g f e d c b a
f e
a g d
b c h
(1)74LS48/CD4511是“BCD码→七段共阴译码/驱 动”IC; 74LS47是“BCD码→七段共阳译码/驱 动”IC (2)硬件译码特点:采用专用的译码/驱动器件,驱动 功率较大;增加了硬件的开销;软件编程简单;字型固 定(比如:只有七段,只可译数字,字型不好看…)。
3.键盘的工作方式 (3)中断工作方式
——采用中断扫描,可 提高扫描键盘的效率。 如:
+5V
8031 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
与门
INT0
3.键盘的工作方式——按键盘的分类 (1)独立式键盘接口——直接式
+5V +5V
8031 P1.0 8031 P1.0 P1.1 P1.2
判断按键是否松开
二. 键盘接口原理
2.键盘分类
@ (1)按键值编码方式分
(硬件)编码键盘与非(硬件)编码键盘。
@ (2)按键组连接方式分
独立式键盘与行列式键盘。
(1)按键值编码方式:编码键盘与非编码键盘
①编码键盘: 采用专用的编码/译码器件,被按下的 键由该器件译码输出相应的键码/键值。 特点:增加了硬件开销,编码因选用器件而异,编 码固定,但编程简单。适用于规模大的键盘。
接高电平
公共阳极
f e
a g d
b c h
h g f …… a
h g f e d c b a
低电平点亮
D7 D6
D5 D4 D3 D2 D1 D0
dp g
f
e
d
c
b
a
一位显示器由8个发光二极管 组成,其中,7个发光二极管 构成字型“8”的各个笔划 (段)a~g,另一个小数点为dp 发光二极管。 当在某段发光二极管上施加一 定的正向电压时,该段笔划即 亮;不加电压则暗。为了保护 各段LED不被损坏,须外加限 流电阻。
(2)动态显示:
各数码管在显示过程中轮流得到送显信号,与各数码管接口 的I/O口线是共用的。
动态显示特点:
有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编 程复杂。(有多个LED时尤为突出)
• 例如,要求显示“EE0-20”时, I/O口1和I/O口2轮流送入段选 码、位选码及显示状态如图所 示。段选码、位选码每送入一 次后延时1 ms,因人眼的视 觉暂留时间为0.1 s(100 ms),所以每位显示的间隔不 必超过20 ms,并保持延时一 段时间,以造成视觉暂留效果, 给人看上去每个数码管总在亮。 这种方式称为软件扫描显示。
P1.1
P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P1.3
P1.4 P1.5
P1.6
P1.7
与门
INT0
图10-7 独立式键盘接口
查询方式 中断方式
独立连接式键盘例1
ORG 0003H LJMP KEY ………… KEY: JNB P1.0,FUNC1 ;逐键判别 JNB P1.1,FUNC2 JNB P1.2,FUNC3 JNB P1.3,FUNC4 RETI ;无任何键按下由此返回 FUNC1: …… ;做P1.0要求的“功能1” RETI FUNC2: …… ;做P1.1要求的“功能2” RETI FUNC3: …… ;做P1.2要求的“功能3” RETI FUNC4: …… ;做P1.3要求的“功能4” RETI
3.键盘的工作方式 (1)编程扫描方式
——当单片机空闲时,调用键盘扫描子程序,等待用户 从键盘上输入命令或数据。 如: MAIN: …… LCALL KEYIN ……
(2)定时扫描方式
——利用单片机内的定时器,产生10ms的定时中断,在 中断服务子程序中进行键盘扫描。 如: ORG 000BH LJMP TIME0 …… TIME0: LCALL KEYIN …… RETI
初始化: 段码表首地址, 首个待查数据地址, 初始位选地址 DPTR 段码表首地址;
R0
R3
待查数据首地址;
位地址。
MOV A口输出段 MOV 代码, MOV MOV B口输出位 MOV 选信号。 MOV 待显数据 LD0: MOV 已经放在: MOV 78H—7FH DEC 单元 MOV ADD 使用共阴 MOVC 译码表。 MOV ACALL INC MOV
• • • • • • • • • • • • • •
JNB
ACC.0,LD1 ;判是否发完8个数? RR A ;R1指向下一个位 MOV R3,A ;位选信号存回R1 SJMP LD0 ;跳去再显示下一个数 LD1: RET ;发完8个数就返回 DSEG:DB 3FH, 06H,5BH,4FH,67H;共阴译码表 DB 6DH, 7DH, 07H, 7FH,6FH DB 77H,7CH,39H,5EH,79H,71H DL1: MOV R7,#02H ;延时1ms子程序 DL0: MOV R6,#F9H DL10:DJNZ R6,DL10 DJNZ R7,DL0 RET
段 代 码
8051
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
上拉 电阻 ×14
共阴 数码管
P1.5 P1.4 P1.3 P1.2 P1.2 P1.0
位 选 线
初始化 查字段码 字段码送A口 位选送B口 延时1ms 是 是否显示完8个字符? 否 指向下一个待显数据 修改位选信号 返 回
DIS:
A,#03H ;写命令字 DPTR,#7F00H ;指向命令寄存器 @DPTR,A R0,#78H R3,#7FH A,R3 DPTR,#7F02H ;指向B口 @DPTR,A DPL ;指向A口 A,@R0 A,#0DH A, @A+PC ;查表 @DPTR,A DL1 ;调延时1ms子程序 R0 ;R0 指向下一字节 A,R3
程序设计举例
一.查表程序设计
例4—11 十六进制数转换成七段显示码。 设:将R1中的一位十六进制数(R0中的低4位)转换成七段显示 代码,并从P1口输出进行显示。设七段显示器为共阳极接法。 源程序如下: ORG 3000H START:MOV DPTR,#TABLE ;置表首地址 MOV A,R1 ;取十六进制数 ANL A,#0FH ;处理低4位 MOVC A,@A+DPTR ;查表 MOV P1,A TABLE:DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,A1H,86H,84H END