版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淮阴工学院毕业设计说明书(论文)第15页共15页绪论1.1研究的意义万年历在古代被称为实用的书或历书,并按照一个特定的日历年计算规则,安排日、月。万年历不仅在人类生产、生活中必不可少,而且其内容与形式也越来越丰富了。现如今,由于时代发展的脚步不断前进,人类对高科技的向往使得传统的只用于计时的万年历已经不能满足现代人的需求,在此背景下,具有多种功能的数字万年历应运而生。数字万年历不再只局限于对日期、时间的计时,它还能智能化的判断当前年份是否是闰年,同时它还能够显示农历日期,这样更方便了人们对节气的把握。并且它还能够准确的测量当前的温度与湿度并在LCD数字显示屏上显示出来[2]。它还具备整点提示、时间校准、节日提示等许多人性化的设置于功能。与传统万年历相比,多功能数字万年历不但计时精准,同时携带方便,功能多样。多功能数字万年历的使用成为了一种主流。1.2设计的思路多功能数字万年历具有准确显示时间日期、设置闹钟以及实时显示环境温度、湿度的功能。设计结构模块化管理,包含了主控模块、时钟模块、键盘扫描模块、温湿度传感器模块和显示模块[4]。设计系统采用keilc51软件系统[5]。控制单元采用C语言编程[6],此计算机可移植性强,便于后期扩展,并且各硬件模块成本低廉,适合广泛使用。1.3设计的目标本设计的目的在于设计一个结构简单,功耗小,实用性强的多功能数字万年历。该万年历不仅结构简单,功耗小,同时它具有实时计时、整点闹铃、闰年与非闰年判断的功能。其特色是能显示阴历日期,并对中国传统的几大节日进行设置提醒,同时它采用24h格式进行计时;它还能够实时的记录下当前天气的温度和湿度数值,这些数据都会在LCD显示屏上面显示出来[10];它还具有记忆功能,即使在突发情况下,例如突然断电,系统不能正常运作时也可以计时,这样就避免了由于突发事件而产生的时间不准确的情况。基于我所学的专业和多功能万年历的市场前景,我打算设计一个基于单片机的多功能万年历作为我的毕业设计。这样既能巩固我在大学所学的知识,设计出来的作品又能为大众所用,一举两得。系统的总体设计由于通过单片机实现数字万年历的方法有很多种,同时单片机的类型同样具有很多选择,所以在做此设计之前需要明确选择的方案。选择了正确的方案不仅可以节约成本,同时还可以使我们的设计结果更加准确,操作更加方便。减少了开发的难度,也缩短了开发的时间。系统基本方案选择和论证单片机芯片的方案选择和论证方案一:采用传统的AT89C51单片机芯片, AT89C51是由Atmel公司开发的,它是一种自带4K字节闪烁可编程可擦除只读存储器(FPEROM-FlashProgrammableErasableReadOnlyMemory)且具有低电压、高性能的8位微处理机,俗称单片机。它能够与MCS-51兼容。但是其存储空间较小,所以不采用此芯片。方案二:采用AT89S52芯片,AT89S52同样是Atmel公司的,它是一种低功耗,高性能CMOS8位微处理机,具有8K的Flash存储器。AT89S52具有支持ISP下载、使用方便,可靠性好、在线编程可擦除等优点。在本次设计中由于需要我们编写的程序代码多,为防止4K字节的存储器的存储空间不够,所以我们选择具有自带8K字节只读存储器的AT89S52单片机芯片。同时在线编程可擦除的优点也方便我们对编写的代码随时进行修改。经过论证我选择AT89S52芯片作为主控制系统。2.1.2时钟芯片的方案选择和论证方案一:采用DS12C887时钟芯片,DS12C887时钟芯片采用直插式,内部集成可充电锂电池,同时内部还集成了32.768kHz的标准晶振,使用方便。但是它的体积相对较大,同时它的引脚相较于DS1302也较多,所以不采用它。方案二:直接利用软件编程控制定时器来实现计时功能,虽然通过其定时功能能够实现对时间、日期的计时和计数,但是用到的晶振不同等因素会使其产生很大的误差,所以不采用此方案。方案三:采用DSLLAS公司生产的DS1302时钟芯片,DS1302时钟芯片是一种体积非常小的表贴式元件,它具有计时精准、高性能、引脚少、操作简单等优点。经过论证我选择DS1302时钟芯片。显示模块的方案选择和论证方案一:采用LCD1602液晶显示器,LCD1602液晶显示器采用并行操作方式居多,每行能够显示16个字符,一共可以显示两行,只能显示ASCII码字符,如数字、大小写字母、各种符号等,但是不能显示汉字,同时其显示的字符少,不能完全满足本次设计的要求,所以不选择LCD1602液晶显示器。方案二:采用LCD12232液晶显示器,了、LCD12232采用5V电压驱动,它由122列和32行组成,不仅可以显示ASCII码字符,还可以显示图形和汉字。但是它只能显示7.5*2个汉字,而我在本次设计中需要很多的汉字显示,所以它也不能完全满足设计的要求,所以不选择LCD12232液晶显示器。方案三:采用LCD12864液晶显示器,LCD12864液晶显示器可以显示大量的字符,显示多样,可以调节清晰度,能够满足本次设计中要求,经过论证我选择LCD12864作为本次设计的显示模块。温湿度传感器的选择与论证方案一:采用DS18B20温度传感器,DS18B20温度传感器具有体积小,硬件开销低,抗干扰能力,精度高的优点,但是在本次设计中,我需要对温湿度进行测量,而不单单只对温度进行测量,所以DS18B20温度传感器不满足本次设计的要求,所以不采用。方案二:采用DHT11数字温湿度传感器,DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,确保产品的可靠性和卓越的长期稳定性。具有品质卓越、响应快速、抗干扰能力强、性价比高等优点,经过论证,我选择DHT11传感器作为测量温湿度模块。电路设计最终方案经过论证方案所得,最终选用的方案为:采用AT89S52作为主控制系统,采用DS1302时钟芯片实现时钟,通过DHT11传感器实现实时温湿度的测量。最后通过LCD12864液晶显示器来将数据实时显示出来。系统的硬件设计系统硬件的整体设计在进行本次设计之前,我们需要先画出系统的结构框图,这样不仅让我们对设计成果有个大概的印象,同时也方便了我们的设计,为我们的设计提供参考,系统的结构框图如下:图1系统结构框图系统硬件介绍3.2.1AT89S52本系统采用美国Atmel公司生产的AT89S52单片机作为主控制系统,其中AT表示Atmel公司生产的,8表示该芯片为8051内核芯片,9代表内部是Flash存储器的,S表示可下载的Flash,即支持ISP下载的Flash,52表示其型号。可能AT89S52后面会加24PC后缀,即AT89S5224PC,24表示最快的晶振频率,P表示其封装形式,C表示商用。AT89S52单片机的引脚及其功能AT89S52单片机的引脚说明如图2所示:图2AT89S52引脚图按照引脚的功能,可以将其分为三类。电源和时钟引脚。如Vcc、GND、XTAL1、XTAL2。Vcc(40脚)、GND(20脚)是单片机的电源引脚,不同型号的单片机接入对应电压电源,XTAL1(19脚)、XTAL2(18脚)是外接时钟引脚。XTAL1为片内振荡电路的输入端,XTAL2为片内振荡电路的输出端。编程控制引脚。如RST、PSEN、ALE/PROG,EA/VppI/O口引脚。如P0、P1、P2、P3,四组8位I/O口P0口(39脚~32脚)是双向8位三态I/O口,每个口可独立控制。51单片机P0口内部没有上拉电阻,为高阻状态,所以不能正常地输入高/低电平,因此该组I/O口在使用时务必要外接上拉电阻,一般选择接入10K欧姆的上拉电阻。P1口(1脚~8脚)是准双向8位I/O口,每口可独立控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,所以不是真正的双向I/O口。对52单片机P1.0引脚的第二功能为T2定时器/计数器的外部输入。P2口(21脚~28脚)也是准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。P3口(10脚~17脚)也是准双向8位I/O口,每个口可独立控制,内带上拉电阻,作为第一功能使用时就当做普通I/O口,与P1口相似。作为第二功能使用时,如下表所示:表1P3口各引脚的第二功能定义标号引脚第二功能说明P3.010RXD串行输入口P3.111TXD串行输出口P3.212INT0外部中断0P3.313INT1外部中断1P3.414T0定时器/计数器0外部输入端P3.515T1定时器/计数器1外部输入端P3.616WR外部数据存储器写脉冲P3.717RD外部数据存储器读脉冲(2)AT89S52单片机最小系统单片机的最小系统应包含:电源电路:向单片机供电,工作电压范围为4.0V-5.5V。时钟电路:单片机工作的时间基准,决定单片机的工作速度。时钟电路就是振荡电路。复位电路:确定单片机的工作的起始状态,完成单片机的启动过程。AT89S52单片机的最小系统如下图所示:图2单片机最小系统3.2.2DS1302时钟芯片介绍DS1302时钟芯片是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片。附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,时钟芯片可提供秒、分、时、日、星期、月、年,一个月小于31天可以自动调整,具有闰年补偿功能。采用双电源供电(主电源和备用电源),即在突然断电情况下,由备用电源供电,提供断电保护。时钟芯片的引脚及其功能DS1302时钟芯片的引脚图如下:图3DS1302引脚图引脚的功能,Vcc2为备用电源,Vcc1为主电源,SCLK是串行时钟输入,控制数据的输入与输出,CE为输入信号,在读、写数据期间,必须为高。X1和X2为时钟引脚,需外接32.768KHZ晶振。3.2.3DHT11温湿度传感器介绍DTH11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术,确保产品具有极高的可靠性和稳定性。传感器包括一个电阻式感湿原件和一个NTC感温元件。(1)DHT11传感器引脚及其功能DHT11传感器的引脚功能,如下表所示:表2DHT11传感器引脚功能Pin名称注解1VDD供电2DATA串行数据,单总线3NC空脚,悬空4GND接地,电源负极3.2.4LCD12864液晶显示器介绍LCD12864液晶显示器带有中文字库,是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块。其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。[1]LCD12864液晶显示器引脚机器功能LCD12864引脚图如下:图4LCD12864引脚图LCD12864各引脚的功能。Vss(编号1):电源地,接地。Vdd(编号2):电源正极,提供电源。VO(编号3):液晶显示对比度调节端,调节液晶显示的清晰度。RS(编号4):数据/命令选择端,高电平为数据选择端,低电平为命令选择端。R/W(编号5):读/写选择端,高电平为读选择端,低电平为写选择端。E(编号6):使能信号,当E为高电平时使能。D0-D7(编号7-14):数据口。PSB(编号15):并/串选择,高电平时为并行,低电平为串行。NC(编号16、18):空脚。RST(编号17):复位,低电平有效。BLA(编号19):背光电源正极。BLK(编号20):背光电源负极。3.2.5键盘模块介绍键盘分为编码键盘和非编码键盘,键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的成为编码键盘,而靠软件编程来识别的键盘称为非编码键盘,本设计采用非编码键盘中的弹性小键盘。弹性小键盘被按下时闭合,松手后自动断开。按键输入部分的作用是进行时间、日期和星期的调整、闹钟的设置以及查询农历日期,最终确定由四个按键来实现上叙功能,四个键的功能包括闹钟时间设定、时间数值的增加、时间数值的减小和取消设置。3.2.6闹铃模块介绍本设计采用的闹铃方式很简单,通过蜂鸣器来实现。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,用作发声器件。蜂鸣器在电路中用字母H或HA表示。系统硬件介绍小结本章主要介绍了本次设计需要的系统硬件,介绍了AT89S52单片机,DS1302时钟芯片,DHT11温湿度传感器,LCD12864液晶显示器,并且也介绍了按键模块和闹铃模块。4系统的软件设计多功能数字万年历的功能是在程序控制下实现的。为了方便编写和增加可读性,本设计的软件部分采用C语言进行编写。该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计和编程,最后通过主程序将各程序模块连接起来。这样有利于程序修改,增强了程序的可移植性。4.1系统流程图在编写软件代码之前,需要先列出整体的流程图,这样既让我们有了初步的概念,同时在编程的时候也有了一个清晰的思路。系统的流程图如图所示:4.2公历计算显示程序设计本次设计采用DS1302时钟芯片对时间进行实时获取,将获取数值通过程序代码在LCD12864液晶显示器上进行显示,通过时钟芯片我们可以准确的读取当前时间。4.2.1读取公历时间初始化流程图4.2.2DS1302时钟芯片内部寄存器介绍对DS1302时钟芯片的操作其实就是对它内部寄存器的操作,DS1302时钟芯片内部包括12个寄存器,其中有7个与日历、时钟有关,存放的数据位为BCD码形式。7个与日历、时钟有关的寄存器分别为秒寄存器、分寄存器、小时寄存器、日寄存器、月寄存器、星期寄存器和年寄存器。下表将主介绍7个寄存器。表4.2.2日期、时钟寄存器介绍寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器80H81H00-59CH10SECSEC分钟寄存器82H83H00-59010MINMIN小时寄存器84H85H01-12或00-2312/240APHRHR日期寄存器86H87H28,29,30,310010DATEDATE月份寄存器88H89H01-1200010MMONTH周日寄存器8AH8BH01-0700000Week年寄存器8CH8DH00-9910YEARYEAR4.2.3DS102读写时序说明DS1302采用SPI总线驱动,不仅需要从内部读取需要的日期、时间等数据,同时也需要向内部写入控制字。想要和DS1302实现通信,需要先了解它的控制字.DS1302的控制字如表所示:表4.2.3DS1302控制字765432101RAMA4A3A2A1A0RD位7必须输入高电平1,如果它为低电平0,则不能把数据写入到DS1302中。位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据。位5至位1(A4~A0):指示操作单元的地址。位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。4.2.4公历时间读取程序设计首先我们先定义DS1302使用到的I/O口,即sbitDS1302_CLK=P1^1,定义实时时钟时钟线引脚,sbitDS1302_IO=P1^2,定义实时时钟数据线引脚,sbitDS1302_RST=P1^3,定义实时时钟复位线引脚。根据需要,可分为对DS1302进行初始化,读取数据等操作。4.3公历转农历程序设计市面上的许多普通万年历没有对农历日期进行显示,所以在做本次设计时,我打算完善本次万年历的设计,在现实公历时间的基础上,对中国传统的农历日期也进行显示。4.3.1公历转农历算法研究农历又称作阴历或夏历,以月亮的圆缺为计月单位,其以逢朔为初一,以月望为十五(大月为十六日)。每月只有29天或者30天,小月为29天。经过计算这样每年只有354天,2×××××××(不换页,作为正文第2章标题,用小3号黑体,加粗,并留出上下间距为:段前0.5行,段后0.5行)×××××××××(小4号宋体)×××××××××××××××××××××××××××××××××××………注:1.正文中表格与插图的字体一律用5号宋体;2.正文各页的格式请以此页为标准复制,页眉中的页码用阿拉伯数字表示(本文档的页码已设置成自动格式);3.为保证打印效果,学生在打印前,请将全文字体的颜色统一设置成黑色。
(本页为独立页,空2行)结论(小3号黑体,居中)×××××××××(小4号宋体,1.5倍行距)×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××…………说明:结论是文章的最终的、总体的结论。应当准确、完整、明确、精练。如不可能导出应有的结论,也可以没有结论而进行必要的讨论。可以在结论或讨论中提出建议、研究设想、对仪器设备的改进意见、尚待解决的问题等等。
(本页为独立页,空2行)致谢(小3号黑体,居中)×××××××××(小4号宋体,1.5倍行距)×××××××××××××
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版个人车辆长途运输及车辆检测、维修、保养、租赁、保险、改装与租赁服务合同3篇
- 2024年分项工程专业劳务外包合同2篇
- 2024年度租赁合同(影视器材及道具)
- 2024年度航空公司票务系统升级与维护合同3篇
- 2024年团队出境旅游全程导游陪同服务合同3篇
- 2024年标准电源设备买卖合同模板版B版
- 2024年度危险品运输道路通行权购买合同3篇
- 2024年度房地产股权并购与整合解决方案合同3篇
- 2024年度网络科技有限公司服务合同2篇
- 2024版太阳能灯箱广告安装与维护服务合同3篇
- 大学生朋辈心理辅导智慧树知到期末考试答案章节答案2024年浙江大学
- 完整版场记单模板
- 实木家具工艺标准(全流程)
- 高一语文必修一4篇古文 词类活用(课堂PPT)
- 商业发票Commercial Invoice模板2
- OPERA系统培训ppt课件
- 电镀工艺-电镀镍
- 幼小衔接中幼儿园与小学合作的国内外研究现状分析
- 110Kv输变电工程电气安装技术交底
- 工厂常用英语
- 海上平台场址工程地质勘察规范
评论
0/150
提交评论