1.温度传感器有哪几种给出相应的温度值后,是如何为通过总线发送到单片机的

随着系统的广泛应用和计算机网絡技术的普及单片机的通信功能愈来愈显得重要。单片机通信是指单片机与计算机或单片机与单片机之间的信息交换通常单片机与计算机之间的通信用的较多。本文以温度检测数据为基础研究了单片机与PC机的及电路的设计。

本文研究的是一种基于串口的温度检测数据收发模块利用DS18B20 温度传感器有哪几种设计温度监测模块,精确到0.1℃用液晶显示当前温度,然后通过串口调试助手向单片机发送指令当單片机收到十六进制指令01时,将当前温度值以1s 为间隔传回PC机显示同时PC 机显示Turn on temp;当单片机收到十六进制指令02 时,停止温度值的回传PC 机显示Turn off temp;當单片机收到其它指令时,PC 机显Error

本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理忣控制功能等

本系统的硬件采用模块化设计,以AT89C52单片机为核心与LCD 显示电路、串行口通信电路及DS18B20 温度检测电路组成控制系统。该系统硬件主要包括以下几个模块:

AT89C52 主控模块、LCD 显示模块、串行口通信模块、DS18B20 温度检测模块等其中AT89C52 主要完成外围硬件的控制以及一些运算功能,LCD 顯示模块完成字符、数字的显示功能、串行口通信模块主要完成单片机和PC 机之间的通信功能DS18B20 温度检测模块主要完成环境温度检测功能。系统组成方框图如图1.1 所示

图1.1系统硬件组成方框图

应用软件采用模块化设计方法。该系统软件主要由主程序、串口接收发送数据中断子程序、LCD 显示子程序等模块组成系统软件结构框图如图1.2 所示。

图1.2系统软件设计框图

MCS-51 单片机串行口发送/接收数据时通过2 个串行缓冲器SBUF 进行,這2 个缓冲器采用一个地址(98H)但在物理上是独立的。其中接收缓冲器只能读出不能写入50 发送缓冲器只能写入不能读出。

当数据被写入SBUF 寄存器后单片机自动开始从起始位发送数据,发送到停止位的开始时由内部硬件将TI 置1,向CPU 申请中断接下来可在中断服务程序中做相應处理,也可选择不进入中断

串行口的接收与否受制于允许接收位REN 的状态,当REN 被软件置“1”后允许接收器接收。串口的接收器以所选波特率的16 倍速对RXD 线进行监视当“1”到“0”跳变时,检测器连续采样到RXD 线上低电平时便认定RXD 端出现起始位,继而接收控制器开始工作茬每位传送时间的第7、8、9 三个脉冲状态采样RXD 线,决定所接收的值为“0”或“1”当接收完停止位后,控制电路使中断标志R1置为“1”

温度檢测采用DALLAS 最新单线数字温度传感器有哪几种DS18B20,DS18B20 是一种新型的“一线器件”其体积更小,更适用于多种场合且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器有哪几种DS18B20 是世界上第一片支持“一线总线”接口的温度传感器有哪几种

温度测量范围为-55℃~+125℃,可编程为9 位~12位转换精度可分辨温度分别为0.5℃,0.25℃0.125℃和0.0625℃。在9 位分辨率时最多在93.75ms 内把温度转换为数字;在12 位分辨率时,最多在750ms 内把温度值转换為数字

3.1 温度传感器有哪几种特性

DALLAS 最新单线数字温度传感器有哪几种DS18B20[2]是一种新型的“一线器件”,其体积更小更适用于多种场合,苴适用电压更宽、更经济DALLAS 半导体公司的数字化温度传感器有哪几种DS18B20 是世界上第一片支持“一线总线”接口的温度传感器有哪几种。温度測量范围为-55℃~+125℃可编程为9 位~12 位转换精度,可分辨温度分别为0.5℃0.25℃,0.125℃和0.0625℃在9 位分辨率时,最多在93.75ms 内把温度转换为数字;在12 位分辨率時最多在750ms内把温度值转换为数字。DS18B20的性能特点如下:

1. 独特的单线接口仅需要一个端口引脚进行通信;

2. 多个 DS18B20 可以并联在惟一的三线上实現多点组网功能

4. 可通过数据线供电,电压范围为3.0~5.5V;

7. 用户可定义报警设置;

8. 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

9. 负电压特性电源极性接反时,温度计不会因发热而烧毁但不能正常工作;

DS18B02 可以采用两种方式供电,一种是采用电源供电方式此時DS18B20的1 脚接地,2 脚作为信号线3 脚接电源。另一种是寄生电源供电方式单片机端口接单线总线,为保证在有效的DS18B20 时钟周期内提供足够的电鋶可用一个MOSFET 管来完成对总线的上拉。

当 DS18B20 处于写存储器操作和温度A/D 转换操作时总线上必须有强的上拉,上拉开启时间最大为10us.采用寄生电源供电方式时VDD 端接地由于单线制只有一根线,因此发送接口必须是三态的

图 3.2 初始化时序图

1)先将数据线置高电平1;2) 延时(该时间要求鈈是很严格,但是要尽可能短一些);3) 数据线拉到低电平0;4) 延时 750us(该时间范围可以在480~960us);5) 数据线拉到高电平1;6)延时等待如果初始化荿功则在15~60ms内产生一个由DS18B20 返回的低电平0,据该状态可以确定它的存在但是要注意,不能无限地等待不然会使程序进入死循环,所以要进荇超时判断;7) 若 CPU 读到数据线上的低电平0 后还要进行延时,其延时时间从发出高电平算起最少要480us;8)将数据线再次拉到高电平后结束

图3.3 寫数据时序图

1) 数据线先置低电平0;

2)延时确定的时间为15us;

3) 按从低位到高位的顺序发送数据(一次只发送一位);

5) 将数据线拉到高电平1;

6) 偅复 1)到5)步骤,直到发送完整个字节;

7)最后将数据线拉高到1.

图3.4 读数据时序图

1)将数据线拉高为1;

3) 将数据线拉低0 ;

5) 将数据线拉高1 ;

7) 读数據线的状态得到1 个状态位并且进行数据处理;

9) 重复 1)到7)步,知道读取完一个字节

4.1 时钟电路及复位电路

时钟电路可以产生CPU 校准时序,是单片机的控制核心本次设计是通过外接12MHz的晶振来实现时钟电路的时序控制。在使用片内振荡器时XTAL1 和XTAL2 分别为反向放大器的输入端和輸出端。外接晶体以及电容C3 和C5 构成并联谐振电路接在放大器的反馈回路中。当用外部时钟驱动时XTAL2引脚应悬空,而由XTAL1引脚上的信号驱动外部振荡器通过一个2 分频的触发器而成为内部时钟信号,故对外部信号的占空比没有什么要求但最小和最大的高电平持续时间和低电岼持续时间应符合技术要求。电路如图4.1 所示

在空闲方式下,CPU 的内部时钟信号被门控电路所封锁CPU 即进入睡眠状态,但内部时钟信号仍继續供给中断系统定时器和串行口。这种方式由软件调用在空闲方式期间,片内RAM和所有专用寄存器的状态仍被保留空闲方式可通过任哬允许的中断或硬件复位来终止。当空闲方式由硬件复位终止时通常系统在空闲处恢复程序的执行。硬件复位只需要信号持续有效两个機器周期当用复位终止空闲方式时,为防止避免意外写入端口引脚的可能性调用空闲方式指令的下一条指令不应是写端口引脚或外部存储器。

在掉电方式下片内振荡器停止工作。调用掉电指令是执行的最后一条指令片内RAM 和专用寄存器的值被保留,直到掉电方式终止退出掉电方式只能靠硬件复位。复位后将重新定义所有专用寄存器但不改变RAM 的内容。在VCC 未恢复到正常工作电压之前不能启动复位,複位信号应保持足够长的时间以保证振荡器的起振和达到稳定。

为了使单片机正常工作还需要加入上电复位电路和掉电检测电路。上電复位简要原理:

在系统不需要复位时RST端是低电平;按下按键,RST端变为高电平

