温度控制系统毕业设计.doc_第1页
温度控制系统毕业设计.doc_第2页
温度控制系统毕业设计.doc_第3页
温度控制系统毕业设计.doc_第4页
温度控制系统毕业设计.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

摘 要在日常生活及工农业生产中,对温度的检测及控制时常显得极其重要。因此,对数字显示温度计的设计有着实际意义和广泛的应用。本文介绍一种利用单片机实现对温度只能控制及显示方案。本毕业设计主要研究的是对高精度的数字温度计的设计,继而实现对对象的测温。测温系数主要包括供电电源,数字温度传感器的数据采集电路,led显示电路,蜂鸣报警电路,继电器控制,按键电路,单片机主板电路。高精度数字温度计的测温过程,由数字温度传感器采集所测对象的温度,并将温度传输到单片机,最终由液晶显示器显示温度值。该数字温度计测温范围在-55+125,精度误差在0.5以内,然后通过led数码管直接显示出温度值。数字温度计完全可代替传统的水银温度计,可以在家庭以及工业中都可以应用,实用价值很高。关键词:单片机:ds18b20:led显示:数字温度.abstractin our daily life and industrial and agricultural production, the detection and control of the temperature, the digital thermometer has practical significance and a wide range of applications .this article describes a programmer which use a microcontroller to achieve and display the right temperature by intelligent control .this programmer mainly consists by temperature control sensors, mcu, led display modules circuit. the main aim of this thesis is to design high-precision digital thermometer and then realize the object temperature measurement. temperature measurement system includes power supply, data acquisition circuit, buzzer alarm circuit, keypad circuit, board with a microcontroller circuit is the key to the whole system. the temperature process of high-precision digital thermometer, from collecting the temperature of the object by the digital temperature sensor and the temperature transmit ted to the microcontroller, and ultimately display temperature by the led. the digital thermometer requires the high degree is positive 125and the low degree is negative 55, the error is less than 0.5, led can read the number. this digital thermometer could replace the traditional mercurial thermometer, can be used in family or industrial and production, it has a great value.key words: mcu: ds18b20 : led display: digital thermometer。1.绪 论31.1课题背景31.2立题的目的和意义41.3温度控制系统的预期功能和基本原理41.4本系统主要研究内容62.多功温度控制系统总体分析与设计72.1 温度控制系统的组成和工作原理72.2 温度采集转换系统82.3 升降温控制系统102.4键盘显示系统112.5报警系统122.6电源系统132.7 硬件电路设计142.7.1 系统硬件配置142.7.2 主要元件简介143.软件系统设计283.1软件总体设计283.2系统初始化函数303.3 控制函数303.4键盘显示函数313.5降温函数323.6曲线算法333.7采样34结 论35致 谢37参考文献38系统源程序39基于8051单片机的温度采集器1绪 论1.1课题背景温度控制是自动控制经常讨论的课题之一,它代表了一类自动控制的方法。而且其应用十分广泛,可以说在生产生活中无处不在,例如锅炉、电冰箱等。而由温度控制带来的时滞效应难题始终困扰着实际应用。随着科学技术的高速发展,温度控制技术得到了很大的进步,其应用的领域也不断的扩大。本文将使用8051型单片机对温度控制的基本原理实例化,设计一个带有多功能的、能够减小时滞效应的温度采集控制系统。目的是利用毕业设计的这段时间学习一种利用8051型单片机进行温度采集控制的方法。1.2立题的目的和意义8051型单片机是常用的控制芯片,在智能仪器仪、工业检测控制、机电一体化等方面取得了令人瞩目的成果,用其作为温度采集控制系统的实例也很多。使用8051单片机能够实现温度全程的自动控制,而且8051单片机易于学习、掌握,性能价格比高。使用8051型单片机设计温度采集控制系统,可以即时、精确的反映温度变化。完成诸如升温到特定温度、降温到特定温度、在温度点保持恒温等多种控制方式,可以应用到空调、锅炉、电热器一类的设备上。1.3温度控制系统的预期功能和基本原理多功能温度控制系统的设计初衷是满足实际生产中温度控制的需要。为此本系统针对实际应用开发了两种温度控制的模式。第一种控制模式类似于空调,锅炉等需要保持在一定区间内恒温的设备,他们都需要有加温或降温功能,有的当温度超过一定上限时会报警。本系统中把这种工作模式命名为control模式,简写为c模式。系统工作在这种模式下时,首先系统会提示用户输入温度的上限与下限的温度值。然后根据实际温度的情况决定采取那些方案。如下图131所示: 图131 第一种控制模式示意图该时刻的实际温度低于用户设定的下限温度,所以此时刻系统正处于升温状态,直到实际温度到达上限温度值,系统才停止升温。反之,如果实际温度高于用户设定的下限值时,系统处于降温状态。当实际温度超过用户设定的上、下限温度时,系统还会通过声音、警报灯来报警,同时启动相应的降升温措施。第二种模式在日常生产中是十分普遍的,例如铸造模具、热时效处理等都需要完成“升温恒温降温”反复的过程。本系统模拟了热时效的处理过程,采用“升温恒温升温恒温降温恒温降温”的梯形曲线过程,如下图132所示的: 图132图131 第二种控制模式示意图这种模式对温度控制的要求比较高,技术指标也很多,例如必须保持采样时间有单位并且均匀、升温降温的过程要稳定、迅速等。常用的温度控制算法都采用pid算法。本设计从成本、设计复杂度、实用性及开发时间诸多因素的考虑采用了ddc算法,主要体现在升降温过程中。系统为典型的反馈式温度控制系统,组成部分见图133。其中数字控制器的功能由8051单片机实现。 图133温度控制系统组成框图1.4本系统主要研究内容本系统所要完成的任务是:(1)能够实时、准确的采样温度值。(2)能够以ddc控制方式,进行升温、降温过程。(3)完成温度梯形曲线的变化过程。(4)更加人性化的设计。上、下界限温度能够用户输入并显示,声音、警报灯的报警功能等。2.多功温度控制系统总体分析与设计2.1 温度控制系统的组成和工作原理多功能温度控制系统能是以8051单片机作为核心,周边设备使用ds18b20型单线智能温度传感器、液晶显示芯片74hc00、继电器及其驱动电路、红、蓝色发光二极管、蜂鸣器、电加热器、直流电机风扇等。经ds18b20采集到的数字量与用户设定的温度值进行比较,即可得到现场温度和设定温度的偏差。用户设定值由键盘输入。由8051单片机构成的数字控制器按最小拍进行运算,计算出所需要的控制量。数字控制器的输出经标度变换后送给8051内部定时计数器转变为高低电平的不同持续时间,送至继电器及其驱动电路,触发晶闸管并改变其导通角大小,从而控制电加热器的加热电压,起到控温的作用。系统基本硬件结构框图如图211所示。其功能和原理如下:(1)8051:负责中心运算和控制,协调系统各个模块的工作。(2)温度温度传感器ds18b20:负责温度与数字量的转化。其精度可精确到小数点后四位。(3)功率模块:采用随机型固态继电器控制加热设备的方式。随机型固态继电器采用低电压输入方式,一般为dc310v,用可控硅做输出器件。这样控制部分与大功率部分实现隔离,可抑制干扰。 图211系统基本硬件结构框图(4)人机交互模块:用4x1键盘和液晶显示器构成友善的人机交互界面。(5)抗干扰模块:使用看门狗芯片x25045,其看门狗功能将对系统起到有效的监视作用,内含512b串行e2prom,具有掉电非易失特性,在本系统中做数据备份用。(6)红、蓝色led,蜂鸣器:负责系统的报警功能。当温度超过用户设定的上、下限值时系统将报警。led灯在单片机的控制下点亮,同时蜂鸣器发出报警声,通知用户采取相应的措施。2.2 温度采集转换系统在设计此类系统时,传统的方法是通过热敏电阻或模拟集成温度传感器采集温度的模拟量,再用a/d器将转换后的数字量送给单片机,这些方案的主要缺点是精度差,(例如典型的模拟集成温度传感器ad590的精度仅为0.5)并且因为采用了a/d转换器使电路过于复杂。基于简化电路,提高性价比的考虑,本设计采用集成化智能型温度传感器ds18b20完成现场温度的采集。系统电路图如图221所示 图221温度转换采集系统电路图ds18b20是美国dallas公司生产单线智能温度传感器,其采用dallas公司独特的“单线(1wire)总线”专有技术,通过串行通信接口(i/o)直接输出被测温度值(912位二进制数据,含符号位)。其工作在在12位模式下时,所对应的温度分辨力高达0.0625。温度/数字转换时间的典型值为93.75ms。根据定义,单线总线只有一根线,这意味着总线上每个器件只能分时驱动单线总线,并要求每个器件必须有漏极开路输出或三态输出的特性。 ds18b20的单线接口i/o就属于漏极开路输出。在单线总线上必须接上拉电阻,其电阻值约为5k(标称值可取5.1 k或4.7 k)。当单线总线上挂有多个从属器件时,也称之为多点总线。单线总线杂空闲状态下呈高电平。操作单线总线时,必须从空闲状态开始。单线总线加低电平的转换时间超过480us时,总线上所有的器件均被复位。在主cpu发出复位脉冲后,从属器件就发出应答脉冲(presence pulse),来通知主cpu它已经作好了接收数据和命令的准备工作。ds18b20与微处理器的电路接法如图222所示:寄生电源接法外部电源接法 图222 ds18b20与微处理器连接图而传统温度采集转换系统则通过温度传感器集成芯片将温度变化量转换成电流值变化量,输入放大电路转换为电流变化量,再输入adc0809将模拟信号转换为数字信号。利用单片机采集并存储采集到的数据。系统电路图如下图223所示。 图223传统温度采集转换系统电路图2.3 升降温控制系统本系统使用ddc控制技术。ddc控制是当现场温度在用户设定的上、下限温度范围内时,加热器或降温器的工作随着温度接近临界值而相应调整的一种控制方式,通常所说的ddc段一般定为5,当温度变化超出这个范围时,加热器或降温器被控制为ddc控制,一般有下面二种控制方式:时间ddc型、电流ddc型,ddc控制能消除开关型控制产生的锯齿波形,减少对电网的冲击,如图231的ddc控制一般不用在负载变化范围较大而控制精度又较高的场合。 图231 ddc控制下的现场温度曲线此系统由继电器及其驱动电路,直流电机风扇,散热片及电加热器组成,完成温度的升降。利用继电器及其驱动电路,直流电机风扇相组合可实现风扇的转速控制,驱动电路实际上是一个复杂的放大电路,如图232所示: 图232继电器及其驱动电路电路图连接到直流电机风扇后,转动方向是由电压来控制的,电压为正则正转,电压为负则反转。转速大小则是由输出脉冲的占空比来决定的,正向占空比越大则转速越快,反向转则占空比越小转速越快。见下面图233: 图233直流电机风扇控制脉冲图在程序设计中用p1.4控制送出脉冲。p1.4为“1”时,输出12v;p1.4为“0”时,输出0v。用输出脉冲后的延时时间来决定输出电压值,具体的情况将在第三章中说明。2.4键盘显示系统本系统的用户界面利用人机工程学原理,运用系统科学理论和系统科学方法进行设计,使其能够适合操作者的应用需求。lcd的应用使操作者能够用容易理解的方式显示控制系统的当前状态和操作者关心的信息,例如当前时间、当前温度、上限温度、下限温度。系统给操作者提供容易理解和充分的信息提示,以方便操作者的正确使用。同时,还考虑了用户操作界面有较好的容错能力,提高了系统的整体综合能力。系统的连接图如图241所示。 图241键盘显示系统电路图本设计由74hc00芯片控制的4键键盘和液晶显示器组成,以实现用户的输入与数据输出。第一个键的作用是配合第三个键(加1)和第四个键(减1)对进行时间设定,第二个键的作用是配合第三个键(加1)和第四个键(减1)对上、下限温度进行设定。2.5报警系统报警系统由声报警和光报警组成。声报警通过p1.6接控制爱迪克系统的音效模块发声,用单片机控制p1.6产生一定频率的方波就可以实现音效模块的发声。音效模块是一个带有扬声器的放大电路。其电路图如图251所示。 图251报警系统(声报警)电路图光报警由1个红色发光二极管和1个蓝色发光二极管组成,一共需要2根数据线,使用单片机直接控制。要实现的功能是在第一种工作模式下时,当现场温度高于用户设定的上限温度时,红色发光二极管点亮;当现场温度低于用户设定的下限温度时,蓝色发光二极管点亮。在第二种工作模式下,保持恒久熄灭状态。其电路图如图252所示。 图252报警系统(光报警)电路图2.6电源系统电源的滤波、保护电路对电源有重要的意义,系统能否安全使用,很大程度上取决于电源的稳定和保护。本设计使用4个二极管构成的桥式整流电路为其整流电路,如图261所示。滤波电路选用电容滤波,稳压选用三稳压块7805和7812,此电路简单适用。继电器和直流电机风扇用到12v电源,单片机等使用+5v电源。本电源系统由u1(7805)、u2(7812)和发光二极管led及相关阻容元件构成,其中u1输出稳定的5v电压,u1输出稳定的12v电压。发光二极管在这里作为电源指示,r3为led的限流电阻。c8,c9,c10,c11为电源滤波电容。 图261电源系统电路图2.7 硬件电路设计2.7.1 系统硬件配置采用总线型结构的设计。由p0口作数据线,p0口和p2口共同作地址线。2.7.2 主要元件简介8051单片机8051是intel公司于80年代初推出的8位嵌入式微控制器(内部数据总线为8位,外部数据总线为8位),它与mcs96系统中的其它芯片相比,具有性能高、功能全、售价低廉、使用方便(48pindip)等优点。8051在工业应用方面有许多明显的特点,它具有灵活方便的8位总线外围支援器扩展功能,而在数据处理方面又有8位微机的快速功能。由于大的高度集成化已把许多常驻用的输入检测输出控制通道都制作在同一块硅片上,大大地灵活了外部连线,增强了系统的稳定性并且速度快(时钟12mhz),非常适合于工业环境下安装使用。因此本系统cpu选用8051芯片。8051单片机引脚采用40双列直插式封装结构。其引脚图如图271所示。8051cpu中的主要元件有:高速寄存器阵列、特殊功能寄存器(sfr)、寄存器控制器和算术逻辑单元(ralu)。它与外部通讯是通过特殊功能寄存器sfr或存储器控制器进行的。8051cpu的主要特色是体积小,重量轻,抗干扰能力强,售价低,使用方便。此外,通过sfr还可以直接控制i/o、a/d、pwm、串行口等部件的有效运行。cpu内部的一个控制单元和两条总线寄存器阵列和ealu连接起来。这两条总线是:16位地址总线(a-bus)和8位数据总线(d-bus)。数据总线仅在ralu与寄存器阵列或sfr之间传送数据,地址总线用作上述数据传送的地址总线或用作与寄存器控制器连接的多路复用地址/数据总线。cpu对片内ram访问是直接访问和通过寄存器r0,r1间接访问的。8051工作时所需的时钟可通过其xtall输入引脚由外部输入,也可采用芯片内部的振荡器。8051的工作频率为612mhz。在本系统中采用11.0592mhz频率。图271 8051单片机引脚图8051每次上电时必须复位。所谓复位,就是让单片机应用系统在正式工作之前处于一种特定状态,即正式工作前的起点,这个任务就是由复位电路来完成。8051单片机在引脚reset/vpp出现高电平时实现复位和初始化。reset由高电平变低电平后,单片机从0000h地址开始执行程序,其初始复位不影响内部ram的状态,包括工作寄存器r7r0。在正常运行的情况下,要实现复位操作,必须使reset引脚至少保持两个机器周期的高电平。cpu在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至reset端电平变低。复位期间不产生ale及psen信号。8051的内部结构框图如图272所示。 图272 8051单片机内部结构框图2. 1602液晶显示器液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。本设计使用的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,容量为1行2行16个字。 1602采用标准的16脚接口,其中vss为地电源,vdd接5v正电源,v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,可通过一10k的电位器调整对比度。rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。rw为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和rw共同为低电平时可以写入指令或者显示地址,当rs为低电平rw为高电平时可以读忙信号,当rs为高电平rw为低电平时可以写入数据。e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。d0d7为8位双向数据线。1602液晶模块内部的字符发生存储器(cgrom)存储了160个点阵字符图形,如图2-7-1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“a”的代码是01000001b(41h),显示时模块把地址41h中的点阵字符图形显示出来,我们就能看到字母“a”。1602液晶模块内部的控制器共有11条控制指令,如表271所示: 表271 1602液晶模块指令表指令s/w76543210清显示0000000001光标返回000000001*置输入模式00000001/ds显示开/关控制0000001dcb光标或字符移位000001/c/l*置功能00001lnf*置字符发生存储器地址0001字符发生存储器地址(acg)置数据存储器地址001显示数据存储器地址(add)读忙标志或地址01f计数器地址(ac)写数到cgram或ddrram10要写的数据从cgram或ddrram11读出的数据1602液晶模块的读写操作、屏幕和光标的操作都可以通过指令编程来实现。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01h,光标复位到地址00h位置 指令2:光标复位,光标返回到地址00h 指令3:光标和显示模式设置 i/d:光标移动方向,高电平右移,低电平左移 s:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 d:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 c:控制光标的开与关,高电平表示有光标,低电平表示无光标 b:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 s/c:高电平时移动显示的文字,低电平时移动光标 指令6:功能设置命令 dl:高电平时为4位总线,低电平时为8位总线 n:低电平时为单行显示,高电平时双行显示 f: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 指令7:字符发生器ram地址设置 指令8:ddram地址设置 指令9:读忙信号和光标地址 bf:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据 指令11:读数据1602液晶显示模块可以和单片机8051直接连接,电路如图273所示。图2731602液晶模块与8051单片机连接图液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。1602的内部显示地址。 表272 1602液晶模块内部显示地址图1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16100 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f240 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f比如第二行第一个字符的地址是40h,那么是否直接写入40h就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位d7恒定为高电平1所以实际写入的数据应该是01000000b(40h)+10000000b(80h)=11000000b(c0h) 以下是在液晶模块的第二行第一个字符的位置显示字母“a”的程序:rs equ p3.0rw equ p3.1e equ p3.5org 0000hmov p1,#00000001b ;清屏acall enablemov p1,#00111000b ;8位2行5x7点阵acall enablemov p1,#00001111b ;显示器开、光标开、闪烁开acall enablemov p1,#00000110b ;文字不动,光标自动右移acall enablemov p1,#0c0h ;写入显示起始地址(第二行第一个位置)acall enablemov p1,01000001b ;字母a的代码setb rs ;rs=1clr rw ;rw=0clr e ;e=0acall delaysetb e ;e=1ajmp $enable: clr rs ;写入控制命令的子程序clr rwclr eacall delaysetb eretdelay: mov p1,#0ffh ;判断液晶显示器是否忙的子程序clr rssetb rwclr enopsetb ejb p1.7,delay ;如果p1.7为高电平表示忙就循环等待ret 程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序delay,然后输入显示位置的地址0o0h,最后输入要显示的字符a的代码41h。3. ds18b20数字温度传感器 ds18b20数字温度计是dallas公司生产的1wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。一、ds18b20的性能特点(1)ds18b20采用dallas公司独特的“单线(1-wire)总线”专有技术,通过串行通信接口(i/o)直接输出被测温度值(9位二进制数,含符号位)。(2)测温范围是55+125。其分辩力为0.5,但若采用高分辨力模式,分辩力可达0.1。温度/数字量转换时间的典型值为200ms,最大值为500 ms。(3)内含64位经过激光修正的只读存储器rom,扣除8位产品系列号和8位循环冗余校验码crc之后,产品序号占48位。出厂前就作为ds18b20唯一的产品序号,存入其rom中,在构成大型温控系统时,允许在单线总线上挂接多片ds18b20。(4)适配各种单片机或系统机。(5)用户可分别设定各路温度的上、下限并写入随机存储器ram中。利用报警搜索命令和寻址功能,可迅速识别出发生了温度越限报警的器件。(6)内含寄生电源。该器件既可以由单线总线供电,也可选用外部+5v电源(允许电压范围是3.45.5v),进行温度/数字转换时的工作电流约为1.5 ma,待机电流仅为25ua,典型功耗为5mw。二、ds18b20的引脚介绍pr35封装的ds18b20的引脚排列图274,其引脚功能描述见表2-7-1。 图274 ds18b20的引脚排列图ds18b20详细引脚功能描述序号名称引脚功能描述1gnd地信号2dq数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3vdd可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。 表273 ds18b20引脚功能描述图三、ds1820的工作原理 ds1820的内部结构如图275所示。由图275可知,ds1820由三个主要数字器件组成: 64bit闪速rom;温度传感器;非易失性温度报警触发器th和tl。64bit闪速rom的结构如图276所示图275 ds1820内部结构图 图276 ds1820内部的64bit闪速rom结构图它既可寄生供电也可由外部电源供电。在寄生供电情况下,当总线为高电平时,ds1820从总线上获得能量并储存在内部电容上当总线为低电平时,由电容向ds1820供电。ds1820的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。计数器设置为-55时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度表示值为9bit,高位为符号位,其结构如下: 对ds1820的使用,多采用单片机实现数据采集。处理时,将ds1820信号线与单片机一位口线相连,单片机可挂接多片ds1820,从而实现多点温度检测系统。系统对ds1820的操作以rom命令和存储器命令形式出现。 (1)rom命令代码及其含义 readrom命令代码33h:如果只有一片ds1820,可用此命令读出其序列号,若在线ds1820多于一个,将发生冲突。 matchrom命令代码55h:多个ds1820在线时,可用此命令匹配一个给定序列号的ds1820,此后的命令就针对该ds1820。 skiprom命令代码cch:此命令执行后的存储器操作将针对在线的所有ds1820。searchrdh命令代码f0h:用以读出在线的ds1820的序列号。alarmsearch命令代码ech:当温度值高于th或低于tl中的数值时,此命令可以读出报警的ds1820。 (2)存储器操作命令代码及其含义 writescratchpad命令代码4eh:写两个字节的数据到温度寄存器。 readscratchpad命令代码beh:读取温度寄存器的温度值。 copyscratchpad命令代码48h:将温度寄存器的数值拷贝到eeram中,保证温度值不丢失。 convert命令代码44h:启动在线ds1280做温度a/d转换。 recall ee命令代码b8h:将eeram中的数值拷贝到温度寄存器中。 readpowersupply命令代码b4h:在本命令送到ds1280之后的每一个读数据间隙,指出电源模式:“0”为寄生电源;“1”为外部电源四、ds18b20的使用方法由于ds18b20采用的是1wire总线协议方式,即在一根数据线实现数据的双向传输,而对at89s51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对ds18b20芯片的访问。由于ds18b20是在一根i/o线上读写数据,因此,对读写的数据位有着严格的时序要求。ds18b20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。ds18b20的复位时序 ds18b20的读时序对于ds18b20的读时序分为读0时序和读1时序两个过程。对于ds18b20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让ds18b20把数据传输到单总线上。ds18b20在完成一个读时序过程,至少需要60us才能完成。ds18b20的写时序对于ds18b20的写时序仍然分为写0时序和写1时序两个过程。对于ds18b20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证ds18b20能够在15us到45us之间能够正确地采样io总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。x25045看门狗芯片在微机智能测控系统的设计中,断电数据保存功能、看门狗功能、上电掉电复位功能、电源电压监控功能等对系 统是非常重要的。美国xicro公司生产的x25045芯片集上述功能于一身,这种组合大大简化了硬件设计,提高了系统的 可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗。 x25045芯片的引脚排列如图277所示。图277看门狗芯片x25045引脚图cs(脚)为片选输入端,cs电平变化将复位看门狗定时器。 so(脚)为串行输出端,数据由此脚输出,串行时钟sck(脚)的下降沿同步输出数据。 wp(脚)为写保护输入端,当wp为低电平时,x25045的非易失性写操作被禁止,其它功能正常,wp为高电平时所有功能正常。 si(脚)为串行输入端,所有写入的数据、操作码、字节地址在此脚上输入,数据由串行时钟的上升沿锁存。 reset(脚)为复位输出端,高电平有效,漏极开路输出方式。用于电源检测和看门狗定时器。 vss(脚)为接地端。 vcc(脚)为电源正端,x25045芯片的电源电压有两种规格,一种是45v至55v,另一种是27v至55v。 x25045芯片有4k位串行e2prom;可编程的看门狗定时器;低电压vcc检测;直至vcc1v复位输出有效;spi接口方式;低功耗,待机电流为10a,工作电流为3ma,工作电压为27v至5v;具有块锁定保护功能,可以保护14,12,或所有e2prom阵列;片内异常事件写保护:上电、掉电保护电路,写锁存,写保护引脚;1mhz时钟频率;可擦写次数为 100000次,数据保存期为100年;esd静电放电保护;有8引脚dip和soic或14引脚tssop封装三种形式;高电平复位信号 输出。 x25045共有6条指令,如表274所示。所有指令都以msb(最高有效位)2在前方式传送。读写指令中3位的a8是高位地址,此位用于选择器件的上半部或下半部。表274 x25045指令表x25045内部的状态寄存器格式、 表275 x25045内部状态寄存器格式表d7d6d5d4d3d2d1d0xxwd1wd0bl1bl0wlewipwip位表示x25045是否忙于向e2prom写数据。该位是只读位,wip为0表示没有写操作在进行,可向e2prom写数据;wip为1时表示正在进行写操作,此时不能向e2prom写数据。 wel位表示写使能锁存器的状态。该位是只读位,由 wrdi指令复位,写使能锁存器被复位时向e2prom写操作被禁止。 wrsr指令可以对状态寄存器中非易失性位bl1、bl0、wd1、wd0进行设置。bl1和bl0位确定e2prom的块保护地址范围,被保护地址范围与这两位的关系如表276所示。 表276 bl1和bl0位与被保护地址范围关系表wd1和wd0位是看门狗定时器超时选择的设定位,超时选择如表277所示。 表277 wd1和wd0位与看门狗定时值关系表三软件系统设计3.1软件总体设计软件设计是为了满足系统功能的需要。其总体流程图如图311所示: 图311软件总体流程图本系统的软件设计采用了模块化设计方法,对每一个功能编写了一个或几个功能函数,下表311说明了功能所对应的函数。 表311本设计各项功能所对应的功能函数功能函数主函数void main(void)声音警报、提示音void sound(short)led灯报警void led(void)用户数据输入void in8051(short *p)延时void delay(int)ddc降温void cool(short)液晶显示void display(short,short)采样转换温度short ds18b20(void)设定系统工作模式,系统初始化short getmode(void)a模式下的温度控制void control(short,short)3.2系统初始化函数系统初始化函数主要完成系统的初始化和设定系统的工作状态。它的工作步骤是:(1)系统启动时,液晶显示器的时间显示为“000000”,当前温度显示为当前的环境温度值,用户设定的上、下限温度默认为30和10。表示系统已经正常启动,可以工作。(2)等待用户设定工作模式。用户可通过第一个键选择设定时间,然后配合使用第三个键(加1)和第四个键(减1)对进行时间设定;也可通过第二个键选择设定上、下限温度,然后配合第三个键(加1)和第四个键(减1)对上、下限温度进行设定。当设定的上、下限温度为同一值时进入第一种工作模式,当设定的上、下限温度为不同值时进入第二种工作模式。程序的流程图如下图321所示:图321系统初始化程序流程图3.3 控制函数控制函数是决定系统将要进行什么工作的。如温度高于上限时需要降温,低于下限时需要升温,温度过高时启动报警等等。在系统的1模式下专有一个控制函数,名为void control(short i,short j)。实际上主函数也算的上一个控制函数,其c模式的控制方式和control()函数类似,只不过比control()函数更加完善些。控制函数的流程采用分支结构设计,程序流程如图331所示。 图331控制程序流程图3.4键盘显示函数第一个键的作用是选择设定时间,可配合使用第三个键(加1)和第四个键(减1)对进行时间设定;第二个键的作用是选择设定上、下限温度,可配合第三个键(加1)和第四个键(减1)对上、下限温度进行设定。程序的流程图如下图341所示: 图341 按键处理子程序流程图3.5降温函数降温函数是实现温度控制比例控制方式的重要环节,体现了整个系统的先进性。函数名为void cool(short i),其中i为主函数中给定的参数,参数值等于实际温度与上限温度的差。当(实际温度上限温度)0时,cool()函数将启用控制直流电机风扇,根据差值的大小决定风扇的转速。根据2.3小节中说明的那样,驱动电路的输出电压和输入脉冲的占空比有关,可根据参数i的值来决定占空比。cool()函数使用脉冲信号在正方向的延时时间和在负方向的延时时间的比值来决定占空比。另外说明以下本系统使用的风扇占空比越小转速越快,也就是反转。如下程序:j=10000;/保持一个加到匀速的时间while(j0)/比值大,转速小p1_1=1;delay(21-3*i);/电压关系p1_1=0;delay(1);j-;占空比delay(21-3*i):delay(1)21-3i这个公式是经过反复实验得出的。首先这个公式满足参数i越大占空比越小,并且实际测量的电压区间也满足风扇电压的需要。i由1到7的参数占空比和电压的关系表 351占空比和电压关系表参数i电压(伏特)占空比15.122625.632236.111846.741457.541068.56679.922实际上在参数i为1、2时风扇的转速不理想,所以使用了3及其之后的参数值,当0i3时都使用3作为参数。变量j的作用是使风扇保持一个从静止加速到匀速的时间。因为决定占空比的延时时间微乎其微,运行一次不能使风扇启动,只能反映驱动电路的电压输出关系。3.6曲线算法此部分功能是为了满足图361中的曲线要求。从图中可以看出曲线共有“升温恒温升温恒温降温恒温降温”7个过程,如采用顺序结构代码的重复率将会很高,可以设计使用循环完成。 图361 温度控制曲线图可将7个过程分成图中的4段,每段都包括一个升温或降温过程和一个恒温过程。恒温过程使温度保持恒定,高于恒定温度启动降温设备,低于恒定温度启动升温设备,同时使用计时器计时,本系统恒温时间为60秒。编写一段4次的循环完成该功能,代码如下:for (i=0;i4;i+)/4个过程:温度变化+恒温.i case 0,1升.2,3降numstart; /开始计时if (i2)do 升温 while(温度界限i);if (i3) do 恒温 while(60秒以内);numend; /结束计时3.7采样为了满足曲线的技术指标,对系统的采样方式进行了改进。一般的温度控制程序采样是根据系统的速度采样或是延时采样,前者会使系统反复振荡。例如温度升高时由27度到28度,系统会由27度到28度来回振荡,从液晶显示器上根本看清显示的是什么。如果使用打印机将十分可怕,系统将始终打印而不做其它工作。虽然使用采样延时可以缓解这种情况,但延时的时间过长会影

温馨提示

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

评论

0/150

提交评论