片机中播放出音乐,心理非常自豪。这次的课程设计在一定程度上改变了我学习单片机这门课程的态度,从最初的认为学它没有什么实际意义,到如今爱上单片机学习,并希望能将理论运用到实践,设计出更好更完整的系统。我明白了一个人要想做好一件事,就必须具备自信心,耐心,还要有毅力,要胆大心细,要勇于尝试,要手脑并用,最后才能交出一份令人满意的答卷。对我而言,知识上的收获重要,精神上的丰收更加。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为为我人生旅途上一个非常美好的回忆
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!
7. 参考文献
[1] 吴亦峰,陈德伟,单片机原理与接口技术,北京:电子工业出版社,2010年11月 [2] 黄智伟 全国大学生电子设计竞赛系统设计[M],北京:北京航空航天大学出版社,2006.6.
[3] 黄智伟 凌阳单片机课程设计指导[M],北京:北京航空航天大学出版社,2006.11. [4] 李广弟,朱月秀,王秀山.单片机基础[M],北京:北京航空航天大学出版社,2001.7. [5] 赵曙光,郭万有,杨颂华.可编程逻辑器件原理开发与应用[M],西安:西安电子科技大学, 2000.
[6] 候伯亨.VHDL硬件描述语言与数字逻辑电路设计[M], 西安:西安电子科技大学出版社, 1999.
[7] 康华光. 模拟电子技术基础(第四版)[M], 武汉:华中理工大学出版社,1999.
附录A 程序源代码及注释 RS BIT P2.0 RW BIT P2.1 E BIT P2.2
;************************* L50MS EQU 60H L1MS EQU 61H L250MS EQU 62H SEC EQU 65H MIN EQU 64H HOU EQU 63H ORG 0000H
;************************* LJMP MAIN
10
;定义液晶显示端口标号
ORG 000BH LJMP TT0 ORG 001BH LJMP T1INT ORG 1000H MAIN:
;-----------------------;液晶初始化 MOV SP,#70H ;设置堆栈指针 MOV P0,#01H ;清屏
CALL ENABLE ;调用延时程序 MOV P0,#38H ;8位,2行显示 LCALL ENABLE
MOV P0,#0FH ;屏显ON,光标ON,闪烁ON LCALL ENABLE
MOV P0,#06H ;计数地址加1,显示幕ON LCALL ENABLE
;-------------------------------内存初始化 LCALL INITIL
;------------------------------- KEY1: LCALL KEY
LCALL MODD LJMP KEY1
;---------------------键盘扫描 KEY: NOP NOP LCALL KS
JNZ K1 ;有按键转到K1 LCALL KAIJI
11
LCALL SOP XN: LJMP KEY K1: LCALL MODD LCALL MODD LCALL KS JNZ K2 LJMP KEY K2:
MOV R2,#0FEH ;读键盘 MOV R4,#00H K3: MOV A,R2 MOV P1,A MOV A,P1
JB ACC.4,L1 ;为1跳转,第一行无按键 MOV A,#00H LJMP LK L1:
JB ACC.5,NEXT1 MOV A,#0CH
;------------------------------------------------------- LK: ADD A,R4 PUSH ACC K4:
LCALL DELAY1 ;若同时有其他按键,则等待 LCALL KS JNZ K4
12
;-------------------------------------------------------- MOV R3,#07H CLR A MOV R0,#30H MOV R1,#31H MM1: MOV A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R3,MM1 POP ACC MOV @R0,A RET
;------------------------------------------------------ NEXT1:
INC R4 ;------列扫描 MOV A,R2 JNB ACC.3,N2 LJMP N1 N2: LJMP KEY N1: RL A MOV R2,A LJMP K3
;---------------------------------------------- KS:
MOV A,#0F0H ;判断P1口 MOV P1,A
13
NOP NOP MOV A,P1 CPL A ANL A,#0F0H RET
;-------------------------------------------------- DELAY1: SETB RS0 DL:
MOV R5,#0AH DL2: MOV R6,#63 DL3: NOP NOP
DJNZ R6,DL3 DJNZ R5,DL2 CLR RS0 RET
;--------------------------------------------------- ;30H-37H初值为零
;---------------------------------------------------- INITIL: MOV R3,#08H MOV R0,#30H M1:
MOV @R0,#00H INC R0
DJNZ R3,M1
14