山东科技大学电工电子实验教学中心
创新性实验研究报告
课程名称:单片机原理及应用
实验项目名称 ___简易电子称________
姓名 ___ 学号_ 手机 Email ______________
专 业 电气工程及其自动化 班级 ______________ 指导教师及职称 ____ _ _
开课学期 2011 至2012学年 1学期
提交时间 2012 年 1 月 4 日
四、实验内容
五、实验结果与分析
六、实验结论
七、指导老师评语及得分:
附件:源程序等。
ORG 0000H LJMP MAIN ORG 0013H LJMP SINT2 ORG 0003H LJMP SINT0 ORG 000BH LJMP SINT1 MAIN:
MOV 32H,#00H MOV 33h,#00H MOV 34h,#00H MOV 35h,#00H MOV TMOD,#06H MOV TL0,#0FFH MOV TH0,#0FFH SETB TR0
SETB ET0
SETB IT0 SETB EX0 SETB IT1 SETB EX1 SETB EA
MOV DPTR, #7FFFH MOV A,#07H
MOVX @DPTR, A SJMP $
SINT0: MOV 32H,#00H MOV 33H,#00H
MOV 34H,#00H MOV 35H,#00H LCALL DISP RETI SINT1
:PUSH 32H PUSH 33H PUSH 34H PUSH 35H MOV A,#06H
MOV DPTR, #7FFEH MOVX @DPTR, A LCALL DY1MS LCALL JISUAN POP ACC ADD A,35H
CJNE A,#10,NEXT2 SETB C MOV A,#0
NEXT2:MOV 35H,A MOV R0,#34H MOV R1,#3
LOP: POP ACC ADDC A,@R0
CJNE A,#10,NEXT3 SETB C MOV A,#0
NEXT3:MOV @R0,A DEC R0
DJNZ R1,LOP LCALL JISUAN LCALL DISP RETI SINT2:
LCALL JISUAN LCALL DISP
MOV DPTR, #7FFFH MOV A,#07H
MOVX @DPTR, A RETI ERR:
MOV 32H,#0FH MOV 33H,#0FH
MOV 34H,#0FH MOV 35H,#0FH
DISP:MOV R0,#32H ;显示缓冲首址 MOV R2,#01H ;共阴极,位控初始码(先亮最低位) LOOP:MOV A,#0FFH ;共阴极数码管的灭码 MOV P1,A ;送灭码 MOV P2, R2 ;送位控信号 MOV A,@R0 ;从显示缓冲中取数 MOV DPTR,#TAB ;#TAB MOVC A,@A+DPTR ;查出字形代码 MOV P1,A ;送显示字符段代码 ACALL DY1MS ;稳定显示信息 INC R0 ;取下一个数 MOV A,R2 JB ACC.3,EXIT ;判断是否送到最高位? RL A MOV R2,A ;得到下一个位控信号 AJMP LOOP EXIT:RET DY1MS:MOV R7,#0FFH DJNZ R7,$ RET
JISUAN: MOVX A, @DPTR MOV B,#2 DIV AB PUSH ACC SUBB A,#100 JC ERR POP ACC
MOV B,#100 DIV AB
MOV DPTR,#TAB MOVC A,@A+DPTR MOV 32H,A MOV A,B MOV B,#10 DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV 33H,A MOV A,B MOV DPTR,#TAB MOVC A,@A+DPTR MOV 34H,A MOV A,B
CJNE A,#1,NEXT1 MOV A,#5 NEXT1: MOV 35H,A RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H
DB 0F8H,80H,90H,88H,83H,0C0H,0A1H,86H,8EH,0FFH
END SJMP $
山东科技大学电工电子实验教学中心
创新性实验研究报告
课程名称:单片机原理及应用
实验项目名称 ___简易电子称________
姓名 ___ 学号_ 手机 Email ______________
专 业 电气工程及其自动化 班级 ______________ 指导教师及职称 ____ _ _
开课学期 2011 至2012学年 1学期
提交时间 2012 年 1 月 4 日
四、实验内容
五、实验结果与分析
六、实验结论
七、指导老师评语及得分:
附件:源程序等。
ORG 0000H LJMP MAIN ORG 0013H LJMP SINT2 ORG 0003H LJMP SINT0 ORG 000BH LJMP SINT1 MAIN:
MOV 32H,#00H MOV 33h,#00H MOV 34h,#00H MOV 35h,#00H MOV TMOD,#06H MOV TL0,#0FFH MOV TH0,#0FFH SETB TR0
SETB ET0
SETB IT0 SETB EX0 SETB IT1 SETB EX1 SETB EA
MOV DPTR, #7FFFH MOV A,#07H
MOVX @DPTR, A SJMP $
SINT0: MOV 32H,#00H MOV 33H,#00H
MOV 34H,#00H MOV 35H,#00H LCALL DISP RETI SINT1
:PUSH 32H PUSH 33H PUSH 34H PUSH 35H MOV A,#06H
MOV DPTR, #7FFEH MOVX @DPTR, A LCALL DY1MS LCALL JISUAN POP ACC ADD A,35H
CJNE A,#10,NEXT2 SETB C MOV A,#0
NEXT2:MOV 35H,A MOV R0,#34H MOV R1,#3
LOP: POP ACC ADDC A,@R0
CJNE A,#10,NEXT3 SETB C MOV A,#0
NEXT3:MOV @R0,A DEC R0
DJNZ R1,LOP LCALL JISUAN LCALL DISP RETI SINT2:
LCALL JISUAN LCALL DISP
MOV DPTR, #7FFFH MOV A,#07H
MOVX @DPTR, A RETI ERR:
MOV 32H,#0FH MOV 33H,#0FH
MOV 34H,#0FH MOV 35H,#0FH
DISP:MOV R0,#32H ;显示缓冲首址 MOV R2,#01H ;共阴极,位控初始码(先亮最低位) LOOP:MOV A,#0FFH ;共阴极数码管的灭码 MOV P1,A ;送灭码 MOV P2, R2 ;送位控信号 MOV A,@R0 ;从显示缓冲中取数 MOV DPTR,#TAB ;#TAB MOVC A,@A+DPTR ;查出字形代码 MOV P1,A ;送显示字符段代码 ACALL DY1MS ;稳定显示信息 INC R0 ;取下一个数 MOV A,R2 JB ACC.3,EXIT ;判断是否送到最高位? RL A MOV R2,A ;得到下一个位控信号 AJMP LOOP EXIT:RET DY1MS:MOV R7,#0FFH DJNZ R7,$ RET
JISUAN: MOVX A, @DPTR MOV B,#2 DIV AB PUSH ACC SUBB A,#100 JC ERR POP ACC
MOV B,#100 DIV AB
MOV DPTR,#TAB MOVC A,@A+DPTR MOV 32H,A MOV A,B MOV B,#10 DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV 33H,A MOV A,B MOV DPTR,#TAB MOVC A,@A+DPTR MOV 34H,A MOV A,B
CJNE A,#1,NEXT1 MOV A,#5 NEXT1: MOV 35H,A RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H
DB 0F8H,80H,90H,88H,83H,0C0H,0A1H,86H,8EH,0FFH
END SJMP $