- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单
片
机
实
验
报
告
实验九 七段数码管显示实验
实验目的
学习七段数码管的工作原理;
学习数码管与8051单片机的接口方法;
掌握动态扫描显示技术。
实验原理
图4.9-1共阴极接法
图4.9-1
共阴极接法
共阳极接法
共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。实验中使用的LED显示器为共阴极接法
共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。
为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED显示器的字形代码正好一个字节。若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7,则用共阴极LED数码管显示十六进制数时所需的字形代码如表4.9-1所示。
表4.9-1 共阴极LED数码管字形代码
字型
共阴极字形代码
字型
共阴极字形代码
字型
共阴极字形代码
0
3FH
6
7DH
C
39H
1
06H
7
07H
d
5EH
2
5BH
8
7FH
E
79H
3
4FH
9
6FH
F
71H
4
66H
A
77H
灭
00H
5
6DH
b
7CH
*实际上试验中使用的是共阳极数码管,这里就不一一列出。
2、动态显示
按图4.9-2(b)连接线路,通过交替选中LED1和LED0循环显示两位十进制数。七段数码管段码连接不变,位码驱动输入端S1、S0接8255A C口的PC1、PC0,通过C口的这两位交替输出1和0,以便交替选中LED1和LED0,从而实现两位十进制数的交替显示。请编程实现在两个LED数码管上循环显示00?99,程序流程图如图4.9-3(b)所示。
(a) 静态显示程序流程图
(a) 静态显示程序流程图
(b) 动态显示程序流程图
图4.9-3
十位数的段码至A口
个位数的段码至A口
开始
开始
返回DOS
返回DOS
延时并修改要显示的数字
实验电路图
第一部分电路图:
第二部分电路图:
实验设备
微型计算机、单片机仿真器、实验仪、示波器(各一台);
实验连线(若干)。
实验内容
*由于汇编语言程序中已经做了相应的注释,C语言的编程原理与之相同处不再做重复注释,仅作个别注释,请见谅。
编程在8位数码管上面显示8个数字,每经过1秒8个数字循环左移一位显示。依次为:123457834567812.......
汇编语言程序代码:
ORG 0000H
START:
MOV R4,#00H
FLASH:
MOV R2,#01H
MOV R0,#30H
MOV DPTR,#TABFLA ;把字形表首地址给外部寻址寄存器
LOPFLA:
MOV A,R2 ;输出位型
MOV P2,A
MOV A,@R0
MOVC A,@A+DPTR ;在程序段中查表得到字形
MOV P1,A ;输出字形
MOV R3,#0
DJNZ R3,$ ;循环等待延时
MOV P1,#0FFH ;关显示
MOV A,R2 ;位型左移一位
RL A
MOV R2,A
INC R0 ;下一个字形
CJNE R0,#38H,GOON
MOV R0,#30H
GOON:
CJNE A,#01H,LOPFLA ;若已经显示一遍则初始化
INC R4
CJNE R4,#7FH,GOON1
MOV A,30H ;显示表左移更新
MOV 30H,31H
MOV 31H,32H
MOV 32H,33H
MOV 33H,34H
MOV 34H,35H
MOV 35H,36H
MOV 36H,37H
MOV 37H,A
MOV R4,#00H
GOON1:
AJMP FLASH
TABFLA: ;字形表
DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H,88H
DB 83H,0C
文档评论(0)