1智能仪器设计课程设计报告―――基于DS18B20温度测量系统的设计学生姓名:李林学号:0701170118班级:07011701任课教师:石晓晶成绩:南京理工大学机械工程学院2基于DS18B20温度测量系统的设计摘要:设计了一种数字化温度测量系统,其误差小于等于±0.5℃,具有3位数码显示(XX.X℃)和开机自检功能,并配有简单键盘,能够设置温度上、下限临界报警值设置并上位机通信。关键字:DS18B20,温度测量,单片机3目录引言………………………………………………………………………………….41硬件电路设计……………………………………………………………………..51.1总体方案………………………………………………………………..51.2DS18B20介绍………………………………………………………..51.2.1DS18B20的主要特征…………………………………………51.2.3DS18B20的时序………………………………………………61.3键盘控制设计……………………………………………………………...71.4共阴极LED显示控制设计………………………………………………81.5复位电路的设计…………………………………………………………..91.6DS18B20测温电路的设计………………………………………………..91.7上位机通信电路…………………………………………………………..102软件编程设计……………………………………………………………………112.1总体流程图…………………………………………………………….112.2主程序…………………………………………………………………112.3自检子程序……………………………………………………………122.4上、下限温度值传送子程序…………………………………………132.5键盘控制子程序………………………………………………………142.6DS18B20复位子程序…………………………………………...........152.7DS18B20写控制字子程序………………………………...................162.8DS18B20读数据子程序……………………………………………….162.12数据表…………………………………………………………...........17总结…………………………………………………………………………….........17致谢……………………………………………………………………………….....18参考文献……………………………………………………………………….........19附录1(电路图)………………………………………………………………......21附录2(实物图)…………………………………………………………………..204引言在工业控制和生产自动化中,对于温度量的测量是十分重要的。测量温度的方法多种,传统温度测量方法是通过温度敏感元件,将温度的测量转换成对电信号的测量,再通过调理电路和模—数转换后得到温度值。本设计的温度测量系统,采用了Dallas公司的DS18B20型“一线总线”接口的数字化传感器,通过软件控制的方式,简化了硬件设计环节。1硬件电路设计1.1总体方案本设计的总体思路为:以单片机为控制核心,采用动态扫描的LED显示方式,并采用查询的方式对按键进行扫描。它包括:单片机核心模块、LED显示模块、键盘模块、报警模块、温度测量模块和上位机通信模块。图1.1硬件系统框图图1.2DS18B20封装图1.2DS18B20介绍DS18B20是美国DALLAS半导体公司生产的最新可组网、单线数字式温度传感器。DS18B20将温度传感器、A/D传感器、寄存器、接口电路集成在一个芯片中,外观与普通塑封晶体管极为相似,可实现直接数字化输出、测试,并具有控制功能强、传输距离远、抗干扰能力强、微型化、微功耗、易于和微控制器MCU或微机进行数据交换等特点。图1.2DS18B20封装DS18B20采用的是1-Wire总线协议。51-Wire是DALLAS公司的一项专有技术,它采用一根信号线实现信号的双向传输,接口简单、节省1/0口线、便于扩展和维护。1.2.1DS18B20的主要特征美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小[8]。1.DS18B20的特性[9](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)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2.DS18B20内部结构及DS18B20的管脚排列64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。不同的器件地址序列号不同。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的引脚定义:(1)DQ为数字信号输入/输出端(2)GND为电源地(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)6图1.3RAM及EEPROM结构图1.4温度转换数据关系图1.5DS18B20电路1.2.3DS18B20的时序复位时序如下:图1.6复位时序DS18B20的数据读写是通过时间隙处理位和命令字来确认信息交换的。写时间隙分为写“0”和写“1”,时序如图1.7。在写数据时间隙的前15uS总线需要是被控制器拉置低电平,而后则将是芯片对总线数据的采样时间,采样时间在15~60uS,采样时间内如果控制器将总线拉高则表示写“1”,如果控制器将总线拉低则表示写“0”。每一位的发送都应该有一个至少15uS的低电平起始位,随后的数据“0”或“1”应该在45uS内完成。整个位的发送时间应该保持在60~120uS,否则不能保证通信的正常。7图1.7DS18B20写时序读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少1uS的低电平,表示读时间的起始。随后在总线被释放后的15uS中DS18B20会发送内部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。每一位的读取之前都由控制器加一个起始信号。注意:如图1.8所示,必须在读间隙开始的15uS内读取数据位才可以保证通信的正确。在通信时是以8位“0”或“1”为一个字节,字节的读或写是从高位开始的。图1.8DS18B20读时序1.3键盘控制设计本设计的温度上限和下限设置由四个按键控制。从右向左分别为:“下限设置”键、“上限设置”键、“设置位变换”键和“数值上调”键,分别经上拉电阻连接至单片机的P2.0到P2.3口。8图1.9单片机与键盘输入电路上下限温度值的设置过程如下:1程序在初始化时将温度上限值设为30度,若须要设置温度上限值,则须按住“上限设置”键不放,约1s左右后,LED显示上限温度值中的十位值“3”,其他位为熄灭状态。2按一下“数值上调”键,LED显示数字为“4”,以此类推,到“9”后再按则清零为“0”。3按一下“设置位变换”键,则设置位变换到温度值得个位,若要设置数值,则可重复步骤2。4再按一下“设置位变换”键,则设置位变换到温度值得小数位,再按一下设置位有循环到十位。5松开“上限设置”键,则上限温度设置完成。6设置下限温度时,只须按住“下限限设置”键,其余过程与设置上限温度过程相同。1.4共阴极LED显示控制设计如图1.10P0口经电阻上拉后总线驱动器74LS245相连,以增强其电流的输9出能力。经过电阻限流后,与四位LED显示器的a~dp码段相连,作为显示数据的输入端。图1.9中,P2.7到P2.4分别与U4的A1到A4相连。经驱动后,分别与LED显示器的四个公共端相连接,作为动态扫描的选通信号。图1.10扫描显示控制电路1.5复位电路的设计本设计采用的89C52单片机为高电平复位,电容和电阻组成的延时电路可以保证时间常数为1s,并具有上电复位和手动复位的功能。图1.11单片机复位电路1.6DS18B20报警电路的设计图1.12为DS18B20的报警电路图,DQ口为DS18B20的数据输入输出口,通过4.7K的上拉电阻与P1.7相连。图1.12报警显示电路1.7上位机通信电路10本设计中包含了单片机与上位机通信的电路部分,可以实现上位机通过RS—232口进行程序的下载,还可将测量的温度值传送给上位机。采用USART的以通信的方式,通过MAX232芯片将TTL电平逻辑和RS232的电平逻辑进行转换。图1.13与上位机串行通信RS-232接口电路2软件编程设计2.1总体流程图软件监控程序流程为,开机自检、检测按键、温度测量、阈值比较、数据传送和数据显示,其流程图如下:11图2.1软件流程图2.2主程序主程序的功能为设置程序的起始地址,完成各种子程序的调用。;**********************************************************************ORG0000HLJMPMAINORG0040HMAIN:LCALLT_UPDATALCALLT_DOWNDATANOP12NOPLCALLTEST;***********************************************************************L1:LCALLKEY_TEST;**********************************************************************LCALLDS18_RESETMOVA,#0CCH;写控制字LCALLDS18_WMOVA,#44H;写控制字,转换温度LCALLDS18_WLCALLDELAY_500US;延时等待转换完毕LCALLDS18_RESETMOVA,#0CCH;写控制字LCALLDS18_WMOVA,#0BEHLCALLDS18_W;写控制字,读12B寄存器的值LCALLDS18_R;读数据;***********************************************************************LCALLCMP_UPLCALLCMP_DOWN;***************