基于单片机的温度传感器.docx

上传人:b****6 文档编号:15853285 上传时间:2023-07-08 格式:DOCX 页数:32 大小:168.57KB
下载 相关 举报
基于单片机的温度传感器.docx_第1页
第1页 / 共32页
基于单片机的温度传感器.docx_第2页
第2页 / 共32页
基于单片机的温度传感器.docx_第3页
第3页 / 共32页
基于单片机的温度传感器.docx_第4页
第4页 / 共32页
基于单片机的温度传感器.docx_第5页
第5页 / 共32页
基于单片机的温度传感器.docx_第6页
第6页 / 共32页
基于单片机的温度传感器.docx_第7页
第7页 / 共32页
基于单片机的温度传感器.docx_第8页
第8页 / 共32页
基于单片机的温度传感器.docx_第9页
第9页 / 共32页
基于单片机的温度传感器.docx_第10页
第10页 / 共32页
基于单片机的温度传感器.docx_第11页
第11页 / 共32页
基于单片机的温度传感器.docx_第12页
第12页 / 共32页
基于单片机的温度传感器.docx_第13页
第13页 / 共32页
基于单片机的温度传感器.docx_第14页
第14页 / 共32页
基于单片机的温度传感器.docx_第15页
第15页 / 共32页
基于单片机的温度传感器.docx_第16页
第16页 / 共32页
基于单片机的温度传感器.docx_第17页
第17页 / 共32页
基于单片机的温度传感器.docx_第18页
第18页 / 共32页
基于单片机的温度传感器.docx_第19页
第19页 / 共32页
基于单片机的温度传感器.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的温度传感器.docx

《基于单片机的温度传感器.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度传感器.docx(32页珍藏版)》请在冰点文库上搜索。

基于单片机的温度传感器.docx

基于单片机的温度传感器

目录

0.前言1

1.总体方案设计2

2.硬件电路的设计3

2.1 温度传感器3

2.1.1温度传感器选用细则3

2.1.2 温度传感器DS18B204

2.1单片机片子7

2.2显示电路设计9

3软件设计11

3.1主程序方案11

3.2各模块子程序11

3.2.1温度采集程序11

3.2.2显示程序14

4.联合调试15

5.课设小结及进一步设想16

参考文献16

课设体会17

附录I元件清单18

附录II整体电路图19

附录III源程序清单20

基于单片机的温度采集系统设计(DS18B20)

摘要:

随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。

在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。

计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。

但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任。

本课题以AT89C51单片机系统为核心,能对多点的温度进行实时巡检。

DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。

本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。

关键词:

温度测量;DS18B20温度传感器;单片机

1.前言

在人类的生活环境中,温度扮演着极其重要的角色。

无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。

自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。

在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。

进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。

目前市场主要存在单点和多点两种温度测量仪表。

对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。

此种产品测温范围大都在-200℃-800℃之间,分辨率12位,最小分辨温度在0.001-0.01之间。

自带LED显示模块,显示4位到16位不等。

有的仪表还具有存储功能,可存储几百到几千组数据。

该类仪表可很好的满足单个用户单点测量的需要。

多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。

针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。

随着科学技术的不断进步与发展,温度控制在工业控制、电子测温计、医疗仪器、家用电器等各种温度控制系统中广泛应用,且由过去的单点测量向多测量发展。

目前温度传感器有模拟和数字两类传感器,为了克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端,大多数多点测温控制系统采用数字传感器,并大大方便了系统的设计。

比较有代表性的数字温度传感器有DS18B20、MAX6575、DS1722、MAX6635、SMT160-30等。

在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。

随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。

美国Dallas半导体公司推出的数字温度传感器DS18B20,具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信;在-10~+85℃温度范围内具有

0.5℃精度;用户可编程设定9~12位的分辨率。

以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。

1.总体方案设计

温度检测系统有则共同的特点:

测量点多、环境复杂、布线分散、现场离监控室远等。

若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。

这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。

而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。

采用数字温度芯片DS18B20测量温度,输出信号全数字化。

DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。

便于单片机处理及控制,省去传统的测温方法的很多外围电路。

且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。

在0—100摄氏度时,最大线形偏差小于1摄氏度。

DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。

这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。

采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。

部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。

而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。

所以集成芯片的使用将成为电路发展的一种趋势。

本方案应用这一温度芯片,也是顺应这一趋势。

