基于51单片机的温度控制系统_第1页
基于51单片机的温度控制系统_第2页
基于51单片机的温度控制系统_第3页
基于51单片机的温度控制系统_第4页
基于51单片机的温度控制系统_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GB8878185555334563BT9125XW创作编号上创作者:凤呜大王*毕业论文设计基于51单片机的温度控制系统摘要在日常生活中温度在我们身边无时不在,温度的控制和应用在各个领域都有重要的作用。很多行业中都有大量的用电加热设备,和温度控制设备,如用于报警的温度自动报警系统,热处理的加热炉,用于融化金属的堆锅电阻炉及各种不同用途的温度箱等,这些都采用单片机技术,利用单片机语言程序对它们进行控制。而单片机技术具有控制和操作使用方便、结构简单便于修改和维护、灵活性大且具有一定的智能性等特点,可以精确的控制技术标准,提高了温控指标,也大大的提高了产品的质量和性能。由于单片机技术的优点突出,智能

2、化温度控制技术正被广泛地采用。 本文介绍了基于单片机AT89C51的温度控制系统的设计方案与软硬件 实现。釆用温度传感器DS18B20釆集温度数据,7段数码管显示温度数 据,按键设置温度上下限,当温度低于设定的下限时,点亮绿色发光二 极管,当温度高于设定的上限时,点亮红色发光二极管。给出了系统总 体框架、程序流程图和Protel原理图,并在硬件平台上实现了所设计功 能。关键词:单片机 温度控制系统 温度传感器6AbStraCtIn daily life, the temperature in OUr Side the ever-present, the COntrOl Of the tempe

3、rature and the application in VariOUS fields all have important role. Many industry there are a Iarge number Of electric heating equipment, and the temperature COntrOl equipment, SUCh as USed for alarm automatic temperature alarm SyStenis, heat treatment furnace, USed to IneIt metal CrUCibIe resista

4、nce furnace, and all kinds Of CIifferent USES Of temperature box and SO on, these USing Single ChiP microcomputer, USing Single ChiP COmPUter IangUage PrOgram to COntrOl them. And SingIe-ChiP microcomputer technology has COntrOl and COnVenient in operation, easy to InOdify and maintenance Of SilnPIe

5、 StrUCtlire, flexibility is Iarge and has SOme Of the intelligence and Other characteristics, We Can accurately COntrOl technology Standard to improve the temperature COntrOl index, also greatly improve the quality Of the PrOdUCtS and performance. BeCaUSe Of the advantages Of the SingIe ChiP IniCrOC

6、OmPUter intelligent temperature COntrOl technology outstanding, is being WideIy adoptedThiS PaPer introduces the temperature COntrOl based On Single ChiP IniCrOCOmPUter AT89C51 CieSign SCheme Of the SyStenl and the hardware and SOftWare implementation. The temperature SenSOr DS18B20 COneCtiOn temper

7、ature data, 7 PeriOei Of CIigital PiPe CIiSPlay, the UPPer and lower IimitS Of temperature button When temperature below the Setting Of the IOWer limit, Iight green leds, When the temperature is higher than the Set On the limit, Iight red IedS. GiVen the SySteIn framework and PrOgram flow Chart and

8、PrinCiPIe chart, and in PrOtel hardware PlatfOrm to realize the function Of the design Keywords: SCM TenIPeratUre COntrOl SySteln TemPeratUre SenSOrS目录摘要ABSTRACTIV第一章前言1创作编号丄GB8878185555334563BT9125XW创作者:凤鸣大王*1.1温度控制系统设计发展历史及意义11.2温度控制系统的目的11.3温度控制系统完成的功能1第二章总体设计方案22. 1方案一22.2方案二33. 1 DS18B20 简介63.

