数字式温度控制仪毕业设计论文

上传人:无*** 文档编号:78528830 上传时间:2022-04-21 格式:DOC 页数:44 大小:1.64MB
收藏 版权申诉 举报 下载
数字式温度控制仪毕业设计论文_第1页
第1页 / 共44页
数字式温度控制仪毕业设计论文_第2页
第2页 / 共44页
数字式温度控制仪毕业设计论文_第3页
第3页 / 共44页
资源描述:

《数字式温度控制仪毕业设计论文》由会员分享,可在线阅读,更多相关《数字式温度控制仪毕业设计论文(44页珍藏版)》请在装配图网上搜索。

1、 数字式温度控制仪摘 要温度是工业生产和科学实验中的重要参数之一。在化工、 冶金、 医药、 航空等领域里,对温度的控制效果直接影响到许多产品的质量及使用寿命,因此,温度控制成为各个领域中的一项关键技术。温度控制的关键在于测温和控温两方面,温度测量是温度控制的基础。在温度测量方面,技术己经比较成熟,由于控制对象越来越复杂,而在温度控制方面,还存在着许多问题,人们还在寻找着更好的控制方法以提高控制性能,满足不同的控制要求。随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的恒温锅炉烧水控制系统。本系统以AT89C51单

2、片机为控制核心,采用闭环控制装置,可自动控制要求环境下的温度,使被控对象温度保持在恒定的范围内。本系统温度信号由数字温度传感器DS18B20采集,送AT89C51单片机进行处理,并通过数码管显示。当温度低于或者高于设定值后,单片机将发出控制信号控制温度控制系统的通断电状态,以实现将温度稳定在目标温度至附近的要求。关键词:单片机,闭环控制,DS18B20,温度,数码管THE DIGITAL TEMPERATURE CONTROL METER ABSTRACTThe temperature is industrial production and scientific experiments of

3、 one of the important parameters. In the chemical industry, metallurgy, medicine, aviation and other fields, for the control of the temperature effect directly affect the quality of the many products and service life, therefore, temperature control in various areas of become a key technology. Temper

4、ature control key lies in the two aspects of the temperature, temperature measurement is the basis for the control of temperature. In temperature measurement, technology has been more mature, to control the object more and more complex, and the temperature control, there are many problems, people ar

5、e still looking for a better control method to improve the control performance, meet different control requirements.With the progress of The Times and development, microcontroller technology has spread to we live, work, scientific research, each domain, has become a mature technology, this paper int

6、roduces a kind of based on single chip microcomputer control constant temperature boiler heating water control system.This system to AT89C51 as control core, the closed-loop control device, it can automatic control requirements of the environment temperature, make be controlled object a constant tem

7、perature range. This system temperature signal by digital temperature sensor DS18B20 acquisition, send AT89C51 for processing, and through the digital pipe display. When the temperature is below or above the set value, single chip microcomputer control signals will be sent to control temperature con

8、trol system of the state power.KEY WORDS:MCU,Temperature,control,signals,PID,DS18B20IV目录前言1第1章 系统原理分析21.1 主要研究内容与技术指标21.1.1 主要研究内容21.1.2 主要技术指标21.2 总体设计方案21.2.1 方案的提出21.2.2 总体设计框图21.1 1.3 系统工作基本原理31.3.1 PID算法31.3.2 DS18B20温度传感器工作原理4第2章 系统硬件设计62.1 数码管显示模块62.2 键盘输入模块72.3 温度采集模块82.4 温度控制模块9第3章 系统软件设计10

9、3.1 主程序流程图103.2 采样子程序流程图103.3 显示子程序流程图113.4 控制字程序流程图13第4章 系统调试与结果分析144.1 系统各模块仿真144.1.1 数码管显示模块仿真144.1.2 键盘输入模块仿真144.1.3 温度采集模块仿真154.1.4 温度控制模块仿真164.2 系统整体调试结果与仿真17结论19参考文献20致谢21附录22前言随着现代工业生产和科学研究的发展,人们对温度过程控制的要求越来越高,具体表现在温控的精度、稳定性、可靠性和多功能性等方面。传统的国产温控设备已经不能满足这些要求,特别在一些精密器件的生产线和标准检测领域方面,经常需要配套相应的测温设

10、备。国内的温度控制仪发展经历了个阶段:第一阶段为动圈式控温仪,主要缺点是控温精度差,其最小刻度为20,升温速度和加热时间都不能自动控制;第二阶段为数字式控温仪,显示精度有所提高,但控制精度低,反应迟钝,并需人工设定所控温度;第三阶段为智能型控温仪,带有专用程序,控制精度高,基本事实现升温、控温的自动化,减少了认为误差。在一些测温产品实现标准化、保证产品质量的过程中,就需要提供更高要求的温度控制仪。就目前我国的技术水平和生产设备来看,我们已经有能力研制和生产出高标准的控温仪表。为此,国内许多科研机构及厂家纷纷投入这类仪表的研制和生产。近年来,已取得了许多可喜的成果。综观当前国内温控仪的研制和生产

11、水平,有两个主要问题明显地摆在我们面前:其一是温控仪的高精度测量问题:其二温度的高精度控制的问题。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的, 还 应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。本系统设计一个单片机为核心的烧水炉温度监控系统,能在一定的范围内采集监控水温,控制精度有所提升,同时具有较好的快速性,报警,八段数码管显示等功能。并且价格低廉,具有很高的工程应用价值和现实意义。第1章 系统原理分析1.1 主要研究内容与

12、技术指标1.1.1 主要研究内容熟悉和掌握单片机的结构和工作原理,了解以单片机为核心的电路设计的基本方法。设计一个能够显示当前温度和目标温度的温度控制系统。1.1.2 主要技术指标 通过温度传感器采集烧水炉中的当前温度值,并显示。 通过按键给定目标温度值,并显示。 设计控制电路对烧水炉的通断电状态进行控制,使烧水炉中的温度稳定在设定值。 温度测量范围在3090,测量精度为0.5,控制精度为3。1.2 总体设计方案1.2.1 方案的提出考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度

13、值,进行转换,就可以满足设计要求。同时本系统采用AT89C52作为温度控制系统主控单元。AT89C52是一种带4 kB闪存可编程可擦除只读存储器的低电压、高性能CMOS的8位微处理器。指令系统和引脚与典型的MCS-51系列完全兼容,方便软件的编写。系统整体电路包括:主控电路、键盘输入、数码管显示、控制输出、控制对象。1.2.2 总体设计框图温度控制电路设计总体设计方框图如图1-1所示,控制器采用单片机AT89C52,温度传感器采用DS18B20,用6位LED数码管实现测量温度显示与目标设定温度显示功能,用43矩阵键盘对目标温度进行输入设定。DS18B20温度传感器43矩阵键盘AT89C52单片

14、机6位数码管显示控制输出控制对象信号处理图1-1 数字式温度控制仪总体设计框图1.3 系统工作基本原理1.3.1 PID算法在模拟控制系统中,控制器最常用的控制规律是PID控制。工业控制算法常用位置型PID算法,经离散化后的算式为 式中,U(n)为第n个采样时刻控制器的输出量,e(n)第n个采样时刻的偏差值,为比例系数,为积分作用系数,为微分作用系数。由于位置式算法每次输出与整个过去状态有关,算式中用到过去偏差的累加值 ,容易产生较大的累计误差。而增量式中只需计算增量,算式中不需要累加,控制增量的确定仅与几次偏差采样值有关,当存在计算误差或精度不足时,对控制量计算的影响较小,且容易通过加权处理

15、获得较好的控制效果。由于计算机只输出控制增量,所以误动作时影响较小,且必要时可用逻辑判断的方法去掉,对系统安全运行有利。1.3.2 DS18B20温度传感器工作原理DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门

16、打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。表1-1一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H0000

17、0 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值

