1、长春理工大学毕业设计1本科生毕业论文基于 Mega16 的数字万年历The Digital Perpetual Calendar Based On Mega16长春理工大学毕业设计2毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经 注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文( 设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论
2、文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 长春理工大学毕业设计3注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300 字左右) 、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论) 、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论
3、文)正文字数不少于 1 万字(不包括图纸、程序清单等) ,文科类论文正文字数不少于 1.2 万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件) 。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用 A4 单面打印,论文 50 页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:
4、按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它长春理工大学毕业设计4摘要随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。本文介绍了一种基于 AVR 单片机 Mega16 的数字万年历的设计。本设计以 Mega16 为核心控制器,其外围电路包括液晶显示模块,时钟模块,键盘模块和闹铃模块等。软件部分用 C 语言进行编程,实现设计的一切功能。此数字万年历不仅能显示分,时,秒,年,月,日,而且具有以下功能:显示农历,闹钟时间设置,闹钟音乐选择,整点报时和断电后
5、自由调整时间。本设计硬件电路简单,难点在于软件编程中的公农历转换,设计完成后经测试基本实现了上述的功能关键词:Mega16 万年历 公农历转换 液晶 AbstractAlong with the technical and quick development in electronics, appear with the large-scale integrated circuit especially, give mankind the life brought the changes of the root. The coal gas reports to the police the s
6、ystem publishes, scribing the electronics measure the instrument walked into the arithmetic figure turns the ages ts function is strong, the function is well-found, technique forerunner, will quickly technical development in science.In the paper, it introduces a design of digital Calendar based on m
7、ega16.the design made Mega16 as the core controller, the peripheral circuits, including liquid crystal display module, clock module, the keyboard module and alarm module. Software with C language programming , achieves all functions of design. This calendar will not only show the number of points, t
8、he second, year, month, day, and have the following functions: display Chinese, the alarm time set, alarm clock, music selection, the whole point of time and free to adjust the time after power outages. The design of hardware circuits is simple, difficult in the Chinese public conversion, the design
9、 has been tested after the completion of the basic functions to achieve the above-mentionedKey words:Mega16, Calendar, Lunar conversion of public, LCD 长春理工大学毕业设计5目录目录 .1第一章 绪论 .31.1 研究目的和意义 .31.2 国内外研究现状 .31.3 本设计研究的内容 .3第二章 系统整体设计方案 .52.1 系统功能分析 .52.2 系统方案论证 .52.2.1 时钟模块 .52.2.2 键盘模块 .52.2.3 显示模块 .
10、6第三章 系统硬件设计 .73.1 Mega16 单片机电路设计 .73.1.1 Mega16 的介绍 .73.1.2 Mega16 的引脚图及引脚说明 .83.2 时钟接口电路 .103.2.1 简介 .103.2.2 引脚介绍及其功能 .103.2.3DS1302 的控制字节 .113.2.4 DS1302 的寄存器 .113.2.5 数据输入输出 .123.3 液晶显示电路设计 .133.4 键盘接口电路设计 .143.5 音乐闹铃功能设计 .143.6 仿真接口电路 .15第四章 系统软件主要设计流程 .164.1 综述 .164.2 系统软件主流程图 .164.3 音乐闹铃程序 .1
11、74.4 键盘程序 .184.5 农历算法 .194.5.1 农历算法的理论研究 .194.5.2.阴历算法的流程图 .20第五章 系统测试 .225.1 软件仿真 .225.2 实物仿真 .225.2.1 测试过程 .225.2.2 测试结果 .23结论 .24参考文献 .25致谢 .26附录:设计原理图 .27长春理工大学毕业设计6第一章 绪论1.1 研究目的和意义现在生活节奏的加快,使电子时钟成为人们生活必不可少的物品,广泛应用于个人家庭及各种公共场所,给我们的学习,生活,娱乐带来极大的方便。随着技术的发展,人们不再满足于钟表原先简单的报时功能,而追求更多更先进的功能,诸如日历显示,闹钟
12、的应用,以带来更大的方便,而所有这些,又都是以数字化的电子钟为基础的。万年历就是实现这些功能的数字化的电子时钟。研究万年历及其扩展应用,可以方便人们了解农历的节日,节气,其具有的附加功有着非常现实的意义。1.2 国内外研究现状随着电子科技的发展,使得万年历也不断改进,最初万年历的核心部件石英晶体振荡器己被集成电路取代,数字集成技术的发展,虽然使得电子时钟走时准确,稳定性也很高的 MOS 集成电路的电路相对复杂,功耗高,维护起来难,且断电后调整时间极不易。现在单片机,DSP,FPGA 已取代集成芯片成为万年历核心,现在国内外市面上的很多先进的万年历都采用这几种电路组成。它们可以通过编程很方便的而
13、是先多种功能,同时以很小的体积和其它产品相组合,功能更强大。如音乐旋律的整点报时和闹铃,且可根据个人喜好改编音乐的万年历,红外遥控万年历,带人工语音的万年历,带温湿度测试的万年历,万年历笔筒,万年历相册等等,除了在功能方面不断的增多外,在显示设备上,质量体积更轻更小的 LCD 液晶显示已逐步取代 LED,现在所研制的新型的具有汉显功能的 LCD 不仅可以显示基本的时间,年月日,还可以显示各种节日和农历的节气。万年历的不断更新,为我们生活带来极大的方便。 1.3 本设计研究的内容本设计就是以 AVR 单片机 Mega16 为核心的万年历 ,同时加以键盘电路断电长春理工大学毕业设计7后能够自由修改
14、时间,并采用具有汉显功能液晶显示电路弥补了 LED 显示的缺点,质量更轻,体积更小,电路更简化,减少辐射。设计中重点研究了时钟芯片精确计时的问题和公农历转换的算法,用时钟芯片代替内部时钟,使得计时更准确。万年历设计中的难点就是公农历转换,研究明白此问题,才能编出子程序,显示出公历日对应的农历日。长春理工大学毕业设计8第二章 系统整体设计方案2.1 系统功能分析本系统是基于 Mega16 的数字万年历设计。它除了能显示基本的年月日外,还能显示农历,同时具有音乐闹铃,整点报时和断电后调整时间的功能。这些功能由Mega16,时钟,键盘和显示共同作用下实现。2.2 系统方案论证2.2.1 时钟模块方案
15、一:基本门电路搭建用基本门电路实现时钟发生器,电路结构复杂,故障系数大,不易调试。方案二:由单片机实现时钟功能单片机内部具有定时器,可方便实现定时功能,通过计算可知,是定时器没25ms 产生一次中断,当产生 40 次中断后秒单元将加一,以此类推,从而实现时,分,秒的走时,并加以显示. 但由于系统晶振误差,温漂,中断响应时间的不确定性及定时器重新装载时间常数所带来的误差,决定它不能用来作为时钟的时基中断。方案三:专用时钟芯片目前市场上已有很多实时时钟芯片。DS12887.DS1302.DS1307.PCF8563.X1227等,芯片内部集成了时钟/ 日历功能,给时钟系统设计带来很多方便。因此计时
16、功能宜选用选用专用时钟芯片为宜,时钟模块采用方案三来实现2.2.2 键盘模块方案一:采用独立按键电路每个按键单独占用一根 I/O 接口线,每个 I/O 口的工作状态互不影响,此类键长春理工大学毕业设计9盘采用端口直接扫描方式。但是当按键较多时占用单片机的 I/O 口数目。方案二:采用阵列式键盘此类键盘是采用行列扫描方式,当按键较多时可以降低占用单片机的 I/O 的I/O 数目。本设计中按键为八个,需接口多,采用 2*4 行列式键盘2.2.3 显示模块方案一:使用多个数码管显示LED 数码管式利用二极管发光显示数字和字母,具有亮度大,接口设计比较容易,价格相对便宜等优点。但是由于它工作电流较大。
17、不能显示汉字,显示信息量有限,若在此题目中应用就会受到很大限制。方案二:采用液晶显示液晶特别是具有汉字显示功能的液晶显示器,来实现显示功能,不仅可以实现基本的显示信息,而且可以显示丰富的符号指示信息以及文字指示信息,信息灵丰富且直观易懂。而且液晶显示有功耗低,体积小,重量轻,寿命长,不产生电磁辐射等优点。系统采用方案二,设计选用 LCD1602长春理工大学毕业设计10第三章 系统硬件设计本系统以 Mega16 为核心部件,使用串行时钟芯片 DS1302,实现时间和闹钟的设置功能。通过键盘和液晶 LCD1602 提示可方便地校对时钟和设置闹钟时间,且断电后可实现自由调整时间,同时具有音乐播放和闹
18、铃的的功能,系统的整体框图如图 3.1 所示。单片机MEGA16时 钟 芯 片 D S 1 3 0 2按 键 电 路音 乐 闹 铃 电 路L C D 1 6 0 2J T A G J I E 接 口3.1 数字万年历的硬件结构图下面介绍下本文涉及到的几个部分:3.1 Mega16 单片机电路设计3.1.1 Mega16 的介绍Mega16是ATMEL公司的一款高性能、低功耗得 8 位AVR微处理器, 使用先进得RISC 结构, 大多数指令的 执行时间为单个时钟周期, 所以运算速度更快! 两个具有独立预分频器和比较器功能的 8 位定时器/ 计数器;一个具有预分频器、比较功能和捕捉功能得 16 位定时器/ 计数器;具有独立振荡器得 实时计数器RTC;四通道PWM;8 路10 位ADC 8 个单端通道, TQFP 封装的 7 个差分通道,可编程得 串行USART 接口;可工作于主机 / 从机模式得 SPI串行接口;面向字节得 两线串行接口;具有独立片内振荡器得 可编程看门狗定时器;片内模拟比较器;