1、自检后LED灯未熄灭:(添加清零程序) LCALL TIME MOV P1,#0FFH
2、未能判别平润年(添加判别程序)
RUNPING:MOV A, 3FH MOV B,#10 ANL A,#0F0H SWAP A
MUL AB
MOV B,A MOV A, 3FH ANL A,#0FH ADD A,B
MOV B,#4
DIV AB MOV A,B JZ RUN
MOV 53H,#00H RET
RUN: MOV 53H,#01H
RET
3、闪烁有误,不能以修改位闪烁(改变闪烁程序的储存单元)如下: FLASH:JBC 64H,G3 RET
G3:MOV A,52H
CJNE A,#01H,G4 MOV 25H,#0FFH RET
G4:CJNE A,#02H,G5 MOV 25H,#0FFH RET
G5:MOV A,25H CPL A
JZ G6 MOV 25H,#0FFH RET
G6: MOV 25H,26H RET
4、闹钟不响(闹钟开关设置有误): CPL 62H
JNB 62H,E3 MOV 30H,#15H RET
E3:MOV 30H,#16H
V1: RET
5、键盘设置不合理(不能实现时间修改)修改如下: K13:MOV 52H,#30H MOV 26H,#07FH
MOV R0,#3AH MOV R1,#30H Z1: MOV A,@R0 ANL A,#0FH MOV @R1,A INC R1 MOV A,@R0 ANL A,#0F0H SWAP A
MOV @R1,A INC R0 INC R1 INC R1
CJNE R0,#3DH,Z1 MOV 32H,#0AH
MOV 35H,#0AH RET
6、无无按键操作返回程序(添加程序): NO_SKEY:MOV A,#52H CJNE A,#01H,G7 RET G7:CJNE A,#02H,G8 RET
G8:CJNE R4,#90,G9 MOV R4,#0 MOV 52H,#01H G9:RET
END
课程设计总结:
两周的课程设计,收获颇多,良好的学习习惯是能轻松完成课程设计的基础,平时的实验训练是学好单片机的途径,任何事只要能够持之以恒,坚持不懈,以认真的态度去对待,很多的事情都能迎刃而解,看似不可能完成的事,最终都能出乎意料的完成。也许有些事不在本身,完成它的过程与努力,才是我们能够留存的记忆,小小
的课程设计,却能反映一人自身的内在潜力,实在乃一件幸事,大多数人认为我们应该在这复习的期末好好复习,而我们却在为课程设计而花费着时间,其实不然,课程设计是对这一学期的这门课程的总结,如果我们不能在前面打好基础,对于课设,也只能莫名的苦恼抱怨的过完这两周,因为没有好的基础,课程设计还不如好好复习或者预习,欲行千里,必积圭步。没有好的学习态度,一切都变得如此艰难,看似简单的设计,却如老牛拉磨,慢的不行,以致最后放弃。
时光荏苒,我已大三,唯有以坚持的步伐,钢的意志,在这段漫漫人生路上不断前行。两周时间却感悟颇多,时光飞逝,珍惜现在,愿大学生涯能完美落幕。
程序清单:
ORG 0000H ;主程序入口 LJMP CLOCK ;转主程序初始化 ORG 000BH ;T0中断入口 LJMP TP0 ;转T0中断服务程序 ORG 0030H ;主程序初始化 CLOCK:MOV SP,#6FH ;设栈底指针 LCALL D1S
;************************8255初始化************************* MOV A,#89H ;8255的A口、B口为输出 MOV DPTR,#0FEFFH ;指向8255控制口 MOVX @DPTR,A ;将控制字写入控制寄存器
MOV A,#8BH ;LED显示、开关、按键接口的初始化 8255A(U5)初始化
MOV DPTR,#0FDFFH ;指向8255控制口 MOVX @DPTR,A
MOV DPTR,#0FEFDH
MOV A,#00H ;灯亮 MOVX @DPTR,A MOV DPTR,#0FDFCH MOV A,#0FFH MOVX @DPTR,A
;*****************自检************************************* MOV P1,#00H ;P1口输出全‘0',所驱动的L0~L7指示灯全亮 LCALL D1S ;延时1S
MOV P1,#0FFH ;熄L0~L7指示灯
TEST: CLR P3.2 ; 蜂鸣器响 LCALL D1S ;延时1S SETB P3.2 ;关蜂鸣器 MOV DPTR,#0FEFCH MOV A,#00H MOVX @DPTR,A MOV A,#01H
MOV DPTR,#0FEFDH Q1:MOVX @DPTR,A LCALL D1S RL A
CJNE A,#01H,Q1
;*********************相关单元初始化********************** MOV TMOD,#02H ;T0定时方式2 MOV TL0,#1AH ;定时250微秒 MOV TH0,#1AH
MOV 38H,#200 ;软件计数单元初值 MOV 39H,#5 MOV 4AH,#4
SETB EA ;中断总允许 SETB ET0 ;允许T0中断 SETB TR0 ;启动T0工作 MOV 3AH,#30H ;时间初值 MOV 3BH,#59H
MOV 3CH,#23H ;<根据需要设置> MOV 3DH,#28H ;时间初值 MOV 3EH,#02H
相关推荐: