1、 目 录摘 要1前 言21方案设计211方案22温度控制系统的总体概况32.1温度控制系统的总体结构322系统硬件选择和设计423系统扩展接口的选择424温度传感器与AD转换器的选择425显示接口芯片43系统主要元件功能与原理介绍431 8086微处理器及其体系结构532 8086微处理器的一般性能特点533 8086CPU的编程结构54模块功能.64.1 温度测量部分74.2 温度控制部分74. 3 ADC0809与8255的连接85系统工作原理及软件设计951温度测量显示部分95.2系统软件设计95.3系统流程图96系统调试117结论11参考文献12 基于8086微处理器的温度测控系统设计
2、摘要采用8086微处理器,并用温度传感器AD590采集温度数据,用CPU控制温度值稳定在预设温度。当温度低于预设温度值时系统启动电加热器,当这个温度高于预设温度值时断开电加热器。系统操作简便、自动化程度高、扩展方便且具有良好的人机交互的能力。该系统通过实验,取得了较为满意的控制效果。可应用在一些精度要求不太高的系统中。关键词:8086微处理器 温度传感器 A/D转换器 温度控制系统前 言近年来,温度控制系统不仅在工业设计、工程建设中应用广泛,而且在人们的日常生活中也常常需要用到温度控制。大到大型钢铁厂、化工厂等,小到酒店、温室、家电等。温度监控的应用随处可见,随着人们生活质量的提高及温度控制技
3、术的成熟,温度控制将更好的服务于社会。随着电子技术的发展,特别是大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么微型计算机控制技术的出现则是给现代工业控制测控领域带来了一次新的革命。目前,微处理器8086在工业控制系统诸多领域得到了广泛的应用,由于它具有极好的稳定性,更快和更准确的运算精度。温度控制系统在现代工业设计、工程建设及日常生活中的应用越来越广泛,早期的温度控制主要应用于工厂中,例如钢铁的水溶温度控制,不同等级的钢铁要通过不同温度的铁水来实现,这样就可能有效的利用温度控制来掌握所需要的产品了。 如今,微机测控系统的发展快,
4、应用也很广泛,它由于体积小、功能强、性能稳定、价格低廉等优点,使其在工业控制系统诸多领域得到了极为广泛的应用。在此基础上发展起来的智能仪器无论是在测量的准确度、灵敏度、可靠性、自动化程度、应用功能等方面或在解决测试技术问题的深度及广度方面都有了巨大的发展,以一种崭新的面貌展现在人们的面前。随着大规模集成电路及计算机技术的迅速发展智能仪器有了更大的发展。温度测试仪器的智能化已是现代仪器仪表发展的主流方向。1方案设计方案:设计一种可控制的温度加热系统,实现温度的上升或下降。其中,温度的传感和放大部分通过AD590温度传感器集成芯片和运算放大器来实现温度的上升或下降,通过给加热系统通断电来实现。当需
5、要加热时,8255的PC6输出高电平;当需要降温时,8255的PC6输出低电平,关闭加热系统,让加热器自然冷却而起到降温效果。加热或降温的控制信号通过8255的PA0读取拨动开关的状态来实现。系统流程图如图1-1所示:读开关状态开始N降温8255 PC6口=0PA0=1显示提示信息 Y采集A/D值求其平均值升温8255 PC6口=1 返回转换为BCD码并显示字符读开关状态Y有键按下否N返回DOC图 1-1分析和讨论:该方案达到了温度的上升或下降控制,但温度上升到多少或下降到多少都得由人来控制,为了让微机来自动控制,引入了方案二。 2.温度控制系统的总体概况2.1温度控制系统的总体结构 温度信息
6、由温度传感器测量并转换成微安级的电流信号,经过运算放大电路将温度传感器输出的小信号进行跟随放大,输入到A/D转换器(ADC0809)转换成数字信号输入主机。数据经过标度转换后,一方面通过数码管将温度显示出来;另一方面,将该温度值与设定的温度值进行比较,调整电加热炉的开通情况,从而控制温度。在断开电加热器,温度仍然异常,报警器发出声音报警,提示采取相应的调整措施。其温度控制系统的原理框图如图2-1所示。电压跟随器运算放大电路温度传感器AD转换器微处理器加热控制电路报警译码显示图 2-1 系统原理框图2.2系统扩展接口的选择 本次设计采用的是8086微处理器,选择8255A可编程并行接口作为系统的
7、扩展接口, 8255A的通用性强,适应灵活,通过它CPU可直接与外设相连接。2.3 温度传感器与AD转换器的选择本系统选用温度传感器AD590构成测温系统。AD590是一种电压输入、电流输出型集成温度传感器,测温范围为-55150,非线性误差在0。30,其输出电流与温度成正比,温度没升高1K(K为开尔文温度),输出电流就增加1uA。其输出电流I=(273+T)uA。本设计中串联电阻的阻值选用2K,所以输出电压V+=(2730 + 10T)MV.另外,为满足系统输入模拟量进行处理的功能,对其再扩展一片ADC0809,以进行模拟数字量转化。2.4 显示接口芯片为满足本次设计温度显示的需要,我们选择
8、了8279芯片,INTEL8279芯片是一种通用的可编程的键盘、显示接口器件,单个芯片就能完成键盘键入和LED显示控制两种功能。备注:系统硬件接线应尽量以插接形式连接,这样便于多用途使用和故障的检查和排除。 3 系统主要元件功能与原理介绍3.1 8086微处理器的一般性能特点(1) 16位的内部结构,16位双向数据信号线;(2)20位地址信号线,可寻址1M字节存储单元;(3)较强的指令系统;(4)利用第16位的地址总线来进行I/O端口寻址,可寻址64K个I/O端口;(5)中断功能强,可处理内部软件中断和外部中断,中断源可达256个;(6)单一的5V电源,单相时钟5MHz。另外,Intel公司同
9、期推出的Intel8088微处理器一种准16位微处理器,其内部寄存器,内部操作等均按16位处理器设计,与Intel8088微处理器基本上相同,不同的是其对外的数据线只有8位,目的是为了方便地与8位I/O接口芯片相兼容。3.2 8086CPU的编程结构编程结构:是指从程序员和使用者的角度看到的结构,亦可称为功能结构。从功能上来看,8086CPU可分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。8086CPU的内部功能结构如图31所示:图3-1 8086/8088CPU内部功能结构图1、执行部件(EU)功能:负责指令的执行。组
10、成:包括ALU(算术逻辑单元)、通用寄存器组和标志寄存器等,主要进行8位及16位的各种运算。2、总线接口部件(BIU)功能:负责与存储器及I/O接口之间的数据传送操作。具体来看,完成取指令送指令队列,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。组成:它由段寄存器(DS、CS、ES、SS)、16位指令指针寄存器IP(指向下一条要取出的指令代码)、20位地址加法器(用来产生20位地址)和6字节(8088为4字节)指令队列缓冲器组成。3、8086 BIU的特点8086的指令队列分别为6/4个字节,在执行指令的同时,可从内存中取出后续的指令代码,放在指令
11、队列中,可以提高CPU的工作效率。地址加法器用来产生20位物理地址。8086可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。例如:CS0FE00H,IP0400H,则表示要取指令代码的物理地址为0FE400H。4、8086 CPU内部寄存器8086 内部的寄存器可以分为通用寄存器和专用寄存器两大类,专用寄存器包括指针寄存器、变址寄存器等。(1)通用寄存器 8086 有4个16位的通用寄存器(AX、BX、CX、DX),可以存放16位的操作数,也可分为8个8位的寄存器(AL、AH;BL、BH;
12、CL、CH;DL、DH)来使用。其中AX称为累加器,BX称为基址寄存器,CX称为计数寄存器,DX称为数据寄存器,这些寄存器在具体使用上有一定的差别,如表21所示。(2)指针寄存器 系统中有两个16位的指针寄存器SP和BP,其中SP是堆栈指针寄存器,由它和堆栈段寄存器SS一起来确定堆栈在内存中的位置; BP是基数指针寄存器,通常用于存放基地址。(3)变址寄存器 系统中有两个16位的变址寄存器SI和DI,其中SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址方式。(4) 控制寄存器 IP标志寄存器是系统中的两个16位控制寄存器,其中IP是指令指针寄存器,用来控制CPU的指令执行顺序,它
13、和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节;当IP单独改变时,会发生段内的程序转移;当CS和IP同时改变时,会产生段间的程序转移。标志寄存器的内容被称为处理器状态字PSW,用来存放8086 CPU在工作过程中的状态(5)段寄存器 系统中共有4个16位段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。这些段寄存器的内容与有效的地址偏移量一起,可确定内存的物理地址。通常CS划定并控制程序区,DS和ES控制数据区,SS控制堆栈区。4. 系统各部分功能模块介绍4.1 温度测量部
14、分AD590是AD公司生产的一种精度和线度较好的双端集成传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1uA最大电流的变化或1摄氏度等效误差。图4-1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路。AD590输出的电流I=(273+T)uA(T为摄氏温度)。因此测量的电压V为(273+T)uA10K=(2.73+T/100)V,为了将电压测量出来,又务必使电流I不分流出来。使用电压跟随器使其输出电压V2等于V 。由于一般电源供应多器件之后,电源是带杂波的,因此使用稳压二极管作为稳压元件,再利用可变电阻分压,其输出电压V1需调至2.73V。差动放大器其输出V0 为
15、(100K/10K)(V2-V1)=T/10,如果现在为摄氏28,输出电压为2.8V。输出电压接AD转换器,那么AD转换输出的数字量就和摄氏温度成线性比例的关系。图 4-14.2 温度控制部分当PC6为高电平时,三极管导通,继电器吸合,向加热系统输出12V电压加热;反之,输入低电平,三极管截止,继电器断开,停止加热。在图4-中,二极管的作用是吸收继电器端开时产生的浪涌电压。图 4-24. 3 ADC0809与8255的连接模拟输入通道地址A,B,C直接接地,因此ADC0809只对通道IN0输入的电压进行模数转换。为了减少输入噪声其他通道直接接地。ADC0809的数据线D0-D7与8255的PB
16、0-PB7相连接。其片选CS与8086的地址/数据总线AD14相连接。图 4-35.系统工作原理及软件设计5.1系统工作原理温度通过AD590温度传感集成芯片,将温度变化量转换成电压值变化量,经过OP07一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,然后将该数字信号通过然间编程转化为十进制BCD码,并送到8279进行温度值的显示。 温度的上升或下降,通过给加热系统通断电来实现。当需要加热时,8255的PC6输出低电平,启动加热系统。当需要降温时,8255的PC6输出高电平,关闭加热系统。加热或降温的控制信号通过8255的PA0读取拨动开关的状态来实现。5
17、.2系统软件设计本设计的目的是以8086微处理器为控制器,将温度传感器输出的小信号经过放大和低通滤波后,送至A/D转换器;微控制器实时采集、显示温度值(要求以摄氏度显示),同时系统还应可设定、控制温度值,使系统工作在设定温度。5.3系统流程图通过开始界面,显示提示信息,调用温度子程序,设置温度。通过模数转换器采集AD值并求其平均值。调用BCD码转换子程序将其转换为十进制温度值;调用显示子程序,如果温度高于实际温度,就加热,反之拨动开关关闭,停止加热。在此过程中,还可以重复设置温度值。其流程图如图5-3所示。N开始系统初始化显示提示信息调用温度值设置子程序实际温度低于给定值PA0=1加热8255
18、 PC6口=1停止加热8255 PC6口=0显示提示信息调用温度值设置子程序重新设置温度并将PA0拨到0 以进行重新调节有键按下返回采集AD值并求其平均值调用BCD码转换子程序将其转换为十进制温度值调用显示子程序YYNNN图 5-3 6. 系统调试通过前一部分的介绍说明,我们对系统的工作情况有了大体的了解。为了进一步了解系统的工作过程,这里介绍一下系统调试过程及调试过程中出现的一些具体的问题。我们的实验调试软件运行于DOC环境下,其步骤如下: 1)根据硬件图和原理图连接好线路。 在PC机上敲入程序,并对其进行的查错,编译,连接,最后生成可执行文件。 接上电源,敲入可执行文件的文件名,系统就开始
19、了工作过程。 这是DOC屏幕上会出现的一些提示信息,如ENTER ANY KEY TO BEGIN!* LET PA0=0 TO ADJUST THE TEMPERATURE VALUE!* LET PA0=1 TO INPUT A NEW TEMPERATURE VALUE!*这里后两条只作注释用。2)然后敲任意一个键,系统就开始进行温度测量和显示,屏幕上就会显示 INPUT THE TEMPERATURE:在这一条信息之后敲入一温度值。注意这里敲入的温度值不能大于76摄氏度,否则屏幕将会显示INPUT VALUE ERROR !并返回 DOC。(以后重新设定温度时也是如此)3)在正常情况下
20、,敲入设定温度后系统就开始进行控制调节,当实际温度小鱼设定值时,系统就开始进行加热,如果不加改变,它就会加热一直稳定到设定的温度值;如果这是想重新设置一温度,只要把8255的PA0读取拨动开关拨到1,屏幕上就会显示:INPUT A NEW TEMPERATURE:结论本设计采用的单片机是作为现代工业中最常用的集成芯片。具有体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、易于推广应用等显著优点,通过软件逻辑控制实现对温度的控制和调节。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例。本设计中应用了许多单片机芯片和单片机常用的外部设,单片机芯片如:ADC0809,8255等。单片机外部设备如:温度检测元件AD590,键盘和显示系统中的LED显示器等。参考文献1 戴梅蕚 微型计算机技术及应用2007 清华大学出版社2 武锋 单片机应用系统设计-系统配置与接口技术1998.8 北京航空航天大学出版社3 何克忠 计算机控制系统 2002 清华大学出版社4 朱善君 汇编语言程序设计 1998.3 清华大学出版社5 颜永军 protel99电路设计与应用2001.1 国防工业出版社10