基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统.docx
《基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统.docx(29页珍藏版)》请在冰豆网上搜索。
基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统
☆摘要……………………………………………………………………………2
☆课题任务………………………………………………………………………4
☆第1章总体方案设计………………………………………………………5
☆第2章.智能开发版部分
2.1.51系列单片机的原理图…………………………………………………7
2.1.1.基本51系列单片机的原理图及STC12C5A60S2主要性能…………7
2.1.2.STC12C5A60S2单片机部内部结构……………………………………7
2.251系列单片机的引脚功能………………………………………………9
2.2.1.I/O端口线输入输出引脚………………………………………………9
2.2.2.控制线控制引脚………………………………………………………10
2.2.3.外接晶体端……………………………………………………………10
2.351系列单片机的时序…………………………………………………10
2.4.1智能最小系统的LED显示器接口……………………………………11
2.4.2音频放大电路…………………………………………………………12
☆第3章.关于DS18B20的介绍
3.1.DS18B20简介………………………………………………………………13
3.2单总线数字温度计硬件设计原理部分……………………………………13
3.3DS18B20的封装及内部结构………………………………………………14
3.4DS18B20的测温原理………………………………………………………14
3.5DS18B20的工作时序………………………………………………………15
3.6DS18B20与单片机的典型接口设计………………………………………15
3.7DS18B20的精确延时问题………………………………………………16
3.8DS18B20工作原理及应用…………………………………………………16
3.9控制器对18B20操作流程………………………………………………17
3.10DS18B20芯片与单片机的接口…………………………………………18
☆第4章.程序
4.1温度监测51单片机程序…………………………………………………18
4.2测温程序流程框图…………………………………………………………25
☆第5章.调试过程
软件、硬件调试………………………………………………………………27
☆第6章效果展示
6.1实现效果……………………………………………………………………27
6.2实物效果图………………………………………………………………27
☆附一:
硬件原理图……………………………………………………………28
☆附二:
材料清单………………………………………………………………28
☆致谢……………………………………………………………………………30
☆参考文献………………………………………………………………………31
摘要
温度是一种最基本的环境参数,在工农业生产及日常生活中对温度的测量及控制具有重要意义。
温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。
由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位,约占50%。
以往,在实际的温度控制系统中,多采用热敏电阻器或热电偶测量温度。
这种温度采集电路有时需要冷端补偿电路,这样就增加了电路的复杂性,而且该种电路易受干扰,使采集到的数据准确性不高。
随着微电子技术、单片机技术、传感器技术的不断发展,为温度控制系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。
本文设计了一种基于AT89C51单片机与DS18B20的温度控制系统。
该设计通过AT89S52单片机驱动数字温度传感器DS18B20,进行温度数据采集、读取、处理,并通过数码管显示出来。
同时,也可通过RS-232串行口与PC机连接,将数据传送至PC机系统,从而方便温度数据传输和统计工作。
该系统还可扩展成为多点温度采集系统、温度远程监控系统等。
温度传感器是通过物体随温度变化而改变某种特性来间接测量的。
不少材料、元件的特性都随温度的变化而变化,所以能作温度传感器的材料相当多。
温度传感器随温度而引起物理参数变化的有:
膨胀、电阻、电容、而电动势、磁性能、频率、光学特性及热噪声等等。
随着生产的发展,新型温度传感器还会不断涌现。
由于工农业生产中温度测量的范围极宽,从零下几XX到零上几千度,而各种材料做成的温度传感器只能在一定的温度范围内使用。
温度传感器与被测介质的接触方式分为两大类:
接触式和非接触式。
接触式温度传感器需要与被测介质保持热接触,使两者进行充分的热交换而达到同一温度。
这一类传感器主要有电阻式、热电偶、PN结温度传感器等。
非接触式温度传感器无需与被测介质接触,而是通过被测介质的热辐射或对流传到温度传感器,以达到测温的目的。
●关键词:
温度、控制、监测。
Abstract
Temperatureisaphysicalobjectsanddegreeofindustrialandagriculturalproductionprocess,isaveryimportantanduniversalmeasuringparameters.Temperaturemeasurementandcontroltoensureproductquality,improvetheproductionefficiency,energysaving,safety,andtopromotethedevelopmentofthenationaleconomyplayaveryimportantrole.Becausetheuniversalityofmeasurementtemperature,temperaturesensorsinthenumberofsensorsinthefirstplace,about50%.
Thetemperaturesensoristhroughtheobjectwithtemperaturechangessomepropertiestomeasureindirectly.Manymaterials,components,withthecharacteristicsoftemperaturechanges,socanmakemuchofthetemperaturesensormaterials.Thetemperaturesensorwithtemperaturechangescausedbyphysicalparametersare:
inflation,resistor,capacitor,emf,magnetic,opticalpropertiesandfrequency,thermalnoise,etc.Withthedevelopmentofproduction,newtemperaturesensorswillemerge.Duetotheindustrialandagriculturalproductioninverywiderangeoftemperaturemeasurement,frombelowafewbaidutoQianDu,andallkindsofseveralabovefreezingtemperaturesensormaterialsonlyundercertaintemperaturerange.
Thetemperaturesensorandtestedmediumcontactintotwocategories:
touchandnon-contact.Contacttemperaturesensorandtestedmediumtokeepcontactwiththem,heatexchangerandachievethesameadequately.Thiskindofsensoraremainlyresistive,thermocouple,PNjunctiontemperaturesensoretc.Contactlesstemperaturesensorandtestedmediumwithoutcontact,butthroughthemediumofradiationorbyconvectiontotemperaturesensor,inordertoachievethegoal.
●Keywords:
Temperature,control,measurement.
课题任务
本课题主要介绍基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统。
该系统利用AT89C51单片机采集炉温,实现温度显示、报警等功能。
它以AT89C51单片机为主控制芯片,采用数字温度传感器DS18B20实现温度的检测,其测量范围在25~31℃之间,精度可以达到0.1℃,采用LCD液晶显示模块,它作为显示器形象直观的显示测出的温度值,或者采用数码管显示结果。
简易温度检测系统是通过DS18B20检测温度,然后通过温度传感器通信模块,将检测到的实际温度(环境温度)传送到开发板上,从而在数码管上显示检测到的温度。
从中设置了报警设备,使检测的温度低于或高于一定值,报警设备就会起作用。
系统中使用到的主要材料有:
单片机STC12C5A60S2,天线,蜂鸣器,多功能开发板,温度传感器(DS18B20)。
在实际检测时,主要通过温度传感器(DS18B20)的温度检测功能,实现实际环境温度在开发板的数码管上的的显示。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机8051,测温传感器使用DS18B20,用LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。
DS18B20数字温度传感器是单总线器件与51单片机组成的测温系统,具有线路简单、体积小等特点测温准确的有点。
多功能开发板通过下载温度检测程序(由STC12C5A60S2接收程序),与温度检测模块(DS18B20)连接,即可实现实时温度监测控制的效果。
第1章.总体方案设计
温度传感器按传感器与被测介质的接触方式可分为两大类:
一类是接触式温度传感器,一类是非接触式温度传感器。
该温度控制系统的设计包括硬件设计和软件设计两大部分,结合实际情况,该系统应具备如下功能:
(1)实时采集温度;
(2)显示温度;
(3)串行传送数据;
(4)控制外设;
(5)温度超限报警;
(6)可扩展,形成多点温度采集系统,具有远程监控等功能。
在该温度控制系统中AT89S52单片机不仅与温度传感器DS18B20,外部设备,数码管连接,还通过与串口电平芯片MAX232连接,由数据线连接到PC上,建立起远程通信。
系统上电后,AT89S52单片机驱动温度传感器DS18B20工作,进行温度数据采集,传输。
T89S52单片机在接到温度传感器DS18B20传送过来的温度数据后,进行操作,一方面送至数码管显示模块进行温度显示,另一方面将数据送至PC机上,方便在PC机进行一些后续处理和控制操作,有利于远程控制的实现。
温度控制系统总体框图如所示。
系统的硬件设计部分主要由以下几部分组成:
(1)单片机最小系统:
采用AT89S52单片机;
(2)温度采集模块:
采用DS18B20温度传感器;
(3)温度显示模块:
采用4位LED数码管显示;
(4)串行通信模块:
与PC机进行串口通信;
(5)报警电路:
采用蜂鸣器报警;
(6)外部设备控制电路;
DS18B20是DALLAS公司生产的单总线数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,对应的可辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V~5.5V的电压范围,使系统设计更灵活、方便,其工作电源既可在远端引入,也可采用寄生电源方式产生.同时多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
图5-15测温系统硬件原理图
1)DS18B20的供电方式选择外接电源的方式,通过单线连接到智能芯片的一个I/O口上。
2)DS18B20与微处理器间采用串行数据传送,在对DS18B20进行读写编程时,必须严格保证读写时序,否则将无法读取测温结果。
DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
其工作时序包括初始化时序、写时序和读时序。
3)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待返回信号,一旦DS18B20接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。
这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
第2章.智能开发板部分
2.1.51系列单片机的内部结构
2.1.1.基本51系列单片机的原理图
图151系列单片机原理图
STC12C5A60S2主要性能
⑴高速:
1个时钟周期/机器周期,增强型8051内核,速度比普通8051快8到12倍
⑵工作频率:
0~35MHZ,相当于普通8051:
0~420MHZ
⑶时钟:
外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置
⑷4个16位定时器,兼容普通8051的定时器T0/T1,2路PCA实现2个定时器
⑸可编程时钟输出功能,T0在P3.4输出时钟,T1在P3.5时输出时钟,BRT在P1.0时输出时钟
⑹先进的指令集结构,兼容普通8051指令集,有硬件乘法/除法指令
⑺每个I/O口驱动功能力均可达到20mA,但整个芯片最大不得超过55mA
2.1.2.STC12C5A60S2单片机部内部结构
STC12CXX单片机部内部结构,各功能部件如图1。
⑴有1280字节片内RAM数据存储器。
⑵芯片内有EEPROM功能。
⑶有ISP在系统可编程功能。
⑷8通道10位高速ADC模拟到数据转换器。
⑸可编程计数器阵列PCA和可编程脉宽调节器PWM,右实现时钟和可调频率的PWM输出。
⑹高速SPI通信端口。
⑺全双工异步串行口(UART)
⑻32个通用寄存器。
⑼硬件看门狗功能。
图2STC12CXX系列典型单片机内部结构图
2.251系列单片机的引脚功能
图3微型单片机的引脚
2.2.1.I/O端口线输入输出引脚
P0.0—P0.7(39—32):
P0口是一个漏极开路型准双向I/O口。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
在EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1.0—P1.7(1-8):
P1口是带内部上拉电阻的8位双向I/O口。
在EPROM编程和程序验证时,它接收低8位地址。
P2.0—P2.7(21-28):
P2口是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送出高8位地址。
在对EFROM编程和程序验证期间,它接收高8位地址。
P3.0—P3.7(10-17):
P3口是一个带内部上拉电阻的8位双向I/O口。
在MCS—5l中,这8个引脚还兼有专用功能,P3的8条口线都定义有第二功能,详见表1-1-1。
图4
2.2.2.控制线控制引脚(ALE/PROG、、、RST/VPD)
ALE(30脚)地址锁存控制信号。
在系统扩展时,ALE用于控制P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。
此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。
(29脚)外部程序存储器读选通信号。
在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。
(31脚)访问程序存储控制信号。
当信号为低电平时,对ROM的读操作限定在外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。
RST/Vpp(9脚)复位信号。
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。
2.2.3.外接晶体端
XTAL1(19脚)和XTAL2(18脚)外接晶体引线端。
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
主电源引脚高VCC和低VSS
VCC(40脚)+5V电源。
VSS(20脚)地线(GND)。
以上是MCS-51单片机芯片40条引脚的定义及简单功能说明,读者可以对照实训电路找到相应引脚,在电路中查看每个引脚的连接使用。
2.351系列单片机的时序
805l的基本时序周期一条指令译码产生的一系列微操作信号在时间上有严格的先后次序,这种次序就是计算机的时序。
其基本时序周期有如下四种。
●振荡周期:
指振荡源的周期,若为内部产生方式,则为石英晶体的振荡周期。
T振荡周期=1/fosc;
●时钟周期:
(称S周期)为振荡周期的两倍,时钟周期=2倍的振荡周期T时钟周期=2*T振荡周期;
●机器周期:
一个机器周期含6个时钟周期(S周期)。
T机器周期=6*T时钟周期=12*T振荡周期=12/fosc;STC12CXX系列单片机有1个时钟周期/机器周期。
●指令周期:
完成一条指令占用的全部时间。
805l的指令周期含1—4个机器周期,其中多数为单周期指令,还有2周期和4周期指令。
2.4.1智能最小系统的LED显示器接口
通过2个74LS595芯片将8位段码信号(a—h)和8位位码信号(a1—a8)串行转为并行信号驱动2个LED显示模块的8个LED数码灯,P2.1是a—h、a1—a8串行数据的输入端(SER),P2.2串行移位信号的SCLK输入端,P2.3是并输出信号的锁存端(RCLK)。
这些信号由单片机软件生成。
图1-1-12显示部分电路
在单片机系统中,通常用LED数码显示器来显示各种数字或符号。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
LED显示器又称数码管,八段LED显示器由8个发光二极管组成。
其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。
LED显示器有两种不同的形式:
一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是发光二极管的阴极都连在一起的,称之为共阴极LED显示器。
如图1-1-13所示。
共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。
当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示各种字符。
8个笔划段hgfedcba对应于一个字节(8位)的D7D6D5D4D3D2D1D0,于是用8位二进制码就可以表示欲显示字符的字型代码。
例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为0111011时,显示器显示"P"字符,即对于共阴极LED显示器,“P”字符的字形码是73H。
如果是共阳LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(8CH)。
图1-1-13LED数码管共阳极和共阴极示图
LED显示方式有动态显示和静态显示两种方式。
本系统采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。
CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。
也就是说我们可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
2.4.2音频放大电路
音频放大电路由放大三接管、蜂鸣器SPEAKER、限流电阻组成,音频信号的输出连接到单片机P3.3如图1-1-15所示当P3.2为低时,SPEAKER发声,声音脉宽不同发出的声音不同。
图1-1-15音频放大电路。
P3.2
图1-1-15音频放大电路
第3章.关于DS18B20的介绍
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
3.1.DS18B20简介
(1)独特的单线接口方式:
DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:
+3.0~+5.5V。
(4)测温范围:
-55~+125℃。
固有测温分辨率为0.5℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
3.2单总线数字温度计硬件设计原理部分
3.3DS18B20的封装及内部结构
DS18B20引脚功能:
1、GND为电源地
2、DQ为数字信号输入/输出端
3、VDD为外接供电电源输入端(在寄生电源接线方式时接地)
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
3.4DS18B20的测温原理
DS18B20的测温原理如图2所示,图中低温度系数晶振的振荡频率受温度的影响很小〔1〕,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门