DS18B20测温流程图
手把手教你使用数字温度传感器DS18B20

手把手教你使用数字温度传感器DS18B20单片机轻松入门教学 ------- 『电子驿站』原创,转载请注明出处!---------------------------------------------------------------------------------------------------------------查看上一课:新型数字温度传感器DS18B20介绍在上一课中,我们学习了DS18B20新型数字温度传感器的基础理论知识,对DS18B20的特性及应用有了较全面的了解,本课我们就结合S51增强型实验板,ISP编程器来学习DS18B20的应用软件编程,做DS18B20测温实验,DIY一个我们自己的数字温度计,通过本实验的学习,熟练掌握DS18B20的开发,相信你也可以自己的智能温控系统!首先介绍实验的硬件设备:S51增强型单片机实验板+ISP编程器+DS18B20温度传感器图1:S51增强型单片机实验板+配套温度传感器实验板红外遥控及DS18B20接口产品配套温度传感器DS18B20(已焊接好并经过测试,免去初学者因焊接不好损坏DS18B20的风险,采用屏蔽线焊接,热缩管绝缘保护,防插反接头,抗干扰能力强,测温精度更高,插入实验板即可使用)注:如图中所示,实验板的第5位数码管可以显示温度的符号"℃",做温度实验更加直观。
将配套温度传感器插入DS18B20实验接口,完成温度传感器的硬件连接。
图2:ISP编程器套件 DS18B20测温实验原理图见下面图3图3新建Keil工程ds18sy.UV2,输入下面的DS18B20测温实验源程序,编译得到HEX格式目标文件ds18sy.hex。
>>>点击下载DS18B20测温实验目标程序ds18sy.hex>>>>>>点击下载DS18B20测温实验源程序>>>;--------- 下面是DS18B20测温实验源程序 ---------ORG 0000HSTART: MOV SP,#60H ;开机初始化MOV P0,#0FFHMOV P1,#0FEHMOV P2,#0FFHMOV P3,#0FFHMAIN: LCALL GET_TEMPER ;调用读温度子程序LCALL DISP ;调用数码管显示子程序AJMP MAIN ;重复循环;------ 读DS18B20传感器的温度值 ------GET_TEMPER:SETB P3.3LCALL RST18B20 ;复位DS18B20JB 00H,DSS2RETDSS2: MOV A,#0CCH ;跳过ROM匹配LCALL WR18B20MOV A,#44H ;向DS18B20发出温度转换命令LCALL WR18B20LCALL RST18B20 ;准备读温度前先复位DS18B20MOV A,#0CCH ;跳过ROM匹配LCALL WR18B20MOV A,#0BEH ;向DS18B20发出读温度命令LCALL WR18B20LCALL RE18B20 ;读出温度数据RET;------ DS18B20复位初始化程序 ------RST18B20:SETB P3.3NOPCLR P3.3MOV R0,#06BH ;主机发出复位低脉冲MOV R1,#03HDSR1: DJNZ R0,DSR1MOV R0,#6BHDJNZ R1,DSR1SETB P3.3 ;拉高数据线NOPNOPNOPMOV R0,#25HDSR2: JNB P3.3,DSR3 ;等待DS18B20回应DJNZ R0,DSR2LJMP DSR4DSR3: SETB 00H ;置标志位,表示DS1820存在LJMP DSR5DSR4: CLR 00H ;清标志位,表示DS1820不存在LJMP DSR7DSR5: MOV R0,#06BHDSR6: DJNZ R0,DSR6 ;延时一段时间DSR7: SETB P3.3RET;------ 写DS18B20的子程序 ------WR18B20:MOV R2,#8CLR CWR1: CLR P3.3MOV R3,#6DJNZ R3,$RRC AMOV P3.3,CMOV R3,#23DJNZ R3,$SETB P3.3NOPDJNZ R2,WR1SETB P3.3RET;------ 从DS18B20中读温度数据程序 ------RE18B20:MOV R4,#2MOV R1,#2FHRE00: MOV R2,#8RE01: CLR CSETB P3.3NOPNOPCLR P3.3NOPNOPNOPSETB P3.3MOV R3,#09RE10: DJNZ R3,RE10MOV C,P3.3MOV R3,#23RE20: DJNZ R3,RE20RRC ADJNZ R2,RE01MOV @R1,ADEC R1DJNZ R4,RE00RET;-------- 显示子程序 --------DISP: MOV A,2FHMOV C,70HRRC AMOV C,71HRRC AMOV C,72HRRC AMOV C,73HRRC AMOV 2FH,AMOV A,2FHMOV B,#10DIV ABMOV 30H,AMOV 31H,BMOV A,30HMOV DPTR,#SGTBMOVC A,@A+DPTRMOV P0,A ;显示温度“十位”值CLR P2.2SETB P2.0SETB P2.1SETB P2.3SETB P2.4LCALL YS4722UMOV A,31HMOV DPTR,#SGTBMOVC A,@A+DPTRMOV P0,A ;显示温度“个位”值CLR P2.3SETB P2.0SETB P2.1SETB P2.2SETB P2.4LCALL YS4722UMOV A,#01000110BMOV P0,A ;显示温度符号“℃”CLR P2.4SETB P2.0SETB P2.1SETB P2.2SETB P2.3LCALL YS4722URET;************* 8位共阳数码管显示器字型码表 ***************** SGTB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,89H,0A3H,8CH,0C8HYS4722U:MOV R4,#10 ;延时子程序Y3: MOV R5,#216DJNZ R5,$DJNZ R4,Y3RETEND用ISP编程器将目标文件ds18sy.hex烧写到AT89S51单片机中(见下图)图4:ISP编程器烧写目标文件ds18sy.hex。
Proteus仿真的DS18B20测温设计

