四川师范大学成都学院电子工程系课程设计报告
图11 按键时间的流程图
时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示?再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。如图12所示:
图12 按键累加的流程
5.设计总结
本设计以AT8C92单片机为核心部件,通过DS1302时钟芯片、HC138片选和LED数码管协同控制。通过这些软件程序、硬件和按键的协同下,通过LED数码管液晶显示器显示时间、日期、。在设计中感谢我们的指导老师王川北老师的细心指导,也感谢和我一起做次此课程设计的同学,感谢你们对我的支持!
在设计过程中我们也存在很多的问题主要有硬件的设计和软件的调试。其中
11
四川师范大学成都学院电子工程系课程设计报告
最难,最麻烦,也是学到和掌握的东西最多的地方就是软件调试了,这其中包括程序的编写检验,这就要求我们必须对程序的每部分都很熟悉,掌握每句程序在整体中的作用。这样出现问题时我们才能根据问题改变程序内容而达到目的。程序编写上也出现了很多细节的错误,程序并不是一次性就编写好的,这主要也是由于我们没有把这方面的知识学扎实。所以我们要把一次课题设计好,不但要学习好课堂的知识,而且要注意各方面的细节。通过这次应用系统设计,在很大程度上提高了我的独立思考能力,更为详细的学习了时钟运行的基本原理以及单片机的相关知识,也学会了写一篇应用控制系统论文的步骤和格式,有过这样的一次训练,我相信在接下来的毕业设计我们做得更好。
7.参考文献
[1] 谢维成.单片机原理与应用及C51程序设计[M]. 北京:清华大学出版社,2005.4.100-112
[2] 朱月秀.单片机原理与应用[M]. 北京:北京科学出版社,2007.8.40-50 [3] 康光华.电子技术基础[M].北京:高等教育出版社,2006.1.486-500
[4] 戴仙金.51单片机及其C语言程序开发实例[M]. 北京:清华大学出版社,2008.2.189-193
12
四川师范大学成都学院电子工程系课程设计报告
附 录
附录1系统程序设计
/********************************************************************
功能介绍:
按键一暂停
按键二:按第一次修改分钟
按第二次修改小时 按第三次修改日 按第四次修改月 按第五次修改年 按第六次恢复显示
按键三:进行加 按键四:进行减
********************************************************************/ #include
#define uchar unsigned char #define uint unsigned int sbit DS_CLK= P1 ^ 7; sbit DS_IO = P2 ^ 3; sbit DS_RST= P1 ^ 3; sbit HC138_A = P2 ^ 5;
sbit HC138_B = P2 ^ 6; //74HC138的控制管脚 sbit HC138_C = P2 ^ 7;
sbit key1 = P3^0; //按键定义 sbit key2 = P3^1; sbit key3 = P3^2; sbit key4 = P3^3;
void write_1302(uchar command,uchar value);
//宏定义
//DS1302的控制管脚
//写指令与数据
13
四川师范大学成都学院电子工程系课程设计报告
uchar read_1302(uchar command); void init_1302(uchar addr); void fuzhi(); void disptime();
uchar w1[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar w2[]= {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
//读指令与数据
uchar a[] = {13,16,16,21,13,55}; uchar b[6] = {0};
uchar nian,yue,ri,shi,fen,miao; bit flag = 0; uchar count = 0; uchar value = 0; uchar cnt = 0;
void HC138(uchar c,uchar b,uchar a) { HC138_C = c; HC138_B = b; HC138_A
= a;
}
void delay(uchar x) {
uchar i; while(x--)
for(i = 0; i < 120; i ++);
}
void write_1302(uchar command,uchar value) {
//写指令与数据14
四川师范大学成都学院电子工程系课程设计报告
uchar i = 0;; DS_RST = 0;
DS_CLK = 0; DS_RST = 1; for(i = 0; i < 8; i ++) { DS_IO = command & 0x01; DS_CLK = 0; DS_CLK = 1; command >>= 1;
}
for(i = 0; i < 8; i ++) { DS_IO = value & 0x01; DS_CLK = 0; DS_CLK = 1; value >>= 1; }
}
uchar read_1302(uchar command) { uchar i = 0; uchar value = 0; DS_RST = 0; DS_CLK = 0; DS_RST = 1; for(i = 0;i < 8;i ++) { DS_IO = command & 0x01;
DS_CLK = 0;
//从开始的位置往里面送指令
//读指令与数据
//从开始的位置往里面送指令
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库单片机实现数字钟 - 图文(4)在线全文阅读。
相关推荐: