基于单片机温度控制系统设计的输出通道设计部分课程设计任务书_第1页
基于单片机温度控制系统设计的输出通道设计部分课程设计任务书_第2页
基于单片机温度控制系统设计的输出通道设计部分课程设计任务书_第3页
基于单片机温度控制系统设计的输出通道设计部分课程设计任务书_第4页
基于单片机温度控制系统设计的输出通道设计部分课程设计任务书_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计任务书学 院专 业学生姓名班级学号课程设计题目基于单片机温度控制系统设计-输出通道设计实践教学要求与任务:1) 构成单片机温度控制系统2) 输出通道设计3) 实验调试4) thfcs-1现场总线控制系统实验5) 撰写实验报告工作计划与进度安排:1) 第12天,查阅文献,构成单片机温度控制系统2) 第34天,输出通道设计3) 第56,实验调试4) 第79天,thfcs-1现场总线控制系统实验5) 第10天,撰写实验报告指导教师: 201 年 月 日专业负责人:201 年 月 日学院教学副院长:201 年 月 日摘 要温度控制器是很多企业常见的控制装置,如机械行业的零件热处理、塑料制品的注

2、塑机上,粉末冶金行业烧结炉、还原炉等都有温度控制问题,尤以热处理加热炉的温度控制最为典型。热处理加热炉是工厂热处理和高校热处理实验广泛使用的加热设备。现在所使用的炉温控制方法很多仍是陈旧的动圈式两位指示调节仪(如xct101 型动圈式两位指示调节仪) 。这种炉温控制方法炉温波动范围大,保温时间靠人工计时,加热速度不能控制,温度不能全程动态跟踪显示。这样的控制和显示方式不能满足日益发展的工业需求。高校的发展同样要求用现代化手段提升现有的实验设备,为学生提供更多更好、更现代化的实验条件。因此,我们就学校热处理实验用电阻加热炉进行现代化改革,将ds18b20测温传感器和at89s52单片机优秀的实时

3、控制功能、灵活的编程能力有机的结合起来,开发出热处理微机控制系统,实现温度控制的自动化。不但能用于学校的实验教学及其它一些研究课题的开发,同样能用于工厂热处理、注塑机多点温度的控制,提高工业企业自动化水平。 关键字:单片机at89s52;传感器ds18b20;控温i目录1概述11.1 本课题研究的意义目的11.2 课题的发展现状和前景展望11.3 课题主要内容和要求22构成单片机温度控制系统22.1控制方案22.1.1网络连接部分32.1.2测量部分32.1.3控制部分32.2 硬件设计概要42.2.1at89s52 单片机系统42.2.2传感器和测温电路的设计72.2.3电炉功率控制103输

4、出通道设计113.1 d/a转换器工作原理123.2 d/a转换器的性能指标133.3 8位dac0832芯片133.4 dac0832接口电路153.5 dac输出设计164软件设计174.1总体设计方案174.2 中断控制程序设计184.3 温度测量程序设计191概述1.1 本课题研究的意义目的温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,在环境恶劣或温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数量

5、,以及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测、显示、控制,使之达到工艺标准,以单片机为核心设计的水温控制系统,可以同时采集多个数据,并将数据通过通讯口送至上位机进行显示和控制。1.2 课题的发展现状和前景展望自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对工业及日常生活中的温

6、度进行检测和控制系统的设计大体方案:本系统以at89c51,at89s52单片机为核心,主要包括传感器温度采集,a/d模/数转换,按扭操作,单片机控制,数码管数字显示等部分。本系统采用pid算法实现温度控制功能,通过串行通信完成两片单片机信息的交互而实现温度设定、控制和显示。本设计还可以通过串口与上位机(电脑)连接,实现电脑控制。系统设计有体积小、交互性强等优点。为了实现高精度的水温控制,本单片机系统采用pid算法控制和pwm脉宽调制相结合的技术,通过控制双向可控硅改变电炉和电源的接通、断开,从而改变水温加热时间的方法来实现对水温的控制。本系统由键盘显示和温度控制两个模块组成,通过模块间的通信

7、完成温度设定、实温显示、水温升降等功能。具有电路结构简单、程序简短、系统可靠性高、操作简便等特点。经济效益:1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户水温的要求,实现对水温的实时监控。避免了电力资源的浪费,节省了能源。 2)将单片机以及温度传感器引入对水温的分析和处理中,单片机控制决策无需建立被控对象的数学模型,系统的鲁棒性强,适合对非线性、时变、滞后系统的控制,对水温控制系统采用单片机控制非常适合。3)系统成本低廉,操作非常简单,可扩展性强,只要稍加改变,即可增加其他使用功能。1.3 课题主要内容和要求1)任务:随着社会的发展、科技的进步以及人们生活水平的逐步

8、提高,各种方便于生活的控制系统开始进入了人们的生活,本文介绍一种用单片机at89s52作为核心控制器件的电热水器水温控制系统。2)内容:1.系统组成与工作原理;2.主电路设计;3.控制电路设计;4.元器件选型及参数计算; 5.软件设计; 6.应用与调试说明。3)要求:(1)掌握单片机控制系统组成与工作原理;(2)掌握主电路与控制电路设计;(3)掌握系统的调试。2构成单片机温度控制系统2.1控制方案本课题的目的是设计一个用单片机at89s52作为核心控制器件的电热水器水温控制系统,并具有较好的快速性与较小的超调,以及十进制数码管显示、温度曲线打印等功能。整个系统结构图如下:2.1.1网络连接部分

9、采用rs232通信协议,其特点为它适用于设备之间的通讯距离可达15m,传输速率最大为20kb/s。rs-232c标准规定了数据和控制信号的电压范围。由于rs-232c是在ttl集成电路之前研制的,所以它的电平不是+5v和地,而是采用负逻辑,规定+3v-+15v之间的任意电压表示逻辑“0”电平,-3v-15v之间的任意电压表示逻辑“1”电平,该标准可以与上位机pc直接向连接,如果延长传输距离需加中继器,增加了成本。2.1.2测量部分采用数字传感器,采用数字传感器可以简化电路,并且在程序设计上减少a/d之间的转换,程序上也得到了简化,大大提高了系统的稳定性。在本次设计中我们对温度的测量采用数字传感

10、器ds18b20。ds18b20具有较高精度和重复性,测量范围- 50 125 ,精度0.5 ;在93175ms 和750ms 内将温度值转化9位的数字量。并且具有微型化、低功耗、高性能、抗干扰能力强等优点,可以简化电路并使系统更稳定。在湿度测量上我们依旧使用模拟器件,虽然电路比较烦琐,但有其稳定的特点。考虑到温度与湿度之间的关系,温度的传感器精度较高,我们降低湿度传感器的精确度,并从 实际经济中考虑,而使用模拟的zhg型传感器,来实现我们的要求。2.1.3控制部分采用89c51单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制,它能完成所要求的功能。但是存在不足之处是:编

11、程不方便,主要是a/d接口和rs-485接口编程不方便,同时89s52需外接模数转换器来满足数据采样,对外围电路来说也比较复杂,并且软件实现也较麻烦。另外,51单片机需要用仿真器来实现软硬件调试,较为繁琐。2.2 硬件设计概要根据需求,我的系统需要温度采集电路、控制电路、执行电路。当然这些要一起工作我们就需要一块单片机来协调它们。温度采集我们使用18b20,使用它可以是电路简化。控制电路我们用外部中断来调节温度,为了使操作方便,我们加入了一个显示控制温度值的数码管。所有电路结构如下图3-1 总体硬件设计示意图2.2.1at89s52 单片机系统at89s52是美国atmel公司生产的低功耗,高

12、性能cmos8位单片机,片内含4k bytes的可系统编程的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集flash程序存储器既可在线编程(isp)也可用传统方法进行编程及通用8位微处理器于单片芯片中,atmel公司的功能强大,低价位at89s52单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。由于at89s52是一个低功耗,高性能cmos 8位单片机,片内含8k bytes isp(in-system programmable)的可反复擦写1000次的flash只读程序存储器。器件采用atmel公司的高密

13、度、非易失性存储技术制造,兼容标准mcs-51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89s52可为许多嵌入式控制应用系统提供高性价比的解决方案。因此,本系统使用at89s52单片机作为微处理器,如图3-3。at89s52引脚图如图3-2。它主要具有如下特点:39个引脚,8k bytes flash片内程序存储器,256 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。

14、 at89s52设计和配置了振荡频率可为0hz并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作掉电模式冻结振荡器,因而可以保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。下面列出了at89s52的一些性能参数:与mcs-51产品指令系统完全兼容 4k字节在系统编程(isp)flash闪速存储器1000次擦写周期4.05.5v的工作电压范围全静态工作模式:0hz33mhz三级程序加密锁1288字节内部ram32个可编程io口线2个16位定时计数器6个中断源全双工串行uart通道低功耗空闲和掉电模式中断可从空闲模唤醒系统看门狗(wd

15、t)及双数据指针掉电标识和快速编程特性灵活的在系统编程(isp字节或页写模式)如下图 at89s52引脚图。图3-2 at89s52引脚图 微处理器电路图整个单片机系统接口分配情况如下:p0口复用于传输led位数据以及值数据传输、p2口的p2.0-p2.1作为六位led的公共端的控制信号、p1口分配做键盘接口、p3.0和p3.1分别用于串口通信的数据的接收端和发送端、p3.2用于温度数据接口。选用at89s52 作为主芯片,因为此芯片有8 kb 的程序存储器和256 b 的数据存储器不用扩展芯片,以降低硬件电路复杂度,如图3.4 at89s52单片机控制电路图,图3.4 at89s52 单片机

16、控制电路图2.2.2传感器和测温电路的设计本次设计采用ds18b20 对温度进行采样,ds18b20 是全数字的,其分辨率达到0.062 5 ,并且他的外围电路十分简单,工作效率高。温度传感器是整个控制系统获取被控对象特征的重要部件,它的特性直接影响系统的精度,数字式温度传感器ds18b20 是最新的“一线器件”. 它具有体积小、适用电压宽、经济,实用、线性度很好,精度较高、且其本身已经进行了校正,使用时不需再进行调整等特点。 本系统采用ds18b20 作为温度传感器,采集的数据直接送到单片机中。 现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性. 适合于恶劣环境的现场温度测

17、量。温度测量范围为55125,可编程为9 位12 位a/d 转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生; 多个ds18b20 可以并联到3 根或2 根线上,cpu 只需一根端口线就能与诸多ds18b20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使ds18b20 非常适用于远距离多点温度检测系统。 性能价格比也非常出色! 因此选择18b20 作为本电路的温度传感器。ds18b20 的接法如图3.9所示。dq 为数字信号输入/输出端;gnd 为电源地;vdd 为外接供电电源输入端。

18、图3.9 ds18b20 的使用接线图dallas最新单线数字温度传感器ds18b20简介新的“一线器件”体积更小、适用电压更宽、更经济 dallas 半导体公司的数字化温度传感器ds1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。ds18b20、 ds1822 “一线总线”数字化温度传感器 同ds1820一样,ds18b20也 支持“一线总线”接口,测量温度范围为 -55c+125c,在-10+85c范围内,精度为0.5c。ds1822的精度较差为 2c 。现场温度直接以“一线总线”的数字方式传

19、输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3v5.5v的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 ds18b20、 ds1822 的特性 ds18b20可以程序设定912位的分辨率,精度为0.5c。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在eeprom中,掉电后依然保存。ds18b20的性能是新一代产品中最好的!性能价格比也非常出色! ds1822与 ds18b20软件兼容,是ds18b20的简化版本。省略了存储用户定义报警温度、分辨

20、率参数的eeprom,精度降低为2c,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,ds1820开辟了温度传感器技术的新概念。ds18b20和ds1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。ds18b20的管脚排列如下: 图3.10 ds18b20的管脚排列图dq为数字信号输入/输出端;gnd为电源地;vdd为外接供电电源输入端(在寄生电源接线方式时接地)。光刻rom中的64位序列号是出厂前被光刻好的,

21、它可以看作是该ds18b20的地址序列码。64位光刻rom的排列是:开始8位(28h)是产品类型标号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码(crc=x8+x5+x4+1)。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。ds18b20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。 12位转化后得到的12位数据这是12位转化后得到的12位数据,存储在18b20的两个8比特的ram中,二进制中的前面5位

22、是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07d0h,+25.0625的数字输出为0191h,-25.0625的数字输出为ff6fh,-55的数字输出为fc90h。温度检测控制电路图2.2.3电炉功率控制采用对电炉两端的电压进行通断的方法,用单片机产生pwm 波以实现对水加热功率进行控制,不同的占空比对应不同的功率,具体控制中占空比的实时值是根据模糊控制规则自动调节。(1) 弱电控制强电: 用固态继电器,其电路图如图3.12所示。图3

23、.12固态继电器电路图 (3)加热器的功率控制接口由于要用at89s52控制高压和大电流的负载工作,显然不能将负载直接接到单片机的i/o 线上,必须经过单片机的功率接口来驱动. 单片机输出的控制信号为占空比可变的脉冲信号,该信号控制继电器和可控硅的导通时间,以此来控制控制加热器的功率.加热器的功率控制电路如图3.13所示图3.13 加热器的功率控制电路3输出通道设计模拟量输出通道的任务-把计算机处理后的数字量信号转换成模拟量电压或电流信号,去驱动相应的执行器,从而达到控制的目的模拟量输出通道(称为d/a通道或ao通道)构成-一般是由接口电路、数/模转换器(简称d/a或dac)和电压/电流变换器

24、等,模拟量输出通道基本构成-多d/a结构和共享d/a结构。3.1 d/a转换器工作原理现以 4 位 d/a 转换器为例说明其工作原理,如图 2-2 所示。 假设d3、d2、d1、d0全为1,则bs3、bs2、bs1、bs0全部与“1”端相连。根据电流定律,有: 由于开关 bs3 bs0 的状态是受要转换的二进制数 d3、d2、d1、d0 控制的,并不一定全是“1”。因此,可以得到通式:考虑到放大器反相端为虚地,故:选取 rfb = r ,可以得到:对于 n 位 d/a 转换器,它的输出电压vout与输入二进制数b( dn-1 d0) 的关系式可写成:输出电压除了与输入的二进制数有关,还与运算放

25、大器的反馈电阻 rfb以及基准电压vref有关。3.2 d/a转换器的性能指标 d/a转换器性能指标是衡量芯片质量的重要参数,也是选用d/a芯片型号的依据。主要性能指标有: (1)分辨率 (2)转换精度 (3)偏移量误差 (4)稳定时间分辨率-是指 d/a 转换器能分辨的最小输出模拟增量,即当输入数字发生单位数码变化时所对应输出模拟量的变化量,它取决于能转换的二进制位数,数字量位数越多,分辨率也就越高 。其分辨率与二进制位数n呈下列关系:分辨率 = 满刻度值/(2n-1)=vref / 2n转换精度-是指转换后所得的实际值和理论值的接近程度。它和分辨率是两个不同的概念。例如,满量程时的理论输出

