1、空调机的温度控制系统设计摘要空调机的温度控制对于工业和日常生活等工程都具有广阔的应用前景。本文将传统控制理论与智能控制理论相结合应用于温度控制的实际工程中。首先,设计出系统的硬件构成,然后,从热力学的角度对温度对象的特性做了较深入的分析,从理论上推导出温度对象的常用的一阶带纯滞后的近似数学模型,并给出了数学模型中各参数的含义。在此基拙上,本文分析了现有空调机控制方法的利弊,并针对它们各自的优、缺点,对具有纯滞后特性的温度对象提出一种改进的模糊控制方法。该方法将模糊控制、PID控制结合起来。通过数字仿真表明该方法对空调机温度的控制具有超调小(可达到无超调)、调节时间短、鲁棒性好等优点。在此基拙上
2、,用阶跃信号做激励,辨识出系统的数学模型。本文的最后,通过对实物实验结果可以看出,本文所提出的改进的模糊控制算法对非线性、具纯滞后环节对象的控制是很有效的。温度控制系统的软件采用汇编语言编制,控制算法部分采用C与汇编混合编程。该软件基于Windows20000/xp平台,人机界面友好,易于用户操作。具有在线修改采样时间、控制算法、控制参数、图形显示及数据保存和打印功能。设计的空调机温度控制的精确性,使用方便,功能齐全。关键词:PWM控制 模型辨识 模糊控制 PID控制 AbstractThe thesis studies the Plant of temperature. Firstly,th
3、e systeml5 designed and realized. Then the characteristics of temperature of Plant are analyzed inall details from thermodynamics. The approximate mathematics model of temperature plant with one order and dead time is reduced and the meaning of every parameter of this model are expressed, Which is u
4、sed often and practically in the paper. In addition tot his, we identify the model of the system and the result demonstrated the method is effective for it.Secondly we analyzed advantages and disadvantages of present control method of temperature. One kind of improved Fuzz-Dahlin control method is p
5、resented for Temperature Plant with long dead time and non-linearity. The Dahlin control method, The fuzzy control method are combined in this improved method It is demon strated By digital simulation that the improved Fuzzy-Dahlin makes the extra-regulation more small(even zero), the regulation tim
6、e more short, and the robustness better for the temperature controlled Plant. It is demonstrated by physical experimentation that improved Fuzzy-Dahlin method presented in this Paper is effective for temperature plant with dead time and non-linearity.The control software is compiled with visualc+ an
7、d matlab .Its easy to use and friendly to the interface of person and machine on the basis of window2000/xpplatform.There are some functions as modify sample time or modify controllers parameters online, display and copy data of temperature curve, and so on. The control hardware is easy to use and i
8、ts functions are self contained.Keywords: Intelligent control, model identify, Dahlin control, Fuzzy control, PID control目录摘要IAbstract- 2 -目录- 3 -前言- 4 -1 MCS-51单片机简介- 8 -1.1芯片的引脚描述- 8 -1.2 MSC-51单片机中央处理器- 11 -2 温度控制系统的实现- 13 -2.1总体设计- 13 -2.2信号采样电路设计- 14 -2.2.1温度采样电路设计- 14 -2.2.2单片机最小系统的设计- 16 -2.3
9、 A/D转换电路设计- 18 -2.3.1 A/D转换的常用方法- 18 -2.3.2 A/D转换器的主要技术指标- 19 -2.3.3 ADC0809的主要特性和内部结构- 19 -2.3.4 ADC0809管脚功能及定义- 20 -2.3.5 ADC0809与8031的接口电路- 22 -2.4软件系统的初始化程序- 22 -2.5软件程序的主循环框架- 23 -2.6校准程序- 25 -3 控制算法的研究- 27 -3.1 PID算法的研究- 27 -3.2模糊控制系统设计- 27 -3.2.1模糊控制算法- 28 -3.2.2模糊控制的基本概念- 29 -3.2.3模糊控制过程- 30
10、 -总结- 35 -致谢- 36 -参考文献- 37 -前言 控制菌种生长环境的设施和设备由功能简单、单一的气候箱发展成现在控制复的人工气候室,这对于研究在人工模拟自然生态环境中生长因素对菌种生长的提供了必要的条件和能够继续深入研究的基础。目前,大多数菌种培养车间都采取通过控制水加热机组和水制冷机组进行温度的调节,这使得整个控制设备占于庞大,控制复杂,能耗大,投资高。部分气候室采用中央空调控制温度,但中央空调同样存在成本高低精度的问题,且存在不同气候室同时向主机提出两种不同运行式请求,导致系统失控的可能,因此,此种车间的控温方法也存在缺陷。所以,操作简单,控制精度高,系统性能好,投资低的新型菌
11、种培养车间正为人们所期待。本文提出了一种以普通壁挂式空调来调节人工气候室温度的新方法,加以合理智能算法可以有效地对温度进行高精度恒温控制,而且成本较低,操作方便。课题的研究目的:高精度温度控制就是实现温度的更加精确化,准确化。实现温度恒温化,更好的来满足菌种的生长温度。 当今空调机的温度控制是人们利用可控电路对空调机进行控制,来实现对温度的控制。它只能满足人们一般的需求,温控精度也不高,对更高的温度需求不能满足。例如菌种的培养车间,菌种的生长需要非常稳定的温度环境,对温度的要求非常高,这就需要对空调机的温度来实现高精度控制。培养菌种的培养车间需要较高的温度精度,它的温度控制一般是由空调机来实现
12、的,而现今空调机的控温精度不高,一般在23度左右,误差比较大。这就需要对我们控温系统进行改进。来实现空调机高精度的控制。菌种培养车间需要的误差一般在0.5度左右,这首先需要非常灵敏的装置对温度进行检测,防止因检测而带来的错误。这可以用电接水银温度计(WXG型)进行测量。将测量的信号通过高灵敏度的温度传感器送到微处理器中。从而用微处理器来实现对空调机的高精度温度控制。这样才能满足培菌车间的需要。本课题的研究意义: 要使菌种培育更好,就必须有一流的生长条件和环境。传统的菌种培养车间是育种试验必不可少的条件,它可以缩短试验周期,可以模拟各种气候条件而不受自然气候的制约和影响。但是温度控制的精度还是不
13、高,这就必须对空调机进行改进,实现对温度高精度控制。 本系统就是针对以上老系统存在的不足及实际要求设计开发的。只要设定运行曲线后,就可连续自动地运行,按照给定曲线同时调节温度,并保存实际运行的参数和设定参数。课题的特点及具体要求: 菌种培养车间是一个多变量相互祸合的复杂系统,温度具有纯滞后、大惯性特性。而且外界的气候的变化也会对室内的温度产生影响。所以按照常规的控制方法,要对温室对象建立精确数学模型几乎是不可能的,而且控制精度很难保证育种过程的要求。培养车间能够在任意时候模拟任意的气候条件,而且温度要能够严格按照给定曲线变化,要求具有保护功能。根据己有控制系统的运行经验和不足之处,改造其老系统
14、,要求实现的主要功能和技术指标如下:系统需采用两级计算机控制,上位机采用工控机,下位机采用自行开发的智能控制器。 系统的控制算法采用智能控制算法,温度的控制精度要求为0.2, 上位机应用程序是在Windows98环境下开发的应用程序,可以监控多台下位机,要求有参数设定计算、过程监控、数据存储和通信等功能。 下位机具有实时控制功能,在上位机出现故障的时候可以实施单独控制,并且可靠性要高。本文的主要工作 本文针对单片机对温度控制监测系统若干关键技术展开研究工作,主要集中在以下几个方面: 分析项目要求,介绍以低成本为核心指导思想的温度控制系统的总体方案设计,统的组成和工作原理,阐述多点校准技术和线型
15、插值技术在系统设计中的应用,以及些技术的应用对降低成本的作用。 系统的硬件设计,介绍主要硬件的选型及其主要特点,温度传感器Pt100采样以及信号放大处理,信号调理与A/D转换电路的设计,低压线性稳压器的电路设计,片机接口电路的设计以及电路的总体设计等。模块功能设计及实现,详细介绍在温度监控系统中应用到的各个模块的功能和应方法,涉及到各个模块的功能和工作原理,各个控制寄存器的设定,模块之间的关系协作方式等。包括基本始终模块的应用,E2ROM存储器x25043/45的应用,数码显示管的应用以及按键等的实现。 系统的总体设计和主要程序模块,程序设计采用汇编语言和C语言模式,并将低本高精度思想融入其中
16、,介绍的程序模块包括:系统初始化程序、主循环框架、准程序、LED数码显示程序并给出了程序的设计流程图和部分程序源代码。总结温度控制系统的设计,介绍了使用现状以及未来的改进和发展方向。1 MCS-51单片机简介1.1芯片的引脚描述HMOS制造工艺的MCS-51单片机都采用40引脚的直插封装(DIP方式),制造工艺为CHMOS的80C51/80C31芯片除采用DIP封装方式外,还采用方型封装工艺,引脚排列如图。其中方型封装的CHMOS芯片有44只引脚,但其中4只引脚(标有NC的引脚1、12、23、34)是不使用的。在以后的讨论中,除有特殊说明以外,所述内容皆适用于CHMOS芯片。 图1.1 MCS
17、-51的逻辑符号图如图,是。在单片机的40条引脚中有2条专用于主电源的引脚,2条外接晶体的引脚,4条控制或与其它电源复用的引脚,32条输入/输出(I/O)引脚。 下面按其引脚功能分为四部分叙述这40条引脚的功能。1、主电源引脚VCC和VSSVCC(40脚)接+5V电压;VSS(20脚)接地。2、外接晶体引脚XTAL1和XTAL2XTAL1(19脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。XTAL2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的
18、反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。3、控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPPRST/VPD(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10F的电容,以保证可靠地复位。VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(50.5V)内,VP
19、D就向内部RAM提供备用电源。ALE/PROG(30脚):当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。对于EPROM单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。PSEN(29脚):此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器
20、周期两次PSEN有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。PSEN同样可以驱动(吸收或输出)8个LS型的TTL输入。EA/VPP(引脚):当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对851/8751/80C51)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于常用的8031来说,无内部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。对于EPROM型的单片机(如8751),在EPROM编程期间,此引脚也用于施加2
21、1V的编程电源(VPP)。4、输入/输出(I/O)引脚P0、P1、P2、P3(共32根)P0口(39脚至32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。P1口(1脚至8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个LS型的TTL负载。对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。对EPROM编程和程序验证时,它接收低8位地址。P2口
22、(21脚至28脚):是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。P2可以驱动(吸收或输出电流)4个LS型的TTL负载。P3口(10脚至17脚):是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。P3能驱动(吸收或输出电流)4个LS型的TTL负载。作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。作为第二功能使用时,各引脚的定义如表所示。值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。 P3各口线的第二功能定义:P3.0
23、 10 RXD(串行输入口) P3.1 11 TXD(串行输出口) P3.2 12 INT0(外部中断0) P3.3 13 INT1(外部中断1) P3.4 14 T0(定时器0外部输入) P3.5 15 T1(定时器1外部输入) P3.6 16 WR(外部数据存储器写脉冲) P3.7 17 RD(外部数据存储器读脉冲) 综合上面的描述可知,I/O口线都不能当作用户I/O口线。除8051/8751外真正可完全为用户使用的I/O口线只有P1口,以及部分作为第一功能使用时的P3口。 单片机的引脚除了电源、复位、时钟接入,用户I/O口外,其余管脚是为实现系统扩展而设置的。这些引脚构成MCS-51单片
24、机片外三总线结构,即:地址总线(AB):地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供8位地址(A0至A7);P2口直接提供8位地址(A8至A15)。数据总线(DB):数据总线宽度为8位,由P0提供。控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。 1.2 MSC-51单片机中央处理器中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。中央处理器主要由运算部件和控制部件组成。下面我们把中央处理器功能模块和有关的控制信号线联系起来加以讨论,并涉及相关的硬件设备(如振荡电路和时钟电路)。
25、1、运算部件:它包括算术、逻辑部件ALU、布尔处理器、累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字寄存器PSW以及十进制调整电路等。运算部件的功能是实现数据的算术逻辑运算、位变址处理和数据传送操作。MCS-51单片机的ALU功能十分强,它不仅可对8位变量进行逻辑“与”、“或”、“异或”、循环、求补、清零等基本操作,还可以进行加、减、乘、除等基本运算。为了乘除运算的需要,设置了B寄存器。在执行乘法运算指令时,用来存放其中一个乘数和乘积的高8位数;在执行除法运算指令时,B中存入除数及余数。MCS-51单片机的ALU还具有一般微机ALU,如Z80、MCS-48所不具备的功能,即布尔处
26、理功能。单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在实现位操作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位操作的“累加器”。运算部件中的累加器ACC是一个8位的累加器(ACC也可简写为A)。从功能上看,它与一般微机的累加器相比没有什么特别之处,但需要说明的是ACC的进位标志Cy就是布尔处理器进行位操作的一个累加器。MCS-51单片机的程序状态PSW,是一个8位寄存器,它包含了程序的状态信息。2、控制部件控制部件是单片机的神经中枢,它包括时钟
27、电路、复位电路、指令寄存器、译码以及信息传送控制部件。它以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来控制单片机各部分的运行。其中有一些控制信号线能简化应用系统外围控制逻辑,如控制地址锁存的地址锁存信号ALE,控制片外程序存储器运行的片内外存储器选择信号EA,以及片外取指信号PSEN。2 温度控制系统的实现2.1总体设计总的设计思想是通过温、湿度器及执行机构,完成温、湿度自动调节及声光报警等功能,总体设计框图如图传感器将温度、湿度值转换为电量输出,由A/D转换器对模拟信号进行数字化,被数字化的信号经过单片机处理后,送显示 . 图2.1总
28、体设计框图本系统完成以下功能:可对温、湿度进行多点自动检测、显示、报警和调控。当温、湿度超过上、下限设定值时,可自动发出声光报警,并进行温、湿度调节控制,直到报警消除,报警的上下限值可通过键盘随时设定。为实现以上功能需安排以下五个部分组成整个控制系统如图2.1所示。系统的硬件组成:(1)信号采样电路(2)单片机基本系统(8031)(3)A/D转换电路(4)键盘和显示电路(5)执行电路2.2信号采样电路设计采样电路在整个控制装置中占据着十分重要的地位,采样值是8031主要处理的数据,是实施控制的依据,所以保证采样电路的准确是进行良好控制的基础。2.2.1温度采样电路设计(1)温度传感器的选择温度
29、传感器的种类很多,根据温室使用条件,选择恰当的传感器类型才能保证测量的准确可靠,并同时达到增加使用寿命和降低成本的目的。根据温室温度控制的特点,本系统中温度传感器选用AD590集成温度传感器。集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流工的关系实现对温度的检测: VBE = InI (2-1)式中,K一波尔兹常数;q一电子电荷绝对值。集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0时输出为0,
30、温度25时输出2.982V。电流输出型的灵敏度一般为1A/K。AD590是美国模拟器件公司利用PN结正向电流与温度的关系制成的电流输出型两端温度传感器。这种器件在被测温度一定时,相当于一个恒流源。该器件具有良好的线性和互换性,测量精度高,并具有消除电源波动的特性。它的主要特性参数如下:1.流过器件的电流(A)等于器件所处环境的热力学温度(开尔文)度数,即: =1A/K (2-2) 式中:Ir流过器件(AD590)的电流,单位为A。 T热力学温度,单位为K。2. AD590的测温范围为55150。3. AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流Ir变化1A,相当于温
31、度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。4.输出电阻为710M。5.精度高:AD590共有I、J、K、L、M五档,其中M档精度最高,在55150范围内,非线性误差为0.3。6.灵敏度:1A/K。1.2温度检测电路的设计在设计测温电路时,首先应将电流转换成电压。因为流过AD590的电流与热力学温度成正比,当电阻R1和电位器RP1的电阻之和为l Ok时,输出电压VO的变化为lOmV/K。但由于AD590的增益有偏差,电阻也有误差,因此应对电路进行调整。为了使此电阻精确(0.1%),可用一个9.6k的电阻与一个1k电位器串联,然后通过调节电位器来获得精
32、确的10k的电阻。温度检测电路如图2.2所示,其中运算放大器Al被接成电压跟随器形式,以增加信号的输入阻抗。而运放A2的作用是把绝对温标转换成摄氏温标,给A2的同相输入端输入一个恒定的电压,然后将此电压放大到2.732V。这样,Al与A2输出端之间的电压即为转换成的摄氏温标。 图2.2温度检测电路将AD590放入0的冰水混合溶液中,A1同相输入端的电压应为2.732V,同样使A2的输出电压也为2.732V,因此A1与A2两输出端之间的电压为OV即对应于0。AD590温度与电流的关系如表2.1所示。表2.1 AD590温度与电流的关系摄氏温度 AD590电流 经10K电压 0 273.2A 2.
33、732V 10 283.2A 2.832V 20 293.2A 2.932V 30 303.2A 3.032V 40 313.2A 3.132V 50 323.2A 3.232V 60 333.2A 3.332V 100 373.2A 3.732V2.2.2单片机最小系统的设计(1)单片机复位电路的设计复位电路是单片机应用中重要的一环,它对单片机抗干扰有重要作用。在振荡运行的情况下,要实现复位操作,必须使RST引脚至少保持两个机器周期的高电平。复位期间不产生ALE及PSEN信号。复位后,各内部寄存器状态如表2.2所示。8031单片机的复位电路如图2.3所示。 表2.2各内部寄存器状态寄存器 内
34、容 寄存器 内容 PC 0000H TMOP 00H AAC 00H TCON 00H B 00H TH 00H PSW 00H TH 00H SP 07H TL 00H DPTR 0000H TL 00H P0-P3 0FFH SCON 00H IP xxx00000 SBUF 不定 IE 0xx00000 PCON 0xxxxxxx 图2.3复位电路(2)单片机时钟电路的设计单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中8031单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz12MHz之间。电容值无严格要求,但电
35、容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF-100pF之间取值。8031单片机的时钟电路如图2.4所示。 图2.4时钟电路(3) 8031单片机最小系统 一个最小8031单片机系统有CPU (8031), 8位3态D锁存器74LS373,ROM或RAM,时钟电路和复位电路等基本电路组成。2.3 A/D转换电路设计 由信号处理电路输出的信号为模拟信号,而单片机只能处理数字量,所以必须首先将模拟量经过一定电路转换为数字信号,单片机才能处理,这种电路被称为A/D转换电路,是模拟系统与计算机之间的接口部件。2.3.1 A/D转换的常用方法A/D转换的常用方法有:双
36、积分式A/D转换、逐次逼近型A/D转换、计数型A/D转换等。双积分式A/D转换的工作原理是将对输入电压的测量,转换成对基准源积分时间的测量,再测量时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。这种方法的主要优点是分辩率高、精度高、抗干扰性好;主要缺点是转换速度慢。逐次逼近型A/D由一个比较器和D/A转换器通过逐次比较逻辑构成,顺序地增加内部D/A的输入值,并将其输出电压与A/D测量输入电压比较,当二者相等时,内部D/A的输入值就是A/D转换的结果。这种方法的主要优点是速度快、功耗低;主要缺点是抗干扰性差。2.3.2 A/D转换器的主要技术指标A/D转换器的主要技术指标
37、有:分辨率、精度、量程、转换时间等。分辨率(Resolution)分辨率反映转换器所能分辨的被测量的最小值。通常用输出二进制代码的位数来表示。8位A/D转换器的分辨率为8位。精度(Precision)精度指的是转换的结果相对于实际的偏差,精度有两种表示方法:绝对精度和相对精度。绝对精度用最低位(LSB)的倍数来表示,如:1LSB;相对精度用绝对精度除以满量程值的百分数来表示,如:0.05%。同样分辨率的转换器其精度可能不同。量程(满刻度范围一 Full Scale Range)量程是指输入模拟电压的变化范围。如:某转换器具有lOV的单极性范围或5+5V的双极性范围,它们的量程都为10V。实际的
38、A/D, D/A转换器的最大输入/输出值总是比满刻度值小。转换时间(Conversion Time)A/D转换器的转换时间是指:从启动转换开始,直至取得稳定的数字量或模拟量所需的时间称为转换时间。转换时间与转换器原理及其位数有关。同种工作原理的转换器,通常位数越多,转换时间越长。2.3.3 ADC0809的主要特性和内部结构本系统采用ADC0809大规模集成电路芯片,它是逐次逼近式A/D转换器,输出的数字信号有三态缓冲器,可以和单片机直接接口。ADC0809的主要技术指标为:分辨率:8位;单电源供电:+5V;最大不可调误差小于1LSB;转换时间为l00s(时钟频率为640KHz);模拟输入范围
39、:单极性05V;不必进行零点和满刻度调整;功耗为15Mw;ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个8位A/D转换器和一个三态输出锁存器组成。其内部结构框图如图2.5所示。图2.5 ADC0809转换器的内部机构框图2.3.4 ADC0809管脚功能及定义ADC0809模数转换器的管脚定义如图2.6所示图2.6 ADC0809管脚结构图IN0IN7:8通道模拟量输入。ADDA、ADDS、ADDC: A、B、C为地址输入线,用于选通工IN0IN7上的一路模拟量输入。通道选择表如表2-3所示。ALE:地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A、B、
40、C三条地址线的地址信号进行锁存,经译码后被选中通道的模拟量进转换器进行转换。D0-D7: 8位输出数据线(三态),A/D转换结果由这8根线传送给单片机。OE:允许输出信号。当OE=1时,输出转换得到的数据;当OE=0时,输出数据线呈高阻状态。START:转换启动信号。START为正脉冲,其上跳沿所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。EOC:转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。CLK:时钟输入信号。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,频率范围为10KHz1.2MHz,典型值为64
41、0KHz。 表2.3通道的选择表 C B A选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN72.3.5 ADC0809与8031的接口电路ADC0809有8个通道的模拟量输入,在程序控制下,可令任意通道进行A/D转换并可得到相应的8位二进制数字量。2.4软件系统的初始化程序系统初始化程序是为了在进入主程序循环之前,做好必要的准备工作,包括如下内容: 1.停止X25043内部的看门狗。 2.设定X25043内部WDT为定时器模式,定时为0.25秒,并允许内部WDT中断。 3.
42、设定UO端口状态,全部设定为输入状态,降低功耗。 4.初始化E2PROM,设定位于E2PROM内的看门狗定时为1.4s。 5.从护E2PROM读入校准数据,将校准数据写到内存。 6.启动位于E2PROM内的看门狗。 7.将E2PROM的片选端CS置为1,使E2PROM进入待机模式,以降低功耗。 8.设定校准按键为中断允许状态。 9.总中断允许设为1。 10.示模块开始。 11.PID参数初始化。 12.PWM参数初始化。2.5软件程序的主循环框架程序的主循环框架如图2.7,在系统进行一系列的准备工作即初始化之后,程序就主循环,主循环的工作是进行采样时间控制、控制测量过程、LED显示循环、按键并
43、且处理、数据查表处理、线性插值、数据显示,然后周而复始地进行主循环程序。在主程序循环的过程中随时响应按键中断,进入校准程序。 图2.7主程序逻辑图主程序:ORG OOOOH AJMP MAIN ORG 0100H AD0 EQU 7FF8H PORT EQU 4100H PORTA EQU 4101H PORTB EQU 4102H PORTC EQU 4103H MAIN:MOV SP,#60H 设置堆栈 MOV DPTR, #PORT; 8155初始化 MOV A, #03H; 8155A口、B口为输出,C口为 MOVXDPTR, A; 输入方式 MOV 50H, #19H; 温度设定值存于50H单元,设定值为25 MOV R0,#30H; 显示缓冲区30H到37H清0 MOV A, #