目录前言 (1)正文 (1)2.1 设计目的和意义 (1)2.1.1 设计目的 (1)2.1.2 设计意义 (1)2.2 设计方法和步骤 (1)3.1 单片机最小系统设计 (2)3.1.1 电源电路 (2)3.1.2 振荡电路与复位电路 (2)3.2 DS18B20与单片机的接口电路 (3)3.3 PROTEUS仿真电路图 (3)4.1 程序流程 (3)4.1.1 主程序流程图 (4)4.1.2 各子程序流程图 (4)4.2 汇编语言程序源代码 (8)5.1 DS18B20简单介绍 (10)5.1.1 DS18B20 的性能特点如下: (11)5.1.2 DS18B20使用中的注意事项 (11)5.1.3 DS18B20内部结构 (12)5.2 DS18B20测温原理 (14)总结 (15)参考文献 (16)前言随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
本设计选用AT89C51型单片机作为主控制器件,DS18B20作为测温传感器,通过LCD1602实现温度显示。
通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。
该器件可直接向单片机传输数字信号,便于单片机处理及控制。
另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。
正文2.1 设计目的和意义2.1.1 设计目的作为理工科的学生应该在学习与动手实践中提高自己的专业技能知识,通过课程设计使我进一步熟悉了单片机的内部结构和工作原理,掌握了单片机应用系统设计的基本方法和步骤;通过利用MCS-51单片机,理解单片机在自动化装置中的作用以及掌握单片机的编程调试方法;通过设计一个简单的实际应用输入控制及显示系统,掌握protues和Wave以及各种仿真软件的使用。
DS18B20介绍、流程图和程序源代码

DS18B20单线数字温度传感器DALLAS半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器,体积更小、适用电压更宽、更经济。
一线总线独特而且经济的特点,使用户可轻松地组建温度传感器网络,为测量系统的构建引入全新概念。
DS18B20、DS1822 “一线总线”数字化温度传感器同DS1820一样,支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C,而DS1822的精度较差为± 2°C 。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C,分辨率设定,以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS1822与DS18B20软件兼容,是DS18B20的简化版本。
省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
1、 DS18B20性能特点DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。
毕业论文——基于DS18B20的温度显示及其报警控制系统含完整原理图及C程序

毕业论文——基于DS18B20的温度显示及其报警控制系统(含完整原理图及C程序)湖南科技大学毕业设计(论文)题目基于单片机的数字温度计及其报警系统作者李**学院物理学院专业电子信息科学与技术学号指导教师二〇一二年五月二十七日湖南科技大学毕业设计(论文)任务书物理学院电子系(教研室)系(教研室)主任: (签名)年月日学生姓名: 学号: 专业: 电子信息科学与技术1 设计(论文)题目及专题:基于单片机的数字温度计及其报警系统2 学生设计(论文)时间:自2012 年3 月18 日开始至2012 年5 月28 日止3 设计(论文)所用资源和参考资料:[1] 张毅刚、彭喜元.《单片机原理与应用设计》M.北京:电子工业出版社,2008.4.[2] 郭天祥.《新概念51单片机C语言教程》M.北京:电子工业出版社,2009.1.[3] 康华光.《电子技术基础模拟部分》M.北京:高等教育出版社,2006.1.4 设计(论文)应完成的主要内容:1、讲述系统测温方式及原理2、设计硬件系统3、设计软件系统5 提交设计(论文)形式(设计说明与图纸或论文等)及要求:论文要求格式正确,调理清晰,严格按照《湖南科技大学论文格式要求》撰写并提交论文6 发题时间:2011 年12 月28 日指导教师:(签名)学生:(签名)湖南科技大学毕业设计(论文)指导人评语[主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价]在为期五个月的毕业设计中,该同学能在老师的要求下顺利完成整个毕业设计工作和论文的撰写。
论文内容能准确地描述和论证系统的工作过程和实现原理,且做出了系统实物。
系统能正常地工作,在各种测试条件下能顺利完成测试目标。
该设计具有一定的创新性,能实时地设置温度范围并能把范围值存储在EEPROM中,从而使设置值掉电不丢失。
根据系统实物的测试结果,该系统能实时地显示目标的温度值,并且能在温度超出所设范围时进行温度控制处理及报警,具有比较强的实用性,较好地解决了现实生产生活工作中对该内容的需求。
DS18B20水温控制系统+电路图程序资料