其原理框图为图1

图1温度采集的结构框图

2.硬件电路的设计

本课题研究的多点测温系统是以单片机和单总线数字温度传感器DS18B20为核心,充分利用单片机优越的内部和外部资源及数字温度传感器DS18B20的优越性能构成一个完备的测温系统,实现对温度的多点测量。

整个系统由单片机控制,能够接收传感器的温度数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的温度传感器,并由驱动电路驱动温度显示。

本课题设计了一种合理、可行的单片机监控软件,完成测量和显示的任务。

由于单片机具有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单以及操作方便等优点。

本课题的整个系统是由单片机、显示电路、键盘电路、驱动电路,串口通信等构成。

2.1 温度传感器

2.1.1温度传感器选用细则

现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的题。

当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。

测量结果的成败,在很大程度上取决于传感器的选用是否合理。

(1)根据测量对象与测量环境确定传感器的类型

要进行—个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。

因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:

量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。

(2)灵敏度的选择

通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。

因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。

但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。

因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引入的串扰信号

(3)线性范围

传感器的线形范围是指输出与输入成正比的范围。

以理论上讲,在此范围内,灵敏度保持定值。

传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。

在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。

但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。

当所要求测量精度比较低时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。

(4)稳定性

传感器使用一段时间后,其性能保持不变化的能力称为稳定性。

影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。

因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。

在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,减小环境的影响。

2.1.2 温度传感器DS18B20

DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器。

全部传感元件及转换电路集成在形如一只三极管的集成电路内。

与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

其可以分别93.75ms和750ms内完成9位和12位的数字量,最大分辨率为0.0625℃,而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。

(1)DS18B20的性能特点

单线数字化智能集成温度的传感器,其特点是:

1DSI8B20可将被测温度直接转换成计算机能识别的数字信号输出,温度值不需要经电桥电路先获取电压模拟量,再经信号放大和A/D转换成数字信号,解决了传统温度传感器存在的因参数不一致性,在更换传感器时会因放大器零漂而必须对电路进行重新调试的问题,使用方便。

2DS18B20能提供9到12位温度读数,精度高,且其信息传输只需1根信号线,与计算机接口十分简便,读写及温度变换的功率来自于数据线而不需额外的电源。

3每一个DS18B20都有一个惟一的序列号,这就允许多个DS18B20连接到同一总线上。

尤其适合于多点温度检测系统。

4负压特性:

当电源极性接反时,DS18B20虽然不能正常工作,但不会因发热而烧毁正是由于具有以上特点,DS18B20在解决各种误差、可靠性和实现系统优化等方面与传统各种温度传感器相比,有无可比拟的优越性,因而广泛应用于过程控制、环境控制、建筑物、机器设备中的温度检测。

其外形和管脚如下图:

 

 

图2DS18B20外部形状及管脚图

(2)DS18B20与单片机的典型接口设计

DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。

Dsl8B20与单片机的硬件连接有两种方法:

一是Vcc接外部电源,GND接地,I/0与单片机的I/0线相连;二是用寄生电源供电,此时,~UDD和GND接地,I/0接单片机I/0。

无论是哪种供电方式,I/0口线都要接4.7kQ左右的上拉电阻。

图4给出了DSl8B20与微处理器的典型连接。

①DS18B20寄生电源供电方式:

如下面图7所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:

在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。

独特的寄生电源方式有三个好处:

1)进行远距离测温时,无需本地电源

2)可以在没有常规电源的条件下读取ROM

3)电路更加简洁,仅用一根I/O口实现测温

要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。

因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。

并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。

②DS18B20寄生电源强上拉供电方式:

  改进的寄生电源供电方式如下面图7所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10μS内把I/O线转换到强上拉状态。

在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。

(3)DS18B20的内部结构:

主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器,用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。

64位光刻ROM的排列是:

开始8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。

光刻R0M的作用是使每一个DS18B20都各不相同,这可实现一根总线上挂接多个DS18B20的目的。

暂存存储器包含了8个连续字节,前2个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。

第3个和第4个字节是TH、TL的易失性拷贝,第5个字节是结构寄存器的易失性拷贝,这3个字节的内容在每一次上电复位时被刷新。

第6、7、8个字节用于内部计算。

第9个字节是冗余检验字节

图7DS18B20的内部结构

(4)DS18B20的测温原理:

DS1820测温原理如下图所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

图8DS18B20测温原理

高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,DS18B20测量温度原理停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

在正常测温情况下,DS18B20的测温分辨力为0.5℃,可采用下述方法获得高分辨率的温度测量结果:

首先用DS18B20提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分TZ,然后再用BEH指令取计数器1的计数剩余值CS和每度计数值CD。

考虑到DS18B20测量温度的整数部分以0.25℃、0.75℃为进位界限的关系,实际温度TS可用下式计算:

TS=(TZ-0.25℃)+(CD-CS)/CD。

2.1单片机片子

在当今新科学技术飞速发展的年代里,单片机的应用已越来越受到人们的重视,它被广泛的应用于家电、医疗、智能仪表、工业自动化等各个领域。

单片机全称单片微型计算机,是将计算机的基本部分微型化,使之集成在一块芯片上的微机。

目前市场上较为流行的单片机有Intel公司和Philip公司的8051系列单片机.Motorola公司的M6800系列单片机。

Intel公司的MCS96系列单片机以及Microchip公司的PIC系列单片机。

片内含有CPU、ROM、RAM、并行I/O口、串行I/O口、定时/计数器、A/D、D/A、中断控制、系统时钟及系统总线等。

本课题是利用Intel的89c51控制整个系统。

89c51单片机包含下列几个部件:

1个8位CPU、1个片内震荡器及时钟电路、4KBROM程序存储器、128BRAM数据存储器、可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路、32条可编程的I/O线、2个16位的定时/计数器、1个可编程全双工串行接口、5个中断源、2个优先级嵌套中断结构。

本课题运用Intel公司的8051进行系统控制,运用到了复位电路,时钟电路,串口,I/O口。

复位电路:

无论哪种单片机,都会涉及到复位电路。

如果复位电路不可靠,在工作中就有可能出现“死机”,“程序走飞”等现象。

所以,一个单片机复位电路的好坏,直接影响到整个系统工作的可靠性。

复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态开始运行。

当89C51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作,如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序,因此要求单片机复位后能脱离复位状态。

复位操作通常有上电和开关复位。

上电复位要求接通电源后,自动实现复位操作。

开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。

 

图10.复位电路

时钟电路:

89c51单片机的时钟信号通常用内部振荡和外部振荡方式。

在引脚XTAL1和XTAX2外接晶体振荡器,就够成了内部振荡方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

晶振通常选用6MHZ、12MHZ或24MHZ。

内部振荡器方式如下。

如图11,电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般为5-30PF。

内部振荡方式所得的时钟信号比较稳定。

外部振荡方式是把已有的时钟信号引入单片机内,这种方式适于用于用来使单片机的时钟与外部信号保持一致。

图11时钟电路

串口:

串行通信是CPU与外界交换的一种基本方式。

单片机运用于数据采集或工业控制时,往往作为前端机安装在工作现场,远离主机,现场数据采用串行通信方式主机并进行处理,以降低通信成本,提高通信可靠性。

51系列单片机自身有全双工的异步通信接口,通过软件编程,它可以作为通用异步接受和发送器使用,也可作为同步移位寄存器。

I/O口:

计算机对外设进行数据操作时,外设的数据是不能直接连到CPU的数据线上的,必须经过接口。

这是由于CPU的数据线是外设或存储器和CPU进行数据传输的唯一公共通道,为了使数据线的使用对象不产生使用总线的冲突,以及协调快速的CPU和慢速的外设,CPU和外设之间必须有接口电路,接口起着缓冲、锁存数据、地址译码、信息格式转换、传递状态、发布命令等功能,I/O接口有并行接口、串行接口、定时/计数器、A/D、D/A等,根据外设的不同情况的应用要求,选择不同的接口。

单片机的I/0口一般是双向的.既可以做输入。

也可以做输出。

以51系列为例,其P0、P1、P2、P3均为双向口,且可位操作。

P0口具有双重功能:

可以作为输入/输出用,外接输入/输出设备;在有外接存储器和I/O接口时常作为低8位地址/数据总线,即低8位地址与数据线分时使用P0口。

此时低8位地址由ALE信号的下跳沿使它锁存到外部地址锁存器中,尔后,P0口出现数据信息。

P1口具有单一接口功能,P1口每一位都能作为可编程的输入或输出口线。