26、值为10v,实际输出值是在9.99v10.01v之间,其转换精度为10mv。对于分辨率很高的d/a转换器并不一定具有很高的精度。偏移量误差-是指输入数字量时,输出模拟量对于零的偏移值。此误差可通过d/a转换器的外接vref和电位器加以调整。稳定时间-是描述d/a转换速度快慢的一个参数,指从输入数字量变化到输出模拟量达到终值误差1/2lsb时所需的时间。显然,稳定时间越大,转换速度越低。对于输出是电流的d/a转换器来说,稳定时间是很快的,约几微秒,而输出是电压的d/a转换器,其稳定时间主要取决于运算放大器的响应时间。3.3 8位dac0832芯片本次设计采用8位dac0832芯片构成输出通道,在

27、这里只介绍8位dac0832芯片。dac0832主要由8位输入寄存器、8位dac寄存器、8位d/a转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8位dac寄存器用于存放待转换的数字量,由加以控制;8位d/a转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。8位dac0832芯片主要特征:一个8位d/a转换器电流输出方式稳定时间为1s采用20脚双立直插式封装同系列芯片还有 dac0830、dac0831管脚功能di0di7:数据输入线,其中di0为最低有效位lsb ,di7为

28、 最高有效位msb。cs:片选信号,输入线,低电平有效。wr1:写信号1,输入线,低电平有效。ile:输入允许锁存信号,输入线,高电平有效,当ile、和同时有效时,8位输入寄存器端为高电平1,此时寄存器的输出端q跟随输入端d的电平变化;反之,当端为低电平0时,原d 端输入数据被锁存于q端,在此期间d端电平的变化不影响q端。 xfer:传送控制信号,输入线, 低电平有效。iout1:dac电流输出端1,一般作为运算放大器差动输入信号之一。iout2:dac电流输出端2,一般作为运算放大器另一个差动输入信号。rfb:固化在芯片内的反馈电阻连接端,用于连接运算放大器的输出端。vref:基准电压源端,

29、输入线,-10 vdc +10 vdc。vcc:工作电压源端输入线,+5 vdc +15 vdc。当wr2和xfer同时有效时,8位dac寄存器端为高电平“1”,此时dac寄存器的输出端q跟随输入端d也就是输入寄存器q端的电平变化;反之,当端为低电平“0”时,第一级8位输入寄存器q端的状态则锁存到第二级8位dac寄存器中,以便第三级8位dac转换器进行d/a转换。为了简化接口电路,使第二级8位dac寄存器直通,只有第一级8位输入寄存器置成可选通锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式。 3.4 dac0832接口电路由于dac0832内部有输入寄

30、存器,所以它的数据总线可直接与主机的数据总线相连,图为dac0832与pc总线的单缓冲接口电路,它是由dac0832转换芯片、运算放大器以及74ls138译码器和门电路构成的的地址译码电路组成。图中,0832内的dac寄存器控制端的和直接接地,使dac寄存器的输入到输出始终直通;而输入寄存器的控制端分别受地址译码信号与输入输出指令控制,即pc的地址线a9a0经138译码器和门电路产生接口地址信号作为dac0832的片选信号,输入输出写信号作为dac0832的写信号。 d/a转换接口程序:mov dx,220h /口地址如220h送入dx mov al,data /被转换的数据如data送入累加

31、器al out dx,al /送入d/a转换器进行转换 3.5 dac输出设计这里选择dac单极性输出: dac单极性输出方式如图 所示,输出电压vout的单极性输出表达式为:式中:vref/256是常数,显然,vout和 b 成正比关系,输入数字量 b 为 00h 时,vout也为 0 ;输入数字量 b 为ffh即255时,vout 为与 vref 极性相反的最大值。4软件设计4.1总体设计方案软件总体设计:我们的程序是控温,所以我们应该不断测温并控制。如图4.1图4.1程序总体设计流程图4.2 中断控制程序设计我们先来设计控温的程序,因为它比较简单:程序如下:外部中断1key_1:clr

