实验名称 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地址指向表头