9、1. 1DS18B20封装与引脚63. 1.2 DS18B20的简单性能63.2 DS18B20的工作原理73.3 DS18B20的测温原理83. 3. 1测温原理:83. 3. 2 DS18B20的温度采集过程11第四章单片机接口设计124. 1设计原则124.2单片机引脚连接124. 2. 1单片机引脚图124.2.2串口引脚13第五章硬件电路设计145.1主要硬件电路设计145.2软件系统设计185.2.1软件系统设计185.2.2程序组成19结束语24致谢错误!未定义书签。附录25参考文献38第一章前言1.1温度控制系统设计发展历史及意义温度控制系统广泛应用于社会生活的各个领域,如家电

10、、汽车、材料、 电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不 同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制 人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重, 存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能 不佳,棋至出现控制不稳定、失控现象。传统的继电器调温电路简单实用, 但山于继电器动作频繁,可能会因触点不良而影响正常工作。控制领域还 大量采用传统的PlD控制方式,但PlD控制对象的模型难以建立,并且当扰 动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感 器DS18B20,因其内部集成了 A/D转

11、换器,使得电路结构更加简单,而且减 少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感 器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦, 使得单片机更加具有扩展性。曲于DS18B20芯片的小型化,更加可以通过 单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成 探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器 DS18B20进行范圉的温度检测。1.2温度控制系统的目的温度控制在日常生活及工业领域应用相当广泛,比如温室、水池、发 酵缸、电源等场所的温度控制。而以往温度控制是山人工完成的而且不够 重视,其实在很多场所温度都需

12、要监控以防止发生意外。针对此问题,本 系统设计的U的是实现一种可连续高精度调温的温度监测和控制系统,实 现对温度的实时检测,具有提醒和控制的功能,本设汁的内容是温度测试 控制系统,控制对象是温度。它的特点在于应用广泛,功能强大,小巧美 观,便于携带,是一款既实用又廉价的控制系统。1. 3温度控制系统完成的功能本设计是对温度进行实时监测与控制,设计的温度控制系统实现了基 本的温度控制功能:此设计中温度恒定值设置为60°C,上下跳转温度为1°C, 设计精度值为0.1。当温度低于设定下限温度即59。C时,绿灯亮,报警提 醒需要外界的加热措施。当温度上升到上限温度时,停止加温,红灯

13、亮保 持温度。当温度高于设定上限温度即61。C时,红灯亮,需要外界采取降温 措施(本设讣中没有附加外界的加热和降温措施)。当温度下降到恒温度时, 停止降温。温度在上下限温度之间时,执行机构不执行。第二章总体设计方案2.1方案一利用温度传感器将温度测出,通过某种电信号传给外部电路产生一种 变化,然后山外部电路控制装置的开启。测温电路的设计,可以使用热敏 电阻之类的传感器件利用其感温效应,(如电阻随温度的变化有一个变化的 曲线,即利用它的变化特性曲线)温度的变化使得电阻发生了变化根据欧 姆定律,电阻的变化会带来电流或这电压的变化。再将随被测温度变化的 电压或电流采集过来,然后进行模拟信号换成数字信

14、号(A/D)转换,将数 字信号送入单片机,用单片机进行数据的处理,将温度显示在电路上,这 样就可以将被测温度显示出来。最后还有外用的控制电路,采取一定的措 施来控制产生温度的电路,如加温、降温、保持不动、或者报警。这种设 计需要用到A/D转换电路,感温电路比较麻烦。设计流程图如图2.1图2.1设计流程图2. 2方案二利用温度传感器芯片直接将温度数据测出,之后通过单片机程序控制 温度的上、下限值,用外部电路产生显示和控制加热和降,来达到设计的 要求。考虑使用温度传感器,结合单片机电路设计,釆用一只DS18B20温度 传感器,直接读取被测温度值,之后进行转换,依次完成设计要求。比较以上两种方案,很

15、容易看出,釆用方案二,电路比较简单,软件 设计容易实现,故实际设计中拟釆用方案二。在设计中温度的控制流程如图2. 2所示。图2. 2温度控制整体流程在本系统的总体电路设计方框图如图2. 3所示,它山五部分组成:单片 机AT89C51控制部分;DS18B20温度传感器采集部分;3位LED数码管显 示部分;按键调节部分;二极管报警部分。11LED显示电 路DS18B2O 温度采集 电路51机电89片制AT单控路按键调节电 路二极管显示 报警电路图2. 3温度让电路总体设计方案整个设计总体分为以下儿个部分:控制部分、显示部分、温度采集部 分、按键控制部分。1、控制部分由单片机AT89C51芯片在程序

16、控制和外围简单组合电路作用下运行, 和控制温度的上、下限,和LED的温度显示。控制发光二级管的亮灭,起 到提醒报警功能。2、显示部分显示电路釆用3位7断共阳LED数码管,从P3 口送数,PO 口扫描。有 两部分显示电路,第一是显示DS18B20温度传感器所检测的当前温度,第 二是设定恒定的温度值。3、温度采集部分III DS18B20智能温度传感器直接采集被测温度。4、按键控制部分山三个按键控制调节,用来调节温度的恒定限值,起到预设调节作用。第三章温度传感器DS18B203.1 DS18B20 简介3. 1. 1 DS18B20封装与引脚DS18B20封装与引脚如图3. 1 口线即可实现微处理

17、器与DS18B20的双向通讯。PR35封装VCCNCNCNCSQSI封装图3.1DS18B20的封装与引脚3. 1. 2 DS18B20的简单性能1、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条2、测温范围一55°C+125°C,固有测温分辨率0.5OCO3、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实 现多点测温。4、工作电源:35V/DG5、在使用中不需要任何外围元件。6、测量结果以912位数字量方式串行传送。7、不锈钢保护管直径6 o8、适用于DN1525, DN40DN250各种介质工业管道和狭小空间设 备测温。9、标准安装螺纹M

18、loXl,M12X1.5,G12"任选。10、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备 连接。3.2 DS18B20的工作原理DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小 的振荡器,为计数器1提供一频率稳定的计数脉冲。高温度系数振荡器是一个振荡频率对温度很敬感的振荡器,为讣数器2 提供一个频率随温度变化的计数脉冲。初始时,温度寄存器被预置成-55oC,每当计数器1从预置数开始减计 数到0时,温度寄存器中寄存的温度值就增加1°C,这个过程重复进行,直 到计数器2计数到0时便停止。初始时,计数器1预置的是与-55。C相对应的一个预置值。以后

19、计数器 1每一个循环的预置数都山斜率累加器提供。为了补偿振荡器温度特性的非 线性性,斜率累加器提供的预置数也随温度相应变化。计数器1的预置数 也就是在给定温度处使温度寄存器寄存值增加1°C计数器所需要的讣数个 数。DS18B20内部的比较器以四舍五入的量化方式确定温度寄存器的最低 有效位。在计数器2停止计数后,比较器将计数器1中的计数剩余值转换 为温度值后与0.25°C进行比较,若低于0. 25°C,温度寄存器的最低位就置 0;若高于0. 25°C,最低位就置1;若高于0. 75°C时,温度寄存器的最低位 就进位然后置0。这样,经过比较后所得的

20、温度寄存器的值就是最终读取的 温度值了,其最后位代表0.5cC,四舍五入最大量化误差为±1/2LSB,即 0. 25°Co温度寄存器中的温度值以9位数据格式表示,最高位为符号位,其余8 位以二进制补码形式表示温度值。测温结束时,这9位数据转存到暂存存 储器的前两个字节中,符号位占用第一字节,8位温度数据占据第二字节。DS18B20测量温度时使用特有的温度测量技术。DS18B20内部的低温度 系数振荡器能产生稳定的频率信号;同样的,高温度系数振荡器则将被测 温度转换成频率信号。当计数门打开时,DS18B20进行计数,计数门开通时 间由高温度系数振荡器决定。芯片内部还有斜率累加

21、器,可对频率的非线 性度加以补偿,测量结果存入温度寄存器中。一般情况下的温度值应该为9 位,但因符号位扩展成高8位,所以最后以16位补码形式读出。DS18B20工作过程一般遵循以下协议:初始化一一RoM操作命令一一存 储器操作命令一一处理数据。3. 3 DS18B20的测温原理3. 3. 1测温原理每一片DS18B20在其RoM中都存有其唯一的48位序列号,在岀厂前已 写入片内ROM中。主机在进入操作程序前必须用读ROM(33H)命令将该 DS18B20的序列号读出。ROM命令代码见表3. 1。程序可以先跳过ROM,启动所有DS18B20进行温度变换,之后通过匹配 ROM,再逐一地读回每个DS

22、18B20的温度数据。DS18B20的测温原理,低温度系数晶振的振荡频率受温度的影响很小, 用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变 化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,还 隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时 钟脉冲后进行计数,进而完成温度测量。计数门的开启时间山高温度系数 振荡器来决定,每次测量前,首先将-55 °C所对应的基数分别置入减法计 数器1和温度寄存器中,减法讣数器1和温度寄存器被预置在-55 °C所对 应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减 法计

23、数,当减法计数器1的预置值减到O时温度寄存器的值将加1,减法计 数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产 生的脉冲信号进行计数,如此循环直到减法计数器2计数到O时,停止温 度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.2中的 斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法讣 数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值 达到被测温度值。表3.1 ROH操作命令指令约定代码功能读RoM33H读DS18B20 ROM中的编码发出此命令之后,接着发出64位RoM编码,符合ROM55H访问单线总线上与该编码相对应的DS18B20

24、 使之作出响应,为下一步对该DS18B20的读 写作准备搜索ROMOFOH用于确定挂接在同一总线上DS18B20的个数和识别64位RoM地址,为操作各器件作好准 备跳过ROMOCCH忽略64位RoM地址,直接向DS18B20发温度 变换命令,适用于单片工作。告警搜索 命令OECH执行后,只有温度超过设定值上限或者下限 的片子才做出响应温度变换44H启动DS18B20进行温度转换,转换时间最长 为500MS,结果存入内部9字节RAM中读暂存器OBEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3, 4字节写上、下限温 度数据命令,紧跟读命令之后,是传送两字 节的数据复制暂存器48

25、H将E2PRAM中第3, 4字节内容复制到E2PRAM 中重调E2PRAMOBBH将E:PRAM中内容恢复到RAM中的第3, 4字节读供电方式OBlH读DS18B20的供电模式,寄生供电时DS18B20 发送“0”,外接电源供电DS18B20发送“1”图32测温原理内部装置3. 3. 2 DS18B20的温度釆集过程山于DS18B2O单线通信功能是分时完成的,他有严格的时隙概念,因 此读写时序很重要,系统对DS18B2O的各种操作必须按协议进行。操作协 议为:初始化DS18B20 (发复位脉冲)一发RoM功能命令一发存储器操作命 令一处理数据。温度的采集流程如图33所示。图3. 3 DS18B

26、20测温流程第四章单片机接口设计4.1设计原则DS18B20有2种供电方式,一种是直流电源,还有一种是寄生虫方式供 电。采用电源供电方式,此时DS18B2O的1脚接地,2脚作为信号线,3脚 接电源。电源是利用直流稳压电源。当DS18B20处于写存储器操作和温度 A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 s<> 釆用寄生电源供电方式是VEO和GND端均接地。由于单线制只有一根线,因 此发送接收口必须是三状态的。主机控制DS18B20完成温度转换必须经过3 个步骤:初始化; ROM操作指令;存储器操作指令。4.2单片机引脚连接4. 2. 1单片机引脚图单片机引脚如