18、。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。第2章 系统硬件设计2.1 数码管显示模块八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮,相应的段被显示出来。数码管的显示有静态显示和动态扫描显示两种方法。所谓静态显示,就是当数码管显示某一字符时,相应的发光二级管恒定的导通或截止。数码管的

19、每一个段码都可以由一个单片机的I/O口进行驱动。静态显示的优点是编程简单,显示亮度高,但缺点是占用I/O口多,容易造成I/O接口的浪费,不易控制成本。所谓动态扫描显示就是通过分时轮流控制各个LED数码管的DPY端,使各个数码管轮流受控显示。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。本系统采用6个共阴极8段数码管对采集到的温度值以及键盘输入的目标值进行显示,接口电路如

20、图2-1所示。其中74LS373锁存器起到对输出数据所存的作用,74LS138则是将P22、P23、P24三个管脚输出数据进行译码转换为8位数据,控制数码管DPY端。该系统采用动态扫描显示方法,虽然这种方法占用CPU资源较多,但是6个数码管共占用8个I/O接口,不存在I/O接口浪费的情况,可以有效的降低成本,故采用此种方法。图2-1 数码管显示接口电路2.2 键盘输入模块此模块采用10个按键,分别可以输入0、1、2、3、4、5、6、7、8、9、这10个数值以满足通过键盘输入目标温度设定值的任务要求。图2-2 矩阵键盘矩阵键盘又称行列键盘,如图2-2所示,它是用三条I/O线作为行线,四条I/O线

21、作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为3*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。当无按键闭合时,P10P13与P14P17之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:第一步,置列线P14P17为输入状态,从行线P10P13输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P14P17读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,

22、再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。2.3 温度采集模块温度采集模块采用DS18B20这款温度传感器,其与单片机连接如图2-3所示。图2-3 温度传感器DS18B20接口电路DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是

23、使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的,也就是你要做的是配置寄存器。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。2.4 温度控制模块图2-4 温度控制模块温度控制模块由继电器控制电源对烧水炉中加热部件通断电的控制。当当

24、前测量温度低于设置的目标温度时,单片机不发出信号,继电器保持加热部分连接继续通电加热;当当前测量温度高于设定的目标温度时,单片机发出一个温度过高的信号,继电器工作,断开加热部件的电源,使其停止工作,从而达到控制温度稳定在设置的目标温度附近的目的。该系统设计根据实际需要将控制电路设计为常闭型即无信号输入时,输出端是闭路的。加热模块的控制电路如图2-4所示。其中LED-RED与LED-GREEN两个提示灯分别表示正在加热和已停止加热。9 第3章 系统软件设计硬件是控制系统的物质基础,是软件赖以生存的空间和场所;同时软件是硬件的灵魂,其逻辑关系是否正确关系到整个系统是否正常工作。软件的编写一般分为两

25、步。第一步:根据系统的要求与既定方案来设计控制流程图,这样会使程序的编写更具方向性与目的性。第二步:参照流程图编写相应的程序。下面简单的介绍下该系统的流程图。3.1 主程序流程图系统的主程序包括系统的初始化子程序、采样子程序、显示子程序、控制字程序等。主程序流程图如图31所示初始化子程序采样子程序控制字程序显示子程序开始图3-1 数码管显示模块3.2 采样子程序流程图这是该控制系统软件比较核心的一个子程序。它涉及定时器的定时,温度的采集,对照等环节,采样子程序流程图如图3-2所示开始定时器T0初始化T0定时开始温度采集T0定时到?比对温度输出温度值返回NY图3-2 采样子程序流程图3.3 显示

26、子程序流程图该系统的LED显示根据实际需要采用的是动态显示方法,这样可以节省I/O口资源。显示子程序流程图如图3-3所示。开始取温度采样值选通百位LEDTemp10Temp/100百位LED显示延时关断百位显示百位置零选通十位LEDTemp10Temp/10十位LED显示延时关断十位显示十位置零选通个位LEDTemp%10个位LED显示延时关断个位显示NYYN 图3-3 显示子程序模块3.4 控制字程序流程图当需要将烧水炉的温度稳定在某一设定值范围时,这就需要设计一个控制电路对电源进行控制,从而实现对烧水炉的间歇性加热。控制字程序流程图如图3-4所示。开始取温度采样值关断电源接通电源大于设定值

