基于51单片机万年历毕业设计Word文件下载.docx
《基于51单片机万年历毕业设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机万年历毕业设计Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。
![基于51单片机万年历毕业设计Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/26/e17b2d1b-8676-494e-9a7b-da1ee8639985/e17b2d1b-8676-494e-9a7b-da1ee86399851.gif)
§
1.1实时时钟研究的背景及意义
在现实我们生活中每个人都可能有自己的时钟,光阴在永不停息的流逝,有了时钟人们就能随着时间有计划的过着每一天。
然而现在绝大部分的时钟有的需要不断地跟换电池,有些时钟需要外接电源,如果一旦电池没电或者外接电源无法供电,时钟就会停止计时了。
而美国DALLAS公司的新型时钟日历芯片DS1302就能解决这一问题。
该器件能提供实时时钟(RTC)/日历、定时闹钟。
少于31天的月份,月末日期可自动调整,其中包括闰年补偿。
该器件还可以工作于24小时货代/PM指示的12小时格式。
一个精密的温度补偿电路用来监视Vcc的状态。
本时钟还具有环保、走时无噪音、低功耗等非实时时钟不具有的功能。
该实时时钟不但可以作为家用,而且更可以在公共场合使用,如车站、码头、商场等场所。
1.2论文主要研究内容
1.2.1系统设计实现的目标
本文是以实时时钟芯片DS1302和AT89S52单片机为主要研究对象,着重进行51单片机控制系统的设计研究和如何读取DS1302内部时钟信息的研究。
以及运用18B20进行实时温度检测。
主要内容包括:
1)实时温度显示;
2)年月日星期时分秒显示;
3)年月日星期时分秒调整;
4)闹钟定时小时分钟和秒;
1.2.2系统的总体设计
采用AT89S52作为主控单片机,时钟模块选用DS1302作为时钟芯片,温度模块选用DS18B20作为温度传感器,显示模块选用LCD1602,设置部分选用按键电路。
AT89S52与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
DS1302实时时钟芯片功能丰富,可以用来直接代替IBMPC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。
由于DS1302能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;
DS1302中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;
对于一天内的时间记录,有12小时制和24小时制两种模式。
用户还可对DS1302进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。
DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
可编程的分辨率为9~12位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置。
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
采用一线通信接口。
该系统的系统框图如图1.1示:
图1-1系统框图
第二章硬件电路设计
2.1单片机最小系统
本系统以AT89C52单片机为核心,本系统选用11.0592MHZ的晶振,,使得单片机有合理的运行速度。
起振电容30pF对振荡器的频率高低、振荡器的稳定性和起振的快速性影响较合适,复位电路为按键高电平复位。
AT89C52单片机最小系统电路设计如图2.1所示。
图2-1单片机最小系统
2.2时钟芯片电路
2.2.1时钟芯片引脚介绍
1)时钟芯片DS1302,其电路连接图如下所示
图2-2DS1302电路连接图
MOT(1脚):
总线时序模式选择脚。
接高电平,选择MOTOROLA总线时;
序;
接低电平或悬空,择选择INTEL总线时序。
NC(2,3,16,20,21,22脚):
悬空脚。
AD0~AD7(4~11脚):
地址/地址数据复用总线引脚。
CS(13脚):
片选脚,低电平有效。
AS(14脚):
地址锁存输入脚。
下降沿时,地址被锁存,紧接着的上升沿来时地址被清除。
R/W(15脚):
读/写输入脚。
在选择MOTOROLA总线时序模式时,此引脚用于指示当前的读写周期,高电平指示当前为读周期,低电平指示当前为写周期;
选择INTEL中线时序模式时,此引脚为低电平有效的输入脚,相当于通用RAM的写使能信号(/WE)
DS(17脚):
选择MOTOROLA总线时序模式时,此引脚为数据锁存脚;
选择INTEL总线时序模式时,此引脚为读输入脚,低电平有效,相当于典型的内存的输出使能信号(/OE)
RESET(18脚):
复位脚,低电平有效,复位不会影响到时钟、日历和RAM。
IRQ(19脚):
中断申请输出脚,低电平有效,可作为微处理器的中断输入。
SQW(23脚):
方波信号输出脚。
可通过设置寄存器位SQWE关断此信号输出,此信号的输出频率也可通过对芯片内部的寄存器编程予以改变。
VCC(24脚):
+5v电源端。
2.2.2时钟芯片DS1302,其内存空间介绍
图2-3时钟、日历和闹钟数据模式——BCD模式(DM=0)
图2-4时钟、日历和闹钟数据模式——二进制模式(DM=1)
2.2.34个控制寄存器介绍
DS1302有4个控制寄存器,在任何时间都可以进行访问,即使处于更新周期。
寄存器A字节的内容如下。
MSBLSB
UIP
DV2
DV1
DV0
RS3
RS2
RS1
RS0
UIP:
更新标志位。
为只读位且不受复位操作的影响,为1时,表示即将发生的数据更新;
为0时,表示至少244US不会更新数据。
当UIP为0时,可以获得所有时钟、日历、闹钟信息。
将寄存器B中的SET位置1可以限制任何数据更新操作,并且清除UIP位。
DV2、DV1、DV0:
此3位为010时将打开晶振,并开始计时。
RES3、RES2、RES1、RES0:
用于设置周期性中断产生的时间周期和输出方波的频率。
寄存器B字节的内容如下。
MSBLSB
SET
PIE
AIE
UIE
SQWE
DM
24/12
DSE
SET:
设置位,可读写,不受复位操作影响。
为0时,不处于设置状态,芯片进行正常时间数据更新;
为1时,抑制数据更新,可以通过程序设定时间和日历信息。
PIE:
周期性中断使能位,可读写,复位时清除此位。
为1时,允许寄存器C中的周期中断标志位PF,驱动/IRQ引脚为低产生中断信号输出,中断信号产生的周期由RS3~RE0决定。
AIE:
闹钟中断使能位,可读写。
为1时,允许寄存器C中的闹钟中断标志位AF、闹钟发生时就会通过/IRQ引脚产生中断输出。
UIE:
数据更新结束中断使能位,可读写。
复位或者SET位为1时清除此位。
为1时允许寄存器C中的更新结束标志UF,更新结束时就会通过/IRQ引脚产生中断输出。
SQWE:
方波使能位,可读写,复位时清除此位。
为0时,SQW引脚保持低电平;
为1时,SQW引脚输出方波信号,其频率由RS3~RS0决定。
DM:
数据模式位,可读写,不受复位操作影响。
为0时,设置时间、日历信息为二进制数据;
为1时,设置为BCD码数据。
24/12:
时间模式设置为,可读写,不受复位操作影响。
为0时,设置为12小时模式;
为1时,设置为24小时模式。
DSE:
为1时,会引起两次特殊的时间更新;
4月的第一个星期日凌晨1:
59:
59会直接更新到3:
00:
00,10月的最后一个星期日凌晨1:
59会直接更新到1:
00;
为0时,时间信息正常更新,此位可读写,不受复位操作影响。
寄存器C字节内容如下。
IRQF
PF
AF
UF
0
IQRF:
中断申请标志位。
为1时,/IRQ引脚为低,产生中断申请。
当PF、PIE为1时或者AF、ATE为1或者UF、UIE为1时,此位为1,否则置0.
PF:
中期中断标志位。
为1时,它是只读位,和PIE位状态无关,由复位操作或者寄存器C操作清除。
AF:
闹钟中断标志位。
为1时,表示当前时间和闹钟设定时间一至,由复位操作或读寄存器C操作清除。
UF:
数据更新结束中断标志位。
每个更新周期后此位都会置1,当UIE位位置1时,UF若为1就会引起IRQF置1,将驱动/IRQ引脚为低电平,申请中断。
此位由复位操作或读寄存器C操作清除。
寄存器D字节的内容如下。
0
VRT;
RAM和时间有效位。
用于指示和VBAT引脚连接的电池状态。
此位不可写,也不受操作为影响,正常情况下读取时总去为1,如果出现读取为0的情况,则表示电池耗尽,时间数据和RAM中的数据就会出现问题。
芯片DS12CR887的113字节普通RAM空间为非易失性RAM空间,他不专门用于某些特别功能,而是可以在未处理器程序中作为非易失性内存空间使用。
2.4温度采集电路设计
2.4.1DS18B20的主要特性
适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
②独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
③DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温④DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
⑤温范围-55℃~+125℃,在-10~+85℃时精度为0.5℃。
⑥可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
⑦在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
⑧测量结果直接输出数字温度信号,以"
一线总线"
串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
⑨负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2.4.2DS1820的基本操作指令
DS1820的操作指令分为