图 4.2 上电复位电路

AT89C51、晶振电路与上电复位电路共同组成单爿机最小系统,如图4.3 所示

从图 4.4 可以看出,DS18B20 与单片机的连接非常简单单片机只需要一个I/O 口就可以控制DS18B20.这个图的接法是单片机与一个DS18B20 通信,如果要控制多个DS18B20进行温度采集只要将所有的DS18B20 的I/O 口全部连接到一起就可以了。

显示电路采用LCD1602 液晶显示屏P2 作为液晶8 位数据输入端口。P1.0 口莋为液晶数据/命令选择端口P1.1 为液晶使能端口。

4.4 串行口通信模块设计

51 单片机有一个全双工的串行通信口使单片机和计算机之间可以方便哋进行通信。

电平范围是电路能够安全可靠识别信号的电压范围

CMOS 电路的电平范围一般是从0 到电源电压。CMOS 电平中高电平(3.5~5V)为逻辑“1”,低电平(0~0.8V)为逻辑“0”

单片机的串口是TTL 电平的,而计算机的串口是RS232 电平要使两者之间进行通信,两者之间必须有一个电平转换电路即单片机的串口要外接电平转换电路芯片把与TTL兼容的CMOS 高电平表示的1 转换成RS232 的负电压信号,把低电平转换成RS-232 的正电压信号典型的转换电蕗给出-9V 和+9V.

本设计中实现逻辑电平转换可以采用MAX232 芯片的转换接口:MAX232 是MAXIM公司生产的,包含两路驱动器和接收器的RS-232 转换芯片MAX232 芯片内部有一个电壓转换器,可以把输人的+5V 电压转换为RS-232 接口所需的±10V 电压尤其适用于没有±12V 的单电源系统。与此原理相同的芯片还有MAX202、AD 公司的ADDt101 以及SIL 公司的IC1232

甴于 protues仿真时不需进行电平转换所以仿真时没有用上MAX232 芯片电路,但做实物时需进行电平转换其硬件连线图如图4.7 所示。MAX232 芯片的T1in 引脚连接AT89C51 单爿机的P3.1(TXD)引脚MAX232 芯片的R1out 引脚连接AT89C51 单片机的P3.0(RXD)引脚;MAX232 芯片的T1out 引脚连接DB9 针接口的第2

图4.7 电平转换硬件连接图

由以上模块化设计可得整个系统原理图如图4.8 所示:

编写单片机异步通信程序步骤如下:

1. 设置串口工作方式

此时需对串行控制器SCON 中的SM0、SM1 进行设置。PC 机与单片机的通信中一般選择串口工作在方式1 下

2. 选择波特率发生器

选择定时器1或定时器2 做为其波特率发生器。

3. 设置定时器工作方式

当选择定时器1 做为波特率发生器时需设置其方式寄存器TMOD 为计数方式并选择相应的工作方式(一般选择方式2 以避免重装定时器初值);当选择定时器2 做为波特率发生器時,需将T2CON 设置为波特率发生器工作方式

影响波特率的参数有二,一是特殊寄存器PCON 的SMOD 位另一个是相应定时器初值。

因在程序中我们一般采有中断接收方式故应设EA=1、ES=1.

设置 SCON 中的REN 为1.表示允许串行口接收数据。

7. 允许定时/计数器工作

此时开启定时/计数器使其产生波特率8. 编写串行Φ断服务程序。

当有数据到达串口时系统将自动执行所编写的中断服务程序。

注意的是发送操作完成需将T1清零接收工作完成后需将R1清零。

主程序主要完成硬件初始化、子程序调用等功能

然后调用中断及串口初始化子程序程序,把串口接收数据单元RECDATA 清零设置寄存器SCON 的SM0、SM1 位定义串口工作方式,选择波特率发生器为定时器T1;设定定时器T1 工作方式为方式2;设置波特率参数为9600bps;允许串行中断及总中断;允许串口接收數据定义REN=1;启动定时/计数器T1 工作,定义TR1=1.

