数字温度计毕业设计论文DS18B20单片机副本.docx
- 文档编号:9353613
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:49
- 大小:322.11KB
数字温度计毕业设计论文DS18B20单片机副本.docx
《数字温度计毕业设计论文DS18B20单片机副本.docx》由会员分享,可在线阅读,更多相关《数字温度计毕业设计论文DS18B20单片机副本.docx(49页珍藏版)》请在冰点文库上搜索。
数字温度计毕业设计论文DS18B20单片机副本
数字温度计的设计
摘要
温度是一种最基本的环境参数,人们生活与环境温度息息相关,在工业生产过程中需要实时测量温度,在工业生产中也离不开温度的测量,因此研究温度的测量方法和控制具有重要的意义。
本论文介绍了一种以单片机为主要控制器件,以DS18B20为温度传感器的新型数字温度计。
主要包括硬件电路的设计和系统程序的设计。
硬件电路主要包括主控制器,测温控制电路和显示电路等,主控制器采用单片机AT89C52,温度传感器采用美国DALLAS半导体公司生产的DS18B20,显示电路采用8位共阴极LED数码管,ULN2803A为驱动的动态扫描直读显示。
测温控制电路由温度传感器和预置温度值比较报警电路组成,当实际测量温度值大于预置温度值时,发出报警信号,即发光二极管亮。
系统程序主要包括主程序,测温子程序和显示子程序等。
DS18B20新型单总线数字温度传感器是DALLAS公司生产的单线数字温度传感器,集温度测量和A/D转换于一体,直接输出数字量,具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点。
由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统的温度计相比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。
DS18B20温度计还可以在高温报警、远距离多点测温控制等方面进行应用开发,具有很好的发展前景。
此外,还介绍了系统的调试和性能分析。
关键词:
显示电路,单片机,AT89C52,温度传感器,DS18B20,单总线
TheDesignofDS18B20DigitThermometer
ABSTRACT
Temperatureisabasicparametersoftheenvironment,people'slivesandtheenvironmentarecloselyrelatedtotemperature.inthecourseofindustrialproductionimmediateneedfortemperaturemeasurementinindustrialproductionhastodowithtemperaturemeasurement,Thestudyofthetemperaturemeasurementandcontrolisofgreatsignificance.
The paper introducedonekind new digitalthermometerthattaketheMicroControllerUnitastheprimarycontrolcomponentandtake DS18B20asthetemperature sensor.Mainly includedthedesignofthehardwareelectriccircuitandthedesignofthesystemprogram.Thehardwareelectriccircuitmainlyincludedthemastercontroller,thetemperaturemeasuredelectriccircuitandthedisplaycircuitandsoon,themastercontrollerusedMicroControllerUnitAT89C52,thetemperaturesensorusedDS18B20whichtheAmericanDALLASsemiconductorcompany produces,thedisplaycircuitused8altogetheranodesLEDnumericalcodetubebythedynamicscanning methodstraighttoreadthedemonstration.ULN2803A-drivendynamicscanshowedstraighttime.Temperaturecontrolcircuitfromtemperaturesensorsandpresettemperaturevaluecomparedalarmcircuitcomponents,Whenmeasuredtemperaturegreaterthanpresettemperaturevalue,issuedwarningsignalthatthebrightlightemittingdiodes.Thesystemprogrammainlyincludedthemasterroutine,thetemperaturesubroutine,thedatarenovates subroutineandsoon.DS18B20isadigitaltemperaturesensorofsinglebus.ItisproductedbyDALLAScooperation.DS18B20assemblestemperaturemeasureandA/Dconverter,exportsdigitalsignaldirectly,operationeasily,betterprecise,protectingdisturb,runningsteablyandsoon.
Becauseusedtheadvancedversionintelligencetemperature sensor DS18B20astheexamine part,comparedwiththetraditionalthermometer,thisdigitalthermometerreducedtheexteriorhardwareelectriccircuit,hascharacteristicthatthelowcostandwaseasytouse.TheDS18B20thermometeralsomayused to the hightemperature warning,thelong-distancerangemulti-spotstemperature measuredaspectandsoontemperaturecontrolcarriesontheapplication development,hastheverygoodprospectsfordevelopment.Inaddition,introducedthesystemdebuggingandtheperformanceanalysis.
KEYWORDS:
DisplayCircuit,MicrocontrollerUnit,AT89C52,
TemperatureSensor,DS18B20,1-Wire
前 言
日常生活及工农业生产中经常要用到温度的检测及控制,在冶金、食品加工、化工等工业生产过程中,广泛使用的各种加热炉、热处理炉、反应炉等,都要求对温度进行严格控制。
在日常生活中,电烤箱、微波炉、电热水器、烘干箱等电器也需要进行温度检测与控制。
传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。
而采用单片机对温度进行控制,不仅具有控制方便,简单和灵活等优点,而且可以大幅度提高温度控制的技术指标。
测量温度的关键是温度传感器,温度传感器正从模拟式向数字式、从集成化向智能化、网络化的方向发展。
在测温电路中,可以使用热敏电阻之类的器件利用其感温效应,将随被测温度变化的电压或电流采集过来,先进行A/D转换,然后用单片机进行数据的处理,再在显示电路上,将被测温度显示出来。
这种设计需要用到A/D转换电路,因此感温电路的设计比较复杂。
进而想到采用智能温度传感器来设计数字温度计。
本数字温度计的设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,其温度值可以直接被读出来,通过核心器件单片机AT89C52控制温度的读写和显示,用LED数码管显示。
测温范围为-55℃~+125℃,最大分辨率可达0.0625℃。
而且采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
按照系统设计功能的要求,确定系统有5个模块组成:
主控制器、温度传感器DS18B20、报警电路、按键预置温度值电路及显示电路。
控制器使用AT89C52,温度传感器使用DS18B20,用8位共阴极LED数码管以动态扫描法实现温度显示。
系统程序主要包括主程序、温度控制子程序及显示子程序等等。
综上所述,本设计以智能集成温度传感器DS18B20为例,介绍基于DS18B20传感器的数字温度计的设计,该设计适用于人们的日常生活及工农业生产中用于温度的检测及控制。
第1章 设计任务及方案分析
§1.1 设计任务及要求
设计一个以单片机为核心的温度测量系统,可实现的功能为:
(1)测量温度值精度为±1℃。
(2)系统允许的误差范围为1℃以内。
(3)系统可由用户预设温度值,测温范围为-55℃~+125℃。
(4)超出预置值时系统会自动报警,即发光二极管亮。
(5)系统具有数码显示功能,能实时显示设定温度值和测得的实际温度值。
§1.2 设计总体方案及方案论证
在日常生活及工农业生产中经常要用到温度的检测及控制,传统的测温元件有热电偶和热点阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。
本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进智能温度传感器DS18B20作为检测元件,测温范围为-55℃~+125℃,最大分辨率可达0.0625℃。
DS18B20可以直接读出被测量的温度值,而采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
按照系统设计功能的要求,确定系统由5个模块组成:
主控制器AT89C52,温度传感器DS18B20,报警电路,按键电路及驱动显示电路。
数字温度计总体电路框图如图1-1所示。
§1.3 温度测量的方案与分析
§1.3.1 芯片选择
本设计的测温系统采用芯片DS18B20,DS18B20是DALLAS公司的最新单线数字温度传感器,它的体积更小、适用电压更宽、更经济,DS18B20是世界上第一片支持“一线总线”接口的温度传感器,具有一线总线独特而且经济的特点。
采用智能温度传感器DS18B20作为检测元件,测温范围为-55℃~+125℃,最大分辨率可达0.0625℃。
DS18B20可以直接读出被测量的温度值,而且采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
§1.3.2 实现方法简介
DS18B20采用外接电源方式工作,一线测温的一线与AT89C52的P3.7连接并加上上拉电阻使其工作,测出的数据存放在寄存器10H--12H中,将数据经过BCD码转换后送LED显示。
具体实现步骤见软件设计章节。
DS18B20
图1-1总体电路框图
§1.3.3 测温流程图
跳过ROM匹配
图1-2测温流程图
第2章 芯片功能简介
§2.1 AT89C52的功能简介
§2.1.1 AT89C52芯片简介
AT89C52是美国ATMEL公司生产的低电平,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,32个可编程I/O口线,3个16位定时/计数器,低功耗空闲和掉电模式。
功能强大的AT89C52单片机适合于许多较为复杂控制应用场合。
§2.1.2 引脚功能说明
(1)VCC:
电源电压
(2)GND:
地
(3)P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复位,在访问期间激活内部上拉电阻。
(4)P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTE逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表4-1。
Flash编程和程序校验期间,P1接收低8位地址。
表4-1P1.0和P1.1的第二功能
引脚号
功能特性
P1.0
T2(定时/计数器2外部计数脉冲输入),时钟输出
P1.1
T2EX(定时/计数2捕获/重装载触发和方向控制)
(5)P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
(6)P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(ILL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表4-2所示。
(7)RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
表4-2P3口的第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外中断0)
P3.3
(外中断1)
P3.4
T0(定时/计数0)
P3.5
T1(定时/计数1)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
(8)
/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH)。
端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存
端状态。
如
端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VCC。
(9)XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
(10)XTAL2:
振荡器反相放大器的输出端。
(11)数据存储器:
AT89C52有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128。
字节的RAM和特殊功能寄存器的地址是相同的,但在物理上它们是分开的。
当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节。
RAM还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器。
(12)中断:
AT89C52共有6个中断向量:
两个外中断(INT0和INT1),3个定时器中断(定时器0,1,2)和串行口中断。
(13)时钟振荡器:
AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图4-1(a)图所示。
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF士10pF,而如果使用陶瓷谐振器,建议选择40pF士l0pF。
用户也可以采用外部时钟。
采用外部时钟的电路如图4-1(b)图所示。
这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
(a)内部振荡电路(b)外部振荡电路
图4-1振荡电路
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
§2.2 DS18B20的功能简介
§2.2.1 芯片简介
(1)适应电压范围更宽,电压范围:
3.0V~5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(4)测温范围-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
(5)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(6)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(7)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(8)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
§2.2.2 DS18B20外形和内部结构
DS18B20内部结构如图4-2所示,主要由4部分组成:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如图
4-3和表4-3所示。
电源检测
I/O
C
VDD
图4-2DS18B20的内部结构
图4-3DS18B20的管脚排列
表4-3DS18B20引脚定义:
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
(1)64位ROM
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
64位ROM的循环冗余校验码(CRC=X8+X5+X4+1)。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
DS18B20温度值格式表4-4
如下所示。
这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH。
表4-4DS18B20温度值格式表
bit7bit6bit5bit4bit3bit2bit1bit0
LSByte
2
2
2
2
2
2
2
2
bit15bit14bit13bit12bit11bit10bit9bit8
MSByte
S
S
S
S
S
2
2
2
(2)高低温报警触发器TH和TL
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
(3)配置寄存器
该字节各位的意义如下表4-5所示。
表4-5:
配置寄存器结构
TM
R1
R0
1
1
1
1
1
低五位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表4-6所示(DS18B20出厂时被设置为12位)。
(4)高速暂存器是一个9字节的存储器。
开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
高速暂存器RAM结构图如下表4-7所示。
表4-6:
温度分辨率设置表
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
§2.2.3 DS18B20的工作时序
DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
其工作时序
包括初始化时序、写时序和读时序,如图4-4(a)(b)(c)所示。
表4-7:
DS18B20暂存寄存器分布
寄存器内容
字节地址
温度值低位(LSByte)
0
温度值高位(MSByte)
1
高温限值(TH)
2
低温限值(TL)
3
配置寄存器
4
保留
5
保留
6
保留
7
CRC校验值
8
DS18B20等待DS18B20Tx产生
15us—16us脉冲60--240
主机复位脉冲
VCC480us 1-WireBus GND 图4-4(a)初始化时序 主机控制DS18B20完成任何操作之前必须先初始化,即主机发一复位脉冲(最短为480us的低电平),接着主机释放总线进入接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字温度计毕业设计论文DS18B20单片机 副本 数字 温度计 毕业设计 论文 DS18B20 单片机