毕业设计(论文)基于51单片机万历设计论文.doc
《毕业设计(论文)基于51单片机万历设计论文.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于51单片机万历设计论文.doc(32页珍藏版)》请在三一办公上搜索。
1、关键词:时钟芯片DS1302;温度采集DS18B20;单片机AT89C52;液晶显示1602摘 要 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能。本系统选用DALLAS公司生产的日历时钟芯片DS1302来作为实时时钟芯片,为本系统提供详细的年、月、日、星期和小时、分钟等时间信息。数字万年历采用直观数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有闹钟和时间校准等功能。该电路采用AT89C52单片机作为核心,功耗小,能在3V的低压工作,电压可选用35V电压供电。本系统硬件部分由AT89C52
2、单片机、DS1302时钟芯片、1062液晶显示器、DS18B20温度测量、键盘、蜂鸣器系统等部分构成。软件部分在keil环境下用C51语言编写,包括时间设置、时间显示、定时设置、定时闹钟、温度显示。没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。在编写程序过程中发现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成了程序部分的编写。文章后附有电路原理图、程序清单,以供读者参考。因水平有限,难免有疏落不足之处,敬请老师和同学能给与批评指正。目 录第一章 概述31.1实时时钟研究的背景及意
3、义31.2论文主要研究内容31.2.1 系统设计实现的目标31.2.2 系统的总体设计3第二章 硬件电路设计52.1单片机最小系统52.2时钟芯片电路52.2.1 时钟芯片引脚介绍62.2.2时钟芯片DS1302,其内存空间介绍72.2.3 4个控制寄存器介绍82.4温度采集电路设计92.4.1 DS18B20的主要特性92.4.2 DS1820的基本操作指令102.4.3 温度测量的步骤102.4.4 DS18B20的操作时序112.5 1602LCD液晶显示屏122.5.1 1602字符型LCD简介122.5.2 1602引脚功能说明122.5.3 1602LCD的指令说明及时序132.5
4、.4 1602LCD的RAM地址映射及标准字库表152.5.5 1602LCD的一般初始化(复位)过程162.4.6 1602LCD的电路连接162.6 蜂鸣器闹铃电路172.7 按键调整电路172.8 电源模块18第三章 软件部分设计193.1 主程序流程193.2 时间设置子程序流程193.3 闹钟设置子程序流程203.4 程序设计问题213.4.1 按键抖动问题213.4.2 蜂鸣器设置213.4.3 液晶显示的设置213.4.4 中断设置213.4.5 时钟芯片设置22第四章 开发工具Proteus与Keil242.1 Proteus软件242.1.1 Proteus简介242.1.2
5、 4大功能模块252.1.3 ISIS智能原理图输入系统262.1.4 Proteus简单应用262.2 Keil软件272.2.1 Keil软件简介272.2.2 Keil软件调试功能282.3本章小结28结束语29致谢词30参考文献31附件132第一章 概述1.1实时时钟研究的背景及意义在现实我们生活中每个人都可能有自己的时钟,光阴在永不停息的流逝,有了时钟人们就能随着时间有计划的过着每一天。然而现在绝大部分的时钟有的需要不断地跟换电池,有些时钟需要外接电源,如果一旦电池没电或者外接电源无法供电,时钟就会停止计时了。而美国DALLAS 公司的新型时钟日历芯片DS1302就能解决这一问题。该
6、器件能提供实时时钟(RTC)/日历、定时闹钟。少于31天的月份,月末日期可自动调整,其中包括闰年补偿。该器件还可以工作于24小时货代/PM指示的12小时格式。一个精密的温度补偿电路用来监视Vcc的状态。本时钟还具有环保、走时无噪音、低功耗等非实时时钟不具有的功能。该实时时钟不但可以作为家用,而且更可以在公共场合使用,如车站、码头、商场等场所。1.2论文主要研究内容1.2.1 系统设计实现的目标本文是以实时时钟芯片DS1302和AT89C52单片机为主要研究对象,着重进行51单片机控制系统的设计研究和如何读取DS1302内部时钟信息的研究。以及运用18B20进行实时温度检测。主要内容包括:1)
7、实时温度显示;2) 年月日星期时分秒显示;3) 年月日星期时分秒调整;4) 闹钟定时小时分钟和秒;1.2.2 系统的总体设计采用AT89C52作为主控单片机,时钟模块选用DS1302作为时钟芯片,温度模块选用DS18B20作为温度传感器,显示模块选用LCD1602,设置部分选用按键电路。AT89C52与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器
8、 、双数据指针 、掉电标识符 。DS1302 实时时钟芯片功能丰富,可以用来直接代替IBM PC 上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887 相兼容。由于DS1302 能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS1302 中自带有锂电池,外部掉电时,其内部时间信息还能够保持10 年之久;对于一天内的时间记录,有12 小时制和24 小时制两种模式。用户还可对DS1302 进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。DS18B20可组网数字温度传感器芯片封装而
9、成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。可编程的分辨率为912位 温度转换为12位数字格式最大值为750毫秒 用户可定义的非易失性温度报警设置。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。采用一线通信接口。该系统的系统框图如图1.1示:图1-1系统框图第二章 硬件电路设计2.1单片机最小系统本系统以AT89C52单片机为核心,本系统选用11.0592MHZ的晶振,使得单片机有合理的运行速度。起振电容30pF对振荡器的频率高低、振荡器的稳定性和起振的快速性影响较合适,复位电
10、路为按键高电平复位。AT89C52单片机最小系统电路设计如图2.1所示。图2-1 单片机最小系统2.2时钟芯片电路2.2.1 时钟芯片引脚介绍1) 时钟芯片DS1302,其引脚分布图如下所示图2-2时钟引脚分布MOT (1脚) :总线时序模式选择脚。接高电平,选择MOTOROLA总线时;序;接低电平或悬空,择选择INTEL总线时序。NC (2,3,16,20,21,22脚):悬空脚。AD0AD7(411脚):地址/地址数据复用总线引脚。CS(13脚):片选脚,低电平有效。AS(14脚):地址锁存输入脚。下降沿时,地址被锁存,紧接着的上升沿来时地址被清除。R/W(15脚):读/写输入脚。在选择M
11、OTOROLA总线时序模式时,此引脚用于指示当前的读写周期,高电平指示当前为读周期,低电平指示当前为写周期;选择INTEL中线时序模式时,此引脚为低电平有效的输入脚,相当于通用RAM的写使能信号(/WE)DS(17脚):选择MOTOROLA总线时序模式时,此引脚为数据锁存脚;选择INTEL总线时序模式时,此引脚为读输入脚,低电平有效,相当于典型的内存的输出使能信号(/OE)RESET(18脚):复位脚,低电平有效,复位不会影响到时钟、日历和RAM。IRQ(19脚):中断申请输出脚,低电平有效,可作为微处理器的中断输入。SQW(23脚):方波信号输出脚。可通过设置寄存器位SQWE关断此信号输出,
12、此信号的输出频率也可通过对芯片内部的寄存器编程予以改变。VCC(24脚):+5v电源端。2.2.2时钟芯片DS1302,其内存空间介绍图2-3 时钟、日历和闹钟数据模式BCD模式(DM=0)图2-4 时钟、日历和闹钟数据模式二进制模式(DM=1)2.2.3 4个控制寄存器介绍DS1302有4个控制寄存器,在任何时间都可以进行访问,即使处于更新周期。寄存器A字节的内容如下。MSB LSB UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0UIP: 更新标志位。为只读位且不受复位操作的影响,为1时,表示即将发生的数据更新;为0时,表示至少244US不会更新数据。当UIP为0时,可以获得
13、所有时钟、日历、闹钟信息。将寄存器B中的SET位置1可以限制任何数据更新操作,并且清除UIP位。DV2、DV1、DV0:此3位为010时将打开晶振,并开始计时。RES3、RES2、RES1、RES0:用于设置周期性中断产生的时间周期和输出方波的频率。寄存器B字节的内容如下。 MSB LSB SET PIE AIE UIE SQWE DM24/12 DSESET:设置位,可读写,不受复位操作影响。为0时,不处于设置状态,芯片进行正常时间数据更新;为1时,抑制数据更新,可以通过程序设定时间和日历信息。PIE:周期性中断使能位,可读写,复位时清除此位。为1时,允许寄存器C中的周期中断标志位PF,驱动
14、/IRQ引脚为低产生中断信号输出,中断信号产生的周期由RS3RE0决定。AIE:闹钟中断使能位,可读写。为1时,允许寄存器C中的闹钟中断标志位AF、闹钟发生时就会通过/IRQ引脚产生中断输出。UIE:数据更新结束中断使能位,可读写。复位或者SET位为1时清除此位。为1时允许寄存器C中的更新结束标志UF,更新结束时就会通过/IRQ引脚产生中断输出。SQWE:方波使能位,可读写,复位时清除此位。为0时,SQW引脚保持低电平;为1时,SQW引脚输出方波信号,其频率由RS3RS0决定。DM:数据模式位,可读写,不受复位操作影响。为0时,设置时间、日历信息为二进制数据;为1时,设置为BCD码数据。24/
15、12:时间模式设置为,可读写,不受复位操作影响。为0时,设置为12小时模式;为1时,设置为24小时模式。DSE:为1时,会引起两次特殊的时间更新;4月的第一个星期日凌晨1:59:59会直接更新到3:00:00,10月的最后一个星期日凌晨1:59:59会直接更新到1:00:00;为0时,时间信息正常更新,此位可读写,不受复位操作影响。寄存器C字节内容如下。 MSB LSB IRQF PF AF UF 0 0 0 0IQRF:中断申请标志位。为1时,/IRQ引脚为低,产生中断申请。当PF、PIE为1时或者AF、ATE为1或者UF、UIE为1时,此位为1,否则置0.PF:中期中断标志位。为1时,它是
16、只读位,和PIE位状态无关,由复位操作或者寄存器C操作清除。AF:闹钟中断标志位。为1时,表示当前时间和闹钟设定时间一至,由复位操作或读寄存器C操作清除。UF:数据更新结束中断标志位。每个更新周期后此位都会置1,当UIE位位置1时,UF若为1就会引起IRQF置1,将驱动/IRQ引脚为低电平,申请中断。此位由复位操作或读寄存器C操作清除。寄存器D字节的内容如下。 MSB LSB 0 0 0 0 0 0 0 0VRT;RAM和时间有效位。用于指示和VBAT引脚连接的电池状态。此位不可写,也不受操作为影响,正常情况下读取时总去为1,如果出现读取为0的情况,则表示电池耗尽,时间数据和RAM中的数据就会
17、出现问题。芯片DS12CR887的113字节普通RAM空间为非易失性RAM空间,他不专门用于某些特别功能,而是可以在未处理器程序中作为非易失性内存空间使用。2.4温度采集电路设计2.4.1 DS18B20的主要特性适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。温范围551
18、25,在-10+85时精度为0.5。可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2.4.2 DS1820的基本操作指令DS1820的操作指令分为ROM操作命令和存储器操作命令。(1)、ROM操作命令及其含义Read ROM指令代码(33h):如果
19、只有一片DS1820,可用此命令读出其序列号,若在线DS1820多于一个,将发生冲突。Match ROM指令代码(55h):多个DS1820在线时,可用此命令匹配一个给定序列号的DS1820,此后的命令就针对该DS1820。Skip ROM指令代码(CCh):此命令执行后的存储器操作将针对在线的所有DS1820。Search ROM指令代码(F0h):用以读出在线的DS1820的序列号。Alarm Search指令代码(ECh):当温度值高于TH或低于TL中的数值时,此命令可以读出报警的DS1820。(2)、存储器操作指令代码及其含义Write Scratchpad指令代码(4Eh):写两个字
20、节的数据到温度寄存器。Read Scratchpad指令代码(BEh):读取温度寄存器的温度值。Copy Scratchpad指令代码(48h):将温度寄存器的数值拷贝到EERAM中,保证温度值不丢失。Convert T指令代码(44h):启动在线DS1280做温度A/D转换。Recall E2指令代码(B8h):将EERAM中的数值拷贝到温度寄存器中。Read Power Supply指令代码(B4h):在本命令送到DS1280之后的每一个读数据间隙,指出电源模式:“0”为寄生电源;“1”为外部电源。2.4.3 温度测量的步骤(1).Read ROM(33h),每次对DS1820进行操作之前
21、都要对它进行初始化,主要目的在于确定传感器已经连接到单总线上。(2).Search ROM(F0h),这条指令使处理器用排除的方法去辨别总线上的DS1820。(3).Match ROM(55h),只有准确的符合64位ROM序列的DS1820才能响应其后的指令,当然,单点测温时可以使用SkipROM(CCh)指令来跳过这一步。(4).Convert T(44h),发完指令后应查询总线上的电平,当电平位高时温度转换完成。(5).Read Scratchpad(BEh),将读指令发出后,就可从总线上读得表示温度的2字节二进制数。2.4.4 DS18B20的操作时序由于采用单总线数据传输方式,DS18
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 51 单片机 万历 设计
链接地址:https://www.31ppt.com/p-3978316.html