基于单片机的万年历设计毕业设计.docx
- 文档编号:4807967
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:38
- 大小:646.67KB
基于单片机的万年历设计毕业设计.docx
《基于单片机的万年历设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的万年历设计毕业设计.docx(38页珍藏版)》请在冰豆网上搜索。
基于单片机的万年历设计毕业设计
摘要
现代电子万年历在家庭居室、学校、车站和广场使用的越来越广泛,给人们的生活、学习、工作带来了极大的方便。
针对以往的电子万年历断电后的需要重新调整时间与日期,并且计时误有差现象。
本系统设计采用了实时芯片(DS1302)作为计时器件,该芯片内部自带晶振荡器,这样就有效的保证了计时的精确性,并且内部自带电池使得在断电的情况下能够继续的更新时间信息。
本设计采用了AT89C51作为主要控制器,为了提高电路的使用性加入了报时和闹钟功能。
电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。
它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89C51单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。
在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。
在编写程序过程中发现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成了程序部分的编写。
万年历的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C51单片机,LCD显示电路,以及调时按键电路等组成。
在单片机的选择上本人使用了AT89C51单片机,该单片机适合于许多较为复杂控制应用场合。
最后总在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计。
Abstract
E-calendar-bedroomathome,schools,stationsandmoreextensiveuseofplazaforpeople’slives,study,workgreatconvenience.Electronicscalendarforthepastneedtore-adjustafterpower-offtimeanddate,andtimeisabigerror,Designedthesystemusingreal-timeclockchip(DS1302)asatimeparts,thechipcomeswithaninternalcrystaloscillator,sothateffectivelyguaranteetheaccuracyofthetimeandhangowninternalbatterypowermakesthesituationwillcontinuetoupdatethetimeinformation.ThisdesignusesAT89C51asthemaincontroller,inordertoimprovethepracticalityofthecricuitaddtemperaturemeasurementcircuit,timekeepingandalarmfuntinons.
E-calendardaytimeisaverywiderangeoftools,increasinglypopularinmodernsociety.Itcanbeyear,month,day,Sunday,hours,minutes,secondsfortime,butalsohasaleapyearcompensationtoavarietyoffunctions,andtheDS1302'slonglife,smallerror.Forthedigitalelectroniccalendarusinganintuitivedigitaldisplaycansimultaneouslydisplayyear,month,day,Sunday,hours,minutes,seconds,andtemperatureandotherinformation,butalsoatime-calibrationandotherfunctions.ThecircuitusesAT89C51microcontrollerasthecore,powerconsumption,low-voltageworkin3V,thevoltagecanchoose3~5Vvoltagesupply.
Thedesignisbasedon51seriesofmicrocontrollerstothedesignofelectroniccalendar,youcandisplaydateinformationonwhentheminutesandseconds,andweeks,withadjustabledateandtimefunctions.AtthesametimeinthedesignofthetheoreticalbasisoftheMCUandperipheralexpansionofknowledgeofthemorecomprehensivepreparation.Thehardwareandsoftwaredesign,thereisnogoodbasicknowledgeandpracticalexperiencewillbegreatlylimited,eachfeatureisrequiredtoachievethekindofhardware,procedures,howtowrite,howtoimplementsuchalgorithms,thereisnocertainfoundationcannotbegoodimplementation.Foundduringthepreparationprocesstotheexistingknowledgetocompletethepreparationofthetaskalonedifficult,
Inthehelpofteachersandstudentstocompletetheprogrampartofthepreparation.
Calendarofthedesignprocessinhardwareandsoftwaretosynchronizethedesign.HardwaremainlybytheAT89C51microcontroller,LEDdisplaycircuit,andthetunecomposedofthecircuitwhenthebutton.IntheSCMchoiceIusedtheAT89C51microcontroller,whichissuitableformanyofthemorecomplexcontrolapplications.Thefinaloveralltheteachertohelpstudents,aswellastheirowneffortstocompletethedesignoftheelectroniccalendar.
【摘要】…………………………………………………………………………………...............1
第一章、设计要求与方案论证
1.1 设计要求……………………………………………………………………………………..5
1.2系统基本方案选择和论证…………………………………………………………………...5
1.2.1单片机芯片的选择方案和论证………………………………………………………..5
1.2.2显示模块选择方案和论证……………………………………………………………..6
1.2.3时钟芯片的选择方案和论证…………………………………………………………...6
1.3电路设计最终方案决定………………………………………………………………………7
第二章、系统的硬件设计与实现
2.1电路设计框图………………………………………………………………………………...7
2.2主要单元电路的器件………………………………………………………………………….7
2.2.1单片机主控制模块…………………………………………………………………...7
2.2.2时钟电路模块………………………………………………………………………...10
2.2.3显示电路…………………………………………………………………..………….13
2.2.4按键电路…………………………………………………………………………….14
2.2.5晶振电路………………………………………………………………………….….15
第三章、日历算法
3.1电子日历优化算法……………………………………………………………………………16
第四章、系统的软件设计
4.1程序流程框图……………………………………………………………………………..….18
第五章、软件仿真
5.1仿真过程……………………………………………………………………………………...21
5.2显示模块的设计……………………………………………………………………………...22
第六章、总结…………………………………………………………………………….……….23
参考文献……………………………………………………………………………..……..24
致谢………………………………………………………………………………………………..25
附录一:
系统程序清单…………………………………………………………………………..26
第一章、设计要求与方案论证
1.1 设计要求:
设计一个能够显示年、月、日、时、分、秒、星期功能的数字万年历。
采用LCD显示年、月、日、时、分、秒、星期,并具备以下功能:
1具备年、月、日、星期、时、分、秒校准功能;
2设置按键为选择,按键为加,按键为减,按键为确定;
3自动将日期时间调整控制在合理范围内,星期调整会在调整年月日时自动完成;
4星期及时间信息,调整时钟时,所选择的调整对象反白显示。
1.2系统基本方案选择和论证
1.2.1单片机芯片的选择方案和论证:
随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。
集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-ChipMicrocomputer)。
而近年来推出的一些高档单片机还包括有许多特殊功能单元,如A/D、D/A转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元等。
因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业控制系统、数据采集系统、自动测试系统、万年历电子表等。
单片机的出现,并在各个技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关:
1、单片机构成的应用系统有较大的可靠性。
这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及应用有最少的联接外,还可以方便地采用软、硬件技术。
2、系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应用系统有较高的软、硬件利用系数。
3、由于构成的应用系统是一个计算机系统,相当多的测、控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当地改变系统功能。
顾本次选择单片机作为核心处理器,并且做了以下比较:
片方案一:
采用89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
方案二:
采用STC89C52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,对所下载的程序能够加密,比较安全。
当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯造成损坏。
由于实验室AT89C51比较多而且比较实惠顾选择AT89C51。
1.2.2显示模块选择方案和论证:
方案一:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。
方案二:
采用LED数码管动态扫描,虽然LED数码管价格适中,但要显示多个数字所需要的个数偏多,功耗较大,所以也不用此种作为显示。
方案三:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,与普通数码管相比功耗较小,硬件连接简单。
所以显示部分采用LCD12864(不含字库)液晶。
1.2.3时钟芯片的选择方案和论证:
方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
方案二:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。
1.3电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:
采用STC89C51作为主控制系统;DS1302提供时钟;LCD12864(不含字库)液晶作为显示。
第二章、系统的硬件设计与实现
2.1电路设计框图
图1设计图
2.2主要单元电路的器件
2.2.1单片机主控制模块
单片机实质上是一个芯片,在实际应用中,必须外加各种扩展接口电路、外部设备等相关硬件和软件,才能构成一个单片机系统。
尽管各类单片机很多,但无论是从世界范围或是从全国范围来看,使用最为广泛的应属MCS-51单片机。
单片微型计算机市指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU、随机存储器RAM、只读存储器ROM、基本输入/输出接口电路、定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。
89C51单片机是在一块芯片中集成了CPU、存储器、定时器/计数器和多种功能的I/O现等一台计算机所需的基本功能部件。
主要包括1个8位CPU、1个片内振荡器及时钟电路、128BRAM、4KBROM、2个16位定时器计数器、32条可编程的I/O线和一个可编程的全双工串行接口、5个中断源、2个中断优先级套中断结构。
其内部结构示意图如图2:
图2单片机内部结构示意图
1、中央处理器CPU是单片机的内部核心部件,是一个8位二进制数的中央处理单元,主要由运算器,控制器和寄存器阵列构成。
2、控制器控制器是单片机内部各部件按一定时序协调工作的控制核心,是分析和执行指令的部件。
控制器主要由程序计数器、指令寄存器、指令译码器、振荡和定时控制逻辑电路等构成。
3、寄存器阵列寄存器阵列式单片机内部的临时存储单元或固定用途单元,包括通用寄存器组和专用寄存器组。
4、存储器程序存储器是可读不可写的,用于存放编号的程序和表格常数。
5、数据存储器是即可读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。
6、定时器计数器89C51内部有2个16位可编程定时器计数器,简称为定时器0(T0)和定时器1(T1),T0和T1在定时器控制寄存器TCON和定时器方式选择寄存器TMOD的控制下,可工作在定时器模式或计数器模式下,每种模式又有不同的工作方式。
89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
7、并行输入输出(I/O)口89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的。
89C51有40条引脚,与其他51系列单片机引脚是兼容的。
这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分。
89C51单片机为双列直插式封装结构,如图3所示。
图389C51引脚分配图
Pin40:
电源脚。
工作电压为+5V
Pin20:
接地端
P0口:
P0口为一个8位漏极开路的双向I/O口,每脚可以吸收8TTL门电流。
当P0口的管脚第一次写“1”时,被定义为高阻输入,P0口能够用于外部数据存储器,它可以被定义为数据/地址的第八位,在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0口输出原码,此时,P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流,P1口管脚写入1时,被内部上拉为高,可用作输出,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可以接收、输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
因此作为输入时,P2口的管脚被外部拉低,将输出电流,这就是内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可以接收输出4个TTL门电流。
当P3口写入“1”时,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平;P3口将输处电流(ILL),这就是上拉的缘故。
P3口也可以作为AT89C51的一些特殊功能口,如下所示:
P3.0:
RXD(串行输入口)
P3.1:
TXD(串行输出口)
P3.2:
(外部中断0)
P3.3:
(外部中断1)
P3.4:
T0(定时/计数器0)
P3.5:
T1(定时/计数器1)
P3.6:
(外部数据存储器写选通线)
P3.7:
(外部数据存储器读选通线)
P3口同时为闪烁编程和编程校验接收一些控制信号
RST复位输出:
当振荡器复位时,要保持RST脚两个机器周期的高电平时间。
XTAL1:
反向振荡器的输入及内部时钟工作电路的输入;
XTAL2:
来自反向振荡器的输出。
振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石英振荡器和陶瓷振荡器均可采用,如果采用外部时钟源驱动器件,XTAL2应不连接,有余的输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉冲没有任何严格的要求,但必须保证脉冲的高低电平要求的宽度。
2.2.2时钟电路模块
(1)时钟芯片DS1302的工作原理:
DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。
表1为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。
对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。
位1至位5指操作单元的地址。
位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。
控制字节总是从最低位开始输入/输出的。
表6为DS1302的日历、时间寄存器内容:
“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。
“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。
当“WP”为1时,写保护位防止对任一寄存器的写操作。
(2)DS1302的控制字节
DS1302的控制字如表-1所示。
控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出
RAMRD
1A4A3A2A1A0
/CK/WR
表1DS1302的控制字格式
(3)数据输入输出(I/O)
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
如下图-3所示:
图4DS1302单字节读/写时序图
(4)DS1302的寄存器
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表2。
表2DS1302的日历、时间寄存器
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。
DS1302与RAM相关的寄存器分为两类:
一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
图5所示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 万年历 设计 毕业设计