单片机动态显示实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实验报告
姓名:林康
班级:1120603
学号:201120060325
实验题目:实验五动态显示
一.实验任务及要求
(1)使用单片机并行口做动态数码显示,把片内30H~32H单元的内容静态显示来。
二. 编程思路
(1)动态显示是一位一位地轮流点亮各位的数码管,因此需要分时送出段选码和位选码,每次控制一个数码管显示,而且是先送段选码锁存后在送位选码点亮相应的数码管。通过调节延时程序能够控制数码管显示数据的间隔,其余的和静态显示基本相似。
三. 实验电路及连线方法
动态显示
连线方法:电路由2 片74LS573,1 个六字一体的共阴数码管组成。由U15 输出段选码,U16做位选码,与单片机的采用I/O 口连接方式,短路片J22 连接P2.0,J23 连接P2.3,做输出信号锁存。(实际电路连d7-d6-d5-d4-d3-d2-d1-d0→h-c-d-e-g-b-a-f)。PW12 是电源端。
开始
初始化
((R0))→A,取A低四位,查其笔型码送入P0口
P2.0置1,然后清零
通过74LS573输入段选码,把位选码送入P0口
P2.1置1,然后清零
延时1毫秒
((R0))→A,取A高四位,查其笔型码送入P0口
P2.0置1,然后清零
通过74LS573输入段选码,把位选码送入P0口
P2.1置1,然后清零
延时1毫秒
R0自加1
R7自减1
R7=0?
结束
ORG 0000
LP3: MOV 32H,#12H
MOV 31H,#34H
MOV 30H,#56H
MOV R0,#30H
MOV R6,#0DFH
MOV R7,#03
MOV DPTR,#TAB
CLR P2.0
CLR P2.1
LP0: CLR A
MOV A,@R0
ANL A,#0FH
MOVC A,@A+DPTR
MOV P0,A
SETB P2.0
CLR P2.0
MOV P0,#00
MOV A,R6
MOV P0,A
SETB P2.1
CLR P2.1
RR A
MOV R6,A
DEL0: MOV R5,#250
LP1: NOP
NOP
DJNZ R5,LP1
CLR A
MOV A,@R0
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV P0,A
SETB P2.0
CLR P2.0 MOV P0,#00
MOV A,R6
MOV P0,A
SETB P2.1
CLR P2.1
RR A
MOV R6,A
INC R0
DEL1: MOV R5,#250
LP2: NOP
NOP
DJNZ R5,LP2
DJNZ R7,LP0
SJMP LP3
TAB: DB
77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FH,79H,33H,7CH,3BH,1BH END
六.调试结果
30H-32H单元依次输入12,34,56,数码管从左到右依次显示6 5 4 3 2 1 结果与预期符合。
七.结果分析
(1)动态显示并不是指显示上是动的。
(2)本次实验的程序比较复杂,编程时要比较细心,分模块编写,以便调试。
(3)通过这次实验我了解了动态显示的调试方法,收获很大!