27、?小于设定值?返回YYNN图3-4 控制子程序流程图13 第4章 系统调试与结果分析4.1 系统各模块仿真4.1.1 数码管显示模块仿真图4-1 数码管显示模块仿真结果图如图4-1所示,数码管显示模块采用6个8段共阴极数码管组显示,其中前4位显示的是由DS18B20测量到的温度数据,后两位现实的是由键盘输入的设定目标温度值。由图中可以看出,温度传感器侧脸的温度值为45.5,键盘输入的目标温度值为62。4.1.2 键盘输入模块仿真如图4-2所示,该模块以34矩阵键盘作为目标温度设定时的输入手段,键盘上面的10个按键S0S9分别表示09这10个数字,可以输入任意值以满对温度值设定的需要。图4-2

28、键盘输入模块仿真结果图4.1.3 温度采集模块仿真图4-3 温度采集模块仿真结果图该模块以DS18B20温度传感器为核心,对烧水炉内水温进行测量并将温度数值发送至单片机以便与目标设定温度值进行对比,并将温度值输出值数码管显示。如图4-3所示,DS18B20显示温度为37.5,数码管显示为37.5,说明温度传感器可以完成对烧水炉内温度的采集工作。4.1.4 温度控制模块仿真图4-4 温度控制模块仿真结果图-采集温度低于目标设置温度温度控制模块由固态继电器控制完成,当烧水炉内温度低于目标设置温度时,加热设备不断电继续加热(L1亮表示加热),此时LED提示灯红灯亮,表示正在加热。如图4-4所示。当烧

29、水炉内温度高于目标设置温度时,继电器控制加热设备切断电源,停止加热(L1灭表示停止加热),此时LED提示灯绿灯亮,表示已停止加热。如图4-5所示。图4-5 温度控制模块仿真结果图-采集温度高于目标设置温度4.2 系统整体调试结果与仿真做完系统硬件和软件设计后,就是对系统进行调试,调试一般分为两步走,即软件调试和软硬件联合调试。第一步:软件调试。对于编辑好的软件工程,首先应该在编程环境下进行编译,检查程序是否存在语法上的错误。应当指出的是,尽管编译没有提示错误并不是代表程序就能让控制系统实现完整的功能,这就需要进行第二步的软硬件联合调试。第二步:软硬件联合调试。硬件是软件的载体,软件是硬件的灵魂

30、,只有两者结合才能实现我们想要的功能。首先应该检查一边硬件线路,没有问题后将我们编译好的程序文件下载到AT89C51单片机中,然后给系统上电,接着检查系统功能是否实现。本系统在仿真时,LED数码管能够正常显示测量温度值与目标设定温度值,如图4-1与图4-2所示,数码管前4位显示测量温度,后2位是目标设定温度值。键盘输入没有错误,能够争取输入想要输入的数值,并在数码管后两位显示出来。温度控制模块能够正确控制加热设备通断电,图4-1所示为测量温度低于目标设定温度,继电器不工作,加热设备正常加热(L1亮表示加热);图4-2所示为测量温度高于目标设定值,继电器工作,加热设备停止加热(L1灭表示停止加热

31、)。图4-6 温度低于目标设定温度测试结果如图4-6所示,键盘输入目标温度值62,由DS18B20温度传感器得到的温度值为45.5,低于目标温度,需要对其加热,温度控制模块保持加热设备电源的接通,持续加热,同时LED指示灯的红灯亮,表示正在加热。图4-7 温度高于目标设定温度测试结果如上图图4-7所示,键盘输入目标温度值62,由DS18B20温度传感器得到的温度值为62.5,低于目标温度,不需要继续加热,温度控制模块断开加热设备的电源,停止加热,同时LED指示灯的绿灯亮,表示已经停止加热。本系统在仿真时,LED数码管能够正常显示测量温度值与目标设定温度值,如图4-6与图4-7所示,数码管前4位