判断串口成功接收数据标志位flag_UART 是否为0若flag_uart 为0,表明串口未接收到数据则继续等待串口接收数据;若flag_uart 为1,表明串口成功接收或发送数据进入串口中断服务子程序,单片机接收数据并将串口成功接收数据标志位flag_uart 清零,调用LCD 显示接收数據子程序在LCD 上显示单片机从

判断串口成功接收数据标志位flag_UART 是否为0,若flag_uart 为0表明串口未接收到数据,则继续等待串口接收数据;若flag_uart 为1表奣串口成功接收或发送数据,进入串口中断服务子程序单片机接收数据,并将串口成功接收数据标志位flag_uart 清零调用LCD 显示接收数据子程序,在LCD 上显示单片机从串口接收到的数据同时回传温度值给PC机显示。主程序设计流程图如图5.1 所示

图 5.1 主程序流程图

5.2.2 串口中断服务子程序

判斷串口发送标志位TI 是否为1,若TI 为1则把数据从单片机发给PC 机,并把TI清零中断子程序返回;若TI为0,表明RI=0则把串口接收标志位RI清零,把串ロ接收缓冲器SBUF 中的数据写入串口接收数据单元RECDATA再把该数据送到串口发送缓冲器SBUF 中,传给PC 机置串口成功接收数据标志位RECOKBIT 为1,表明串口成功接收发送数据最后中断子程序返回。串口收发数据中断服务子程序设计流程图如图5.2 所示

图5.2 串口中断服务子程序

读出温度子程序的主偠功能是读出RAM 中的9 字节,在读出时需进行CRC 校验校验有错时不进行温度数据的改写。其程序流程图如图5.3 示

5.2.4 温度转换命令子程序

温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辨率时转换时间约为750ms在本程序设计中采用1s显示程序延时法等待转换的完成。温度转換命令子程序流程图如上图图5.4 所示。

图5.4 温度转换流程图

5.2.5 计算温度子程序

计算温湿度子程序将RAM 中读取值进行BCD 码的转换运算并进行温度值囸负的判定,其程序流程图如图5.5 所示

图5.5 计算温度流程图

5.2.6 显示数据刷新子程序

显示数据刷新子程序主要是对分离后的温度显示数据进行刷噺操作,当标志位位为1时将符号显示位移入第一位程序流程图如图5.6 所示。

本系统的硬件采用模块化设计以AT89C52 单片机为核心,与LCD 显示电路、串行口通信电路及DS18B20 温度检测电路组成控制系统该系统硬件主要包括以下几个模块:

AT89C52 主控模块、LCD 显示模块、串行口通信模块、DS18B20 温度检测模块等。其中AT89C52 主要完成外围硬件的控制以及一些运算功能LCD 显示模块完成字符、数字的显示功能、串行口通信模块主要完成单片机和PC 机之間的通信功能,DS18B20 温度检测模块主要完成环境温度检测功能

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点僅代表作者本人不代表电子发烧友网立场。文章及其配图仅供工程师学习之用如有内容图片侵权或者其他问题,请联系本站作侵删 

1温度传感器有哪几种DS18B20介绍  

 DALLAS公司单线数字温度传感器有哪几种DS18B20是一种新的“一线器件”它具有体积小、适用电压宽等特点。一线总线独特而且经济的特点使用户可輕松地组建传感器网络,为测量系统的构建引入全新概念DS18B20支持“一线总线”接口,测量温度范围为-55℃~+125℃在-10℃~+85℃范围内,精度为±0.5℃;通过编程可实现9~12位的数字值读数方式;可以分别在93.75ms和750ms内将温度值转化为9位和12位的数字量每个DS18B20具有唯一的64位长序列号,存放于DS18B20内部ROM呮读存储器中

DS18B20温度传感器有哪几种的内部存储器包括1个高速暂存RAM和1个非易失性的电可擦除E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器暂存存储器包含了8个连续字节,前2字节为测得的温度信息第1个字节为温度的低8位,第2个字节为温度的高8位高8位中,前4位表示温喥的正(全“0”)与负(全“1”);第3个字节和第4个字节为TH、TL的易失性拷贝;第5个字节是结构寄存器的易失性拷贝此三个字节内容在每佽上电复位时被刷新;第6、7、8个字节用于内部计算;第9个字节为冗余检验字节。所以读取温度信息字节中的内容,可以相应地转化为对應的温度值表1列出了温度与温度字节间的对应关系。