32、ea ;关闭外部中断incdis1 ;把个位加一mova, dis1 cjnea,#10,key ;判断个位是否为十movdis1,#0 ;是十把它置一;显示并打开中断key:mova, dis2 movb, #10mulabadda,dis1 ;求出调整后的温度movtemper_config,a ;保存调整后的温度lcall display ;显示调整后的温度setb ex0 setb ex1setb ea 打开中断reti 返回;外部中断2key_2:clr eainc dis2mov a, dis2cjne a, #10, keymov dis2, #0ajmp key其中dis1,d

33、is2是定义的变量,用来保存数码管的显示数字。temper_config也是定义变量用来保存设定温度值。4.3 温度测量程序设计这里需要对18b20要有一个很清楚的了解。根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。当主机收到ds18b20的响应信号后,便可以发出操作命令,这些命令可以分为rom命令和ram命令两种。cpu的操作过程如图4.4所示。由于ds18b20与单片机间采用串行数据传送,因此,在对ds18b20进行读写编

34、程时,必须严格的保证读写时序,否则将无法读取测温结果。操作时序主要有初始化时序、读时序和写0时序和写1时序四种,如图4.5所示。在温度测量仪表中,对ds18b20的操作主要是复位、读数据和写数据三种,而两种操作又都是按位进行的,所以首先应该按照ds18b20的时序要求,编写读、写时间片的程序,其流程图如图4.6所示。图4.4 ds18b20操作过程图4.5 ds18b20操作时序图4.6 ds18b20操作程序流程图根据上面的知识我们可以得到18b20的操作的3个函数;初始化18b20init_1820:setbdqnopclrdqmovr0, #06bhtsr1:djnzr0,tsr1; 延

35、时setbdqmovr0, #25htsr2:jnbdq, tsr3djnzr0, tsr2ljmptsr4; 延时tsr3:setbflag1; 置标志位,表示ds1820存在ljmptsr5tsr4:clrflag1; 清标志位,表示ds1820不存在ljmptsr7tsr5:movr0, #06bhtsr6:djnzr0, tsr6; 延时tsr7:setbdqret;把a的值写入18b20write_1820:movr2, #8clrcwr1:clrdqmovr3, #6djnzr3, $rrcamovdq, cmovr3, #23djnzr3, $setbdqnopdjnzr2, w

36、r1setbdqret;读温度read_18200:mov r4,#2; 将温度高位和低位从ds18b20中读出mov r1,#77h; 低位存入77h(temper_l),高位存入76h(temper_h)re00:mov r2, #8re01:clr csetb dqnopnopclr dqnopnopnopsetb dqmov r3, #7djnz r3, $mov c, dqmov r3, #23djnz r3, $rrc adjnz r2, re01mov r1, adec r1djnz r4, re00ret应为读出的温度的格式是12位,temper_l位前四位是整数部分后四位是小

37、数,temlper_h只有低四位是有效的。所以我们要有一个处理温度的函数得到整数的温度。读出的温度转换成1个字节放入temper_numtemper_cov:mov a,#0f0hanl a,temper_l; 舍去温度低位中小数点后的四位温度数值swap amov temper_num, amov a, temper_ljnb acc.3,temper_cov1; 四舍五入去温度值inc temper_numtemper_cov1:mov a, temper_hanl a, #07hswap aorl a, temper_nummov temper_num,a; 保存变换后的温度数据ret最

38、后我们写出读出的温度的过程:;读温度到temper_l和temper_hread_temp:mov a, #0cchlcall write_1820mov a, #0behlcall write_1820lcall read_18200lcall init_1820mov a, #0cchlcall write_1820mov a, #044hlcall write_1820ret4.5 温度处理读出温度后我们要跟据温度做相应的事,根据题目要求我们可以画出对于的流程图。温度70报警低于设定值加热overyy 温度处理流程图代码:温度处理temper_work:lcall temper_covmov

温馨提示

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

评论

0/150

提交评论