微机原理实验四LED数码管显示实验_图文(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称 LED数码管显示实验
指导教师
专业班级
姓名
学号
联系方式
一实验要求:
实验四 LED数码管显示实验
实验目的:理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。
实验内容:利用C8051F310单片机控制数码管显示器
基本要求:
利用末位数码管循环显示数字0-F,显示切换频率为1Hz。
提高要求:
在数码管上显示0→199计数,计数间隔为0.5秒。
二、设计思路
1 基本要求:
对F310信号频率进行8分频,再对定时器进行48分频,以使在一次定时时间范围内实现1s定时。采用查询方式进行定时。P0.6,P0.7作为位选信号来一直选择末位数码管输出信号。再利用R0作为相对寻址来储存数据并赋值给A。通过MOVC
A, @A+DPTR指令,利用顺序查表法取出显示段码数据。寄存器R0自增1,并赋给A以取出下一个显示段码数据。
2 提高要求:
依然对信号频率八分频,对定时器进行48分频,通过P0,6,P0.7进行位控选择数码管输出,定时器定时0.5s,当溢出时进入中断,并通过中断程序将段位控制按序加一,R3,R6,R7分别储存第一第二第三位数码管段位码,利用A 为中间变量,通过P1输出储存的值,查表输出数码管值,达到119时结束。
三、资源分配
1 基本要求:
P0.6: 位选信号端口
P0.7:位选信号端口
P1:输出段码数据
R0:存放显示数据
DPTR:指向段码数据表首
2 提高要求:
P0.6: 位选信号端口
P0.7:位选信号端口
P1:输出段码数据
DPTR:指向段码数据表首
R3,R6,R7:分别储存第三第二第一位数码管数据
四、流程图
1 基本要求
2 提高要求: 主程序
接--2 提高要求:
动态扫描程序中断程序
五、源代码(含文件头说明、语句行注释
1 基本要求:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
LCALL Init_Device
MOV SP,#40H
MOV DPTR,#TAB ;将DPTR地址指向表头
MOV TMOD,#01H ;定时器采用T0定时方式一MOV TH0,#06H ;定时器赋予初值
MOV TL0,#0C6H
CLR P0.6 ;选择末位数码管
CLR P0.7
START:
MOV R0,#00H ;赋初值0
CLR A
MOVC A,@A+DPTR ;查表输出
MOV P1,A
SETB TR0 ;定时器开始工作
HERE:
JNB TF0,HERE ;等待溢出
CLR TR0
CLR TF0
MOV TH0,#06H ;重新赋予初值
MOV TL0,#0C6H
CJNE R0,#0FH,NEXT ;等待末位数码管到F
SJMP START
NEXT:
INC R0 ; R0加一
MOV A,R0
MOVC A,@A+DPTR
MOV P1,A ;P1输出
SETB TR0
SJMP HERE ;踏步
org 1000h
TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB
0FEH,0E6H,0EEH,3EH,1AH,7AH,9EH,8EH
;------------------------------------
;- Generated Initialization File --
;------------------------------------
$include (C8051F310.inc
public Init_Device
INIT SEGMENT CODE
rseg INIT
; Peripheral specific initialization functions, ; Called from the Init_Device label PCA_Init:
anl PCA0MD, #0BFh
mov PCA0MD, #000h
ret
Timer_Init:
mov CKCON, #002h
ret
Port_IO_Init:
; P0.0 - Unassigned, Open-Drain, Digital ; P0.1 - Unassigned, Open-Drain, Digital ; P0.2 - Unassigned, Open-Drain, Digital ; P0.3 - Unassigned, Open-Drain, Digital ; P0.4 - Unassigned, Open-Drain, Digital ; P0.5 - Unassigned, Open-Drain, Digital ; P0.6 - Unassigned, Open-Drain, Digital ; P0.7 - Unassigned, Open-Drain, Digital
; P1.0 - Unassigned, Push-Pull, Digital ; P1.1 - Unassigned, Push-Pull, Digital ; P1.2 - Unassigned, Push-Pull, Digital ; P1.3 - Unassigned, Push-Pull, Digital ; P1.4 - Unassigned, Push-Pull, Digital ; P1.5 - Unassigned, Push-Pull, Digital ; P1.6 - Unassigned, Push-Pull, Digital ; P1.7 - Unassigned, Push-Pull, Digital ; P2.0 - Unassigned, Open-Drain, Digital
; P2.1 - Unassigned, Open-Drain, Digital ; P2.2 - Unassigned, Open-Drain, Digital ; P2.3 - Unassigned, Open-Drain, Digital
mov P1MDOUT, #0FFh
mov P2MDOUT, #0C0h
mov XBR1, #040h