基于单片机的多点温度测量系论文部分.docx
《基于单片机的多点温度测量系论文部分.docx》由会员分享,可在线阅读,更多相关《基于单片机的多点温度测量系论文部分.docx(54页珍藏版)》请在冰豆网上搜索。
基于单片机的多点温度测量系论文部分
摘要
本设计系统地介绍了基于DS18B20的多点温度测量系统的组成、设计方案、电路原理、程序设计以及系统仿真过程。
DS18B20多点温度测量系统是以AT89C51单片机作为控制核心,数字温度传感DS18B20为控制对象,运用C语言编程实现系统的各种功能。
该系统由单片机最小系统、传感器电路、报警电路、LCD显示电路、行列式键盘电路、电源电路六大部分组成。
借助PROTEUS软件,实现了系统电路设计和仿真。
它适用于电力工业、煤矿、森林、火灾、高层建筑等场所,还可以用于环境恶劣的工业控制现场。
通过DS18B20的单总线技术,系统实现了对远程环境的温度测量与监控。
关键词:
DS18B20,仿真,测量系统,PROTEUS,单片机
ABSTRACT
Thedesignsystematicallyintroducedthecomposition,thedesign,thecircuittheory,theprogramdesignandthesystemsimulationprocessofthemultipointtemperaturemeasurementsystemwhichbasedontheDS18B20.TheDS18B20multipointtemperaturemeasurementsystem,theAT89C51MCUasitscontrolcore,digitaltemperaturesensingDS18B20asitscontroltarget,usetheC-languageprogrammingsystemtorealizethefunctions.Thesystemcomposedofsixmajorcomponents,whicharethesmallestMCUsystem,thesensorcircuit,thealarmcircuits,theLCDdisplaycircuit,thekeyboard,thepowercircuit.ThesystemrealizethecircuitdesignandsimulationwithPROTEUSsoftware.Itappliestothepowerindustry,coal,forest,fire,high-risebuildingsandotherplaces,itcanalsoappliestoindustrialcontrolfieldwiththebadenvironment.ThroughthemonobustechnologyoftheDS18B20,thesystemachievethemeasurementandmonitoringofthelong-rangeenvironmentaltemperature.
Keywords:
DS18B20,simulation,measurementsystem,PROTEUS,MCU
目录
第1章绪论………………………………………………………………1
1.1课题来源…………………………………………………………………………2
1.2课题研究的目的意义……………………………………………………………2
1.3国内外现状及水平………………………………………………………………2
1.4课题研究内容……………………………………………………………………2
第2章系统方案设计………………………………………………………2
2.1基于模拟温度传感器设计方案…………………………………………………2
2.2基于数字温度传感器设计方案…………………………………………………2
2.3方案论证…………………………………………………………………………2
第3章电路设计………………………………………………………………2
3.1工作原理…………………………………………………………………………2
3.2DS18B20与单片机接口技术……………………………………………………2
3.2.1DS18B20的引脚功能………………………………………………………2
3.2.2DS18B20与单片机接口电路………………………………………………2
3.2.3温度寄存器格式和温度/数据对应关系…………………………………2
3.2.4单片机对DS18B20的控制方法……………………………………………2
3.3键盘电路设计……………………………………………………………………2
3.3.1行列式键盘与单片机接口电路……………………………………………2
3.3.2键盘面板……………………………………………………………………2
3.4显示电路设计……………………………………………………………………2
3.4.1LCD引脚分布及功能………………………………………………………2
3.4.2单片机与图形液晶的接口电路……………………………………………2
3.5报警电路设计……………………………………………………………………2
3.6电源电路设计……………………………………………………………………2
第4章程序设计……………………………………………………………2
4.1系统资源分配……………………………………………………………………2
4.1.1系统硬件资源分配…………………………………………………………2
4.1.2系统软件资源分配…………………………………………………………2
4.2系统流程设计……………………………………………………………………2
4.2.1主程序流程设计……………………………………………………………2
4.2.2DS18B20程序流程设计……………………………………………………2
4.2.3显示程序流程………………………………………………………………2
4.2.4键盘程序程序流程…………………………………………………………2
4.3程序设计…………………………………………………………………………2
4.3.1主程序设计…………………………………………………………………2
4.3.2子程序设计…………………………………………………………………2
第5章系统仿真………………………………………………………………2
5.1PROTUES仿真环境介绍…………………………………………………………2
5.2原理图绘制………………………………………………………………………2
5.3程序加载…………………………………………………………………………2
5.3.1程序编译……………………………………………………………………2
5.3.2程序加载……………………………………………………………………2
5.4系统仿真…………………………………………………………………………2
5.5仿真结果分析……………………………………………………………………2
第6章PCB板设计……………………………………………………………2
6.1PCB板设计………………………………………………………………………2
6.1.1PCB板面规划……………………………………………………………2
6.1.2PCB网络表导入…………………………………………………………2
6.1.3PCB元件布局……………………………………………………………2
6.1.4布线………………………………………………………………………2
6.2原理图绘制………………………………………………………………………2
6.2.1PCB打印……………………………………………………………………2
6.2.2PCB转印……………………………………………………………………2
6.2.3PCB蚀刻……………………………………………………………………2
6.2.4PCB钻孔……………………………………………………………………2
6.2.5PCB板表面处理……………………………………………………………2
结论……………………………………………………………………………1
参考文献………………………………………………………………………1
致谢……………………………………………………………………………1
附录……………………………………………………………………………1
第1章绪论
1.1课题来源
温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时它也是一种最基本的环境参数。
人民的生活与环境温度息息相关,物理、化学、生物等学科都离不开温度。
在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型仓储室、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。
比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行。
炼油过程中,原油必须在不同的温度和压力条件下进行分流才能得到汽油、柴油、煤油等产品;没有合适的温度环境,许多电子设备不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。
可见,研究温度的测量具有重要的理论意义和推广价值。
随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。
本设计就是为了满足人们在生活生产中对温度测量系统方面的需求。
本设计要求系统测量的温度的点数为4个,测量精度为0.5℃,测温范围为-20℃~+80℃。
采用液晶显示温度值和路数,显示格式为:
温度的符号位,整数部分,小数部分,最后一位显示℃。
显示数据每一秒刷新一次。
1.2课题研究的目的意义
21世纪科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了巨大的变化,我们已经进入了高速发展的信息时代,测量技术也成为当今科技的主流之一,被广泛地应用于生产的各个领域。
对于本次设计,其目的在于:
(1)掌握数字温度传感器DS18B20的原理、性能、特点和使用方法,利用C51对系统进行编程。
(2)本课题综合了现代测控、电子信息、计算机技术专业领域方方面面的知识,具有综合性、科学性、代表性,可全面检验和促进学生的理论素养和工作能力。
(3)本课题的研究可以使学生更好地掌握基于单片机应用系统的分析与设计方法,培养创新意识、协作精神和理论联系实际的学风,提高电子产品研发素质,增强针对实际应用进行控制系统设计制作的能力。
1.3国内外现状及水平
传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。
温度传感器的发展大致经历了以下三个阶段:
传统的分立式温度传感器(含敏感元件);模拟集成温度传感器;数字温度传感器。
目前,国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。
随着我国四个现代化和经济发展,我国在科技和生产各领域都取得了飞速的发展和进步,发展以温度传感器为载体的温度测量技术具有重大意义。
1.4课题研究内容
本设计研究的主要内容如下:
(1)在广泛查阅温度检测控制理论和方法、测温技术和温度控制技术等资料的基础上,根据不同的控制要求及应用领域完成对系统方案的总体设计。
本设计采用以AT89C51为核心的单片机系统,来实现对温度的检测、报警等功能。
(2)研究比较各相关元器件的功能与特点,选择合适的元器件。
(3)系统硬件设计。
系统硬件设计主要包括:
温度检测、单片机数据采集和处理、显示、键盘设定、报警电路等部分。
(4)系统软件设计。
本课题采用C语言,利用Keil编译器进行编程及调试。
主要研究DS18B20与单片机的通信协议、时序及一些C51通用程序等。
本设计的难点分为硬件和软件两个方面。
其中硬件开发的难点在于各种元器件的选择和使用,如各种电阻、电容等的选择。
软件开发的难点在于DS18B20的时序,如果时序不正确,将无法读出正确的温度值,对系统产生很大的影响。
第2章系统方案设计
2.1基于模拟温度传感器设计方案
该方案由单片机、模拟温度传感器AD590、运算放大器、AD转换器、4×4键盘、LCD显示电路、集成功率放大器、报警器组成,如图2.1所示。
本方案采用模拟温度传感器AD590作为测温元件,传感器将测量的温度变换转换成电流的变化,再通过模拟电路将电流的变化转换成电压的变化,使用运算放大器交将信号进行适当的放大,最后通过模数转换器将模拟信号转换成数字信号,传送给单片机。
单片机将温度值进行处理之后用LCD显示,当温度值超过设置值时,系统开始报警。
图2.1基于模拟温度传感器的测量系统方案
本方案使用的测温元件的性能指标如下:
(1)AD590的测温范围为﹣55℃~+150℃。
(2)AD590的电源电压范围为4V~30V,电源电压可在4V~6V范围变化,电流 变化1mA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。
(3)输出电阻为710MW。
(4)精度高,AD590共有I、J、K、L、M五档,其中M档精度最高,在﹣55℃~+150℃范围内,非线性误差为±0.3℃。
集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便、温度测量范围广等优点,得到广泛应用。
集成温度传感器的输出形式分为电压输出和电流输出两种。
电压输出型的灵敏度一般为10mV/K,温度0℃时输出为0,温度25℃时输出2.982V。
电流输出型的灵敏度一般为1mA/K。
2.2基于数字温度传感器设计方案
该方案使用了AT89C51单片机作为控制核心,以数字温度传感器DS18B20为温度测量元件,采用多个温度传感器对各点温度进行检测,通过4×4键盘对正常温度的最大值进行设置,显示电路采用128×64LCD,使用LM386作为报警电路中的功率放大器。
图2.2基于数字温度传感器测量系统方案
本课题采用数字温度传感器DS18B20作为测为测温元件,它具有如下特点:
(1)只要求一个端口即可实现通信。
(2)在DS18B20中的每个器件上都有独一无二的序列号。
(3)实际应用中不需要外部接任何元器件即可实现测温。
(4)测量温度范围在-55C到+125C之间。
(5)9~12位分辨率可调。
(6)内部有温度上、下限告警设置。
2.3方案论证
本设计要求测量的点数为4,测温范围为-20℃~+80℃,精度为0.5℃。
采用液晶显示,同时显示路数和温度,每秒刷新1次显示数据。
综合模拟温度传感器和数字温度传感器的性能指标,以上两个方案都能达到设计的要求。
方案一采用模拟温度传感器AD590,转换结果需要经过运算放大器和AD转换器传送给处理器。
它控制虽然简单,成本低,但是后续电路复杂,且需要进行温度标定。
集成温度传感器AD590输出为电流,且输出信号较弱,所以需要后续放大及A/D转换电路。
如采用普通运放则精度难以保证,而测量放大器价格较高,这样会使系统成本升高。
方案二采用了数字温度传感器DS18B20,改变了传统温度测量方法。
它能在现场采集温度数据,直接将温度物理量转换为数字信号并以总线方式传送到单片机,再由单片机进行数据处理,并且可根据实际要求通过简单的编程实现9-12位的数字式读取方式,因而使用DS18B20可使系统结构更加简单,可靠性更高,大大提高系统的抗干扰能力。
DS18B20体积小、经济、使用方便灵活、测试精度高、较高的性能价格比,有CRC校验,系统简明直观,适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
方案二程序设计稍微复杂一些,但在电子竞赛期间我使用DS18B20做过温度计,也调试过LCD,并且已经用PROTEUS实现了系统的仿真。
因此,该方案完全具有可行性,同时体现了技术的先进性,经济上也有很大的优势。
综上所述,本设计采用方案二对系统进行设计。
第3章电路设计
3.1工作原理
基于DS18B20多点温度测量系统以AT89C51为核心器件,以KEIL为系统开发平台,用C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。
系统主要由单片机最小系统、传感器电路、液晶显示电路、键盘电路、报警电路、电源电路组成,系统原理图如图3.1所示。
图3.1系统原理图
DS18B20是数字温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。
主机按照通信协议用一个IO口(P1.7)模拟DS18B20的时序,发送命令(初始化命令、ROM命令、RAM命令)给DS18B20,转换完成之后单片机读取温度值,在内部进行相应的数值处理,用128×64LCD显示各点的温度。
在系统启动的时候,可以通过4×4键盘设置各点温度的上限值,当某点的实际温度超过设置值时,报警器开始报警,液晶显示该传感器的路数、设置温度值、实际温度值以及路数和该路的状态,从面实现了对各点温度的测量和实时监控。
每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收主机的命令,向主机发送转换的温度。
采用这种寻址技术,单片机使用一个IO口即能实现对四点环境的温度数据进行采集,使系统硬件电路更加简单,系统更加稳定。
3.2DS18B20与单片机接口技术
3.2.1DS18B20的引脚功能
DS18B20的引脚功能描述见表3.1。
表3.1 DS18B20引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源
3
VDD
可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地
3.2.2DS18B20与单片机接口电路
如图3.2所示,为单片机和DS18B20的接口电路。
DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的P1.7口,电源与数字输入输出脚间需要接一个4.7K的电阻。
图3.2DS18B20与单片机接口电路
3.2.3温度寄存器格式和温度/数据对应关系
DS18B20温度寄存器如表3.2所示。
寄存器有16位,高5位为符号位,低13位为数据位。
当寄存器高5位为1时,表示温度为负,否则为正。
表3.2温度寄存器格式
bit7bit6bit5bit4bit3bit2bit1bit0
23
22
21
20
2-1
2-2
2-3
2-4
LSByte
Bbit15bit14bit13bit12bit11bit10bit9bit8
S
S
S
S
S
26
25
24
MSByte
如果测得的温度大于0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,测得的数值需要取反加1再乘0.0625,即可得到实际的温度值。
如表3.3所示,是DS18B20的温度与数据的对应关系。
表3.3温度/数据的关系
温度
输出(2进制)
输出(16进制)
+125℃
0000011111010000
07D0H
+85℃
0000010101010000
0550H
+20.0625℃
0000000110010001
0191H
+10.125℃
0000000010100010
00A2H
+0.5℃
0000000000001000
0008H
0℃
0000000000000000
0000H
-0.5℃
1111111111111000
FFF8H
-10.125℃
1111111101011110
FF5EH
25.0625℃
1110111001101111
EE6FH
-55℃
1111111010010000
FE90H
3.2.4单片机对DS18B20的控制方法
DS18B20采用严格的单总线通信协议,以保证数据的完整性。
该协议定义了
几种信号类型:
复位脉冲、应答脉冲、写0、写1、读0和读1。
除了应答脉冲所有
这些信号都由主机发出同步信号。
总线上传输的所有数据和命令都是以字节为单位,且低位在前,高位在后。
(1)初始化序列:
复位脉冲和应答脉冲
在初始化过程中,主机通过拉低单总线至少480µs,以产生复位脉冲(TX)。
然后主机释放总线并进入接收(RX)模式。
当总线被释放后,5kΩ的上拉电阻将单总线拉高。
DS18B20检测到这个上升沿后,延时15µs~60µs,通过拉低总线60µs~240µs产生应答脉冲。
初始化脉冲如图3.3所示。
图3.3DS18B20初始化时序
DS18B20的初始化应答C语言程序如下所示:
bitresetpulse(void)
{
DQ=0;
delay600us();
DQ=1;
delay60us();
return(DQ);
}
DS18B20的初始化C语言程序如下所示:
voidDs18b20_Init(void)
{
while
(1)
{
if(!
resetpulse())//收到ds18b20的应答信号
{
DQ=1;
delay600us();//延时240us
break;
}
else
resetpulse();//否则再发复位信号
}}
(2)DS18B20的读写控制
在写时序期间,主机向DS18B20写入数据;而在读时序期间,主机读入来自DS18B20的数据。
在每一个时序,总线只能传输一位数据。
读/写时序如图3.4所示。
图3.4DS18B20读写时序
①DS18B20写时序
DS18B20存在两种写时序:
“写1”和“写0”。
主机在写1时序时向DS18B20
写入逻辑1,而在写0时序向DS18B20写入逻辑0。
所有写时序至少需要60µs,且在两次写时序之间至少需要1µs的恢复时间。
两种写时序均以主机拉低总线开始。
写1时序:
主机拉低总线后,必须在15µs内释放总线,然后由上拉电阻将总线拉至高电平。
写0时序:
主机拉低总线后,必须在整个时序期间保持低电平(至少60µs)。
在写时序开始后的15µs~60µs期间,DS18B20采样总线的状态。
如果总线为高电平,则逻辑1被写入DS18B20;如果总线为低电平,则逻辑0被写入DS18B20。
2读时序
DS18B20只能在主机发出读时序时才能向主机传送数据。
所以主机在发出读数据命令后,必