图5-2-5年份显示仿真图
闹钟响铃:当我们设定的时间与当前时间一致时,则闹钟就会自动响铃提示,与此同时发光二极管闪亮,一分钟后响铃停止,发光二极管熄灭,若在此期间按下闹钟使能键K3同样能使响铃停止,发光二极管熄灭。其仿真图如图5-2-6所示。
图5-2-6闹钟音乐播放仿真图
- 20 -
辽东学院课程设计报告书 智能仪器仪表综合设计与实训
6 结 论
两个星期的课程设计结束了,从中我们学到了很多东西且感悟良多,体会到了课本联系实际,学以至用,设计思想,实际动手能力都有所提高。作为一名大四学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。
回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体??通过这次课程设计之后,一定把以前所学过的知识重新温故。
要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
这次课程设计使我懂得了同学间的团结合作,懂得了理论联系实际,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是正确的理论,从而提高自己实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,并决心在以后的学习中加以改正,努力练习,提高自己的动手能力。
- 21 -
辽东学院课程设计报告书 智能仪器仪表综合设计与实训
7 参 考 文 献
1. 余发山,王福忠,徐州,中国矿业大学出版2008年
2. 彭为,黄科,雷道仲,单片机典型系统设计实例讲解,2006年 3. 王法能,单片机原理及应用,科学出版,2004
4. 张友德、赵志英等编单片微型机原理、应用与实验,上海:复旦大学出版
2003 ,第四版
5. 钱晓揭. 16/32 位微机原理、汇编语言及接口技术[M].机械工程出版社 2005
年
6. 吴金,8051单片机实践与应用[M],清华大学出版社,2002 年
7. 谢自美,电子线路设计试验测试(第二版),华中科技出版社 2002 年 8. 张疑坤,陈善久,裘雪红,单片微型计算机原理及应用,西安电子科技大出版
社,2003 年
9. 马忠梅编著《单片机的 C 语言应用程序设计》北京航空航天大学出版
社,1999 年
- 22 -
辽东学院课程设计报告书 智能仪器仪表综合设计与实训
附一:源程序代码
#include
uchar code a[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //************************************************************************************* sbit K1=P1^4; sbit K2=P1^5; sbit K3=P1^6; sbit K4=P1^7; sbit sd=P1^0; sbit BEEP=P3^6;
uchar m=5,h=20,sec=58,cnt=0,x,y,qian,bai,shi,ge; uchar set_h=12; uchar set_m=58; uchar month=7; uchar day=5; uchar th0_f; uchar tl0_f; uint year=2010;
void delay(uchar t);//延时函数 void scankey(void); //按键扫描函数 void init(void); //初始化函数 void display(void);//显示函数
void set_time(void);//设定时间显示辅助函数 void set_day(void); //设定日期显示辅助函数 void m_choose(void); //月份选择函数 void bianhuan(void); //年份显示辅助函数
- 23 -
辽东学院课程设计报告书 智能仪器仪表综合设计与实训
void bianhuan1(void);//时间显示辅助函数 changedata(uchar *song,uchar *diao,uchar *jie); void play(uchar *songdata);//奏乐函数
//世上只有妈妈好 uchar code mamahao[]={
\\};
uchar code freq[36*2]={ 0xA9,0xEF,//00220HZ ,1 //0 0x93,0xF0,//00233HZ ,1# 0x73,0xF1,//00247HZ ,2 0x49,0xF2,//00262HZ ,2# 0x07,0xF3,//00277HZ ,3 0xC8,0xF3,//00294HZ ,4 0x73,0xF4,//00311HZ ,4# 0x1E,0xF5,//00330HZ ,5 0xB6,0xF5,//00349HZ ,5# 0x4C,0xF6,//00370HZ ,6 0xD7,0xF6,//00392HZ ,6# 0x5A,0xF7,//00415HZ ,7 0xD8,0xF7,//00440HZ 1//12 0x4D,0xF8,//00466HZ 1#//13 0xBD,0xF8,//00494HZ 2//14 0x24,0xF9,//00523HZ 2#//15 0x87,0xF9,//00554HZ 3//16 0xE4,0xF9,//00587HZ 4//17 0x3D,0xFA,//00622HZ 4#//18
- 24 -