- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机教案(数码管显示器接口专业技术)
数码管显示器接口技术
一、 LED数码管的结构
由8段发光二极管组成。其中7段组成“8”字,1段组成小数点。通过不同的组合,可用来显示数字0~9、字母A~F及符号“.”。
LED数码管有共阴极和共阳极两种结构。
二、 LED数码管的工作原理
发光二极管导通→亮,不导通→暗。这样就构成了字符的显示。其十六进制的编码表如下:
显示字符
h
g
f
e
d
c
b
a
字形代码
0
0
0
1
1
1
1
1
1
3FH
1
0
0
0
0
0
1
1
0
06H
2
0
1
0
1
1
0
1
1
5BH
3
0
1
0
0
1
1
1
1
4FH
4
0
1
1
0
0
1
1
0
66H
5
0
1
1
0
1
1
0
1
6DH
6
0
1
1
1
1
1
0
1
7DH
7
0
0
0
0
0
1
1
1
07H
8
0
1
1
1
1
1
1
1
7FH
9
0
1
1
0
0
1
1
1
67H
A
0
1
1
1
0
1
1
1
77H
b
0
1
1
1
1
1
0
0
7CH
C
0
0
1
1
1
0
0
1
39H
d
0
1
0
1
1
1
1
0
5EH
E
0
1
1
1
1
0
0
1
79H
F
0
1
1
1
0
0
0
1
71H
.
1
0
0
0
0
0
0
0
80H
三、数码管接口电路
1、 静态显示方式(硬件接口方法)
这就是我们在数字电路中所学的内容,在数据总线上的信号须经I/O接口电路并锁存,然后通过译码器,就可以驱动LED显示器中的段发光。
这种方式使用的硬件较多(显示器的段数和位数越多,电路越复杂),缺乏灵活性,且只能显示十六进制数。
2、 动态显式方式(软件接口方法)
这种接口方法是以软件查表来代替硬件译码,既省去了译码器,又能显示更多段的字符和更多位的LED显示器。所以广泛应用于单片机系统的显示。
⑴ 连接方式
① 将单片机的输出送入可编程的8155芯片,然后利用8155的I/O口提供两路输出信号(一路是段控信号,另一路是位控信号)。
② 将各位数码管的a~h端分别并在一起(若有6个数码管,则将它们6个a对a,6个b对b......6个h对h相并接),再和上面的一路I/O口输出的8位段控信号相连,以获得显示代码,对应要发光的段。
③ 将各位数码管的公共端(共阴极或共阳极)分别与上面的另一路I/O口相连(每一位公共端对应I/O口中的一位),以获得位控信号使该位LED发亮。
④ 为了存放显示的数字或字符,通常在8155的内部RAM中设置显示缓冲区,其存储单元个数与LED显示器的位数相同。
⑵ 显示原理
① 每一时刻只有一位LED被点亮,在显示代码的作用下显示信息。
② 各位LED轮流被点亮,在各自的显示代码的作用下分别显示各自的信息。
③ 只要利用发光二极管的余光和人眼的驻留效应(即适当调整每位LED的
点亮时间和时间间隔),就可以获得稳定的显示输出。
[应用实例]
使用并行接口芯片8155扩展6位动态数码管显示电路,轮流点亮各LED数码管,每位点亮2ms,重复此过程。
[硬件设计]
1、将8155的PA口和PB口选择在基本输出方式,PA口输出位选码,PB口输出段显示代码。
2、设定PA口(位控口)地址为7F01H,PB口(段控口)地址为7F02H,命令寄存器地址为7F00H。
3、设显示缓冲区地址(8155片内RAM)为:60H~65H(显示器有6位),每一个单元对应一位LED显示器。因为动态扫描是从右向左进行的,所以缓冲区的首地址为60H。用R0存放当前位控码的地址,用R2存放位控码的初值及递增值。若要显示“ . d 6 a 5 0 ”则按下面的顺序依次进行。
[软件设计]
1、编程说明:
① 在动态扫描过程中,调用延时子程序DELAY,其延迟时间为2ms,这是为了让扫描到的那位显示器稳定的亮(驻留)一段时间以保证显示亮度。
② 显示数据是以查表方法得到其字形代码,故在程序中设置了字形代码表DSEG,因此在编程中采用了查表指令MOVC A,@A+PC,由PC提供16位基址,由A提供变址rel。
③ 在实用单片机系统中,LED显示程序都是作为一个子程序供监控程序调用,因此在扫描完各位LED后,就返回监控程序,然后再由监控程序调用显示子程序。通过反复调用实现动态扫描。
2、显示程序流程图
START:MOV A,#03H ;将命令字0000 0011B送入A(即将送入8155的命令寄存器)
MOV DPTR,#7F00H ;对8155的命令寄存器初始化
MOVX @DPTR,A ;设置PA口、PB口为输出
文档评论(0)