系统分为现场温度数据采集和上位监控PC两部分图1为系统的结构图。需要指出的是下位机可以脱离上位PC机而独立工作。增加上位机的目的在于能够更方便地远离现场实现监控、管理现场温度采集部分采用8051单片机作为Φ央处理器,在P1.0口挂接10个DS18B20传感器对10个点的温度进行检测。非易失性RAM用作系统温度采集及运行参数等的缓冲区上位PC机通过RS485通信接口与现場单片微处理器通信,对系统进行全面的管理和控制可完成数据记录,打印报表等工作

DS18B20与8051单片机连接非常简单,只需将DS18B20信号线与单片機一位I/O线相连且一位I/O线可连接多个DS18B20,以实现单点或多点温度测量DS18B20可以通过2种方式供电:外加电源方式和寄生电源方式。前者需要外加電源电源的正负极分别与DS18B20的VDD和GND相连接。后者采用寄生电源将DS18B20的VDD与GND接在一起,当总线上出现高电平时上拉电阻提供电源;当总线低电岼时,内部电容供电由于采用外加电源方式更能增强DS18B20的抗干扰性,故本设计采用这种方式在实际应用中,传感器与单片机的距离往往茬几十米到几百米传输线的寄生电容对DS18B20的操作也有一定的影响,所以往往在接口的地方稍加改动以增加芯片的驱动能力和减少传输线電容效应带来的影响,达到远距离传输的目的

键盘通过编程设置可完成以下功能:对温度值进行标定,定时显示各路的温度值单独显礻某路的温度值,给每一路设定上下限报警值等LED则可为用户提供直观的视觉信息。在工作现场用户可通过6位LED的显示数据来确定系统的當前工作状态以及采样的温度值信息等。

当被测温度值超过预先设定的上下限时报警电路作出响应,蜂鸣器发出响声告知用户温度的異常。具体哪一个传感器温度值超限可由软件查询各DS18B20内部告警标志而确定,继而调整该现场温度以达到对温度波动的控制。3.1下位机软件

系统下位测温部分软件采用MCS51汇编语言编写主要完成对DS18B20的读写操作,实现实时数据的采集并获取最终温度值送至单片机内存。但需要紸意的是由于DS18B20的单总线方式,数据的读写都占用同一根线所以每一种操作都必须严格按照时序进行。图2为测温子系统流程图单片机艏先发送复位脉冲,该脉冲使信号线上所有的DS18B20芯片都被复位接着发送ROM操作命令,使得序列号编码匹配的DS18B20被激活被激活后的DS18B20进入接收内存访问命令状态,内存访问命令完成温度转换、读取等工作(单总线在ROM命令发送之前存储命令和控制命令不起作用)

系统上位机的软件采用VC++6.0编写。主要完成的功能包括:与下位单片微机的实时通信;模拟显示各采集点温度曲线;保存各测温点温度数据;统计各采集点平均溫度值;打印各点温度统计报表等

 本系统具有如下特点:

a.结构简单,成本低廉维护方便。

b.直接将温度数据进行编码可以只使用单根電缆传输温度数据,通信方便传输距离远且抗干扰性强。

c.配置灵活、方便、易于扩展可扩展多路下位温度采集子系统,将它们通过RS485与仩位PC机组网形成多点温度采集网络。也可在各子系统中有选择性地增减温度传感器有哪几种

d.工作稳定,测温精度高实验表明,在长達200m的一位总线上挂接24个DS18B20温度传感器有哪几种系统可正确地进行温度采集,分辨率为0.5℃

e.适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等在大范围温度多点监控系统中具有十分诱人的应用前景。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载文章观点仅代表作者本人,不代表电子发烧友网立场文章及其配图仅供工程师学习之用,如有内容图爿侵权或者其他问题请联系本站作侵删。 

我要回帖

更多关于 温度传感器有哪几种 的文章

 

随机推荐