单片机实验报告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复选框。单击“确定”再继续编译。
五、实验心得
此课程设计实验使我进一步了解了利用单片机汇编语言程序控制数码管的工作原理,对以后学习有很大帮助。这里不仅有学生的不断追求,更有尊敬的老师不辞劳苦的教导。我想这对我以后整个单片机的进一步学习会有深刻的意义