《计算机温度测控系统.pdf》由会员分享,可在线阅读,更多相关《计算机温度测控系统.pdf(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录摘要.11 系统方案的选择.21.1 温度变送器的选择.21.2 键盘显示部分.21.3 控制电路部分.21.4 PID过程控制部分.31.4.1过程控制的基本概念.31.4.2 模拟PID控制系统组成.41.4.3 数字PID控制器.52 总体方案的分析.52.1 系统总模块.52.2 系统模块关系图.63 硬件电路设计.63.1 继电器控制电路.63.2 显小电路.73.3 键盘输入电路.83.4 温度变送器电路.83.5 单片机AT89C52最小系统.83.5.1 单片机简介.83.5.2 单片机最小系统电路简介.93.6 总电路硬件图.114软件程序设计.114.1 主程序流程图.
2、114.2 程序结构图.135相关器件测试、系统调试和参数整定.135.1 继电器测试.135.2 PID参数整定.145.3 系统调试.156小结和心得体会.16参考文献.18附录.19附录1参考程序.19附录2总硬件电路图.32摘要在实际的生产实验环境下,由于系统内部和外界的热量交换是很难控制的,而且其他干扰因素也是无法去精确计算的,因此温度量的变化往往受到不可精确预计的外界环境扰动的影响。但是正常工业生产过程中,对生产中的温度要求又是相对精确和苛刻的,工业生产中经常要保持反应炉中保持一定的温度,来促进反应的持续快速进行,同时,以前的温度控制大多是人工通过仪表的显示来调节温度的模式,然而人
3、工控制温度的精确度不高,而且反应不灵敏,存在较大误差,因此需要更好的测温控温方法。随着电子技术和计算机的迅速发展,计算机测量控制技术拥有操作简单、控制灵活、使用便捷以及性价比较高的优点从而得到了广泛应用。单片机是一种集C P U、R A M、R O M、I/O 接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可以实现对数字信息的处理和控制,因此,单片机广泛应用于现代工业控制中。此控制具有重量轻、体积小、价格低、可靠性高、耗电低和操作灵活等优点,因此利用单片机进行温度测量控制会大大提高其可靠性和准确性。单片机对温度的测量控制是基于传感器、A/D 转换器以及扩展接口和执行机构来进行的。在闭
4、环过程控制系统中,过程的实时参数由传感器和A/D 转换器来进行实时采集,并由单片机自动记录、处理并控制执行机构来进行调节和控制。因此需要对单片机进行扩展和开发,来形成一个完整的单片机温度控制系统。关键词:单片机温度测控系统自动控制温度变送器1计算机温度测控系统1 系统方案的选择1.1 温度变送器的选择目前市场上温度传感器较多,主要有以下几种方案:方案一:选用销电阻温度传感器。此类温度传感器线性度、稳定性等方面性能都很好,但其成本较高。方案二:采用热敏电阻。选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。方案三:采 用D S 1 8 B 2 0温度传感器。D S 1
5、8 B 2 0是D A L L A S公司生产的一线式数字温度传感器,具 有3引脚T O 9 2小体积封装形式;温度测量范围为-5 5+1 2 5 C,可编程为9位1 2位A/D转换精度,测温分辨率可达0.0 6 2 5 C,被测温度用符号扩展的1 6位数字量方式串行输出远端引入。此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。比较以上三种方案,方案三具有明显的优点,因此选用方案三。1.2 键盘显示部分控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。方案一:采用可编程控制器8 2 7 9与数码管及地址译码器7
6、4 L S 1 3 8组成,可编程/显示器 件8 2 7 9实现对按键的扫描、消除抖动、提 供L E D的显示信号,并 对L E D显示控制。用8 2 7 9和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。方案二:采用单片机A T 8 9 c 5 2与4 X 4矩阵组成控制和扫描系统,并 用8 9 c 5 2的P 1 口对键盘进行扫描,并用总线的方式在P 0 口接1 6 0 2液晶来显示水温和设定值,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。对比两种方案可知,方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路
7、整体的性能,我们采用方案二。1.3 控制电路部分2方案一:采 用 8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。方案二:采 用 2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O 口,因此此芯片资源不够用。方案三:采 用 AT89c52单片机,其内部有4KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O 口也足够本次设计的要求。比较这三种方案,综合考虑单片机的各部分资源,因此此次设计选用方案三。1.4 PID过程控制部分1.4.1 过程控制的基本概念过程控制:对生产过程的某一或某些物理参数进行的自动控制。(1
8、)模拟控制系统模拟调节器图1基本模拟反馈控制回路被控量的值由传感器或变送器来检测,这个值与给定值进行比较,得到偏差,模拟调节器依一定控制规律使操作变量变化,以使偏差趋近于零,其输出通过执行器作用于过程。控制规律用对应的模拟硬件来实现,控制规律的修改需要更换模拟硬件。(2)微机过程控制系统以微型计算机作为控制器。控制规律的实现,是通过软件来完成的。改变控制规律,只要改变相应的程序即可。3微型计算机给定值I偏差室)率制器被控变量D/A图2微机过程控制系统基本框图(3)数字控制系统D D CD D C(D i r e c t D i g i t a l C o n g t r o l)系统是计算机用
9、于过程控制的最典型的一种系统。微型计算机通过过程输入通道对一个或多个物理量进行检测,并根据确定的控制规律(算法)进行计算,通过输出通道直接去控制执行机构,使各被控量达到预定的要求。由于计算机的决策直接作用于过程,故称为直接数字控制。D D C系统也是计算机在工业应用中最普遍的一种形式。给定值微型计算机显示输入通道执行器工业对象图3 DDC系统构成框图1.4.2模 拟PID控制系统组成P I D调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。(1)P I D调节器的微分方程u(t)=Kp e+*e
10、出+丁口包?式中e )=r(r)-c(/)4(3)PID调节器的传输函数+-+ToSPI D调节器各校正环节的作用:(1)比例环节:即时成比例地反应控制系统的偏差信号e,偏差一旦产生,调节器立即产生控制作用以减小偏差。(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Tl,T I越大,积分作用越弱,反之则越强。(3)微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。1.4.3 数字PID控制器uD(n)=K p e(n)-e(n-1)称为微分项(1)模拟PI
11、D控制规律的离散化模拟形式离散化形式?(/)=r(t)-c(t)e()=r(n)-c(n)de(t)dTe(n)-e(n-l)T|e(t)dt e(i)T =r e(i)/=0/=0(2)数字PID控制器的差分方程()=Kp e()+e(/)+e(n)-e(n-1)*+w0i=o T=up(n)+/(n)+uD(7?)+“0式中 p()=Kpe(n)称为比例项/()=Kp二 e(i)称为积分项T z=o2总 体 方 案 的 分 析2.1系统总模块5系统模块分为:AT89c52DS18B20模块,1602液晶显示模块,继电器模块,键盘输入模块,DS18B20可以被编程,所以箭头是双向的,CPU(
12、89C52)首先写入命令给DS18B20,然 后 DS18B20开始转换数据,转换后通89c52来处理数据。数据处理后的结果就显示到1602液晶上。2.2 系统模块关系图初始化模块图 4系统木块关系图继电器(是否加热)模块3 硬件电路设计3.1 继电器控制电路此部份用于在闭环控制系统中对被控对象实施控制,此处被控对象为烘箱内的加热丝,采用对加在加热丝两端的电压进行通断的方法进行控制,以实现对温度的调整。对加热丝通断的控制采用SSR固态继电器,SSR是半导体继电器,所以较小的驱动功率即可使SSR工作。它的使用非常简单,只要在控制台端加上-TTL、CMOS电平或一晶体管,即可实现对继电器的开关。图
13、 5 为通过三极管PNP来控制继电器的开关的,继电器采用的是带光电隔离的过零型双向可控硅AGSSR常 开 式(常闭式)固态继电器,为使其实现过零控制,就是要实现工频电压的过零检测,并给出脉冲信号,由单片机控制双向可控硅过零脉冲数目。当在其输入 端 加 入(撤离)控制信号时,输 出 端 接 通(断开),从而控制加热丝与电源的通断,来达到加热或冷却加热丝的目的,最终实现烘箱中温度稳定在设定值上。6图 5 继电器控制电路3.2 显示电路LCD1图 6显示电路部分用AT89C52的P1 口作为数据线,用P2.2、P2.1、P2.0分别作为L 8的E、R/W、RSo其中E是下降沿触发的片选信号,连接P2
14、.2,R/W是读写信号,连接P2.1,RS是寄存器选择信号,连接P2.0。VEE用连接一阻值为10K的电阻,主要用于调节对比度的调整。接正电源时对比度最落,接地电源时,对比度最高。对比度过高时,会产生“鬼影”。因此连接一 10K的电阻用以调整。当P0 口作为I/O用时需要上拉电阻。73.3 键盘输入电路键盘输入电路采用4个按键开关接单片机P2 口。S1:接在P 2.4,用于增大温度个位和十位上的数值。S2:接在P 2.5,用于减小温度个位和十位上的数值。S3:接在P 2.6,用于改变要设置温度的个位还是十位。S4:接在P 2.7,用于对已设置好的温度输入到单片机中。_(八SETSETO-XTA
15、L1R2IO.C3型18293a31DD 1DTTD5 6XTAL2RSTPSEF TALE百P1HT2P1.1/T2EXTAL1 POWMDQP 0.W 1P02WD2旦-XTA12 P03ftD3PO.UKDiPDSDSP06AD62 RST PQJAD?LCD1 ATOCS2P2m 8P 2.WP22W10P23AI1P2.MM2P2Sft13P2J6AUP2.TAt$P3IVRXDW.1/7XDP321 而-P33fl而 P3.VTDP3ST1P 3 J M P3.74W-R FFBakDQ 2-IU1常直1GND(t)S188HLUO1&L21且下2噎至茨亘下aa噎图10总电路硬件图
16、4软件程序设计4.1主程序流程图程序流程图是程序分析中最基本、最重要的分析技术,它是进行流程程序分析过程中最基本的工具。流程程序图是方法研究改进工作方法的有用工具。不论作业研究过程中运用何种技术,流程程序图总是必经的一步,它是应用最普遍的一种工具。从以下主程序图中可以看出,在进行一系列程序调用之前对系统进行初始化,然后再对键盘程序有所反应。进而判断是否有温度采集到,有就进行A/D转 换 和 PID计算,将其结果用来控制继电器。11N图 1 1 主程序流程图主控程序模块在整个结构中充当管理者,管理所有子程序的调用,就相当于个人计算机的操作系统。它主要负责初始化各个I/O 口,等待键盘事件的发生,
17、并作出相应的处理。并在适当的时候调用数据采样程序,并将采样到的数据与键盘设定值比较。再通过PID计算后用以控制继电器的开断,从而控制加热丝的输出功率,来达到烘箱内温度的调整。124.2 程序结构图任何一个系统的软件设计都离不开硬件电路的连接,所以本课题硬件设计的高度模块化决定了软件设计的模块化。程序结构应包括:主控程序模块、键盘扫描及处理子程序、采样数据处理子程序、PID算法子程序及显示等子程序几个部分。主程序模块键盘扫描键值处理液晶显示AD采样及上传PID计算继电器捽制图 1 2 主程序结构图5相关器件测试、系统调试和参数整定5.1 继电器测试(1)测触点电阻用万能表的电阻档,测量常闭触点与
18、动点电阻,其阻值应为0;而常开触点与动点的阻值就为无穷大。由此可以区别出那个是常闭触点,那个是常开触点。(2)测线圈电阻可用万能表RX10Q档测量继电器线圈的阻值,从而判断该线圈是否存在着开路现象。(3)测量吸合电压和吸合电流找来可调稳压电源和电流表,给继电器输入一组电压,且在供电回路中串入电流表进行监测。慢慢调高电源电压,听到继电器吸合声时,记下该吸合电压和吸合电流。13(4)测量释放电压和释放电流当继电器发生吸合后,再逐渐降低供电电压,当听到继电器再次发生释放声音时,记下此时的电压和电流,亦可尝试多几次而取得平均的释放电压和释放电流。一般情况下,继电器的释放电压约在吸合电压的1050%,如
19、果释放电压太小(小 于1/10的吸合电压),则不能正常使用了,这样会对电路的稳定性造成威胁,工作不可靠。5.2 PID参数整定控制系统的控制质量与被控制对象的特性、干扰信号的形式和幅值、控制方案及控制器的参数等因素有着密切的关系。对象的特性和干扰情况是受工艺操作和设备的特性限制的,不可能随意改变,这样,一旦控制方案确定了,对象各个通道的特性就成定局,这时控制系统的控制质量就只取决于控制器的参数。因此,参数的整定是过程控制系统设计的核心内容。所谓控制器的参数整定,就是通过一定的方法和步骤,确定系统处于最佳过渡过程时控制器的比例度K,、积分时间K,和微分时间K,的具体数值。所谓最佳过渡过程,就是在
20、某质量指标下,系统达到最佳调整状态,此时的控制器参数就是所谓的最佳整定参数。在简单过程控制系统中,调节器参数整定通常以系统瞬态响应的衰减率e=0.750.9(对应衰减比为4:110:1)为主要指标,以保证系统具有一定的稳定裕量(对于大多数过程控制系统来说,系统过渡过程的瞬态响应曲线达到4:1的衰减比状态时,则为最佳的过程曲线)。此外,在满足e主要指标的条件下,还应尽量满足系统的稳态误差(又称静差、余差)、最大动态偏差(超调)和过渡过程时间等其它指标。由于不同的过程控制系统对控制品质的要求有不同的侧重点,也有用系统响应的平方误差积分(ISE)、绝对误差积分(IAE)、时间乘以绝对误差的积分(IT
21、AE)分别取极小作为指标来整定调节器参数的。调节器参数整定的方法很多,概括起来可以分为两大类:一是理论计算整定法。它主要是依据系统的数学模型,采用控制理论中的根轨迹法,频率特性法等,经过理论计算确定调节器参数的数值。二是工程整定方法,它主要依靠工程经验,直接在过程控制系统的实验中进行,且方法简单、易于掌握。由于本系统有别于工业实际系统因此对于参数整定来说,使用工程参数整定法效果不是很好,该系统参数整定采用经验凑试法。14经验凑试法是通过模拟或闭环运行观察系统的响应曲线,然后根据各调节参数对系统响应的大致辞影响,反复凑试参数,以达到满意的响应,从而确定PID调节参数。增大比例系数K。,一般将加快
22、系统的响应,在有静差的情况下有利于减小静差。但过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。增大积分时间K,有利于减小超调,减小振荡,使系统更加稳定,但系统静差的消除将随之减慢。增大微分时间K”,亦有利于加快系统响应,使用权超调减小,稳定性增加,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。在凑试时,可参考以上参数对控制过程的影响趋势,对参数实行下述比例、后积分、再微分的整定步骤:(1)整定比例部分将比例系数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统没有静差或静差已小到允许范围内,并且响应曲线已属满意,那么只需用比例调节器即可,比例系数可由此
23、确定。(2)加入积分环节如果在比例调节的基础上系统的静差不能满足设计要求,则须加入积分环节。整定时首先置积分时间为一较大值,并将经第一步整定得到的比例系数略微缩小(如缩小为原来 的0.8倍),然后减小积分时间,使在保持系统良好动态性能的情况下,静差得到消除。在此过程中,可根据响应曲线的好坏反复改变比例系数与保持时间,以期得到满意的控制过程与整定参数。(3)加入微分环节若使用比例积分调节器消除了静差,但动态过程经反复调整仍不能满意,则可加入微分环节,构成比例积分微分调节器。在整定时,可先置微分时间K”为零。在第二步整定的基础上,增大K”,同时相应地改变比例系数和积分时间,逐步凑试,以获得满意的调
24、节效果和控制参数。5.3 系统调试(1)分别使烘箱稳定在60、65、70、75、80观察系统测量温度值与实际温度值,校准系统使测量误差在1以内。15(2)动态测试:设定温度为70,系统由低温开始进入升温状态。开始记录数据,观察超调量、调节时间和稳态误差;系统进入稳态后,用电风扇吹凉,观察系统的抗扰能力。设定温度为80系统由低温开始进入升温状态。开始记录数据,观察超调量、调节时间和稳态误差;系统进入稳态后,用电风扇吹凉,观察系统的抗扰动能力。(3)采用了 PID控制,当设定温度突变(由 60提高到80)时,经过多次调试,测出P,I,D分别为多少时系统具有最小的调节时间和超调量。6 小结和心得体会
25、温度控制系统设计的要求为,首先系统要有良好的控制效果;其次系统的构成要简单实用;实时监控系统状态参数。因此我选取了 AT89c52单片机来设计,使 用 AT89c52单片机的优势在于其完善的内部结构、优良的性能和强大的中断处理能力,决定了该控制系统的特点:电路结构简单、程序简短、系统可靠性高等。本次设计还充分利用了 AT89C52单片机成熟的语音处理技术,且系统控制部分程序设计在Keil uVision4和 Proteus7.7开发环境中编辑、编译、链接、调试以及仿真的。使用软件编程既减少了系统设计的工作量,又提高了系统开发的速度,使用软件还可以提高所设计系统的稳定性,避免了因个人设计经验不足
26、而产生过多的系统缺陷。在这次课程设计中获得了难得的理论联系实践的机会,在系统设计及开发过程中,对理论知识进一步的加深了理解,使得我对过程控制规律有了更深层次了概念,系统设计中多次方案论证和修改,使得自己逐步建立了工程设计的思想,对今后进入工作岗位奠定了一定的理论基础,进而认识到了自己知识的缺陷,以及对系统设计的概念性的错误等等。通过对本设计的思考,更加加深了我们对单片机的认识,熟练了对单片机的控制,更对当前的温度传感器有了更深刻的认识与了解,但是由于此系统依赖温度传感器,因而对温度传感器的稳定性,线性等诸多方面有着严格的要求,但是传感器的性能越好,相对而言其价格也就越高。通过这次的课程设计我学
27、会了很多东西,让我更对课堂上学到的单片机知识进行了巩固和加深。特别是对AT89C52的 C语言指令有了更深刻的认识。我了解到理论联系实际是多么重要,同时又是多么的困难,还有平时学习一定要认真踏实,把理论知识要弄懂要理解消化为自己的知识,同时要学会在理论学习时善于思考,多得一些自己的想法和思路,并且多读一些课外书,开阔视野增长一些课外知识。16感谢这次课设过程中给予我帮助同学和老师,并且感谢学校给予我们这次机会提高自己的实践能力。这次的课设终于结束了,我感到什么事都不应该轻易放弃,只要努力就会有结果。再次深深的感谢老师对于我的帮助与指导,使我学到这么多东西,也再次感谢给予我帮助的同学们!17参考
28、文献 1 马德骏、张建宏、汤练兵.计算机程序设计基础一c语言程序设计.北京:科学出版社,2006 2 胡寿松.自动控制原理.北京:科学出版社,2007 3 于海生.微型计算机控制技术.北京:清华大学出版社,1999 4 戴焯.传感与检测技术.武汉:武汉理工大学出版社,2003.8 5 陈宇.单片机原理及其应用.北京:机械工业出版社,2006.7 6 何立民.单片机高级教程应用设计.北京,北京航空航天大学出版社,2000 7 朱定华.单片机原理与接口技术.电子工业出版社,2006 8 刘瑞新.单片机原理及应用教程.北京:机械工业出版社,2003 9 马建伟,李银傍.PID控制设计理论与方法.北京
29、:科学出版社,200810 Prestige Lecture delivered to I EE,Cambridge,on 5 February 200411 Richard Carley,James A.Bain,Gary K.Fedder.Single-chip computer-s withmicroelectromechanical systems-based magnetic memory.Physics.2000,5:8712 ST.LIashFlex51MCU PDF.SST Components I ndustries,2008:1 10,78-7913 Kaminsky,W.
30、J.Davidson,E.S.Special Feature:Developing aMultiple-I n-structon-Stream Single-Chip Processor.Computer.1979,12(12):66-7618附录附 录1参考程序(1)主程序#include#include#include#include#include#include#include 1602_ds18.h按键sbit add=P2A 4;sbit sub=P2A 5;sbit set=P2A 6;sbit enter=P2A 7;sbit st art=P3A 0;sbit stop=P3
31、A 1;函数声明extern void delay(unsigned int i);void show_set();显示设置温度void lcd_set();显示输入温度unsigned char code str1=AAture:;unsigned char code str2=;int temp,set_temp=60;初始设置温度 60int st_s,st_g;int count=0;unsigned char setbuffer3=0,0,0;设定温度显示缓冲区uchar Key_Value_Table口 =1234567890ABCDEF;键盘字符19extern uint tva
32、lue;温度值*主程序*void delay2(unsigned int n)(unsigned int i;for(i=0;i 8)st_s=6;wr_dat(st_s+0);)if(sub=0)(delay2(300);if(sub=1)st_s-;if(st_s9)st_g=0;wr_dat(st_g+0);if(sub=O)(delay2(300);if(sub=1)st_g-;if(st_g O)st_g=9;wr_dat(st_g+0);)if(set=0)(if(set=1)g_flag=1;break;按set键,转下一位设置if(enter=0)delay2(300);if(
33、enter=1)22wr_com(OxOc);set_temp=st_s*10+st_g;g_flag=1;break;)if(s_flag=1&g_flag=1)(s_flag=0;g_flag=0;for(i=0;i40;i+)read_temp();ds1820disp();if(tvalue/10=set_temp)start=1;stop=1;elsestart=0;)显示设置温度,入口参数=5戌3 6 1 7 ;出口参数=温度的显示码bivoid show_set()(unsigned char i;setbuffer0=set_temp/10+0;setbuff er1 =set
34、_temp%10+O;setbuffer2=0+0;wr_com(0 x8b);for(占0;iv2;i+)23wr_dat(setbufferi);wr_com(0 x8d);wr_dat(0 x2e);显示小数点wr_com(0 x8e);wr_dat(setbuffer2);显示小数位)(2)延时程序#ifndef _ delay_H_#define _ delay_H_void delay(unsigned int i)(while(i-);)void delayl(unsigned int n)(unsigned int i;for(i=0;in;i+);)#endif(3)按键程序
35、#ifndef _ keyscan_H_#define _ keyscan_H_#include delay.hunsigned char keyscan()unsigned char key=16,a,b,c;P3=0X0F;24a=P3;delay(20);P3=0XF0;b=P3;delay(20);c=a+b;switch(c)(case Oxee:key=O;break;case Oxde:key=1;break;case 0 xbe:key=2;break;case 0 x7e:key=3;break;case Oxed:key=4;break;case 0 xdd:key=5;b
36、reak;case 0 xbd:key=6;break;case Ox7d:key=7;break;case 0 xeb:key=8;break;case 0 xdb:key=9;break;case Oxbb:key=1O;break;case Ox7b:key=11;break;case 0 xe7:key=12;break;case 0 xd7:key=13;break;case Oxb7:key=14;break;case 0 x77:key=15;break;default:break;return key;25#endif(4)LCD1602显示程序和DS18B20传感器程序#if
37、ndef _ 1 602_DS18_H_#define _ 1 602_DS18_H_#define uchar unsigned char#define uint unsigned intsbit D O P2A 3;/ds18b20 与单片机连接口sbit RS=P2A。;液晶接口sbit RW=P2A 1;sbit EN=P2A 2;uchar data disdata5;分解后的数位 百十个小数uint tvalue;温度值uint now_temp;uchar tflag;温度正负标志/*lc d i6 0 2 程序*void delayl ms(unsigned int ms)延时
38、 1 毫秒(不够精确的)(unsigned int i,j;for(i=0;im s;i+)for(j=0;j0;i-)28DQ=0;给脉冲信号dat=1;DQ=1;给脉冲信号if(DQ)dat|=0 x80;delay_18B20(10);)return(dat);)void ds1820wr(uchar wdata)/*写数据*/(unsigned char i=0;for(i=8;i0;i-)(DQ=0;DQ=wdata&0 x01;delay_18B20(10);DQ=1;wdata=1;read_temp()/*读取温度值并转换*/(uchar a,b;ds1820rst();ds1
39、820wr(0 xcc);/*过读序歹U 号*/ds1820wr(0 x44);/*启动温度转换*/29ds1820rst();ds1820wr(0 xcc);/*跳过读序列号*/ds1820wr(0 xbe);*读取温度*/a=ds1820rd();b=ds1820rd();tvalue=b;tvalue=8;tvalue=tvalue|a;if(tvalueXTAL1早。lU3XTAL2DfT21/T2ELCD1LU Q 16Lpanoopa.ixwiPO2A02P03(M)3P0.4XMHraswwsM36AD6POTJCW?P 2M sP2.1JW9P220K1OP2JWM1P2.4A12P2SA13P2JMM,P2,715P3M XDP3.VTXDP32rtNTDP33rtNTFP3.1/TOP3srriP3J6XWFP3.?而匕DQ 2FU1DS18B20图 1 2 总硬件电路图32