基于DS18B20的温度传感器设计(课程设计)
基于DS18B20的温度采集显示系统的设计
目录1.引言 (1)1.1绪论 (1)1.2课程设计任务书 (1)2.设计方案 (3)3.硬件设计方案 (3)3.1最小系统地设计 (3)3.2LED发光报警电路 (5)3.3DS18B20地简介及在本次设计中地应用 (5)3.3.1 DS18B20地外部结构及管脚排列 (5)3.3.2 DS18B20地工作原理 (6)3.3.3 DS18B20地主要特性 (7)3.3.4 DS18B20地测温流程 (8)3.3.5 DS18B20与单片机地连接 (8)3.4报警温度地设置 (8)3.5数码管显示 (9)3.5.1数码管工作原理 (9)3.5.2数码管显示电路 (10)3.6硬件电路总体设计 (11)4.软件设计方案 (12)4.1主程序介绍 (12)4.1.1主程序流程图 (12)4.1.2主流程地C语言程序 (13)4.2部分子程序 (17)4.2.1 DS18B20复位子程序 (17)4.2.2 写DS18B20命令子程序 (18)4.2.3读温度子程序 (20)4.2.4计算温度子程序 (22)4.2.5显示扫描过程子程序 (23)5.基于DS18B20地温度采集显示系统地调试 (25)6.收获和体会 (27)7.参考文献 (27)1.引言1.1绪论随着科学技术地发展,温度地实时显示系统应用越来越广泛,比如空调遥控器上当前室温地显示,热水器温度地显示等等,同时温度地控制在各个领域也都有积极地意义.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.本文介绍了基于DS18B20地温度实时采集与显示系统地设计与实现.设计中选取单片机AT89C51作为系统控制中心,数字温度传感器DS18B20作为单片机外部信号源,实现温度地实时采集.并且用精度较好地数码管作为温度地实时显示模块.利用单片机程序来完成对DS18B20与AT89C51地控制,最终实现温度地实时采集与显示.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.1.2课程设计任务书《微机原理与接口技术》课程设计任务书(二)题目:基于DS18B20地温度采集显示系统地设计一、课程设计任务传统地温度传感器,如热电偶温度传感器,具有精度高,测量范围大,响应快等优点.但由于其输出地是模拟量,而现在地智能仪表需要使用数字量,有些时候还要将测量结果以数字量输入计算机,由于要将模拟量转换为数字量,其实现环节就变得非常复杂.硬件上需要模拟开关、恒流源、D/A转换器,放大器等,结构庞大,安装困难,造价昂贵.新兴地IC温度传感器如DS18B20,由于可以直接输出温度转换后地数字量,可以在保证测量精度地情况下,大大简化系统软硬件设计.这种传感器地测温范围有一定限制(大多在-50℃~120℃),多适用于环境温度地测量.DS18B20可以在一根数据线上挂接多个传感器,只需要三根线就可以实现远距离多点温度测量.本课题要求设计一基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块(可用数码管或液晶显示)和键盘输入模块及报警模块.所设计地系统可以从键盘输入设定温度值,当所采集地温度高于设定温度时,进行报警,同时能实时显示温度值.二、课程设计目地通过本次课程设计使学生掌握:1)单总线温度传感器DS18B20与单片机地接口及DS18B20地编程;2)矩阵式键盘地设计与编程;3)经单片机为核心地系统地实际调试技巧.从而提高学生对微机实时控制系统地设计和调试能力.三、课程设计要求1、要求可以从键盘上接收温度设定值,当所采集地温度高于设定值时,进行报警(可以是声音报警,也可是光报警)2、能实时显示温度值,要求保留一位小数;四、课程设计内容1、人机“界面”设计;2、单片机端口及外设地设计;3、硬件电路原理图、软件清单.五、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)总体设计方案(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序地名称及其功能);(6)调试、运行及其结果;3、收获、体会4、参考文献六、课程设计进度安排七、课程设计考核办法本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%.2.设计方案本次地课题设计要求是基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块和键盘输入模块及报警模块.其中温度采集模块所选用地是DS18B20数字温度传感器进行温度采集,温度显示模块用地四位八段共阴极数码管进行温度地实时显示,键盘输入模块采用地是按钮进行温度地设置,报警模块用地是LED灯光报警.具体方案见图2-1.图2-1 总体设计方案3.硬件设计方案3.1最小系统地设计本次设计单片机采用地是AT89C51系列地,它由一个8位中央处理器(CPU),4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个串行I/O口及中断系统等部分组成.其结构如图3-1所示:图3-1 AT89C51系列单片机引脚排列图3-2 单片机最小系统接线图图3-2为单片机最小系统地接线图,其中C1、C2均选用20PF 地,晶振X1用地是11.0592MHZXTAL1XTAL2 RST EA地.晶振电路中外接电容C1,C2地作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率地作用,一般选用10~30pF地瓷片电容.并且电容离晶振越近越好,晶振离单片机越近越好.晶振地取值范围一般为0~24MHz,常用地晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz 等.晶振地振荡频率直接影响单片机地处理速度,频率越大处理速度越快.图3-2中C3,R1及按键构成了最小系统中地复位电路,本次设计选择地是手动按钮复位,手动按钮复位需要人为在复位输入端RST上加入高电平.一般采用地办法是在RST端和正电源Vcc之间接一个按钮.当人为按下按钮时,则Vcc地+5V电平就会直接加到RST端.由于人地动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位地时间要求.在单片机最小系统中还要将EA地非接高电平,如图3-2也有体现出来.3.2 LED发光报警电路P1.7图3-3 LED发光报警电路图3-3为LED报警电路地接法,其中一根线接单片机地8号P1.7口,另外一根接地.当温度超过预设温度值时LED灯被接通发光报警.3.3 DS18B20地简介及在本次设计中地应用3.3.1 DS18B20地外部结构及管脚排列DS18B20地管脚排列如图3-4所示:DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)图3-4 DS18B20地引脚排列及封装3.3.2 DS18B20地工作原理DS18B20地读写时序和测温原理与DS1820相同,只是得到地温度值地位数因分辨率不同而不同,且温度转换时地延时时间由2s减为750ms. DS18B20测温原理如图3-5所示.图中低温度系数晶振地振荡频率受温度影响很小,用于产生固定频率地脉冲信号送给计数器1.高温度系数晶振随温度变化其振荡率明显改变,所产生地信号作为计数器2地脉冲输入.计数器1和温度寄存器被预置在-55℃所对应地一个基数值.计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当计数器1地预置值减到0时,温度寄存器地值将加1,计数器1地预置将重新被装入,计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温度.图中地斜率累加器用于补偿和修正测温过程中地非线性,其输出用于修正计数器1地预置值.图3-5 DS18B20测温原理图3.3.3 DS18B20地主要特性(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.3.4 DS18B20地测温流程图3-6 DS18B20地测温流程图3.3.5 DS18B20与单片机地连接图3-7 DS18B20与单片机地连接电路图如上图为DS18B20温度传感器与单片机之间地接法,其中2号接单片机地17号P3.7接口.DS18B20通过P3.7口将采集到地温度实时送入单片机中.3.4 报警温度地设置P2.5 P2.6 P2.7P3.7图3-8 报警温度地设置电路图3-8为报警温度地设置电路,其中K1,K2,K3分别接到单片机地P2.5,P2.6,P2.7口.其中K1用于报警温度设定开关,K2用于报警温度地设置时候地加温度(每次加一),K3用于报警温度地设置时地减温度(每次减一).实现了报警温度地手动设置.3.5 数码管显示3.5.1数码管工作原理图3-9 数码管地引脚排列及结构图3-9为数码管地外形及引脚排列和两种接法(共阴极和共阳极)地结构图.共阳极数码管地8个发光二极管地阳极(二极管正端)连接在一起.通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为低电平时,则该端所连接地字段导通并点亮.根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能吸收额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.共阴极数码管地8个发光二极管地阴极(二极管负端)连接在一起.通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为高电平时,则该端所连接地字段导通并点亮,根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能提供额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.要使数码管显示出相应地数字或字符,必须使段数据口输出相应地字形编码.字型码各位定义为:数据线D0与a字段对应,D1与b字段对应……,依此类推.如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮.如要显示“0”,共阳极数码管地字型编码应为:11000000B(即C0H);共阴极数码管地字型编码应为:00111111B(即3FH).依此类推,可求得数码管字形编码如表3-5所示.表3-5数码管字符表显示地具体实施是通过编程将需要显示地字型码存放在程序存储器地固定区域中,构成显示字型码表.当要显示某字符时,通过查表指令获取该字符所对应地字型码.3.5.2数码管显示电路图3-10 四位八段数码管动态显示电路图3-10为本次设计所用到地四位八段数码管动态显示,其中段选接到单片机地P0口,位选接到单片机地P2口地低四位.其中P0口也接地有上拉电阻,图中未标示出来,会在下面地总体电路中标示出来.采用地是动态显示方式.3.6 硬件电路总体设计图3-11为本次设计地硬件总体设计图,其中利用K1,K2,K3处进行报警温度地设置,然后有DS18B20进行实时温度采集,并在数码管上同步显示,若采集到地温度达到或者超过预设地报警温度,则LED 灯会发光报警,若低于该报警温度,则不会报警.P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1P2.2 P2.3图3-11 硬件电路总体设计图4.软件设计方案4.1主程序介绍4.1.1主程序流程图本次设计首先对程序进行初始化,然后打开报警温度设定开关,对报警温度进行设定,确认设定值后,DS18B20温度传感器进行温度采集并送入单片机中,单片机将传感器所检测到地温度同步显示在数码管上,并且与设置地报警温度进行比较,若达到或者超过报警温度时,LED灯发光报警,如果没有达到,则继续进行温度采集.图4-1主程序流程图4.1.2主流程地C语言程序main (){ALERT=0。
基于AT89C51DS18B20的数字温度计设计
基于AT89C51DS18B20的数字温度计设计一、本文概述Overview of this article本文旨在探讨基于AT89C51微控制器和DS18B20数字温度传感器的数字温度计设计。
我们将详细介绍如何利用这两种核心组件,结合适当的硬件电路设计和软件编程,实现一个能够准确测量和显示温度的数字温度计。
This article aims to explore the design of a digital thermometer based on AT89C51 microcontroller and DS18B20 digital temperature sensor. We will provide a detailed introduction on how to utilize these two core components, combined with appropriate hardware circuit design and software programming, to achieve a digital thermometer that can accurately measure and display temperature.我们将对AT89C51微控制器和DS18B20数字温度传感器进行简要介绍,包括它们的工作原理、主要特性和适用场景。
然后,我们将详细阐述硬件电路的设计,包括微控制器与温度传感器的连接方式、电源电路、显示电路等。
We will provide a brief introduction to the AT89C51 microcontroller and DS18B20 digital temperature sensor, including their working principles, main characteristics, and applicable scenarios. Then, we will elaborate on the hardware circuit design, including the connection method between the microcontroller and temperature sensor, power circuit, display circuit, etc.在软件编程方面,我们将介绍如何使用C语言对AT89C51微控制器进行编程,实现温度数据的读取、处理和显示。
DS18B20温度传感器设计要点
DS18B20温度传感器设计要点1.传感器选型:选择适合应用场景的DS18B20传感器,主要考虑工作温度范围、精度要求、供电电压等因素。
2.电路设计:(1)供电电压:DS18B20的供电电压范围为3V到5.5V,可以根据应用需求选择合适的供电电源。
(2)引脚连接:DS18B20有三个引脚,分别是VCC、DQ、GND。
其中VCC为供电电源,DQ为数据线,GND为地线。
在设计中要确保引脚连接正确稳定。
(3)电源滤波:为了减少电源噪声对传感器的影响,可以在供电电源上添加电源滤波电路,如滤波电容和电感等。
3.布线设计:由于DS18B20传感器采用单线总线通信,布线设计对于测量精度和通信稳定性非常重要。
(1)布线距离:DS18B20传感器的最大布线距离一般为100米,但实际上受到布线环境和通信电缆等因素的限制。
需要合理设计布线距离以保证信号传输的稳定性。
(2)布线阻抗:为了减少传输过程中的信号衰减和反射等问题,可以使用合适的布线阻抗。
一般来说,通信电缆的标称阻抗为120Ω,保持传输线的匹配阻抗有助于信号的正常传输。
4.传感器放置:(1)传感器放置位置:为了获得准确的温度测量结果,传感器的放置位置应该避免直接受到热源或冷源的影响,并且应尽量避免受到外界温度的干扰。
(2)固定方式:可以使用适当的固定装置将传感器安装在需要测量的位置上,确保传感器与环境接触良好。
5.通信协议:6.温度测量精度校准:为了获得准确的温度测量结果,可以在设计中进行温度测量精度校准。
校准方法可以是通过与已知温度源进行比对,或者使用标准温度计进行校准。
7.电源管理:为了延长传感器的使用寿命,可以在设计中考虑电源管理功能,如合理控制供电电流和添加省电功能。
总之,DS18B20温度传感器的设计要点主要包括传感器选型、电路设计、布线设计、传感器放置、通信协议、温度测量精度校准和电源管理等方面。
要综合考虑应用需求和环境特点,确保传感器的测量精度、稳定性和可靠性。
基于DS18B20的单片机温度检测与调节系统设计
ajs betm ea r ,hg rc i ,es o t l n p l ai , t a e c adrg l ee v dut l e p rt e i peio a u h s n ayc nr dapi t n icnd t t n ua ni oa c o e e t —
as a e a p i ae o e r y a i g g e n o s n o c lu e p o u t n. lo c n b p lc t d t ne g -s vn r e h u e a d f r u t r r d c i li o Ke r s: DS1 y wo d 8B2 0; t mp r t e dee to e e aur t cin; t mp r t r e u a in; sn l c i e eaue rg lt o i ge— h p
的设计 方法 ¨ 。 J
D 1B 0 供 电 的 数 据 总 线 。 所 以 系 统 选 用 B8 2 D 1B 0作 为 温 度 传 感 器 可 大 大 简 化 系 统 硬 件 结 S8 2
周 秀明 ,曹 隽 ,张春龙
( 黑龙 江生 态工程 职 业 学院 ,黑龙 江 哈 尔滨 102 ) 50 5
摘 要 :文章介绍 了一 种基于 D 1 B 0的单 片机温度检测 调节系统 的设计 方法 。该温度 检测调节 系统具有 测 S8 2
温范围宽 、精 度高 、控 制简单 、实用 ,能对环境温度进行实 时检 测与调节等优点 ,适用 于一般的工农业 场合 , 也可应用于节能温室花卉生产 。 关键词 :D 1 B 0 S 8 2 ;温度检测 ;温度调 节 ;单 片机
位 ,5 ms2位 的数字 量 , 且 一根 口线 就可 以完 成 70 1 并 对 从 D 1 B 0读 出 的信 息 或 写 入 D 1 B 0的信 息 S82 S8 2 进 行 读 取 , 温 度 变 换 功 率 来 源 于 可 同 时 向 其
DS18B20温度传感器课程设计报告
传感器课程设计设计题目:DS18B20温度传感器班级:电子(2)班姓名:梁玉杰,韦小门,李军伟学号:201140620223指导教师:XXX调试地点:509目录一、概述 (2)二、内容 (3)1、课程设计题目 (3)2、课程设计目的 (3)3、设计任务和要求 (3)4、正文 (3)(一)、方案选择与论证 (3)三、系统的具体设计与实现 (5)(1)、系统的总体设计方案 (5)(2)、硬件电路设计 (5)a、单片机控制模块 (5)b、温度传感器模块 (6)四、软件设计 (12)1、主程序 (12)2、读出温度子程序 (12)3、温度转换命令子程序 (12)4、计算温度子程序 (13)五、完整程序如下: (13)六、设计体会 (18)七、参考文献 (19)一、概述随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
本文主要介绍了一个基于89S51单片机的测温系统,详细描述了利用液晶显示器件传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。
对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:单片机AT89C51、DS18B20温度传感器、液晶显示LCD1602。
二、内容1、课程设计题目基于DS18B20的温度传感器2、课程设计目的通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。
(完整版)基于DS18B20数字温度传感器的仿真与设计应用
精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。
如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。自制传感器的性能应满足使用要求。
本课题的整个系统是由单片机、显示电路、键盘电路、声光报警电路等构成。
3.1温度传感器
3.1.1温度传感器选用细则
现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。
1.2温度传感器的发展趋势
进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
1.3传感器在温控系统中的应用
目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200℃~800℃之间,分辨率12位,最小分辨温度在0.001~0.01之间。自带LED显示模块,显示4位到16位不等。有的仪表还具有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。
微波干燥恒温控制系统的设计——基于ds18b20数字温度传感器
2012年2月农机化研究第2期微波干燥恒温控制系统的设计一基于D Sl8B20数字温度传感器陈霖,苏烨,傅秋茗,王治平,莫愁(四川农业大学信息与工程技术学院,四川雅安625014)摘要:利用D Sl8820数字温度传感器对微波加热室内进行实时温度监测,以A T89$52单片机及相关电子元件为核心控制微波加热过程,读取实时温度,比较温度区间。
通过断开、闭合微波炉工作电源,使其始终保持在预设温度区间内,进而实现微波干燥恒温控制。
试验结果显示,使用该系统干燥的作物样品品质明显优于微波场直接干燥的作物品质。
试验表明,该系统能够实现其预定功能。
关键词:微波干燥;恒温;自动控制;数字温度传感器中图分类号:s226.6;S126文献标识码:A文章编号:1003—188X(2012)02-0193-040引言微波是一种具有穿透特性的电磁波,可产生高频电场。
微波加热利用的是介质损耗原理,水分子是极性分子,在微波作用下其极性随着外电磁场的变化而变化,高速运动的水分子急剧摩擦、碰撞,使物料产生热化和膨化等一系列过程,从而达到微波加热的目的。
目前,微波干燥技术以其速度快、时间短、样品温度低、整体加热等优点,在食品、中药、化学等行业中的应用越来越广泛¨。
5J。
微波干燥过程中的温度对于样品的加工时间和最终加工品质具有重要的影响。
但是微波干燥时温度的测量及控制仍然不够成熟,没有一种有效的方法可以对微波场中的温度准确测量【6】。
为此,笔者设计了一种新的微波干燥自动控制系统,采用D Sl8820数字温度传感器进行干燥室内的实时监测,使用A T89S52单片机对系统进行温度控制,使其工作在一定的预设区间内,从而获得更好的作物品质。
1原理及结构1.1恒温控制原理根据微波炉工作原理,其工作方式可分为连续式和间歇式。
当采用连续式工作方式时,很容易使微波炉磁控管工作电压、电流超过额定值,致使其工作电压上下波动,甚至使磁控管停止工作,而采用间歇式收稿日期:2011-04-13基金项目:四川农业大学双支计划项目(2009)作者简介:陈霖(1969一),女,四川汉源人,副教授,(E—m ai l) l i nge he nl21@163.cor n。
基于DS18B20的数字温度计设计课程设计
第三章、DS18B20的相关介绍……………………………………………
DS18B20测温湿系统设计............................
3.1 DS18B20温度传感器.............................................
Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。Proteus 产品系列也包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
DS18B20性能特点
DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。
3.1DS18B20温度传感器
DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
基于51单片机和DS18B20的数字温度计设计说明
基于51单片机和DS18B20的数字温度计设计说明
1.硬件设计:
-51单片机:选择合适的型号,如STC89C52或AT89C52等。
-DS18B20温度传感器:该传感器是一种数字温度传感器,具有单总线接口和高精度测量能力。
-接口电路:将51单片机和DS18B20传感器连接起来,要注意电平转换和信号线的阻抗匹配。
2.软件设计:
-初始化:在主函数中,首先对单片机进行初始化设置,包括时钟设置、串口配置等。
-DS18B20通信协议:使用单总线协议与DS18B20传感器进行通信,包括发送复位信号、读写数据等操作。
-温度测量:通过向DS18B20发送读取温度的命令,从传感器中读取温度值并保存。
-数据传输:将温度值转换为可显示的格式,如摄氏度或华氏度,并通过串口输出或LED显示。
3.程序流程:
-初始化单片机,设置时钟和串口参数。
-进入主循环,循环执行以下操作:
-发送复位信号,启动温度转换。
-等待转换完成,发送读取温度命令。
-读取温度值,并进行数据处理转换。
-输出温度值。
4.其他功能:
-可以添加LCD显示模块,将温度值显示在液晶屏上。
-可以添加按键输入模块,通过按键切换温度单位或进行其他操作。
需要注意的是,该设计只是一个简单的示例,实际应用中可能需要根据具体需求进行扩展和修改。
同时,在程序设计过程中,也要注意低功耗和数据稳定性等方面的考虑。
基于ds18b20的数字温度计设计报告
基于ds18b20的数字温度计设计报告
一、引言
随着科技的进步,温度的测量和控制变得越来越重要。
DS18B20是一款数字温度传感器,具有测量准确度高、体积小、接口简单等优点,广泛应用于各种温度测量场合。
本报告将介绍基于DS18B20的数字温度计设计。
二、DS18B20简介
DS18B20是一款由美国Dallas公司生产的数字温度传感器,可以通过数据线与微处理器进行通信,实现温度的测量。
DS18B20的测量范围为-55℃~+125℃,精度为±0.5℃。
三、数字温度计设计
1.硬件设计
数字温度计的硬件部分主要包括DS18B20温度传感器、微处理器、显示模块等。
其中,DS18B20负责采集温度数据,微处理器负责处理数据并控制显示模块显示温度。
2.软件设计
软件部分主要实现DS18B20与微处理器的通信和控制显示模块显示。
首先,微处理器通过数据线向DS18B20发送命令,获取温度数据。
然后,微处理器将数据处理后发送给显示模块,实现温度的实时显示。
四、测试结果
经过测试,该数字温度计的测量精度为±0.5℃,符合设计要求。
同时,该温度
计具有测量速度快、体积小、使用方便等优点,可以广泛应用于各种温度测量场合。
五、结论
基于DS18B20的数字温度计具有高精度、低成本、使用方便等优点,可以实现高精度的温度测量和控制。
随着科技的发展,数字温度计的应用将越来越广泛,具有广阔的市场前景。
基于ds18b20的温度计设计代码
基于DS18B20的温度计设计代码一、介绍DS18B20温度计DS18B20是一种数字温度传感器,由美国达拉斯半导体公司生产。
它采用单总线通信协议,并可以通过单总线接口进行多级串联。
DS18B20具有精度高、稳定性好、响应速度快等特点,因此在各种温度测量应用中被广泛使用。
二、DS18B20温度计设计代码在使用DS18B20温度传感器时,我们通常需要编写相应的代码来读取传感器的数据并进行温度计算。
以下是基于Arduino评台的DS18B20温度计设计代码:```c#include <OneWire.h>#include <DallasTemperature.h>#define ONE_WIRE_BUS 2 // 设置DS18B20数据线连接的Arduino 引脚OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);void setup() {Serial.begin(9600);sensors.begin();}void loop() {sensors.requestTemperatures(); // 发送获取温度命令float temperatureC = sensors.getTempCByIndex(0); // 获取温度值(摄氏度)float temperatureF = sensors.toFahrenheit(temperatureC); // 转换为华氏度Serial.print("Temperature: ");Serial.print(temperatureC);Serial.print("°C / ");Serial.print(temperatureF);Serial.println("°F");delay(1000); // 延时1s}```以上代码使用了OneWire库和DallasTemperature库来实现对DS18B20的温度测量。
基于51单片机的DS18B20温度检测_设计报告
课程名称:微机原理课程设计题目:温度检测课程设计随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的温度检测仪。
本设计使用简便,功能丰富。
可以实现温度采集,温度报警,重设上下限温度值等功能。
在现代化的工业生产中,需要对周围环境的温度进行检测和控制。
本设计对温控报警问题展开思考,设计一个能根据需求设置低温到高温进行报警并通过数码管显示的系统。
该系统使用STC89C51单片机,同时运用单线数字温度传感器DS18B20,四位共阴数码管显示,按键控制等模块可实现温度的检测与设置。
课题经过实验验证达到设计要求,具有一定的使用价值和推广价值。
本作品使用四位共阴数码管显示,可以清晰地显示当前的报警温度,一定程度避免使用者使用时出错,安全可靠,可使用于各种食品储存室,植物养殖所等地方,实用性很高。
关键字:温度报警器 STC89C51单片机数码管 DS18B20一、课程设计目的和要求 (1)1.1 设计目的 (1)1.2 设计要求 (1)二、总体设计方案 (1)三、硬件设计 (2)3.1 DS18B20传感器 (2)3.2 STC89C51功能介绍 (6)3.3 时钟电路 (8)3.4 复位电路 (8)3.5 LED显示系统电路 (9)3.6 按键控制电路 (11)3.7 蜂鸣器电路 (11)3.8 总体电路设计 (12)四、软件设计 (14)4.1 keil软件 (14)4.2 系统主程序设计 (14)4.3 系统子程序设计 (15)五、仿真与实现 (18)5.1 PROTEUS仿真软件 (18)5.2 STC-ISP程序烧录软件 (19)5.3 使用说明 (20)六、总结 (21)一、课程设计目的和要求1.1 设计目的熟悉典型51单片机,加深对51单片机课程的全面认识和掌握,对51单片机及其接口的应用作进一步的了解,掌握基于51单片机的系统设计的一般流程、方法和技巧,为我们解决工程实际问题打下坚实的基础。
(完整word版)基于单片机的DS18B20设计实验报告
第1章引言在日常生活及工农业生产中经常要涉及到温度的检测及控制,传统的测温元件有热点偶,热敏电阻还有一些输出模拟信号得温度传感器,而这些测温元件一般都需要比较多的外部硬件支持。
其硬件电路复杂,软件调试繁琐,制作成本高,阻碍了其使用性。
因此美国DALLAS半导体公司又推出了一款改进型智能温度传感器——DS18B20。
本设计就是用DS18B20数字温度传感器作为测温元件来设计数字温度计。
本设计所介绍的数字温度计与传统温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于测温比较准确得场所,或科研实验室使用。
该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,显示器使用LED.第2章任务与要求2.1测量范围-50~110°C,精确到0.5°C;2.2利用数字温度传感器DS18B20测量温度信号;2.3所测得温度采用数字显示,计算后在液晶显示器上显示相应得温度值;第3章方案设计及论证3.1温度检测模块的设计及论证由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。
而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。
3.2显示模块的设计及论证LED是发光二极管Light Emitting Diode 的英文缩写。
LED显示屏是由发光二极管排列组成的一显示器件。
51单片机DS18B20温度传感器原理及实验
51单片机DS18B20温度传感器原理及实验一、引言温度传感器是一种常用的传感器器件,它的作用是将物体的温度变化转换为电信号输出,以实现温度的监测和控制。
DS18B20是一种数字温度传感器,采用数字信号输出,具有体积小、精度高、线性度好等特点,被广泛应用于各种温度控制系统中。
本文将介绍DS18B20的工作原理及实验方法。
二、DS18B20的工作原理DS18B20是一种基于一线传输协议的数字温度传感器,其工作原理如下:1.接口电路:DS18B20具有三个引脚,分别是VDD、DQ和GND。
其中,VDD是供电引脚,DQ是数据引脚,GND是地引脚。
2.传感器原理:DS18B20内部包含一个温度传感器和一个数字转换器。
温度传感器采用热敏电阻的原理,通过测量热敏电阻的电阻值来反映物体的温度变化。
数字转换器将传感器测得的电阻值转换为数字信号输出。
三、实验流程以下是使用51单片机对DS18B20温度传感器进行实验的详细流程:1.硬件准备:-将DS18B20的VDD引脚连接到单片机的VCC引脚,DQ引脚连接到单片机的任意IO引脚,GND引脚连接到单片机的GND引脚。
-确保DS18B20的供电电压和单片机的工作电压一致。
2.初始化:-在程序中定义DS18B20的DQ引脚所对应的单片机的IO引脚。
-初始化DS18B20,即发送初始化指令给DS18B20。
3.温度转换:-发送温度转换指令给DS18B20,DS18B20开始测量温度。
-等待一定的延时,确保DS18B20完成温度转换。
4.读取温度:-发送读取温度指令给DS18B20,DS18B20将温度的原始数据发送给单片机。
-单片机通过计算将原始数据转换为温度值。
-温度值可以通过串口或LCD等方式进行显示。
5.循环实验:-以上步骤需要不断重复,以便实时监测温度的变化。
四、总结DS18B20温度传感器是一种常用的数字温度传感器,具有精度高、体积小、线性度好等特点,适用于各种温度控制系统。
基于DS18B20的温度控制系统设计
摘 要: 该温度控制系统以STC89C52单片机为核心,采用DS18B20数字温度传感器采集温度,并以PWM形式输出,确保温度输出的稳定,再结合PID闭环控制,使系统能够更稳定地运行。先利用Proteus软件结合Keil软件仿真,再用STC89C52单片机进行实测,从而进一步验证了设计的可靠性和准确性,所控制温度的精度能达到±1 ℃范围之内。该系统具有灵活性强、电路简单、可靠性高、易于操作等优点,能够实现对温度的稳定控制。关键词: STC89C52;DS18B20;PID闭环控制;Proteus
LCD1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的两条线是背光电源线。该模块用D0~D7作为8 bit双向数据线,4 bit数据分两次传送,可以节省CPU的I/O口资源[4]。 VSS、VDD分别接地和5 V电源。VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。E(或EN)端为使能(Enable)端,下降沿使能。DB0~DB7为双向数据总线。2 温度控制系统软件设计 系统程序主要包括主程序、初始化子程序、PID计算子程序、温度比较处理子程序、延时子程序、T0中断服务子程序和DS18B20驱动程序等。主程序流程图。
void PIDInit(struct PID*pp){……{unsigned int dError,Error;Error=pp->SetPoint-NextPoint;//偏差pp->SumError+=Error;//积分dError=pp->LastError-pp->PrevError;//当前微分pp->PrevError=pp->LastError;pp->LastError=Error;return(pp->Proportion*Error//比例+pp->Integral*pp->SumError//积分项+pp->Derivative*dError);//微分项}3 实验结果 现利用Keil编辑程序结合Proteus所做的原理图进行仿真处理,仿真结果可以达到设计要求。本设计制作了硬件设计实物,通过PID控制,当加热电阻靠近温度传感器时,测量温度明显上升,并达到31℃(设置温度)。此后加热变缓,温度维持在31℃,系统温度误差精度可达到±1℃之内,并且用蜂鸣器发出鸣响。当加热电阻离开温度传感器,测量温度会降低,当实测温度低于设置温度,蜂鸣器不响。再次设置温度,当加热电阻再次靠近温度传感器时,测量温度又明显上升到设置温度。 为了更好地观察实验结果,证明仿真结果的可靠性,体现本设计对温度控制的稳定性和精确性,经过多次设置不同的温度,实验记录数据如表1所示。从记录数据分析可知,本设计达到了预期的设计目标,控制温度误差范围在±1℃之内。
ds18b20程序设计
ds18b20程序设计如何使用ds18b20编写程序设计。
DS18B20是一种数字温度传感器,它可以通过编程来读取环境温度信息。
本文将详细介绍如何使用DS18B20进行程序设计,以帮助读者了解如何在自己的项目中应用这款传感器。
第一步:准备工作在开始实际的程序设计之前,我们需要准备一些硬件和软件工具。
首先,我们需要一块支持DS18B20的硬件平台,例如Arduino、树莓派或其他微控制器。
其次,我们需要一块DS18B20传感器和一些杜邦线用于连接。
最后,我们需要一个编程环境,例如Arduino IDE或树莓派的Python开发环境。
第二步:连接硬件将DS18B20传感器与硬件平台连接起来是第二个关键步骤。
DS18B20传感器有三个引脚,其中一个是地线(GND),一个是电源(VCC),还有一个是数据线(DATA)。
将GND引脚连接到硬件平台的地线引脚,将VCC 引脚连接到硬件平台的电源引脚,将DATA引脚连接到硬件平台的数字引脚。
确保连接正确后,我们可以进入下一步。
第三步:配置硬件平台在编程之前,我们需要配置硬件平台,以便能够与DS18B20传感器进行通信。
具体配置的方式取决于使用的硬件平台。
在Arduino中,我们可以使用OneWire库来与DS18B20传感器进行通信。
在树莓派中,我们需要通过GPIO引脚来与传感器进行通信。
了解所使用硬件平台的配置方式是非常重要的。
第四步:编写程序一旦硬件平台配置完成,我们可以开始编写程序。
程序的目标是读取DS18B20传感器的温度数据并将其显示出来。
以下是使用Arduino IDE 编写的简单示例代码:#include <OneWire.h>#include <DallasTemperature.h>数据线引脚连接到Arduino的数字引脚2#define ONE_WIRE_BUS 2OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);void setup() {Serial.begin(9600);sensors.begin();}void loop() {sensors.requestTemperatures();float temperature = sensors.getTempCByIndex(0);Serial.print("Temperature: ");Serial.println(temperature);delay(1000);}上述代码首先引入了两个库:OneWire和DallasTemperature。
stm32基于ds18b20的温度测量实例 实验原理
stm32基于ds18b20的温度测量实例实验原理
DS18B20是一款数字温度传感器,其测温范围为-55℃到+125℃,在-10℃到+85℃范围内误差为±°。
主机和从机通信使用单总线,即使用单线进行数据的发送和接收,在使用中不需要任何外围元件,独立芯片即可完成工作。
每个DS18B20都有独立唯一的64位-ID,此特性决定了它可以将任意多的DS18b20挂载到一根总线上,通过ROM搜索读取相应DS18B20的温度值。
单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。
One-Wire总线利用一根线实现双向通信,其协议对时序的要求较严格,如应答等时序都有明确的时间要求。
基本的时序包括复位及应答时序,写一位时序,读一位时序。
在复位及应答时序中,主器件发出复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读回或写出数据。
DS18B20的原理是基于以上这些特性的。
如果需要更详细的实验原理,可
以查阅相关资料或咨询专业人士获取帮助。
基于DS18B20的温度控制系统的设计
统。
2 . 2温度采集电路的设计 该 系统采用半导体温度传感器作为敏感元件。 传感器我们采 用
图 3 键 控 单 元 硬 件 电路
了D S 1 8 B 2 0 单 总线可编程温度传 感器, 来 实现对温度 的采集 和转 换, 直接输 出数字量 , 可以直接 和单 片机进行通讯 , 大大简化 了电路
的复 杂度 。D S 1 8 B 2 0应 用广泛 ,性能 可 以满 足题 目的设 计要 求 。 D S 1 8 B 2 0的与单片机的接 口连接电路图如图 2 所示 。
稳定 的设定值 ( 在一定温 度误差范 围内) 。 2 . I 单 片 机 的选 择
图2 D S 1 8 B 2 0的与 单 片 机 的 接 口连 接 电 路 图
P r ¨
单 片机 采用 A T 8 9 C 5 1 作为 本控 制系统 的核心 器件 , A T 8 9 C 5 1 基本型单片机由 C P U系统( 8 位C P U 、 时钟电路、 总线控制) 、 存储系 统 ( 4 K B的程序 存 储器 、 i 2 8 B的数 据存 储 器 、特 殊 功 能寄 存 器 S F R ) 、 I / O 口( 4 个并行 I / O 口) 其他单元 ( 2 个1 6 位定时 / 计数 器 、 1
其测温电路的实现是依靠单片机软件 的编程实现 的。 当
D S I 8 B 2 0 接收到温度转换命令后 , 开始启动转换 。转换 完成后 的温 度值 就以 1 6 位带符号扩展的二进制补码形式存储在高速暂存存储 器的 0 , 1 字节 。单 片机可通 过单线接 口 读 到该 数据 , 读 取时低位在 前, 高位在后 , 数据格式以0 .0 6 2 5 ℃/ L S B 形式表示, D S I 8 B 2 0 完 成温度转换后 , 就把测得的温度值( r r ) 与设定值f fH ) 做 比较 , 若T > T H 或T < T L , 则将 该器件内的告警标志置位 , 并对主机发 出的报警搜索 图 4显 示单元的硬件 电路图 命令做出响应。 调节 、测试则是将独立三键以简单 的硬件 电路与软件程序结合 , 看 2 . 3 键控单元电路的设计 是否能实现其在程序设计 中的按键功能 。如图 3 所示 。 键控单元 电路是以独立 的三键方式实现对 系统 温度 的设 定与
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于DS18B20的温度传感器设计摘要2009年6月14日随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
本文主要介绍了一个基于AT89C52单片机的测温系统,详细描述了利用液晶显示器件传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。
对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与AT89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:单片机AT89C51;DS18B20温度传感器;液晶显示LCD1602。
目录摘要 (I)第一章前言 (1)第二章设计任务及要求 (2)2.1 设计任务 (2)2.2 设计要求 (2)第三章课程设计方案及器材选用 (3)3.1设计总体方案 (3)3.1.1方案论证 (3)3.1.2 系统的具体设计与实现 (4)3.2器材选用分析 (5)3.2.1 DS18B20温度传感器 (5)3.2.2 AT89S52单片机介绍 (12)3.3 软件流程图 (15)3.3.1 主程序 (15)3.3.2读出温度子程序 (15)3.3.3 温度转换命令子程序 (15)3.3.4 计算温度子程序 (16)第四章硬件电路的设计 (17)4.1 proteus简介 (17)4.2 proteus仿真图 (17)第五章调试性能及分析 (19)总结 (20)参考文献 (21)附录1 源程序 (22)附录2 原理图 (26)第一章前言目前,单片机已经在测控领域中获得了广泛的应用,它除了可以测量电信以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。
单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM,及输入与输出接口电路,这种芯片称为:单片机。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。
单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。
本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。
本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。
传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点而下面利用集成温度传感器AD590设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。
该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4、D3、D2、D1共4位七段码LED显示器上。
系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。
第二章设计任务及要求2.1 设计任务以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为±0.1摄氏度。
温度显示采用LCD1602显示,两位整数,一位小数如图2.1。
图2.1 系统总体方针图2.2 设计要求设计一个基于单片机的DS18B20数字温度计。
课程设计要求:➢5V供电;➢温度采集采用DS18B20;➢1602LCD液晶显示器;➢设计温度控制器原理图,学习用PROTEL画出该原理图,并用proteus进行仿真;设计和绘制软件流程图,用C语言进行程序编写,然后进行调试。
第三章 课程设计方案及器材选用3.1设计总体方案提及到温度的检测,我们首先会考虑传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试也复杂,制作成本高。
因此,本数字温度计设计采用智能温度传感器DS18B20作为检测元件,测温范围为-55°C 至+125°C ,最大分辨率可达0.0625°C 。
DS18B20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
按照系统设计功能的要求,确定系统由三个模块组成:主控制器STC89C51,温度传感器DS18B20,驱动显示电路。
总体电路框图3.1:图3.1 系统总体框图3.1.1方案论证(1)温度传感模块方案一:采用热敏电阻,热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的,也不能满足测量范围。
在温度测量系统中,也常采用单片温度传感器,比如AD590,LM35等。
但这些芯片输出的都是模拟信号,必须经过A/D 转换后才能送给计算机,这样就使测温系统的硬件结构较复杂。
另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
方案二:采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。
便于单片机处理及控制,节省硬件电路。
且该芯片的物理化学性很稳定,此元件线形性能好,在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度装置,它直接输出温度的数字信号到微控制器。
每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。
这样一条总线上可挂接多个DS18B20报警模块传感器,实现多点温度测量,轻松的组建传感网络。
综上分析,我们选用第二种方案图3.2。
图3.2 温度传感模块仿真图(2) 显示模块方案一:采用8位段数码管,将单片机得到的数据通过数码管显示出来。
该方案简单易行,但所需的元件较多,且不容易进行操作,可读性差,一旦设定后很难再加入其他的功能,显示格式受限制,且大耗电量大,不宜用电池给系统供电。
方案二:采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要求,对后续的园艺通兼容性高,只需将软件作修改即可,可操作性强,也易于读数,采用RT1602两行十六个字符的显示,能同时显示其它的信息如日期、时间、星期、温度。
综上分析,我们采用了第二个方案图3.3图3.3 显示模块仿真图3.1.2 系统的具体设计与实现采用AT89S52单片机作为控制核心对温度传感器DS18B20控制,读取温度信号并进行计算处理,并送到液晶显示器LCD1602显示。
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图3.4所示。
图3.4 总体设计方框图 3.2器材选用分析3.2.1 DS18B20温度传感器1. DS18B20的特点本设计的测温系统采用芯片DS18B20,DS18B20是DALLAS 公司的最新单线数字温度传感器,它的体积更小,适用电压更宽,更经济。
实现方法简介DS18B20采用外接电源方式工作,一线测温一线与STC89C51连接,测出的数据放在寄存器中,将数据经过BCD 码转换后送到LED 显示。
DS18B20温度传感器是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20的性能特点如下:●独特的单线接口仅需要一个端口引脚进行通信;●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;●无须外部器件;●可通过数据线供电,电压范围为3.0~5.5V;●零待机功耗;●温度以9或12位数字;●用户可定义报警设置;●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH 和TL,高速暂存器。
DS18B20的管脚排列如图3.5所示。
64位光刻ROM 是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。
不同的器件地址序列号不同。
图3.5 DS18B20的内部结构图3.6 DS18B20的引脚分布图64位ROM 的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC 检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH 和TL ,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM 和一个非易失性的可电擦除的EERAM 。
高速暂存RAM 的结构为8字节的存储器,结构如图3.6所示。
头2个字节包含测得的温度信息,第3和第4字节TH 和TL 的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的C 64位ROM和 单 线 接 口高速缓存存储器与控制逻辑 温度传感器 高温触发器TH 低温触发器TL 配置寄存器8位CRC 发生器 Vdd定义如图3.7所示。
低5位一直为1,TM 是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
TM R11R01111....图3.7 DS18B20的字节定义DS18B20高速暂存器共9个存存单元,如表3-1所示:表3-1 DS18B20的引脚分布图数据,存储在18B20的两个高低两个8位的RAM 中,二进制中的前面5位是符号位表3-2所示。
如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度表3-2。