99数字跑表单片机实训报告
实训课题:99数字跑表 
实训目的:通过实验掌握显示的接口电路及程序设计,熟悉各种操作指令,子程序的调用以及中断知识和计数器的计数 
实训原理:通过把设计好的程序利用软件将编译得到HEX格式文件加载到单片机芯片中,实现仿真电路,得到仿真电路结果。 
实验仪器:电脑,Keil软件,Proteus软件 
实训要求:(1)四位LED数码管动态显示,显示最小时间为0.01秒,最多显示时间99秒; 
(2)由按键控制,第一次按下键,开始计时,第二次按下键,停止计时,第三次按下键,清零。 
在Keil软件中,新建一个项目,命名为跑表,然后根据程序流程图和仿真电路图编写程序。 
调试程序,检查程序是否有误,保存。得程序如下: 
编写程序 
ORG 0000H 
LJMP MAIN 
ORG 0003H 
LJMP L1 
ORG 0030H 
/*开始程序*/ 
MAIN: SETB IT0 
SETB P1.0 ;至高电频 
SETB EA ;开中断控制位 
SETB EX0 ;开外部中断0 
MOV DPTR,#TAB ;将TAB所代表的地址送入DPTR 
MOV 30H,#0 
MOV 40H,#0 
MOV R1,#0 
/*判断R1,然后进行判断*/ 
L4: JB P1.0,L14 ;P1.0的值为1,则转移至L14 
INC R1 ;R1加1 
SETB P1.0 
L14: MOV R3,#2 
/*使时间达到0.01秒*/ 
L9: ACALL L3 ;绝对调用L3程序 
ACALL L2 
DEC R3 ;寄存器减1 
CJNE R3,#0,L9 
/*当按一次开关时进行跑秒*/ 
CJNE R1,#1,L5 ;寄存器R1中的值不为1,则转移到L5 
MOV A,30H 
ADD A,#1 
DA A 
CJNE A,#99H,L6 
ACALL L7 
CLR A 
L6: MOV 30H,A 
/*当再一次按键时,暂停*/ 
L5: CJNE R1,#2,L10 
SJMP L4 ;转移到L4 
/*当继续按键时,清零*/ 
L10: CJNE R1,#3,L11 
MOV 30H,#0 
MOV 40H,#0 
MOV R1,#0 
L11: SJMP L4 
/*跑秒显示后两位*/ 
L2: 
CLR P2.3 
MOV A,30H 
ANL A,#0FH 
MOVC A,@A+DPTR 
MOV P0,A 
LCALL L3 
SETB P2.3 
CLR P2.2 
MOV A,30H 
SWAP A 
ANL A,#0FH 
MOVC A,@A+DPTR 
MOV P0,A 
LCALL L3 
SETB P2.2 
/*跑秒显示前两位*/ 
CLR P2.1 
MOV A,40H 
ANL A,#0FH 
MOVC A,@A+DPTR 
MOV P0,A 
LCALL L3 
SETB P2.1 
CLR P2.0 
MOV A,20H 
SWAP A 
ANL A,#0FH 
MOVC A,@A+DPTR 
MOV P0,A 
LCALL L3 
SETB P2.0 
RET 
/*显示用的时间*/ 
l3:MOV R7,#250 
J0:NOP ;延迟一个机器周期的时间 
NOP 
DJNZ R6,J0 ;寄存器减1不为0,转移到J0 
RET 
/*终端打开*/ 
L1:CLR EA 
CLR P1.0 
SETB EA 
RETI 
/*秒位显示*/ 
L7:MOV A,40H 
ADD A,#1 
DA A 
CJNE A,#99H,L8 
CLR A 
L8:MOV 40H,A 
RET 
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 
END 
四:检查程序是否有误,然后修改,并将无误的程序保存编译为HEX格式文件,然后加载到单片机芯片中,查看电路,观看仿真电路结果.得到课题要求的结果。 
五、实训小结 
1) 通过实训,我们自己动手分析设计程序加深了对知识的理解和对指令的运用。 
2)通过对程序的编译和电路的仿真,使我们能够更直观得看到程序运行的结果。 
3)通过实训与所学知识的结合,提高我们动手的能力和对技能的熟悉。强化了我们得专业技能,能更好的运用所学知识
99数字跑表单片机实训报告下载如图片无法显示或论文不完整,请联系qq752018766