32、显示测量温度,后2位是目标设定温度值。键盘输入没有错误,能够争取输入想要输入的数值,并在数码管后两位显示出来。温度控制模块能够正确控制加热设备通断电在调试中,整个系统能够正确实现任务要求的全部功能,可以确定本系统设计成功。18结论本设计以AT89C51单片机为系统控制核心,通过DS18B20温度传感器采集烧水炉内温度值,并通过数码管显示出来。该系统能够以预先设置好的目标温度值为标准,自动开通和关断烧水炉的加热电源,从而使烧水炉内的温度值稳定在设定值的范围内。在整个毕业设计的过程中,需要注意以下几个问题: 切实掌握和理解AT89C51单片机的主要特点和性能参数,明确其工作原理,这在硬件设计的过程

33、中给了我很大的帮助。 该控制系统的复位电路根据实际需要采用兼有上电外部复位与按钮复位的电路。这样复位电路能够输出两种电平的复位信号,以适应外围I/O接口芯片所需要的不同复位电平信号。 选用固态继电器来控制加热电源的通断。之所以选用固态继电器是因为它可以提高系统的快速性,可靠性并且减少系统的电磁干扰。 将键盘设计成矩阵键盘,这样可以减少I/O端口的使用数量,降低系统的硬件成本。总之,这次的毕业设计锻炼了我独立思考研究的能力,在整个系统完成后进行仿真,系统也都能正确的完成任务要求的各项功能以及技术参数。其中实现了实时采集烧水炉内部温度值并在数码管上显示;实现了通过键盘输入设定目标温度值并在数码管上

34、显示;实现了采用控制电路对烧水炉的通断电状态进行控制,使烧水炉中的温度稳定在设定值,并且有LED指示灯显示烧水炉内加热设备的工作状态;实现了温度测量范围在3090,测量精度为0.5控制精度为3。整个毕业设计基本满足设计任务的要求,但是也有一些不足,比如先使用的数码管用了6个,稍微有点多,同时对于系统的优化设置与人机交互的设计还有很多的考虑不足,这也给了我以后弥补缺点努力的方向。参考文献1 张俊谟,单片机中级教程:原理与应用(第二版) 北京:北京航空航天大学出版社。2006.10 2 王港元,电工电子实践指导. 江西:江西科学技术出版社,2005 3 刘瑞新,单片机原理及应用教程.北京:机械工业

35、出版社,2004.64 张毅刚,MCS-51 单片机原理及应用M. 哈尔滨,哈尔滨工业大学出版社,,2004.6 5 刘文涛,MCS-51单片机培训教程. 北京:电子工业出版社,19966 何小艇,电子系统设计. 浙江:浙江大学出版社,2004.6 7 张洪润、易涛编著,单片机应用技术教程(第二版). 北京:清华大学出版社,2003 8 李华等,MCS-51系列单片机实用接口技术. 北京:北京航空航天大学出版社,19939 周润景,单片机电路设计、分析与制作. 北京:机械工业出版社,2010.10李杏春等,单片机原理及使用接口技术. 北京:北京航空航天大学出版社, 199611何利民,单片机应

36、用系统设计. 北京:北京航空航天大学出版社,1995 12谭浩强,C程序设计M.北京:清华大学出版社,1999,1213曹巧媛,单片机原理及应用. 北京:电子工业出版社,2002. 214胡汉才,单片机原理及其接口技术. 北京:清华大学出版社,201015蔡明生,电子设计M. 北京:高等教育出版社,2004.1216李群芳,单片微型计算机接口技术及应用.北京:电子工业出版社,2005.117石宗义,电路原理图与电路板设计教程Protel 99SE.北京:北京希望电子出版社,2002.618肖金球,单片机原理与接口技术. 北京:清华大学出版社,2004(2007重印)40致谢首先,在这里我要对所

