单片机实验报告6

单片机实验报告6
单片机实验报告6

嵌入式系统基础实验报告实验六数码显示应用编程实验

班级

学号

姓名

指导教师

2012年5月11日

实验六数码显示应用编程实验

一、实验目的

熟悉显示子程序的编写方法,了解数码管显示0~9等数字的原理和“字模”的构成方式,掌握单片机通过串行口上连接的74HC164实现数码管显示数字的方法。

二、实验要求

编写主程序,实现通过数码管显示自己学号后六位的方法,编写主程序,实现通过数码管循环显示自己全部学号数字的方法。

三、实验原理

实验原理图如下:

四、实验内容

启动Keil软件,建立一个汇编程序文件,选择feil-new选项,保存文件,选择feil-save选项,或者单击工具栏中的按钮,保存文件。在弹出的对话框中选择要保存的路径并在“文件名”文本框中输入文件名,注意此时一定要输入后缀名“.asm”,然后单击“保存”按钮。在新建文件中输入的程序如下:

(1)源程序如下

ORG 0000H

AJMP MAIN

ORG 000BH

AJMP TLOOP

ORG 0030H

MAIN:

MOV P2,#00H ;Show Data

MOV P3,#0FFH ;Digital Tube Control Port

MOV R1,#01H ;Initial data to show

MOV R0,#30H ;Digital Tub Control Register

MOV 30H,#0FEH

MOV 31H,#0FDH

MOV 32H,#0FBH

MOV 33H,#0F7H

MOV 34H,#0EFH

MOV 35H,#0DFH

MOV 36H,#0BFH

MOV 37H,#07FH

MOV TMOD, #01H ;Timer Mode is 1

MOV 8CH,#0ECH ;5ms

MOV 8AH,#78H

SETB EA

SETB ET0

SETB TR0

KLOOP:

MOV R3,#00

AJMP KLOOP ; Nonesense Function

TLOOP: ; Interruption Function

MOV 8CH,#0ECH ;Reload Inital Data

MOV 8AH,#78H

MOV P3,@R0

MOV P2,R1

INC R0

INC R1

CJNE R0,#38H,TLOOP2

MOV R0,#30H

CJNE R1,#09,TLOOP2

MOV R1,#01

TLOOP2:

RETI

END

(2) 编译程序:选择Project→Build target选项,或者按F7。编译修改过

的文件,并生成目标文件,如果编译成功,会显示编译成功的信息。如果编译的程序有错误,需要继续修改直至编译成功。另外,若采用PROGISP进行测试,则必须成成*.hex文件,在编译前单击工具栏中的选项,出现对话框,切换到Output选项卡,在选中Create HEX File复选框。单击“确定”再继续编译。

五、实验心得

此课程设计实验使我进一步了解了利用单片机汇编语言程序控制数码管的工作原理,对以后学习有很大帮助。这里不仅有学生的不断追求,更有尊敬的老师不辞劳苦的教导。我想这对我以后整个单片机的进一步学习会有深刻的意义

相关主题
相关文档
最新文档