27、图4.1所示。图4.1单片机引脚4. 2. 2串口引脚串口引脚的连接图如附录1。第五章硬件电路设计5.1主要硬件电路设计硬件电路主要包括:显示电路,DS18B20温度传感器检测电路,按键电 路,晶振电路,二极管显示报警电路,电源电路。(1) 显示电路显示电路采用了7段共阴数码管扫描电路,通过单片机的PO. O到PO. 7A 个端口接数码管的八个引脚,数码管的9号引脚接地。用来显示当前检测的 温度值,精确度为0.1。如图5.1所示。节约了单片机的输出端口,便于程 序的编写。本设计中还有一组数码管山P2. 0到P2. 7连接,除接口不同外其他一样, 如图5. 2。AAAAAAAAIr -E七444

28、444!JU£匕.e C c C f 3 .fll.JoLP16图5.1显示测量结果电路图图52显示限左温度电路(2) DS18B20温度传感器检测电路温度釆集通过数字化的温度传感器DS18B20,通过QD接向单片机的P3. O 口。DS18B20温度传感器电路如图5. 3所示。图5.3温度传感器电路引脚图(3) 按键电路按键电路如图5. 4所示。由K2、K3、K4三个按键控制上、下限温度值。 P3. 1接口接K4按键。P3.2接口接入K3按键。P3. 3接口接K2按键。1K2温度上下限减少键:减少温度上下限的值。2. K3温度上下限增加键:增加温度上下限的值。3. K4温控开关键:

29、进入温控的切换键。(4) 晶振控制电路晶振采用的是12MHZ的标准晶振。接入单片机的XTAL1、XTAL2。晶振控制电路如图55所示。图5.5晶振控制电路图(5) 复位电路复位电路采用了人工复位的方式,按下按键KI使单片机复位。直接接 到单片机的RESET引脚。复位电路如图5. 6所示图5. 8电源部分电路5. 2软件系统设计5. 2. 1软件系统设计一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同 时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今 天,许多山硬件完成的工作,都可通过软件编程而代替。棋至有些必须采 用很复杂的硬件电路才能完成的工作,用软件编程有时会变

30、得很简单,如 数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源, 采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软 件编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是 机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程 序)最终都必须翻译成机器语言的程序(成为Ll标程序),计算机才能“看 懂”,然后逐一执行。高级语言是面向问题和讣算过程的语言,它可通过于各种不同的汁算 机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且 语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语 言编制程序的速度比较快,也便

31、于学习和交流,但是本系统却选用了汇编 语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控 制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适 合于存储容量较小的系统。同时,本系统对位处理要求很高,需要解决大 量的逻辑控制问题。51指令系统的指令长度较短,它在存储空间和执行时间方面具有较高 的效率,编成的程序占用内存单元少,执行也非常的快捷,与本系统的应 用要求很适合。而且AT89C-51指令系统有丰富的位操作(或称位处理) 指令,可以形成一个相当完整的位操作指令子集,这是AT89C-51指令系 统主要的优点之一。对于要求反应灵敏与控制及时的工控、检测等实时控 制系统

32、以及要求体积小、系统小的许多“电脑化”产品,可以充分体现出 汇编语言简明、整齐、执行时间短和易于使用的特点。本装置的软件包括主程序、读出温度子程序、复位应答子程序、写入 子程序、以及有关DS18B20的程序(初始化子程序、写程序和读程序)。5. 2. 2程序组成系统程序主要包括主程序,读岀温度子程序,写入子程序,门限调节 子程序等。1)主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测 量的当前温度值,温度测量每IS进行一次。这样可以在一秒之内测量一次 被测温度,其程序流程见图5. 9所示。通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存 放在不同的两个单元中

33、,然后通过调用显示子程序显示出来。图5.9主程序流程图2)读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需 进行CRC校验,校验有错时不进行温度数据的改写,程序流程图如图5. 10 所示。DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的 时序才能达到预期的Ll的,同时,要注意读进来的是高位在后低位在前, 共有12位数,小数4位,整数7位,还有一位符号位。21图5.10读出温度子程序南昌工程学院专科毕业设计(论文) 9? 3)写入子程序写入子程序的流程图如5. 11所示。图5.11写入子程序4)门限调节子程序门限调节子程序流程如图5. 12所示。S 5.

