2020-03-02 14:15:20 来源:范文大全收藏下载本文
重庆城市管理职业学院
信息工程学院
单片机实习报告
专业班级电子A0801
学号0401080112
姓名吕爽
组号第一组
实 验 室 单片机实训室
成绩评定
老师签名
2009年 12月 25日
实训课题:99数字跑表
实训目的:通过实验掌握显示的接口电路及程序设计,熟悉各种操作指令,子程序的调用以及中断知识和计数器的计数
实训原理:通过把设计好的程序利用软件将编译得到HEX格式文件加载到单片机芯片中,实现仿真电路,得到仿真电路结果。
实验仪器:电脑,Keil软件,Proteus软件
实训要求:(1)四位LED数码管动态显示,显示最小时间为0.01秒,最多显示时间99秒;
(2)由按键控制,第一次按下键,开始计时,第二次按下键,停止计时,第三次按下键,清零。
在Keil软件中,新建一个项目,命名为跑表,然后根据程序流程图和仿真电路图编写程序。调试程序,检查程序是否有误,保存。得程序如下:
编写程序
ORG0000H
LJMPMAIN
ORG0003H
LJMPL1
ORG0030H
/*开始程序*/
MAIN:SETBIT0
SETBP1.0;至高电频
SETBEA;开中断控制位
SETBEX0;开外部中断0
MOVDPTR,#TAB;将TAB所代表的地址送入DPTR
MOV30H,#0
MOV40H,#0
MOVR1,#0
/*判断R1,然后进行判断*/
L4:JBP1.0,L14;P1.0的值为1,则转移至L14
INCR1;R1加1
SETBP1.0
L14:MOVR3,#2
/*使时间达到0.01秒*/
L9:ACALLL3;绝对调用L3程序
ACALLL2
DECR3;寄存器减1
CJNER3,#0,L9
/*当按一次开关时进行跑秒*/
CJNER1,#1,L5;寄存器R1中的值不为1,则转移到L5
MOVA,30H
ADDA,#1
DAA
CJNEA,#99H,L6
ACALLL7
CLRA
L6:MOV30H,A
/*当再一次按键时,暂停*/
L5:CJNER1,#2,L10
SJMPL4;转移到L4
/*当继续按键时,清零*/
L10: CJNER1,#3,L11
MOV30H,#0
MOV40H,#0
MOVR1,#0
L11: SJMPL4
/*跑秒显示后两位*/
L2:
CLRP2.3
MOVA,30H
ANLA,#0FH
MOVCA,@A+DPTR
MOVP0,A
LCALLL3
SETBP2.3
CLRP2.2
MOVA,30H
SWAPA
ANLA,#0FH
MOVC A,@A+DPTR
MOVP0,A
LCALLL3
SETBP2.
2/*跑秒显示前两位*/
CLRP2.1
MOVA,40H
ANLA,#0FH
MOVCA,@A+DPTR
MOVP0,A
LCALL L3
SETB P2.1
CLRP2.0
MOVA,20H
SWAP A
ANLA,#0FH
MOVCA,@A+DPTR
MOVP0,A
LCALLL3
SETBP2.0
RET
/*显示用的时间*/
l3: MOVR7,#250
J0: NOP;延迟一个机器周期的时间
NOP
DJNZR6,J0;寄存器减1不为0,转移到J0
RET
/*终端打开*/
L1: CLR EA
CLR P1.0
SETBEA
RETI
/*秒位显示*/
L7: MOVA,40H
ADDA,#1
DAA
CJNEA,#99H,L8
CLR A
L8: MOV40H,A
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
四:检查程序是否有误,然后修改,并将无误的程序保存编译为HEX格式文件,然后加载到单片机芯片中,查看电路,观看仿真电路结果.得到课题要求的结果。
五、实训小结
1)通过实训,我们自己动手分析设计程序加深了对知识的理解和对指令的运用。
2)通过对程序的编译和电路的仿真,使我们能够更直观得看到程序运行的结果。
3) 通过实训与所学知识的结合,提高我们动手的能力和对技能的熟悉。强化了我们得专业技能,能更好的运用所学知识。
人人范文网 m.inrrp.com.cn 手机版