实验五 LED动态扫描显示实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十二 LED 动态扫描显示实验
一、 实验目的
1、 掌握数码管动态显示、动态显示原理;
2、 掌握数码管驱动电路接法;
3、 掌握用汇编语言编写数码管驱动程序方法。
二、 实验内容
1、 利用定时器中断技术,编写具有时、分、秒、百分秒的时钟程序,用压缩BCD 码形式存储;
2、 编写LED 数据管显示代码转换程序;
3、 编写动态显示程序,将时、分、秒、百分秒的数值在8位LED 数码管上
动态显示。
三、 实验原理
R 88
300x 8
动态扫描数码管显示电路
将段选信号SEG_CS 连接至0XDxxx ,将位选信号BIT_CS 连接至
0XBxxx ,/WR 信号连接至单片机P3.6(/WR),因此段选地址为:0X0D000,
位选地址为:0X0B000。
将/INT0、/INT1连接至KEY1、KEY2。
四、实验步骤
1、建立工程项目。
2、主程序流程图。
3、显示代码译码参考子程序
R0指向时钟存储单元首地址,R1指向显示缓冲区首地址。DISPCD: MOV DPTR,#DISPTBL
MOV R7,#04H
CODEAGN:MOV A,#0FH
ANL A,@R0
MOVC A,@A+DPTR
MOV @R1,A
INC R1
MOV A,#0F0H
ANL A,@R0
SWAP A
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R7,CODEAGN
RET
DISPTBL:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
4、动态扫描显示子程序
R0指向显示缓冲区首地址。
DISPLAY:MOV R7,#08H
MOV R6,#01H
MOV R0,#50H
DISPAGN:MOV A,@R0
MOV DPTR,#0D000H
MOVX @DPTR,A
INC R0 ;此处设断点观察显示状态
MOV A,R6
MOV DPTR,#0B000H
MOVX @DPTR,A
RL A ;此处设断点观察显示状态
MOV R6,A
LCALL DELAY
DJNZ R7,DISPAGN
RET
理解R6在本子程序中的作用。
5、位间隔延时子程序
DELAY: MOV R4,#10;修改R4的初值观察显示状态DELAY1: MOV R5,#00H
DJNZ R5,$
DJNZ R4,DELAY1
RET
五、总结与思考
1、共阴极和共阳极数码管显示代码有什么区别?
2、动态扫描显示和静态显示的区别?