37、有在毕业设计过程中给予我过帮助的所有老师还有同学们表示最诚挚的感谢。在大学生活即将结束的日子里,毕业设计给了我们一个自我学习,自我锻炼,自我发现的机会。让我们对过去所学的只是加以灵活综合的应用,加强了我们自我学习,研究的能力,以便我们在以后的社会学习工作中更容易的学到我们需要的知识与能力。在这里,我对给予我这次锻炼与学习机会的河南科技大学表示感谢,感谢它培养了我。在整个毕业设计的过程中,毕设指导老师曲老师给了我很大的帮助,每周她都会了解我毕设的进展情况,一有问题也都及时的帮助我解决,所以,对曲老师我表示最衷心的感谢。还有那些一直帮助过我的同学们,让我学到了很多课本上学到的东西,比如习惯,比如帮

38、助,他们也是我很大的助力,同样要感谢他们。感谢每一个帮助过我的人。附录附录一 程序清单#include sbit DQ = P34;/定义DQ引脚为P3.4/*ds18b20延迟子函数(晶振12MHz )*/ /*DS18B20对时间要求很严,但只能长不能短*在11.0592M下也行,因为时间长些*/void delay_18B20(unsigned int i)while(i-);/*ds18b20初始化函数*/void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay_18B20(8); /稍做延时 DQ = 0; /单片机

39、将DQ拉低 delay_18B20(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay_18B20(14); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18B20(20);/*ds18b20读一个字节*/ unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); ret

40、urn(dat);/*ds18b20写一个字节*/ void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat=1; /*读取ds18b20当前温度*/unsigned char ReadTemperature(char TH,char TL,unsigned char RS)unsigned char tt2;unsigned char x=0x00;unsigned char p;Init_DS18B2

41、0();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x4E); / /写入写暂存器命令,修改TH和TL和分辩率配置寄存器/先写TH,再写TL,最后写配置寄存器WriteOneChar(TH);/写入想设定的温度报警上限WriteOneChar(TL);/写入想设定的温度报警下限WriteOneChar(RS);/写配置寄存器,格式为0 R1 R0 1,1 1 1 1/R1R0=00分辨率娄9位,R1R0=11分辨率为12位delay_18B20(80); / this message is wery importantInit_DS18B20()

42、;WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay_18B20(80); / this message is wery importantInit_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度delay_18B20(80);tt0=ReadOneChar(); /读取温度值低位tt1=ReadOneChar(); /读取温度值高位tt1=4;/右移4位 x=x&0x0f;/和前面两句

43、就是取出t0的高四位 p=tt1|x;/将高低字节的有效值的整数部分拼成一个字节return(p);#include #include extern keydown(void);extern unsigned char dis_buf;void delay(unsigned int i);/else IOsbit LS138A=P22; /管脚定义sbit LS138B=P23;sbit LS138C=P24;sbit HIGH=P37; sbit LOW=P36;sbit RELAY=P35; /此表为 LED 的字模, 共阴数码管 0-9 - unsigned char code Disp

44、_Tab = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40; unsigned char code Disp2_Tab = 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xc0; unsigned char code dotcode4=0,25,50,75;unsigned long LedOut5,LedNum1=0,LedNum2=0;void system_Ini() TMOD|= 0x11; TH1 = 0xD8; /10 TL1 = 0xF0;IE = 0x8A;

45、TR1 = 1;main() unsigned char i,temper,Decimalstemper; system_Ini(); while(1) /*以下将读18b20的数据送到LED数码管显示*/ /从温度传感器得到温度的整数部分 temper=ReadTemInteger(10,100,0x3f); LedNum1=temper; /从温度传感器得到温度的小数部分 Decimalstemper=ReadTemDecimals(10,100,0x3f); LedNum2=dotcodeDecimalstemper; /对小数部分进行判断,显示精度为0.5。(0.000.35显示为0.

46、0,0.000.69显示为0.5,0.700.99显示为0,整数部分进位) if(LedNum2=25) LedNum2=50; else if(LedNum2=75) LedNum2=0; LedNum1+; /扫描键盘,得到报警温度值 keydown();/获得键盘情况,判断是否有键按下if(LedNum1=dis_buf) HIGH=0;LOW=1;RELAY=0;/dis_buf为用户预先设定的报警值。超过报警值则指示灯亮,否则的话,灯灭。 else HIGH=1;LOW=0;RELAY=1; /对数码管段选进行赋值。 LedOut0=Disp_TabLedNum1%1000/100;

