带实时日历时钟的温度检测系统.docx
- 文档编号:9834874
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:41
- 大小:429.42KB
带实时日历时钟的温度检测系统.docx
《带实时日历时钟的温度检测系统.docx》由会员分享,可在线阅读,更多相关《带实时日历时钟的温度检测系统.docx(41页珍藏版)》请在冰豆网上搜索。
带实时日历时钟的温度检测系统
山东理工大学
毕业设计(论文)
题目:
带实时日历时钟的温度
检测系统的设计
学院:
电气与电子工程学院
专 业:
应用电子技术
学生姓名:
苏丽娟
指导教师:
陈文钢
毕业设计(论文)时间:
二О一一年 2月21日~ 6月13日共16周
摘要
本文借助电路仿真软件Proteus对基于AT89S51单片机的带实时日历时钟的温度检测系统的设计方法及仿真进行了全面的阐述。
该系统在硬件方面主要采用AT89S51单片机作为主控核心,由 MAXIM6675热电偶数字转换器及DS18B20数字温度传感器采集温度、DS1302时钟芯片提供时钟、LCD1602液晶显示屏显示、L7805提供电源电路。
AT89S51单片机是由Atmel公司推出的,功耗小,电压可选用4~6V电压供电; MAXIM6675是由MAXIM公司推出的,是一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器,可以直接与单片机接口,大大简化系统的设计,保证了温度测量的快速、准确;DS1302时钟芯片是美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能;数字显示是采用的LCD液晶显示屏来显示,可以同时显示温度、年、月、日、时、分、秒等信息。
所有程序编写完成后,在Keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词:
单片机AT89S51;MAX6675;DS1302;LCD1602;温度
Abstract
This paper mainlydiscussthedesign andsimulationofatemperature detection systemwith real—time displaying basedon AT89S51withthehelpofProteus. Inthissystem, thehardwaremainlyadoptscore, AT89S51as the master MAXIM6675thermocoupleby digitalconverterand DS18B20digitaltemperaturesensors tocollecttemperature, DS1302 clock chip LCD1602provideclock, LCDdisplay,L7805providepower supply circuit.Atmel companybyAT89S51isintroduced,lowconsumption,voltagecanchoose4~6Vvoltagepowersupply;ByMAXIMcompanyMAXIM6675 isintroduced,thethermocouple isanintegrated amplifier,thecoldend compensation,A/DconverterandSPI serial thermocouple amplifier anddigital converter,candirectlyandsingle-chipmicrocomputerinterface,greatlysimplifyingthedesignofthesystem, to ensurethetemperaturemeasurement ofthe rapidandaccurate;DALLASDS1302clockchipis theUnitedStatesout Juanfinecurrentchargefunctionwiththelow-powerreal-timeclock chip,itcan foryear, month,day,when, minutesandsecondsfortiming, also hasavarietyof functionssuch asleapyearcompensation;Digital displayisusedtodisplaytheLCD screen,canalso display temperature,year,month, day,when,minutesand secondsandotherinformation.
Keywords:
SCMAT89S51;MAX6675;DS1302;LCD1602;temperature
摘 要I
Abstract(英文摘要)II
目录ﻩIII
第一章 引 言ﻩ-1-
1.1 课题的背景和意义ﻩ-1 -
1.2系统基本方案选择和论证-1 -
1.2.1单片机芯片的选择ﻩ-1 -
1.2.2显示模块选择方案和论证ﻩ-1-
1.2.3时钟芯片的选择方案和论证- 2 -
1.3 电路设计最终方案决定ﻩ- 3-
第二章系统的硬件设计与实现ﻩ-4-
2.1电路设计框图-4 -
2.2系统硬件概述ﻩ- 4-
2.3.1AT89S51单片机最小系统ﻩ- 5-
2.3.2时钟电路模块的设计ﻩ- 6 -
2.3.3温度采集模块设计ﻩ-7-
2.3.4显示模块的设计- 8-
2.3.5 MAX6675工作原理及说明-9-
2.3.6DS18B20工作原理及说明- 13 -
2.3.7LCD1602工作原理及说明-15-
2.3.8DS1302工作原理及说明-16-
2.3.9电源电路-18-
2.3.10系统硬件电路-19-
第三章系统的软件设计ﻩ- 20-
3.1 程序流程框图-20-
3.2子程序- 22-
第四章 仿真与调试-24 -
第五章总结- 25 -
参考文献-26-
第一章引 言
1.1课题的背景和意义
随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。
温度和时间都是与人们日常生活密切相关的,特别是温度检测应用甚广,如家居、厂房安全监测,环境温度监测和报警,农业温室监测,温度随时间变化测试仪等等。
目前推广应用的许多温度控制系统多采用电阻式温度传感器,测量精度低,需要A/D转换,电路复杂,离散性大,温度反应缓慢。
为此,采用热电偶及DS18B20作为温度采集单元和单片机来对它们进行控制,不仅具有控制方便、简单、灵活等优点。
将本系统置于房间、办公室、校园、车间、汽车上或其它公共场所,使用液晶显示模块显示时间和温度,无论什么时间都能同时满足人们对环境温度和时间的确知。
该题目接近生活,实用性强,并且与单片机很好的结合,可以通过该题目进一步学习单片机原理以及其应用,从而在电路理论和实践能力的结合上得到进一步锻炼,达到其综合能力的培养和提高。
1.2 系统基本方案选择和论证
1.2.1单片机芯片的选择
本设计采用AT89S51芯片作为硬件核心,该芯片采用FlashROM,内部具有4KB ROM存储空间,相对于本设计而言程序空间完全够用。
能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,而且运用于电路设计中时具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,避免芯片的多次拔插对芯片造成的损坏。
1.2.2显示模块选择方案和论证
方案一:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。
方案二:
采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
但是由于数码管动态扫描需要借助74LS164移位寄存器进行移位,该芯片在电路调试时往往会有很多障碍,所以不采用LED数码管作为显示。
方案三:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,对于该系统而言,一个1602的液晶屏即可,价格也还能接受,需要的接口线较多,但会给调试带来诸多方便,所以此设计中采用LCD1602液晶显示屏作为显示模块。
1.2.3时钟芯片的选择方案和论证
方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、时、分、秒计数。
采用此种方案虽然可以减少时钟芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。
方案二:
ﻩ采用DS1302时钟芯片实现时钟,DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。
采用普通32.768kHz晶振。
因此,本设计中采用DS1302提供时钟。
1.2.4温度传感器的选择方案与论证
方案一:
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。
此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
方案二:
采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以避免A/D模数转换模块,降低硬件成本,简化系统电路。
虽然数字式温度传感器具有测量精度高的优点,但是,其测量范围太小,不足以满足该系统的要求。
方案三:
采用K型热电偶测温,此类传感器结构简单、制造容易、使用方便、测温范围宽等特点,但是,其精确度不高,而且电热偶输出的热电势信号必须经过中间转换环节,才能输入基于单片机的嵌入式系统,所以最终决定选择由DS18B20及MAXIM6675热电偶数字转换器分两路采集温度。
1.3电路设计最终方案决定
综上各模块的选择方案与论证,确定最后的主要硬件资源如下:
采用AT89S51作为主控制系统;MAXIM6675热电偶数字转换器及DS18B20作为数字式温度传感器;DS1302提供时钟;LCD1602液晶屏作为显示;L7805提供电源电路。
第二章 系统的硬件设计与实现
2.1电路设计框图
本系统的电路系统框图如图2-1所示。
由L7805供电,AT89S51单片机对电热偶、DS18B20和DS18B20写入控制字并读取相应的数据,继而控制LCD1602作出对应的显示。
AT89S51
主控模块
L7805电源
图2-1系统硬件框图
2.2系统硬件概述
本电路是由AT89S51单片机作为控制核心,电源电压为3~5V,AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案;温度的采集由MAX6675和DS18B20完成,MAX6675集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器,测温范围为0℃~+1024℃,精确度12位0.25℃;DS18B20具有独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,测温范围-55℃~+125℃,测温分辨率0.0625℃,工作电源:
3~5VDC;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
可产生年、月、日、周、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部份由LCD1602液晶显示器完成,该显示器为工业字符型液晶,能够同时显示16×02即32个字符(16列2行)。
2.3 主要单元电路的设计
2.3.1AT89S51单片机最小系统
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统一般应该包括:
单片机、晶振电路、复位电路。
单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:
1.电源正常;2.时钟正常;3.复位正常。
其最小系统如图2-2所示:
18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。
第9引脚为复位输入端,接上电容,电阻后构成上电自动复位电路,20引脚为接地端,40引脚为电源端。
图2-2单片机最小系统
2.3.2时钟电路模块的设计
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
单片机与DS1302连接图如图2-3所示:
图2-3DS1302与单片机的连接
2.3.3温度采集模块设计
采用数字式温度传感器DS18B20测室内环境温度,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P0.7与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。
独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0V至5.5V无需备用电源测量温度范围为-55度至+125度。
-10度至+85度范围内精度为±0.5度温度传感器可编程的分辨率为9~12位。
DS18B20连线如图2-4所示。
采用单片K型热电偶放大与数字转换器MAX6675测工业温度。
热电偶作为一种主要的测温元件,具有结构简单、制造容易、使用方便、测温范围宽、测温精度高等特点。
MAX6675是一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器,采用简单的SPI串行口温度输出,测温范围为0℃~+1024℃,分辨率为12位0.25℃,+5V的电源电压。
热电偶及数字转换器MAX6675连线如图4所示。
图2-4温度采集模块连线
2.3.4显示模块的设计
如下图2-5所示,采用LCD1602液晶显示器,单片机P1口作为数据输出口,RS,R\W,E分别通过10K的上拉电阻连接到单片机的P0.0,P0.1,P0.2。
VDD接5V电源,VSS接地。
VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
R/W为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
E(或EN)端为使能(enable)端,下降沿使能。
DB0-DB7为双向数据总线,同时最高位DB7也是忙信号检测位。
BLA、BLK分别为显示器背光灯的正、负极。
图2-5LCD1602与单片机的连接
2.3.5MAX6675工作原理及说明
(1) MAX6675的工作原理
MAX6675的内部结构如图2-6所示。
该器件是一复杂的单片热电偶数字转换器,内部具有信号调节放大器、12位的模拟/数字化热电偶转换器、冷端补偿传感和校正、数字控制器、1个SPI兼容接口和1个相关的逻辑控制。
图2-6MAX6675内部结构框图
(2)温度变换
MAX6675内部具有将热电偶信号转换为与ADC输入通道兼容电压的信号调节放大器,T+和T-输入端连接到低噪声放大器A1,以保证检测输入的高精度,同时使热电偶连接导线与干扰源隔离。
热电偶输出的热电势经低噪声放大器A1放大,再经过A2电压跟随器缓冲后,被送至ADC的输入端。
在将温度电压值转换为相等价的温度值之前,它需要对热电偶的冷端温度进行补偿,冷端温度即是MAX6675周围温度与0℃实际参考值之间的差值。
对于K型热电偶,电压变化率为41μV/℃,电压可由线性公式Vout=(41μV/℃)×(tR-tAMB)来近似热电偶的特性。
上式中,Vout为热电偶输出电压(mV),tR是测量点温度;tAMB是周围温度。
(3)冷端补偿
热电偶的功能是检测热、冷两端温度的差值,热电偶热节点温度可在0℃~+1023.75℃范围变化。
冷端即安装MAX6675的电路板周围温度,比温度在-20℃~+85℃范围内变化。
当冷端温度波动时,MAX6675仍能精确检测热端的温度变化。
MAX6675是通过冷端补偿检测和校正周围温度变化的。
该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。
该器件内部电路将二极管电压和热电偶电压送到ADC中转换,以计算热电偶的热端温度。
当热电偶的冷端与芯片温度相等时,MAX6675可获得最佳的测量精度。
因此在实际测温应用时,应尽量避免在MAX6675附近放置发热器件或元件,因为这样会造成冷端误差。
(4)热补偿
在测温应用中,芯片自热将降低MAX6675温度测量精度,误大小依赖于MAX6675封装的热传导性、安装技术和通风效果。
为降低芯片自热引起的测量误差,可在布线时使用大面积接地技术提高MAX6675温度测量精度。
(5)噪声补偿
MAX6675的测量精度对电源耦合噪声较敏感。
为降低电源噪声影响,可在MAX6675的电源引脚附近接入1只0.1μF陶瓷旁路电容。
(6)测量精度的提高
热电偶系统的测量精度可通过以下预防措施来提高:
①尽量采用不能从测量区域散热的大截面导线;②如必须用小截面导线,则只能应用在测量区域,并且在无温度变化率区域用扩展导线;③避免受能拉紧导线的机械挤压和振动;④当热电偶距离较远时,应采用双绞线作热电偶连线;⑤在温度额定值范围内使用热电偶导线;⑥避免急剧温度变化;⑦在严劣环境中,使用合适的保护套以保证热电偶导线;⑧仅在低温和小变化率区域使用扩展导线;⑨保持热电偶电阻的事件记录和连续记录。
(7)SPI串行接口
MAX6675采用标准的SPI串行外设总线与MCU接口,且MAX6675只能作为从设备。
MAX6675SO端输出温度数据的格式如表2-1所示,MAX6675SPI接口时序如图2-7所示。
MAX6675从SPI串行接口输出数据的过程如下:
MCU使CS变低并提供时钟信号给SCK,由SO读取测量结果。
CS变低将停止任何转换过程;CS变高将启动一个新的转换过程。
一个完整串行接口读操作需16个时钟周期,在时钟的下降沿读16个输出位,第1位和第15位是一伪标志位,并总为0;第14位到第3位为以MSB到LSB顺序排列的转换温度值;第2位平时为低,当热电偶输入开放时为高,开放热电偶检测电路完全由MAX6675实现,为开放热电偶检测器操作,T-必须接地,并使能地点尽可能接近GND脚;第1位为低以提供MAX6675器件身份码,第0位为三态。
表2-1MAX6675SO端 输出数据的格式
位
空标志位
12位温度
热电偶输入
设备身份
状态
位
15
14
13
12
11
1
0
MSB
LSB
0
三态
图2-7MAX6675SPI接口时序
2.3.6DS18B20工作原理及说明
(1)DS18B20内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
另外,下面给出一部分的温度对应值表,表2-2。
I/O
Vdd
图2-8DS18B20内部结构
表2-2一部分温度对应值表
温度/℃
二进制表示
十六进制表示
+125
0000 0111 11010000
07D0H
+85
0000 010101010000
0550H
+25.0625
000000011
H
+10.125
00000000 10100001
00A2H
+0.5
000000000
H
0
00000000 0
H
-0.5
1111 1111 11110000
FFF8H
-10.125
11111111 01011110
FF5EH
-25.0625
11111110 01101111
FE6FH
-55
1111 1100 10010000
FC90H
(2)DS18B20工作原理
图2-9中低温度系数晶振的震荡频率受温度的影响很小,用于产生固定频率的脉冲送给减法计数器1;高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。
图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数震荡器产生的时钟脉冲计数,进而完成温度测量。
计数门的开启时间由高温度系数震荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1,温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1所对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将被重新装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测温度值。
图2-8中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于减法计数器的预置值,只要计数门仍未
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时 日历 时钟 温度 检测 系统