基于51单片机万年历毕业设计.docx

上传人:b****2 文档编号:2056622 上传时间:2022-10-26 格式:DOCX 页数:29 大小:1.06MB
下载 相关 举报
基于51单片机万年历毕业设计.docx_第1页
第1页 / 共29页
基于51单片机万年历毕业设计.docx_第2页
第2页 / 共29页
基于51单片机万年历毕业设计.docx_第3页
第3页 / 共29页
基于51单片机万年历毕业设计.docx_第4页
第4页 / 共29页
基于51单片机万年历毕业设计.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

基于51单片机万年历毕业设计.docx

《基于51单片机万年历毕业设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机万年历毕业设计.docx(29页珍藏版)》请在冰豆网上搜索。

基于51单片机万年历毕业设计.docx

基于51单片机万年历毕业设计

 

摘要

电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。

它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能。

本系统选用DALLAS公司生产的日历时钟芯片DS1302来作为实时时钟芯片,为本系统提供详细的年、月、日、星期和小时、分钟等时间信息。

数字万年历采用直观数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有闹钟和时间校准等功能。

该电路采用AT89C52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

本系统硬件部分由AT89S52单片机、DS1302时钟芯片、1062液晶显示器、DS18B20温度测量、键盘、蜂鸣器系统等部分构成。

软件部分在keil环境下用C51语言编写,包括时间设置、时间显示、定时设置、定时闹钟、温度显示。

没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。

在编写程序过程中发现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成了程序部分的编写。

文章后附有电路原理图、程序清单,以供读者参考。

因水平有限,难免有疏落不足之处,敬请老师和同学能给与批评指正。

关键词:

时钟芯片DS1302;温度采集DS18B20;单片机AT89S52;液晶显示1602

 

 

第一章概述

 

§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:

59会直接更新到1:

00:

00;为0时,时间信息正常更新,此位可读写,不受复位操作影响。

寄存器C字节内容如下。

MSBLSB

IRQF

PF

AF

UF

0

0

0

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字节的内容如下。

MSBLSB

0

0

0

0

0

0

0

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的操作指令分为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1