水温控制系统摘要:该水温控制系统采用单片机进行温度实时采集与控制。
温度信号由“一线总线”数字化温度传感器DS18B20提供,DS18B20在-10~+85°C范围内, 固有测温分辨率为0.5 ℃。
水温实时控制采用继电器控制电热丝和风扇进行升温、降温控制。
系统具备较高的测量精度和控制精度,能完成升温和降温控制。
关键字: AT89C51 DS18B20 水温控制Abstract: This water temperature control system uses the Single Chip Microcomputer to carry on temperature real-time gathering and controling. DS18B20, digitized temperature sensor, provides the temperature signal by "a main line". In -10~+85℃the scope, DS18B20’s inherent measuring accuracy is 0.5 ℃. The water temperature real-time control system uses the electricity nichrome wire carring on temperature increiseament and operates the electric fan to realize the temperature decrease control. The system has the higher measuring accuracy and the control precision, it also can complete the elevation of temperature and the temperature decrease control.Key Words:AT89C51 DS18B20 Water temperature control目录1. 系统方案选择和论证 (2)1.1 题目要求 (2)1.1.1 基本要求 (2)1.1.2 发挥部分 (2)1.1.3 说明 (2)1.2 系统基本方案 (2)1.2.1 各模块电路的方案选择及论证 (2)1.2.2 系统各模块的最终方案 (5)2. 硬件设计与实现 (6)2.1系统硬件模块关系 (6)2.2 主要单元电路的设计 (6)2.2.1 温度采集部分设计 (6)2.2.2 加热控制部分 (8)2.2.3 键盘、显示、控制器部分 (8)3. 系统软件设计 (10)3.1 读取DS18B20温度模块子程序 (10)3.2 数据处理子程序 (10)3.3 键盘扫描子程序 (12)3.4 主程序流程图 (13)4. 系统测试 (14)4.1 静态温度测试 (14)4.2动态温控测量 (14)4.3结果分析 (14)附录1:产品使用说明 (15)附录2:元件清单 (15)附录3:系统硬件原理图 (16)附录4:软件程序清单 (17)参考文献 (26)1.系统方案选择和论证1.1题目要求设计并制作一个水温自动控制系统,控制对象为1L净水,容器为搪瓷器皿。
DS18B20数字温度计的设计的演示稿精品PPT课件

(a) 寄生电源工作方式
(b) 外接电源工作方式
7. 结 论
本设计以智能集成温度传感DS18B20为例, 介绍了基DS18B20传感器的数字温度计的设计, 该设计适用于人们的日常生活及环境温度不高 于125 ℃的温度的检测与控制。
以DS18B20温度传感器设计的数字温度计线 路简单、硬件少、成本低廉、软件设计简单等 优点,有着广阔的应用前景。尤其是其具有完 善的单总线通信协议,无需复杂、繁琐的布线, 只需3 根连线就能很容易地组成多点测温系统, 因此在工农业生产和科学研究中有着广阔的应 用前景。
设计任务及具体要求
一、设计任务: 设计一个以单片机为核心的温度测量系统 。
二、 具体要求: (1)测量温度值精度为±1℃。 (2)系统允许的误差范围为1℃以内。 (3)系统可由用户预设温度值,测温范围为-55 ℃ ~+125℃。 (4)超出预置值时系统会自动报警,即发光二极管 亮。 (5)系统具有数码显示功能,能实时显示设定温度 值和测得的实际温度值。
按键显示流程图
结论
DS18B20
设计简述
人们生活与环境温度息息相关,在工业生产过程中 需要实时测量温度,在工业生产中也离不开温度的测 量,因此研究温度的测量方法和控制具有重要的意义。
测量温度的关键是温度传感器,温度传感器的发展 经历了3个阶段:传统的分立式温度传感器、模拟集 成温度传感器、智能集成温度传感器。目前,国际上 新型温度传感器正从模拟式向数字式、从集成化向智 能化、网络化的方向发展。在此以智能集成温度传感 器DS18B20为例 ,介绍DS18B20数字温度计的设计。
表1
段名称 a b c d e f g dp
I/0 口名称 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
温度传感器DS18B20工作原理以及引脚图

