5.2 硬件仿真
硬件仿真使用的是ProteusPRO6.7SP3,Proteus 是目前最好的模拟单片机外围器件的工具,它可以仿真 51 系列、AVR,PIC 等常用的 MCU 及其外围电路。利用Proteus中的器件库完成硬件电路的连接,如下图所示:
R1R3R227K27KR40R1R5R60R1R70R1R80R10R127KA0A1A2A3A4A5A6A7C2LED1LED2LED3LED4LED5LED6LED730pX1CRYSTAL19C330pU1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617A0A1A2A3A4A5A6A7B1B2B3A0A1A2A37126453U2ABCDBI/RBORBILT74LS48QAQBQCQDQEQFQG1312111091514LED1LED2LED3LED4LED5LED6LED7R910K18XTAL2910uRSTC1293031PSENALEEAU381B1B3B2VCC1X1VCC22C430pR1110k576R1210kR1310kR1410k1234567B08RSTSCLKI/ODS1302X2CRYSTALC5X2330pP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51B0LS1SPEAKERR104.7KQ1BFY50Q2BFY50A4A5A6A7 图5-2硬件电路图
22
第6章 总结
本文介绍了一种智能音乐闹钟设计。本设计是由中央控制器、时钟系统、存储器、显示器及键盘部分组成。控制器采用单片机AT89C51,时钟系统使用时钟芯片DS1302,用LED 8段数码管作为显示器,用单片机内置ROM作为存储器件。单片机通过时钟芯片DS1302获取时间数据,对数据处理后,单片机再把时间数据送LED数码管显示器显示,还可以显示代码;当到达所设定的闹铃时间后,单片机将调用相应的程序,播放音乐,并且此时LED 8段数码管所显示的不再是时间而是一个代码,只有用户在将这个代码从键盘上正确的输入进去,才能将其音乐关闭,结束闹铃。用户可以通过键盘设置闹铃的时间和校正当前的时间。
软件部分采用汇编语言,分别对键盘、显示、时钟等进行相应的程序编辑,将编好的程序在伟福仿真软件中进行仿真,看程序是不是能够按照所想的运行方向正常的运行并对其修改。在整个设计过程中也存在许多问题,程序各个之间的连接不如设想的流畅,但基本上实现了时钟、闹钟与音乐的功能。
23
参考文献
1、潘永雄.新编单片机原理与应用. 西安电子科技大学出版社,2002年 2、张友德,赵志英,涂时亮.单片机微型机原理应用与实验. 复旦大学出版社,2000年
3、周航慈、朱兆优、李跃忠.智能仪器原理与设计. 北京航空航天大学出版社,2005;
4、江秀汉.可编程序控制器原理及应用(第二版).西安电子科技大学出版社,2003;
5、沈庆阳、郭庭吉.单片机实践与应用.清华大学出版社,2002;
6、窦振中.单片机外围器件实用手册存储器分册.北京航空航天大学出版社,1998;
7、关德新,冯文全.单片机外围器件实用手册电源器件分册.北京航空航天大学出版社,1998;
8、何立民.单片机应用技术选编(1).北京航空航天大学出版社,1993。
9、李建忠.单片机原理及运用. 西安电子科技大学出版社, 2001年 10、吴金戎、沈庆阳.8051单片机实践与应用.清华大学出版社 ,2001年
11、赵晓安.MCS-51单片机原理及应用.天津大学出版社,2001年
12、冯建华、赵亮.单片机应用系统设计与产品开发. 人民邮电出版社, 2004年 13、何立民.MCS51系列单片机应用系统设计.北京航空航天大学出版社, 1999
年 14、李荣正、陈学军.PIC单片机实验教程. 北京航空航天大学出版社,2006年 15、张义和、陈敌北.例说8051.人民邮电出版社,2006年
24
致谢
这次毕业设计的时间不是很长,毕业设计是自己独立完成的,设计开始时对任务进行了按时分工,每天都要按时完成任务,这样才能为顺利完成好毕业设计提供时间基准。由于毕业设计是我独立进行的设计,刚开始时,心里十分茫然,不知从何入手,通过指导老师的高度的责任感与敬业精神深深地感染了我,同时也深深的激励着我奋进。
通过毕业设计,使我对所学的理论知识有了更深更多的理解,操作能力也有了可喜的进步。
我认为理论知识无论学得再好再透,毕竟是抽象的,在没用于实践前是毫无意义的,而四年的学习生活中我所缺少的就是理论和实践的紧密结合。毕业设计则恰恰像一场及时雨,让我们通过亲身模拟学会如何把理论知识应用于实践。给了我充分的锻炼机会。获益非浅!
谢谢老师!
25
附录
******************************************** 主程序
******************************************** /RST BIT P2.0 I/O BIT P2.1 SCLK BIT P2.2 ORG 0026H LJMP START ORG 000BH LJMP NEXT ORG 0060H
START:MOV TMOD,#01H MOV TH0,#0FCH MOV TL0,#48H MOV IE,#82H
SETB TR0 ;启动TR0
LOOP:LCALL TRAID ;调用时间读取子程序 LCALL DISPLAY1 ;时间显示调用 ONE:CJNE R2,#10,T1
LCALL DISPLAY2 ;闹钟时间显示子程序 LCALL HOLD ;等待键按下
MOV A,R5 ;R5在显示子程序中自减 JNZ ONE MOV R7,#04 T1:CJNE R2,#11,TWO
LCALL DISPLAY1 ;时间显示子程序 LCALL HOLD DJNZ R7,T1
LCALL WRTC ;时间写入时钟芯片程序 TWO: ;闹钟时间比较程序 CJNE RO,#0FFH,T4 ;判断闹钟开/关 LCALL TO-2 JBC F0,T2 AJMP LOOP
T2:SETB P1.7 ;闹钟响起 MOV R7,#04
LCALL DISPLAY2 ;代码显示子程序 MOV R0,#3EH ;取代码程序 GO:ACALL HOLD
THREE:MOV A,R2 ;B存放的是键码 ACALL DISPLAY2 CJNE A,@R0,T3 AJMP T4 T3:ACALL HOLD ;等待键按下 AJMP THREE T4:DJNZ R7,GO CLR P1.7
LJMP LOOP MEXT:CLR TF0
MOV TH0,#0FCH MOV TL0,#18H MOV IE,#82H SETB TR0 RETI END
******************************************** 比较程序
******************************************** TO-2:PUSH A
26