ds18b20数字温度计毕业设计.docx
- 文档编号:30057369
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:42
- 大小:224.33KB
ds18b20数字温度计毕业设计.docx
《ds18b20数字温度计毕业设计.docx》由会员分享,可在线阅读,更多相关《ds18b20数字温度计毕业设计.docx(42页珍藏版)》请在冰豆网上搜索。
ds18b20数字温度计毕业设计
毕业设计(论文)
(说明书)
题目:
姓名:
编号:
平顶山工业职业技术学院
2010年5月20日
平顶山工业职业技术学院
毕业设计(论文)任务书
姓名
专业
任务下达日期2010年2月日
设计(论文)开始日期年月日
设计(论文)完成日期年月日
设计(论文)题目:
A·编制设计
B·设计专题(毕业论文)
指导教师
系(部)主任
年月日
平顶山工业职业技术学院
毕业设计(论文)答辩委员会记录
系专业,学生于年月日
进行了毕业设计(论文)答辩。
设计题目:
专题(论文)题目:
指导老师:
答辩委员会根据学生提交的毕业设计(论文)材料,根据学生答辩情况,经答辩委员会讨论评定,给予学生毕业设计(论文)成绩为。
答辩委员会人,出席人
答辩委员会主任(签字):
答辩委员会副主任(签字):
答辩委员会委员:
,,,
,,,
,,,
平顶山工业职业技术学院毕业设计(论文)评语
第页
共页
学生姓名:
专业年级
毕业设计(论文)题目:
评阅人:
指导教师:
(签字)年月日
成绩:
系(科)主任:
(签字)年月日
毕业设计(论文)及答辩评语:
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89S51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
引言
随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:
①传统的分立式温度传感器
②模拟集成温度传感器
③智能集成温度传感器。
目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。
社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,89S51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。
与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。
该设计控制器使用ATMEL公司的AT89S51单片机,测温传感器使用DALLAS公司DS18B20,用数码管实现温度显示。
第一章绪论
1.1数字温度计的介绍
数字温度计采用DALLAS公司的数字温度传感器DS18B20作为测温元件,通过AT89S51单片机处理,最终通过数码管显示。
是一种精度高、稳定性好、适用性极强的新型现场温度显示仪。
其精度可到达0.1℃,测量的温度的范围在-20℃到+100℃之间。
最终由4位数码管显示。
1.2单片机的选择
采用AT89S51单片机。
中央微处理器AT89S51:
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率,并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式。
AT89S51单片机综合了微型处理器的基本功能。
按照实际需要,同时也考虑到设计成本与整个系统的精巧性,所以在本系统中就选用价格较低、工作稳定的AT89S51单片机作为整个系统的控制器。
1.3温度传感器的选择
采用数字单片智能温度传感器DS18B20。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
DS18B20支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为0.5℃。
DS18B20的精度较差为±0.2℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量。
如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的“DS1820”体积更小、更经济、更灵活。
使您可以充分发挥“一线总线”的长处。
DS18B20、DS1822“一线总线”数字化温度传感器。
由于DS18B20将温度传感器、信号放大调理、A/D转换、接口全部集成于一芯片,与单片机连接简单、方便,与AD590相比是更新一代的温度传感器,所以温度传感器采用DS18B20。
1.4显示器的选择
采用传统的七段数码LED显示器。
LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
1.5设计方案
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大。
采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。
既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外AT89S51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟,设计框图如图1-1所示。
图1-1系统设计总框图
第二章AT89S51单片机的结构及工作特性
2.1AT89S51单片机的主要特性
AT89S51是一种低功耗、高性能、CMOS、8位微控制器,具有4K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
AT89S51具有以下标准功能:
4k字节Flash,128字节RAM,32位I/O口线,看门狗定时器,2个数据指针,2个16位定时器/计数器,一个5向量的2级中断结构,一个全双工串行口,片内晶振及时钟电路。
2.2AT89S51单片机的存储器
51系列单片机在物理上分为4个存储空间:
片内程序存储器和片外程序存储器,片内数据存储器和片外数据存储器。
在逻辑上可分为3个存储空间:
片内数据存储器和片外数据存储器,片内外统一的64K程序存储器。
51单片机片内有4K的程序存储器和128B数据存储器。
还可在片外扩展64K的程序存储器和64K的数据存储器。
(1)程序存储器
程序存储器用于存放编好的程序、表格和常数。
51单片机内部有4KROM,片最多可扩展64KROM,两者统一编址。
(2)数据存储器
数据存储器分为内外两部分,51单片机内部有128BRAM,地址为00H~7FH;片外最多可扩展64KRAM,地址外0000H~FFFFH。
2.3AT89S51单片机的I/O接口
I/O接口有并行和串行两种。
单片机为了为了突出控制的功能,提供了数量多、功能强、使用灵活的并行I/O口,可以作为数据总线、地址总线以及控制总线的使用。
串行接口用于串行通信,可把单片机内部的并行数据转化串行数据向外传送,也可以串行接收外部数据并把它们转换成并行数据送给CPU处理。
(1)并行接口
51单片机有4个8位并行输入/输出(I/O)端口,分别称P0口、P1口、P2口和P3口,I/O口线共32根,单片机输出的控制信号和采集外部的输入信号,都是通过这32根I/O口线进行传输的。
(2)串行接口
51系列单片机内还具有一个全双工串行通信口,用于跟外部设备进行串行通信。
该串口利用2根I/O口线(P3.0串行接口输入端和P3.1串行接口输出端)构成,具有4种不同的工作方式。
既可以作为异步通信收发器,也可以作为同步移位寄存器使用,应用于需要扩展的I/O接口的系统。
2.4AT89S51单片机的特殊功能部件
(1)定时/计数器
AT89S51有两个16位可编程定时/计数器T0和T1,它们分别有两个独立的8位寄存器THx和TLx构成,通过编程设置可以实现4种工作方式。
(2)中断系统
51单片机具备较完善的中断功能,有2个外部中断、2个内部定时器中断和1个串行口中断,可以实现不同的控制要求,并具有两级的优先级。
(3)时钟振荡电路
51内置一个振荡器和时钟电路,用于产生整个单片机运行的脉冲时序,常用频率为6MHZ、11.0592MHZ、12MHZ。
振荡器实际上是一个高增益反相器,使用时需外接一个晶振和两个相匹配的电容。
2.5AT89S51单片机的引脚及功能
图2-1单片机的引脚分布图
(1)电源及时钟引脚
VCC(40脚):
主电源正端,接+5V。
VSS(20脚):
主电源负端,接地。
XTAL1(19脚):
片内高增益反响放大器的输入端。
接外部石英晶体和电容的一端。
若使用外部输入时钟,该引脚必须接地。
XTAL2(18脚):
片内高增益反向放大器的输出端。
接外部石英晶体和电容的另一端,若使用外部输入时钟,该引脚作为外部输入时钟的输入端。
(2)控制信号引脚
RESET/VPD(9脚):
RESET是复位信号输入端、高电平有效,此端保持两个机器周期(24个时钟周期)以上的高电平时,就可以完成复位操作。
RESET引脚的第二功能VPD,即备用电源的输入端。
ALE/
(30脚):
地址锁存控制信号。
在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。
(29脚):
程序存储器允许信号输出端。
当访问片外程序存储器时,此脚输出负脉冲作为读选通信号,低电平有效。
/VPP(31脚):
片内程序存储器选通控制端。
低电平有效。
当端保持低电平时。
将只访问片外程序存储器。
当EA端保持高电平时,执行访问片内程序存储器,但在PC(程序存储器)值超过0FFFH(对51子系列)或1FFFH(对52子系列)时,将自动转向执行片外程序存储器内的程序。
VPP加入编程电压端。
对EPROM型单片机,在EPROM编程期间,此引脚用于施加21V的编程电压(VPP)。
(3)输入输出引脚P0口、P1口、P2口、P3口
P0口(P0.0~P0.7,39脚~32脚):
P0有两种工作方式。
一是作为普通I/O口使用时,每一位可驱动8个LSTTL负载。
若驱动普通负载,它只有1.6mA的灌电流驱动能力,输出电流仅为几十微安。
高电平输出时,要接上拉电阻以增大驱动能力。
当P0口作为普通输入接口时,应先向P0口锁存器写“1”。
二是在CPU访问片外存储器(扩展外部(ROM或RAM)时,它是一个标准的双向I/O接口,采用分时复用方式提供低8位地址和用作8位双向数据总线。
在EPROM编程时,从PO口输入指令字节;在验证程序时,P0口输出指令字节,这时也需要接上拉电阻。
P1口(P1.0~P1.7,1脚~8脚),P1口是唯一的单功能接口,仅能作为通用I/O接口用。
它是自带上拉电阻的8位准双向I/O端口,每一位可驱动4个LSTTL负载,当P1口作为输入接口时,应先向口锁存器写“1”。
P2口(P2.0~P2.7,21脚~28脚),P2口也有两种工作方式,一是作为普通的I/O端口使用时,它是自带上拉电阻的8位准双向I/O接口,每一位可驱动4个LSTTL负载。
当P2口作为输入接口时,应先向口锁存器写“1”。
二是在访问外部存储器时(扩展
RAM或ROM)时,P2口作为高8位地址线使用。
P3口(P3.0~P3.7,10脚~17脚),P3口也是自带上拉电阻的8位准双向I/O接口,每一位可驱动4个LSTTL负载。
当P3口作为输入接口时,应先向口锁存器写“1”。
2.6AT89S51单片机的三总线结构
51系列单片机是总线结构的单片机,所谓总线就是指一组公共的信号线,51单片机的总线分为数据总线、地址总线和控制总线。
(1)数据总线(DB):
数据总线宽度为8位,有P0口提供。
(2)地址总线(AB):
地址总线宽度为16位,因此外部存储器直接寻址范围为64K,16位地址总线由P0口经地址锁存器提供低8位地址(A0~A7),P2口直接提供高8位地址(A8~A15)。
(3)控制总线(CB):
由P3口的第二功能状态和4根独立控制线RESET、EA、PSEN、ALE组成。
第三章DS18B20温度传感器
3.1DS18B20的主要特性
(1)适应电压范围宽,电压范围:
3.0-5.5V,在寄生电源方式下可以由数据线供电;
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测量。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;
(5)温度范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃,0.0625℃,可以实现高精度测温;
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;
(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可以传送CRC校验码,具有极强的抗干扰纠错能力;
(9)负压特性:
电源极性接反时,芯片不会因为发热而烧毁,但是不能正常工作。
3.2DS18B20的外形及引脚功能
DS18B20引脚:
DQ为数字信号输入/输出端;
GND为电源地;
VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
图3-1DS18B20的外形和管脚图
3.3DS18B20的内部结构
DS18B20的内部结构主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。
DS18B20采用3脚PR-35封装管脚排列如图3-1所示,内部结构如图3-2所示。
图3.2DS18B20内部结构图
(1)64位闪速ROM的结构如下:
表3-1ROM结构
8bit检验CRC
48bit序列号
8bit工厂代码(10H)
MSBLSBMSBLSBMSBLSB
开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
(3)DS18B20温度传感器的内部存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易丢失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH,TL和结构寄存器。
表3-2配置寄存器结构
TM
R1
R0
1
1
1
1
1
低五位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,拥护不要去改动。
R1和R0用来设置分辨率,如下表所示:
表3-3DS18B20温度转换时间表
R1
R0
分辨率(位)
温度最大转换时间(ms)
0
0
9
93.75
0
1
10
187.5
1
0
11
375
1
1
12
750
(4)高速暂存存储器
高速暂存存储器由9个字节组成,其分配如表3-6所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表3-7所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
表3-8是对应的一部分温度值。
第九个字节是冗余检验字节。
表3-4DS18B20字节定义
寄存器内容
字节地址
温度值低位(LSByte)
0
温度值高位(MSByte)
1
高温限值(TH)
2
低温限值(TL)
3
配置寄存器
4
保留
5
保留
6
保留
7
CRC校验值
8
表3-5DS18B20温度值格式表
低字节
23
22
21
20
2-1
2-2
2-3
2-4
高字节
S
S
S
S
S
26
25
24
表3-6DS18B20温度数据表
温度/℃
二进制表示
十六进制表示
+125
0000011111010000
07D0H
+85
0000010101010000
0550H
+25.0625
0000000110010001
0191H
+10.125
0000000010100010
00A2H
+0.5
0000000000001000
0008H
0
0000000000000000
0000H
-0.5
1111111111111000
FFF8H
-10.125
1111111101011110
FF5EH
-25.0625
1111111001101111
FE6FH
-55
1111110010010000
FC90H
上表是DS18B20温度采集转化后得到的12位数据,存储在DS18B20的两个8位的RAM中,二进制中的前面5位是符号位,如果测得的温度大于或等于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
温度转换计算方法举例:
例如当DS18B20采集到+125℃的实际温度后,输出为07D0H,则:
实际温度=07D0H×0.0625=2000×0.0625=125℃
例如当DS18B20采集到-55℃的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则:
实际温度=370H×0.0625=880×0.0625=55℃
(2)主机操作ROM的命令有五种,如表所列
表3-7ROM指令表
指 令
功能
读ROM(33H)
读DS1820温度传感器ROM中的编码(既64位地址)
匹配ROM(55H)
发出指令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20使之作出响应,为下一步对该DS18B20读写做准备。
跳过ROM(CCH)
忽略64位ROM地址,直接想DS18B20发温度变换指令。
适用于单片工作。
搜ROM(0F0H)
用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件做好准备。
报警搜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ds18b20 数字 温度计 毕业设计