《2022年基于DS18B20单线多点温度测量系统.docx》由会员分享,可在线阅读,更多相关《2022年基于DS18B20单线多点温度测量系统.docx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源目 录第一章 绪论.1.1.1 选题背景和意义1.1.2 系统概述 .2.其次章 硬件电路地设计 .3.2.1 ATmega16单片机 .3.2.1.1 ATmega16地主要特性 .3.2.1.2 ATmega16引脚介绍 .4.2.2 DS18B20芯片 .6.2.2.1 DS18B20芯片地特性 .6.2.2.2 DS18B20引脚排列 .7.2.2.3 DS18B20地内部结构 .7.2.2.4 DS18B20芯片各部分介绍 .8.2.3 单线总线系统112.3.1 处理次序112.3.2 初始化 .1 2.2.3.3 ROM 操作指令 .1 22.3.4 DS18B20功
2、能指令 .1 2第三章 系统软件设计 .1 53.1 DSl8B20 温度测量 .1 53.1.1 单点测量温度 .1 53.1.2 多点测量温度 .1 63.1.3 DS18B20 ROM 搜寻算法 .1 83.1.4 C语言程序实现 .2 2.3.2 单总线信号时序 .2 43.2.1 复位脉冲和应答脉冲 .2 43.2.2 写操作和读操作 .2 6第四章 系统仿真调试 .2 94.1 系统开发环境 .2 94.2 系统仿真调试 .3 0结 论.3.2.致 谢.3.3.参考文献 .3 4.基于 DS18B20 单线多点温度测量系统专业班级:电子信息工程 2 班 同学姓名:杜刘乾指导老师:秦
3、玉龙职 称:讲师摘要 本次毕业设计是基于 DS18B20单线多点温度测量系统 . 以 ATmega16单片机欢迎下载精品学习资源为核心, 使用温度传感器 DS18B20实现温度地采集 . 论文设计地目地是对 DS18B20 进行编程,明白其性能特点,通过所学地C 语言学问和相关资料供应地指令代码完成单片机与 DS18B20地温度监测 .DS18B20 是一种智能温度传感器 , 它能够直接读出被测温度并且可依据实际要求通过简洁地编程实现912 位地数字值读数方式 . 使用 DS18B20可使系统结构更趋简洁,抗干扰才能强,适合于恶劣环境下现场温度地测量,牢靠性更高,可应用于仓库测温、楼宇空调掌握
4、和生产过程监控等领域 . 单片机对传感器采集来地数据进行处理,通过LCD把各个点地温度给显示出来,另一方面单片机可以通过串口通讯传给上位机,由上位机软件显示出来;该系统可以设定温度上下限值,当温度超出系统设定地范畴时, 系统会报警提示 .关键词: ATmega16 DS18B20 单线 多点 温度测量1-Wire Multi-point temperature measurement system based on DS18B20Abstract The graduation project is 1-Wire Multi-point temperature measurement s-yst
5、 em based on DS18B20.ATmega16 microprocessor as the core of it, the temper-ature c ollection is use of DS18B20. Our experimental purpose is programming to DS18B20 and understand its performance characteristics .The instruction code thro-ugh the C la欢迎下载精品学习资源nguage knowledge and relevant information
6、 to complete the DS18B20 temperature m easurements.DS18B20 is a smart temperature sensor .The DS18B20 digital thermome ter provides 9-bit to 12-bit Celsius temperature measurements. UseDS18B20 makes th e system structure more simple,and higher reliability.The system can be used in many fileds such a
7、s the temperature measurement system of war-ehouse,the air conditioning control of building and the monitor of productive process.The temperature data is con versed to digital signals in the sensor and then is tran-smitted to MCU, which process es the data from sensor acquisition and displays thetem
8、perature on various points thro ugh the LCD. On the other hand MCU can pass-through the serial port communicatio ns PC, from PC software displayed. The syste-m can set temperature limits from top t o bottom, when the temperature exceeds t-e limits set by system, the system will prom pt the police.Ke
9、y words ATmega16DS18B201-wiremulti-pointtemperature measurement欢迎下载精品学习资源第一章 绪论1.1 选题背景和意义温度是日常生活、工业、医学、环境爱护、化工、石油等领域中不行缺少地物理量 .温度地测量和掌握在这些领域中就显得特别重要.传统地温度检测是使用诸如热电偶、热电阻、半导体PN 结之类地模拟传感器,经信号取样电路、放大电路和模数转换电路处理,猎取表示温度值地数字信号,再交由微处理器或 DSP 处理.由于监测环境复杂,测量点多,信号传输距离远及各种干扰地影响,使得传统测量系统地稳固性和牢靠性下降.随着社会地进步和工业技术地进
10、展,温度因素在社会生活地各个方面都起到了重要地作用 .由于很多产品对温度范畴地要求严格,而目前市场上普遍存在地温度检测仪器大多都是单点测量,同时有温度信息传递不准时、精度度不够高地缺点,不利于工业生产依据温度地变化准时做出打算.在这样地前提下,开发一种能够同时测量多点,并且实时性高、精度度高,能够综合处理多点温度信息地测量系统就很有必要 .国外对温度检测技术讨论较早,始于20 世纪 70 岁月.先是采纳模拟式地组合外表采集现场信息并进行指示、记录和掌握,80 岁月末显现了分布式掌握系统,目前正开发和研制运算机数据采集掌握系统地多因子综合掌握系统.现在世界各国地温度检测技术进展很快,一些国家在实
11、现自动化地基础上正向着完全自动化、无人化地方向进展.我国对于温度检测技术地讨论较晚,始于20 世纪80 岁月.近年来,我国引进了多达16 个国家和地区地工厂环境掌握系统,在总体上,正从消化吸取、简洁应用阶段向有用化、综合性应用阶段过渡和进展,对推动工厂温度自动检测产生了积极地作用.与此同时,我国地温度测控设施运算机应用以单片机掌握地单参数单回路系统居多,尚无真正意义上地多参数综 合掌握系统 .在生产实际中仍旧有很多问题困扰着我们,比如环境掌握水平落后,软硬件资源不能共享和牢靠性差等缺点.与发达国家相比,仍存在较大地差距.近年来随着单片机地进展和传感器技术地革新,温度检测领域也完成了从模拟信号到
12、数字信号地转变 .DS18B20 温度传感器地广泛应用更是推动了这一领域地进展 .我们可以基于 ATmega16单片机,利用液晶显示器件以及DS18B20 温欢迎下载精品学习资源度传感器等器件,通过温度传感器在单片机下地硬件连接,软件编程即可设计DS18B20 温度传感器系统 .该系统可以便利地实现单线多点温度地测量,并可以依据需要任意设定上下限报警温度,它使用起来相当便利,具有精度高、量程 宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产 中地温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统地 帮助扩展 .DS18B20 与 ATmega16地结合实现了最简
13、温度监测系统,该系统结构简洁,抗干扰才能强,适合于恶劣环境下进行现场温度测量,有广泛地应用前 景.1.2 系统概述本文具体介绍了基于 DS18B20 单线多点温度测量系统地构成.大致可分为硬件电路设计、软件程序设计和仿真设计.其次章介绍了硬件电路地设计,包括ATmega16单片机、 DS18B20 传感器地介绍以及电路地连接;第三章介绍了软件地设计,包括 DS18b20 温度传感器地使用过程以及如何在一条线上实现单点和多点温度地测量;第四章介绍了如何通过软件平台得出仿真图.关于各个模块地流程图和相关原程序代码将在下面地章节中一一介绍.欢迎下载精品学习资源其次章 硬件电路地设计该电路是通过 AT
14、mega16 单片机和 DS18B20 传感器连接而成地温度测量系统.单片机除了可以测量电信号外,仍可以用于温度、湿度等非电信号地测量,能独立工作地单片机温度监测、温度掌握系统已广泛应用.单片机地接口信号时数字信号,要用单片机作为掌握其测量温度,用温度传感器将温度信息转换为电流或电压信号输出,假如转化地信号是模拟信号,仍需要进行A/D 转化,以满意单片机接口地需要 .可以采纳温度传感器 DS18B20,此传感器可以直接猎取测温值,进行转换,胜利采集温度后,利用单片机进行数据处理,通过LCD 显示温度.以下是系统组成框图 .DS18B20DS18B20液晶显示ATmega16单片机按键掌握报警显
15、示图 1-1 系统组成框图2.1 ATmega16单片机ATmega16是基于增强地 AVR RISC 结构地低功耗 8 位 CMOS 微掌握器 .由于其先进地指令集以及单时钟周期指令执行时间,ATmega16地数据吞吐率高达 1 MIPS/MHz, 从而可以减缓系统在功耗和处理速度之间地冲突.ATmega16 内核具有丰富地指令集和32 个通用工作寄存器 .全部地寄存器都直接与运算逻单元 AL U 相连接,使得一条指令可以在一个时钟周期内同时拜访两个独立地寄存器.这种结构大大提高了代码效率,并且具有比一般地CISC 微掌握器最高至 10 倍地数据吞吐率 .2.1.1 ATmega16地主要特
16、性(1) 先进地 RISC结构欢迎下载精品学习资源- 16K 字节地系统内可编程 Flash ,擦写寿命: 10,000 次- 512 字节地 EEPROM,擦写寿命: 100, 000 次- 1K 字节地片内 SRAM(2) JTAG 接口(与 IEEE1149.1 标准兼容)- 符合 JTAG 标准地边界扫描功能- 支持扩展地片内调试功能- 通过 JTAG接口实现对 Flash 、 EEPRO、M 熔丝位和锁定位地编程(3) 外设特点- 两个具有独立预分频器和比较器功能地8 位定时器 / 计数器- 一个具有预分频器、比较功能和捕获功能地16 位定时器 / 计数器- 具有独立振荡器地实时计数
17、器 RTC- 四通道 PWM- 8 路 10 位 ADC- 8 个单端通道- 面对字节地两线接口- 两个可编程地串行 USART- 可工作于主机 / 从机模式地 SPI 串行接口- 具有独立片内振荡器地可编程看门狗定时器- 片内模拟比较器(4) I/O和封装- 32 个可编程地 I/O 口- 40 引脚 PDIP封装,44 引脚 TQFP封装, 与 44 引脚 MLF封装2.1.2 ATmega16引脚介绍欢迎下载精品学习资源图 1-2 ATmega16引脚图(1) VCC:供电电压2GND:接地(3) 端口 APA7PA0:端口 A 做为 A/D 转换器地模拟输入端 .端口 A 为 8 位双
18、向 I/O 口,具有可编程地内部上拉电阻 .其输出缓冲器具有对称地驱动特性, 可以输出和吸取大电流 .作为输入使用时,如内部上拉电阻使能,端口被外部电路拉低时将输出电流 .在复位过程中,即使系统时钟仍未起振,端口A 处于高阻状态.(4) 端口 BPB7PB0:端口 B 为 8 位双向 I/O 口,具有可编程地内部上拉电阻.其输出缓冲器具有对称地驱动特性,可以输出和吸取大电流 . 作为输入使用时,如内部上拉电阻使能,端口被外部电路拉低时将输出电流 .在复位过程中, 即使系统时钟仍未起振,端口 B 处于高阻状态 .(5) 端口 CPC7PC0:端口 C 为 8 位双向 I/O 口,具有可编程地内部
19、上拉电阻.其输出缓冲器具有对称地驱动特性,可以输出和吸取大电流.作为输入使用时,如内部上拉电阻使能,端口被外部电路拉低时将输出电流.在复位过程中, 即使系统时钟仍未起振,端口 C 处于高阻状态 .假如 JTAG 接口使能,即使复位显现引脚 PC5TDI、PC3TMS与 PC2TCK 地上拉电阻被激活 .(6) 端口 DPD7PD0:端口 D 为 8 位双向 I/O 口,具有可编程地内部上拉电阻.其输出缓冲器具有对称地驱动特性,可以输出和吸取大电流 .作为输入使用欢迎下载精品学习资源时,如内部上拉电阻使能,就端口被外部电路拉低时将输出电流中,即使系统时钟仍未起振,端口D 处于高阻状态 .在复位过
20、程7RESET:复位输入引脚 .连续时间超过最小门限时间地低电平将引起系统复位.连续时间小于门限间地脉冲不能保证牢靠复位.8XTAL1 :反向振荡放大器与片内时钟操作电路地输入端.(9) XTAL2 :反向振荡放大器地输出端 .(10) AVCC :AVCC 是端口 A 与 A/D 转换器地电源 .不使用 ADC 时,该引脚应直接与 VCC 连接.使用 ADC 时应通过一个低通滤波器与VCC 连接.11AREF: A/D 地模拟基准输入引脚 .2.2 DS18B20 芯片DS18B20 是美国 DALLAS 公司推出地单总线数字化测温集成电路,它具有特殊地单线接口方式,将非电模拟量温度值转换为
21、数字信号串行输出,仅需占用 1 位 I/O 端口,能够直接读取被测现场地温度值.它地体积小,电压适用范畴宽3V5V ,并且可以通过编程实现912 位地温度读数,即具有可调地温度辨论率,因此有用性和牢靠性较高,在很多行业中被广泛应用.DS18B20 数字温度传感器接线便利,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式 .型号多种多样,有 LTM8877 ,LTM8874 等等.主要依据应用场合地不同而转变其外观 .封装后地 DS18B20 可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,干净室测温,弹药库测温等各种非极限温度场合 .由于其耐磨耐碰,体积
22、小,使用便利,封装形式多样地特点, 也适用于各种狭小空间设备数字测温顺掌握领域.2.2.1 DS18B20 芯片地特性DS18B20 单线数字温度传感器,即 “一线器件 ”,其具有特殊地优点:(1) 采纳单总线地接口方式,与微处理器连接时,仅需要一条口线即可 实现微处理器与 DS18B20 地双向通讯 .单总线具有经济性好,抗干扰才能强,适合于恶劣环境地现场温度测量,使用便利等优点,使用户可轻松地 组建传感器网络,为测量系统地构建引入全新概念.(2) 测量温度范畴宽,测量精度高DS18B20 地测量范畴为 -55 +125;在 -10+85范畴内,精度为 0.5 .欢迎下载精品学习资源(3)
23、在使用中不需要任何外围元件.(4) 持多点组网功能,多个 DS18B20 可以并联在惟一地单线上,实现多点测温.(5) 供电方式敏捷, DS18B20 可以通过内部寄生电路从数据线上猎取电源.因此,当数据线上地时序满意肯定地要求时,可以不接外部电源,从而 使系统结构更趋简洁,牢靠性更高 .(6) 测量参数可配置 DS18B20 地测量辨论率可通过程序设定 912 位. 7负压特性电源极性接反时,温度计不会因发热而烧毁,但不能正常工作.8掉电爱护功能, DS18B20 内部含有 EEPROM ,在系统断电以后, 它仍可储存辨论率及报警温度地设定值 .2.2.2 DS18B20 引脚排列图 1-3
24、 DS18B20 引脚排列1. GND 为接地.2. DQ 为数字信号输入 /输出端.3. VDD 为外接供电电源输入口 .2.2.3 DS18B20 地内部结构DSl8B20 地内部主要包括寄生电源、温度传感器、64 位激光 ROM 单线接口、存放中间数据地高速暂存器、温度报警触发器TH 和 TL 用于储备用户写入欢迎下载精品学习资源报警上下限地报警触 .ROM 中地 64 位序列号是出厂前被光刻好地,它可以看作是该 DS18B20 地地址序列码,每个DS18B20 地 64 位序列号均不相同 .64 位 RO M 地排地循环冗余校验码( CRC=X8 X5 X4 1) .ROM 地作用是使
25、每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20 地目地.DQMEMORYANDCONTROLINTERNAL VDD64-BIT ROM AND1-WIREPORTTEMPRATURESCRATCHPADHIGH TEMPERATURETRIGGER.THPOWERVDSUPPLYSENSE8-BITCRCLOWTEMPERATURE图 1-4 DS18B20 方框图2.2.4 DS18B20 芯片各部分介绍164 位激光 ROM每个 DS18B20 都有一个唯独储存在 ROM 中地 64 位编码.最前面 8 位是单线产品系列编码: 28h.接着地 48 位
26、是一个唯独地序列号 .最终 8 位是以上 56 位地CRC 编码.64 位 ROM 和 ROM 操作掌握区答应 DS18B20 作为单总线器件并依据单总线协议工作 .8 位 CRC 编码48 位序列号8 位产品系列编码图 1-5 64 位激光 ROM 码(2) 高速暂存储备贮器高速暂存储备器由 9 个字节组成,其安排如下图所示.字节 0 和字节 1 为测得温度信息地 LSB 和 MSB ,这两个字节是只读地 .字节 2 和字节 3 是 TH 和 TL 地拷贝.字节 4 包含配置寄存器数据,具体介绍如下图所示.字节 5、6 和 7 被器件保留,禁止写入 .这些数据在读回时全部表现为规律1.高速暂
27、存器位置 8 是只读地,包含以上八个字节地 CRC 码, CRC 地执行方式如 CRC 发生器节所述 .欢迎下载精品学习资源bit7bit6bit5bit4bit3bit2bit1bit00R1R011111R1R0精度最大转换时间009-bit93.75msTconv/80110-bit187.5msTconv/41011-bit375msTconv/21112-bit750msTconvSCRATCHPADTEMPERATURE LSB TEMPERATURE MSB TH/USERBYTE1 TL/USERBYTE2 RESERVED RESERVEDCOUNT REMAINBYTE 0
28、1EERAM2345678TH/USERBYTE1TL/USERBYTE2图 1-6 高速暂存储备器映象储备器地第 4 位为配置寄存器 .用户可以通过按下图所示设置R0 和 R1 位来设定 DS18B20 地精度 .上电默认设置: R0=1,R1=1( 12 位精度) .留意:精度和转换时间之间有直接地关系.暂存器位置 7 和位 0-4 被器件保留,禁止写入;在读回数据时,它们全部表现为规律1.图 1-7 配置寄存器表 1-1 温度辨论率配置(3) 温度传感器DS18B20 中地温度传感器可完成对温度地测量 .当温度转换命令发布后,经转换所得地温度值以二字节补码形式存放在高速暂存储备器地第0
29、和第 1 个字节.单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式 如下列图 .对应地温度运算:当符号位 S=0时,直接将二进制位转换为十进制; 当 S=1 时,先将补码变为原码,再运算十进制值.欢迎下载精品学习资源LS232221202-12-22-32-BIT15 BIT14 BIT13 BIT12 BIT11 BIT10 BIT9 BIT8MSSSSSS262524BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0S=SIGN温度/图 1-8 DS18B20 温度寄存器格式表 1-2 温度/数据关系二进制表示十六进制表示+1250000011
30、1 1101000007D0H+25.062500000001 100100010191H+10.12500000000 1010001000A2H+0.500000000 000010000008H000000000 000000000000H-0.511111111 11111000FFF8H-10.12511111111 01011110FF5EH-25.062511111110 01101111FE6FH-5511111100 10010000FC90H( 4) CRC 发生器CRC 字节作为 DS18B20 64 位 ROM 地一部分储备在储备器中 .CRC 码由 R OM 地前 5
31、6 位运算得到,被包含在 ROM 地重要字节当中 .CRC 由储备在储备器中地数据运算得到,因此当储备器中地数据发生转变时,CRC 地值也随之转变 . CRC 能够在总线掌握器读 DS18B20 时进行数据校验 .为校验数据是否被正确读取,总线掌握器必需用接受到地数据运算出一个CRC 值,和储备在DS18B20 地 64 位 ROM 中地值(读 ROM 时)或 DS18B20 内部运算出地 8 位 CRC 值(读储备器时)进行比较.假如运算得到地 CRC 值和读取出来地 CRC 值相吻欢迎下载精品学习资源合,数据被无错传输 .CRC 值地比较以及是否进行下一步操作完全由总线掌握器打算.INPU
32、TXORXORXORMSBLSB欢迎下载精品学习资源2.3 单线总线系统图 1-9 CRC 生成欢迎下载精品学习资源单总线系统只有一条定义地信号线 .每一个总线上地器件必需是漏极开路或三态输出 .这样地系统答应每一个挂在总线上地区间都能在适当地时间驱动它.D S18B20 地单总线端口( DQ 引脚)是漏极开路式地,单总线需要一个约5K 地外部上拉电阻;单总线地闲暇状态是高电平.无论任何理由需要暂停某一执行过 程时,假如仍想复原执行地画,总线必需停留在闲暇状态.在复原期间,假如单总线处于非活动(高电平)状态,位与位间地复原时间可以无限长.假如总线停留在低电平超过 480us,总线上地全部器件都
33、将被复位.+5V欢迎下载精品学习资源4.7KRXTX5UATypRX100 欢迎下载精品学习资源MOSFET图 1-10 DS18B20 电路连接2.3.1 处理次序经过单线总线接口拜访 DS18B20 地协议如下: 步骤 1:初始化步骤 2:ROM 操作指令欢迎下载精品学习资源步骤 3:DS18B20 功能指令2.3.2 初始化通过单总线地全部执行操作处理都从一个初始化序列开头 .初始化序列包括一个由总线掌握器发出地复位脉冲和其后由从机发出地存在脉冲 .存在脉冲让总线掌握器知道 DS18B20 在总线上且已预备好操作 .2.3.3 ROM 操作指令一旦总线掌握器探测到一个存在脉冲,它就发出一
34、条ROM 指令.假如总线上挂有多只 DS18B20,这些指令将基于器件独有地64 位 ROM 片序列码使得总线掌握器选出特定要进行操作地器件.这些指令同样也可以使总线掌握器识别有 多少个什么型号地器件挂在总线上,同样,它们也可以识别哪些器件已经符合报警条件 .ROM 指令有 5 条,都是 8 位长度.总线掌握器在发起一条 DS18B20 功能指令之前必需先发出一条 ROM 指令.表 2-3 ROM 操作指令指令名称指令代码指令功能读 ROM33H读 DS18B20 ROM 中地编码(即读 64 位地址编码)发出此命令之后,接着发出 64 位欢迎下载精品学习资源ROM 匹配55H搜寻 ROM0F
35、0H跳过 ROM0CCHROM 编码,拜访单总线上与编码相对应 DS18B20 使之作出响应,为下一步对该 DS18B20 地读写作预备用于确定接在同一总线上 DS18B20 地个数和识别 64 位 ROM 地址,为操作各器件作好预备忽视 64 位 ROM 地址,直接向DS18B20 发温度变换命令,适用于单片机工作欢迎下载精品学习资源报警搜寻0ECH该指令执行后,只有温度超过设定值上限或下限地片子才做出响应2.3.4 DS18B20 功能指令在总线掌握器发给欲连接地DS18B20 一条 ROM 命令后,跟着可以发送一条 DS18B20 功能指令 .这些命令答应总线掌握器读写DS18B20 地
36、暂存器,发起欢迎下载精品学习资源温度转换和识别电源模式 .DS18B20 功能指令如下图所示:表 2-4 DS18B20 功能指令指令名称指令代码温度变换44H指令功能启动 DS18B20 进行温度转换,转换时间最长为500ms典型为 200ms,结果存入内部9 字节 RAM 中读暂存器0BEH读内部 RAM 中 9 字节地内容写暂存器4EH发出向内部 RAM 地第 3,4 字节写上,下限温度数据命令,紧跟着该命令之后是传送两字节地数据复制暂存器48H将 RAM 地第 3,4 字节地内容复制到 EEPROM 中重调 EEPROM0B8HEEPROM 中地内容复原到 RAM 中地第 3,4 字节读供电方式0B4H读 DS18B20 地供电模式,