温度传感器:DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
2 DS18B20的内部结构DS18B20内部结构如图1所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地,见图4)。
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
图2DS18B20的管脚排列DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S 为符号位。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
温度值高字节高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。
其中配置寄存器的格式如下:R1、R0决定温度转换的精度位数:R1R0=“00”,9位精度,最大转换时间为93.75ms;R1R0=“01”,10位精度,最大转换时间为187.5ms;R1R0=“10”,11位精度,最大转换时间为375ms;R1R0=“11”,12位精度,最大转换时间为750ms;未编程时默认为12位精度。
ds18b20汇编设计报告计划附电路图及程序

鉴于 AT89C51 单片机和 DS18B20 的数字温度计1课题说明跟着现代信息技术的飞快发展和传统工业改造的逐渐实现,能够独立工作的温度检测和显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,但需后续信号办理电路,并且靠谱性相对较差,测温正确度低,检测系统也有必定的偏差。
这里设计的数字温度计拥有读数方便,测温范围广,测温精准,数字显示,合用范围宽等特色。
本设计采纳 AT89C51型单片机作为主控制器件, DS18B20作为测温传感器 ,经过 LCD1602实现温度显示。
经过DS18B20直接读取被测温度值,进行数据变换,该器件的物理化学性能稳固,线性度较好,在 0℃~ 100℃最大线性偏差小于℃。
该器件可直接向单片机传输数字信号,便于单片机办理及控制。
此外,该温度计还可以直接采纳测温器件丈量温度,从而简化数据传输与办理过程。
2实现方法采纳数字温度芯片DS18B20 丈量温度,输出信号全数字化。
采纳了单总线的数据传输,由数字温度计 DS18B20和 AT89C51 单片机构成的温度丈量装置 ,它直接输出温度的数字信号 ,也可直接与计算机连结。
采纳 AT89C51单片机控制,软件编程的自由度大,可经过编程实现各种各种的算术算法和逻辑控制,并且体积小,硬件实现简单,安装方便。
该系统利用AT89S51芯片控制温度传感器 DS18B20进行及时温度检测并显示,能够实现迅速丈量环境温度,并能够依据需要设定上下限温度。
该系统扩展性特别强。
该测温系统电路简单、精准度较高、实现方便、软件设计也比较简单。
系统框图如图 1 所示。
电源电路LED 显示复位电路AT89C51DS18B20温度传感器时钟振荡电路图 1 DS18B20 温度测温系统框图3硬件设计单片机最小系统设计3.1.1 电源电路13VCCVin LM7805+5VVCC+12VD+5VNGR+ C12+ C34 70 uFC2 4 70 uFC2 1 K0.1u F0.1u FLEDGND图 2 电源电路3.1.2 振荡电路与复位电路XTAL1C1 30pF晶振12MHzAT89C51C2 30pFXTAL2图 3 振荡电路DS18B20与单片机的接口电路VCCR1AT89C51DS18B201 23VCCVccRESETR1C120022uFRST AT89C51R2 1KVss图 4 复位电路图 5DS18B20 与单片机的接口电路PROTEUS 仿真电路图图 6 PROTEUS仿真电路图4软件设计系统程序主要包含主程序、读取温度子程序、数据变换子程序、显示数据子程序等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主程序流程图:
DS18B20程序流程图:
程序按数据手册的时序图编写子函数模块:
1、DS18B20复位函数:resetDS18B20(void)
2、写一位的函数:WriteBit (unsigned char wb)
3、读一位的函数:unsigned char ReadBit (void)
4、读一个字节的函数:unsigned char readByteDS18B20(void)
即将位读取的时序循环8次。
5、写一个字节的函数:void writeByteDS18B20(unsigned char Data)。
即将位写入的时序循环8次。
6、first和next函数流程图:
1、端口初始化子函数;
2、串口初始化;
3、串口发送一个字符函数:void USART_Putchar(unsigned char
send_char)
4、串口发送数组函数:void UsartTransmit(unsigned char *data,
unsigned char len)
5、串口发送字符串函数:void USART1_Putstr(char *s)
即通过字符串长度控制USART_Putchar函数的循环次数。
6、串口发送字符串子程序(带有换行符):
void USART1_Puts(char *s)
7、串口接收字符串函数:unsigned char getchar1(void)
8、串口接收中断子程序:void USART_RXT(void)流程图
1、 数据打包子函数:void Packet_Data(void)
2、。