34、12门限调节电路43结束语本文详细讲述了系统设计方案,并给出了相关程序流程。本设计应用 性比较强,可以应用在仓库温度、大棚温度、机房温度、水池等的监控。 另外,如果把本设计方案扩展为多点温度控制,加上上位机,则可以实现 远程温度监控系统,将具有更大的应用价值。本文的创新点在于详细设计了基于单片机AT89C51的温度监控系统, 设计程序已经.此系统可广泛用于温度在DS18B20测温范围之内的场合, 有良好的应用前景。由于单片机的各种优越的特性,使得它的经济效益显 的更加突出,有很好的实用性。附录1附录(UNJJIllIlIIlIlAllllIl> I > 2gil22ig2 厂挡 X

35、GilGGIIlO1 O,|QMl Sm" ""l 昭Il2c< < 丿乡 k,n >«»« 皿!/XJ I' In售Q-o/7 77 77 y 733W>U > »皿fls,-;:gO :N;:5: N1Ii八昇呂E 忘 :OO CM r !OS4S! S 冷9:R§原理电路总设汁图附录2源程序:FKIEQU24H;F(k)实测温度FKEQU25H;F(k)实测温度暂存RKEQU26H;R(k)给定温度SHlIEQU30H;实测温度十位SHI2EQU31H;实测温度个位SHI

36、3EQU32H;实测温度小数位GAOEQU33H;给定温度十位ZHOEQU34H;给定温度个位DlEQU35H;给定温度小数位CNTEQU37H;按键消抖计数器LSBEQU50H;检测温度低8位MSBEQU51H;检测温度高8位K_INMBlTP3. 1;Dl位设定温度按键K_INHBlTP3.2;ZHo位设定温度按键KlBlTP3. 3;GAo位设定温度按键DQBlTP3.0;DS18B20的温度输入口ORG OOOOH;主程序入口地址AJMP MAlN;跳转到主程序ORG OOOBH;To中断入口地址ORG OOIBH;TI中断入口地址ORG 0050HMAlN:MOVMOVMOVMOVM

37、OVMOVSP, #60HGAO,#0ZHO, #0DI, #0CNT, #10TMOD, #11H;堆栈指针初始化;置设定值显示十位初值;置设定值显示个位初值;置设定值显示小数位初值f;定时器TO、初始化(方式1)MOVTHO, #3CH;To定时器定时常数MOVTLO,#0BOHfMOVTHl, SOFCH;TI定时器定时常数MOVTLl, #18HfSETBPTI;TI优先中断MOVIE,#8AH;中断使能SETBTRO;启动定时器ToSETBTRI;启动定时器LOOP:ACALLGETTMP;调用测温子程序ACALLBBLD;调用二十进制子程序ACALLTER;调用拆字子程序ACALL

38、XlAOSHU;调用小数处理子程序ACALLDlSPI;调用测得温度显示程序ACALLKEY;调用按键处理子程序ACALLIDTB;调用十二进制转换子程序ACALLCHKI;调用报警子程序ACALLDISP2;调用设定温度显示子程序AJMPLOOP;循环GETTMP:ACALLACALLMOVACALLMOVACALLJNBACALLACALLMOVRESET_PULSEPRESENCEA,SOCCHWRlTE_BYTEA, #44HWRlTE_BYTEDQ, SRESET_PULSEPRESENCEA,SOCCH;发跳过RoH命令;发出温度转换命令;发跳过ROM命令;* *测温子程序*ACA

39、LLWRlTE_BYTEMOVA,#0BEHACALLWRlTE_BYTEACALLREAD_BYTEMOVLSB, AACALLREAD.BYTEMOVMSB, AACALLRESET_PULSEACALLPRESENCEMOVA, MSBSWAPAANLA, #70HMOVFK, AMOVA, LSBSWAPAANLA, #0FHORLFK, AMOVFKl, FKRET;发读存储器命令;温度值低位字节送LSB;温度值高位字节送MSB;*读 DS18B20 的程序*READ_BYTE:MOVR6, #8READl:CLR DQNOPNOPSETB DQNOPNOPNOPMOV R5, AM

40、OVC, DQMOVA, R5MOVR7, #30DJNZR7, SRRCADJNZR6,READIRETPRESENCE:JBDQ, SJNB DQ, SRETRESET_PULSE:CLRDQMOVR7, #250DJNZR7, SSETBDQMOVR7,#10DJNZR7, SRET 写 DS18B20 的程Jy*WRITE-BYTE:MOV R6, #8RRCAJCWRlTEICLRDQMOVR7, #30DJXZR7, SSETBDQNOPNOPNOPNOPDJNZ R6,WRlTERETWRlTE1:CLRDQNOPNOPNOPNOPSETBDQMOVR7, #30DJNZR7,

41、SDJNZR6,WRlTERET;*二十进制转换子程序*BBLD:CLR AMOV R2,AMOV R7, #8BBCDl:CLRCMOVA, FKRLCAMOVFK, AMOVA, R2ADDCA, R2DAAMOVR2,ADJXZR7,BBCDIRET;* *拆字子程序* *TER: MOVA, R2ANLA, SOFHMOVSHI2, AMOVA, R2SWAPAAXLA, #0FHMOVSHIl, ARET欢*小数部分处理子程序*XlAOSHU:CLRCMOVR3,#3MOVA, 50HL00P2:RRCADJNZ R3,L00P2ANLA, #01HCJNE A,#01H, XlAO

42、SHU2MOVSHI3, #5RETXlAOSHU2:MOV SHI3,#0RET;*按键部分处理子程序*KEY:MOVCNT, #80JBK_INM, KEYIACALLDlSPIACALLDISP2ACALLDlSPIACALLDISP2JBK_INM, KEYIWAlTO: JBK-IXM, KEY2ACALL DlSPIACALL DISP2DJNZCNT, WAlTOKEY2:MOVA, DlADDA, #5DAAMOVDI, ASUBBA, #09HJCKEYIMOVDI, #0KEYI:MOVCNT, #80JBK_INH, KEY4ACALLDISPIACALLDISP2ACA

43、LLDISPIACALLDISP2JBK_INH, KEY4WAITl:JBK_INH, KEY3ACALLDISPIACALLDISP2DJNZCNT, WAlTIKEY3:MOVA, ZHOADDA,#lDAAMOVZH0, ACJNEA,#10H, KEY4MOVZH0, #0KEY4:MOVCNT, #80JBKI,KEY,BACKACALLDISPIACALL DISP2ACALLDlSPIACALLDISP2JBKI, KEY.BACKWAIT2: JBKI, KEY5ACALLDlSPIACALLDISP2DJNZCNT, WAIT2KEY5:MOVA, GAOADDA,#lDA

44、AMOVGAO, ACJNEA,#10H, KEY.BACKMOVGAO, #0KEY-BACK: RET;* 延时程序 1 *DO. 6S: MOVR3, #64HDEL3: MOVR4, #384HDEL4: NOPNOPNOPDJNZR4, DEL4DJNZR3, DEL3RET;*欢头测温度显示部分子程序*DISPl: MOVDPTR, #TABMOVA, SHlIMOVCA, ©A+DPTRMOVPO, AMOVPl, #3FHCLRPl. 0ACALLTMMOVA, SHI2MOVCA, A+DPTRMOVPO, AMOVP1,#3FHSETBPO. 7CLRPl. 1ACALLTMMO

温馨提示

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

评论

0/150

提交评论