P2口具有双重功能:

作为输入口或输出口使用,外接输入/输出设备;在有外接存储器I/O接口时,作为系统的地址总线。

输出高位地址,与P0口低8位地址一起组成16位地址总线。

P3口为双重功能口:

可以作为输入/输出口,外接输入/输出设备;作为第二功能使用。

图12单片机

2.2显示电路设计

本课题要将传感器的温度信号显示出来,利用单片机89c51传输控制信号。

本课题要用到MAX7219串行LED驱动显示器,此显示器具有接口简单.占用资源少、控制灵活方便、LED级联扩展便利的优点。

MAX7219是串行输出共阴极显示驱动芯片,每片可驱动8个LED,具有级联功能可控制更多的LED。

MAX7219为24引脚芯片,除与LED显示相连的线外,与微控制器只需3根连线相接:

芯片端管脚分别为CLK.DIN.LOAD,其中CLK为时钟输入端,DIN为数据输入端,LOAD为锁存信号。

MAX7219的工作时序为:

时钟的上升沿MAX7219把DIN引脚数据移入内部移位寄存器,在时钟下降沿MAX7219把数据移向DOUT端,而LOAD的上升沿则锁存最后移入的16位串行数据。

对MAX7219的控制操作很方便,其片内具有8个位寄存器和6个控制寄存器。

位寄存器对应LED的具体内容,控制寄存器决定LED的工作方式。

控制寄存器分别为:

不工作方式寄存器、译码方式寄存器、亮度控制寄存器。

扫描个数寄存器、关闭寄存器。

显示测试寄存器。

寄存器的操作格式为2字节的串行数据,第一个字节为寄存器地址,第二个字节为控制命令或待显示数据。

MAX7219是在脉冲控制下工作的,因此其抗干扰就更为重要。

一般在其电源和地之间接一十几

f的电容。

另外,当MAX72l9和其他串行芯片共用I/O引脚时,最好在其外边加一上拉电阻。

P1口内部有上拉电阻,如不在其外部接上拉电阻,有时出现驱动能力不足的现象。

要用MAX7219控制多于8个的LED时,可以将多个MAX7219级联使用。

各芯片的CLK和LOAD端并接在一起。

上一级MAX7219的DOUT端接下一级的D端。

级联显示时,如欲控制次级的MAX7219,只需向前几级的MAX7219的不工作方式寄存器送空操作数:

本级则送欲显示的数据。

另外,需注意,LOAD信号只需执行一次清O和置位,分别在整个过程的始末。

即:

级联调用WrTwoByte程序时,应将程序里的LOAD清O和置位语句屏蔽掉。

只在级联显示的开始和最后分别将LOAD置O和1。

本课题用了一个LED数码管,具体连接如下图:

图13显示电路图

3软件设计

整个系统的功能是由软件电路配合硬件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。

从软件的功能不同可分为两大类:

一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。

二是执行软件(子程序),它是用来完成各种实质性的功能如测量、显示。

每一个执行软件也就是一个小的功能执行模块。

3.1主程序方案

主程序采用模块化思想,温度采集程序,LED显示程序。

温度检测程序:

利用DS18B20智能温度测试仪进行温度测量,并传入PIC16F877A单片机进行相关处理。

LED显示程序:

单片机向晶体管输入数字,LED输出相应的数字。

主程序流程图如图14所示:

图14主程序流程图

3.2各模块子程序

3.2.1温度采集程序

(1)DSl8B20编程简介

每一片单总线芯片内部都有一个全球惟一的64位编码,在多路测温时就是通过匹配每个芯片的ROM编码(ID)来搜寻该路的温度。

DS18B20有9个可擦写的内部寄存器,称为便笺式RAM。

所有的串行通讯,读写每一个Bit位数据都必须严格遵守器件的时序逻辑来编程,同时还必须遵守总线命令序列,对单总线的DS18B20芯片来说,访问每个器件都要遵守下列命令序列:

首先是初始化,其次执行ROM命令,最后执行功能命令。

如果出现序列混乱,则单总线器件不会响应主机。

每次访问任何单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则单总线器件不会响应主机。

但是这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。

在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20支持的某个功能命令。

这些命令允许主机写入或读出DS18B20暂存器,启动温度转换以及判断从机的供电方式。

(2)软件实现

前面提及单总线器件的ROM命令,在主机检测

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2