47、 /百位 LedOut1=Disp_TabLedNum1%100/10; /十位 LedOut2=Disp2_TabLedNum1%10; /个位 LedOut3=Disp_TabLedNum2/10; /小数位 LedOut4=Disp_Tabdis_buf/10; /个位 LedOut5=Disp_Tabdis_buf%10; /小数位 for(i=0; i 0; i-) for(j = 200; j 0; j-);附录二 外文资料翻译资料原文DS18B20Programmable Resolution1- Wire Digital ThermometerDESCRIPTIONThe DS

48、18B20 Digital Thermometer provides 9 to 12bit centigrade temperature measurements and has an alarm function with nonvolatile user-programmable upper and lower trigger points. The DS18B20 communicates over a 1-Wire bus that by definition requires only one data line (and ground) for communication with

49、 a central microprocessor. It has an operating temperature range of 55 to +125C and is accurate to 0.5 over the range of 10 to +85. In addition, the DS18B20 can derive power directly from the data line (“parasite power”), eliminating the need for an external power supply.Each DS18B20 has a unique 64

50、-bit serial code, which allows multiple DS18B20s to function on the same 1wire bus; thus, it is simple to use one microprocessor to control many DS18B20s distributed over a large area. Applications that can benefit from this feature include HVAC environmental controls,temperature monitoring systems

51、inside buildings, equipment ormachinery, and process monitoring and control systems.OVERVIEWFigure 1 shows a block diagram of the DS18B20, and pin descriptions are given in Table 1. The 64-bit ROM stores the devices unique serial code. The scratchpad memory contains the 2-byte temperature register t

52、hat stores the digital output from the temperature sensor. In addition, the scratchpad provides access to the 1-byte upper and lower alarm trigger registers (TH and TL), and the 1-byte configuration register. The configuration register allows the user to set the resolution of the temperature-to-digi

53、tal conversion to 9, 10, 11, or 12 bits. The TH, TL and configuration registers are nonvolatile (EEPROM), so they will retain data when the device is powered down.The DS18B20 uses Dallas exclusive 1-Wire bus protocol that implements bus communication using one control signal. The control line requir

54、es a weak pullup resistor since all devices are linked to the bus via a 3-state or open-drain port (the DQ pin in the case of the DS18B20). In this bus system, the microprocessor (the master device) identifies and addresses devices on the bus using each devices unique 64-bit code. Because each devic

55、e has a unique code, the number of devices that can be addressed on one bus is virtually unlimited. The 1-Wire bus protocol, including detailed explanations of the commands and“time slots,” is covered in the 1-WIRE BUS SYSTEM section of this datasheet.Another feature of the DS18B20 is the ability to

56、 operate without an external power supply. Power is instead supplied through the 1-Wire pullup resistor via the DQ pin when the bus is high. The high bus signal also charges an internal capacitor (Cpp), which then supplies power to the device when the bus is low. This method of deriving power from t

57、he 1-Wire bus is referred to as “parasite power.” As an alternative, the DS18B20 may also be powered by an external supply on VDD.OPERATION MEASURING TEMPERATUREThe core functionality of the DS18B20 is its direct-to-digital temperature sensor. The resolution of the temperature sensor is user-configurable to 9, 10, 11, or 12 bits, corresponding to increments of 0.5, 0.25, 0.125, and 0.0625, respectively. The default resolution at power-up is 12-bit. The DS18B20 powers-up in a low-power idl

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!