专升本万年历 课程设计文档_第1页
专升本万年历 课程设计文档_第2页
专升本万年历 课程设计文档_第3页
专升本万年历 课程设计文档_第4页
专升本万年历 课程设计文档_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 2013 2014 学年 第 1 学期 单片机应用技术 课 程 设 计 报 告题 目: 基于单片机控制的电子万年历 专 业: 电气自动化 班 级: 12自动化专升本 姓 名: 指导教师: 林开司 宋洪儒 电气工程学院2013年 11 月 9日任务书 课题名称基于单片机控制的电子万年历指导教师(职称)林开司 宋洪儒 执行时间2013 2014学年第 1 学期 第 10 周学生姓名学号承担任务设计目的1、进一步熟悉和掌握单片机的结构及工作原理。2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。4、通

2、过程序设计和仿真,逐步掌握模块化程序设计方法和仿真软件的使用。5、通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发单片机应用系统的全过程,为今后从事相应打下基础。设计要求a)原理图设计。1原理图设计要符合项目的工作原理,连线要正确,端了要不得有标号。2图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。3原理图要完整,CPU,外围器件,扩器接口,输入/输出装置要一应俱全。b)程序设计1根据要求,将总体项能分解成若干个子功能模块,每个功能模块完成一个特定的功能。2根据总体要求及分解的功能模块,确定各功能模块之间的关系,设直出完整的程序流程图。c)设计说明书1原理图设计说明

3、简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。2程序设计说明对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。目录1.摘要 42.硬件设计 52.1 总体设计 53.软件设计 63.1 参考程序 94.总结165参考文献166.评语表 17正文摘 要随着微电子技术和超大规模集成电路技术的不断发展,家用和电子产品不但种类日益丰富,而且变得更加经济适用,单片微型计算机体积小、性价比高、功能强、可靠性高等独有点特点,在各个领域得到了广泛应用。电子万年历是一种应用非常广泛的日常计时工具数字显示的日历钟已经越来越流行,特别是适合

4、在家庭居室、办公室、会议室、大厅、车站和广场等使用。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。功能也越来越齐全,除了公历年月日、时分秒。但通过我们对各种电子钟表、历不断观察和总结发现目前市场的钟、历都存在一些不足之处。比如:时钟不准确、产品成本太高等,这都给人们的使用带来不便。为此设计了一种功能全面、计时准确、成本低廉的基于51单片机的万年历。本设计结合实际情况,利用单片机控制满足的功能有:1可显示公历年、月、日和时、分、秒。2走时准确,可调整公历年、月、日和时、分、秒。3当停电时,数据部丢失。4万年历设置运行到2050年。由硬件和软件相配合使用。硬

5、件由主控器、时钟电路、显示电路、硬盘接口4个模块组成。主控模块用AT89C51、时钟电路是用芯片DS1302、显示模块用LED数码管、硬盘接口电路用普通按键接上拉电阻完成;软件利用汇编编程实现单片机程序控制。单片机通过时钟芯片DS1302获取时间数据,单片机再把时间数据送给74LS154译码,然后通过三极管C9D15放大驱动LED数码管显示阳历年、月、日、时、分、秒。关键词 电子万年历;AT89C51单片机;时钟;数码显示2、硬件设计图2-1 单片机的万年历电路原理图3、软件设计万年历接口的参考程序如下:#include /默认晶振频率为12M/数码管编码-共阴/char code digCo

6、de10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/数码管编码-共阳Char code digCode10 = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/每月的天数char days12 = 31,28,31,30,31,30,31,31,30,31,30,31;unsigned int year;unsigned int month;unsigned int day;unsigned int hour;unsigned int minite;unsigned int s

7、econd; /时间计数变量 50ms/次unsigned int timeCount;/万年历模式 0:正常计时模式 1:年份调整模式 2:月份调整模式 3:天数调整模式 4:小时调整模式 5:分钟调整模式char calendarMode;/按键接口定义#define cho P1_0;#define add P1_1;#define dec P1_2;/初始化函数void initData();/显示时间函数void showTime();void showYear();void showMonth();void showDay();void showHour();void showMi

8、nite();void showSecond();/计算时间函数void calculateTime();int isLeapYear(int year);/初始化函数void init();void initInterrupr();void initTimer0(); void initTimer1();/延时函数3ms/次void delay();/*功能:主函数 */ int main()init();while(1)showTime();return 0;/*功能:定时器0初始化函数 */void initTimer0()TMOD=TMOD|0x01; TH0 = 0x3C;TL0 =

9、 0xB0; TR0=1;ET0=1;/*功能:定时器1初始化函数 */void initTimer1()TMOD=TMOD|0x10; TH1 = 0xB1;TL1 = 0xE0; TR1=1;ET1=1;/*功能:中断初始化函数 */void initInterrupr()initTimer0();initTimer1(); EA=1;/*功能:数据初始化函数 */void initData()P2 = 0x00;P3 = 0x00;day = 7;month = 11;year = 2013;timeCount = 0;calendarMode = 0;/*功能:初始化函数 */void

10、 init()initData();initInterrupr();/*功能:显示万年历上的年时间 */void delay()int i,j;for(i=0;i9;i+)for(j=0;j=59)second = 0;if(minite=59)minite = 0;if(hour=23)hour = 0;if(day=daysmonth-1) day = 1; if(month=12) month = 1;if(year=2050)year = 2050;if(isLeapYear(year)days1= 29;elsedays1 = 28;elseyear+; else month+; e

11、lseday+;elsehour+;elseminite+;else second+;/*功能:time0中断服务程序 */void clockInter() interrupt 1TH0 = 0x3C;TL0 = 0xB0;timeCount+;if(timeCount = 20)calculateTime();/*功能:time1中断服务程序 */void keyInter() interrupt 3TH1 = 0xB1;TL1 = 0xE0;if(P1_0 = 0)calendarMode+;calendarMode = calendarMode%6;TR0 = 0;switch(cal

12、endarMode)case 0:TR0 = 1; break;case 1:if(P1_1 = 0) if(year=1970) year-; /闰年2月天数上限设置if(isLeapYear(year)days1 = 29;elsedays1 = 28;break;case 2:if(P1_1 = 0) if(month=12) month = 1; elsemonth+;else if(P1_2 = 0)if(month=daysmonth-1) day = 1; elseday+;else if(P1_2 = 0)if(day=23) hour = 0; elsehour+;else

13、if(P1_2 = 0)if(hour=59) minite = 0; elseminite+;else if(P1_2 = 0)if(minite=1)minite = 59; minite-; elseminite+;break;default: ;4、总结通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在本次毕业设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括: AT89C51单片机及其引脚说明、LM2907N引脚图及其引脚功能等,为本次课

14、程设计提供了一定的资料。在做设计的初期阶段,难度很大,没有头绪。通过网上找资料、理清了思路。同时,在图书馆里、网上查阅资料,攻克了课程设计中的道道难题。办事只要有了头绪,就会简单很多。本次设计的完成,我们的收获很大。总的感受有以下几方面:1、巩固了课本上的知识。通过本次设计,我不但对单片机有了更为深入的了解,对一个课题如何画流程图,编程序等,有了一定的认识。2、在本次设计中,我进一步加强了自己的动手能力和运用专业知识的能力,从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻体会到的是软件和硬件结合的重要性,以及两者的联系和配合作用。3、通过本次设计,让我了解到智能化技术对当今人们生活的重要性。同时这次做课程设计的经历也使我们受

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论