毕业设计(论文)基于AT89S51单片机的温度采集处理系统设计_第1页
毕业设计(论文)基于AT89S51单片机的温度采集处理系统设计_第2页
毕业设计(论文)基于AT89S51单片机的温度采集处理系统设计_第3页
毕业设计(论文)基于AT89S51单片机的温度采集处理系统设计_第4页
毕业设计(论文)基于AT89S51单片机的温度采集处理系统设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、 南京化工职业技术学院毕业论文设计题目:基于at89s51的温度采集处理系统设计姓 名: 所在系部: 自动控制系 班级名称: 机电0512班 学 号: 指导老师: 2009 年 12月毕业设计任务书设计(论文)题目:基于at89s51单片机温度采集处理系统设计指导教师:谢敏职称:讲师类别:毕业论文学生:李汉颖学号:0526031106设计(论文)类型:论文专业:机电一体化班级:机电0512是否隶属科研项目:否1、设计(论文)的主要任务及目标通过撰写本论文使同学们能够掌握步进电机的工作原理、步进电机的驱动和控制方式、步进电机软硬件环形分配实现方法、单片机键盘扫描与处理程序、中断的作用和实现方法,

2、基于单片机的控制系统电路设计和实现方法。通过本设计使同学进一步掌握单片机的应用、系统设计方法和实现过程,为以后的工作打下良好基础。2、论文的主要内容(1) at89s51单片机的内部资源、硬件结构;(2) 温度传感器 ad590的原理和内部结构;(3) 采用 ad590的温度采集系统硬件设计;(4) led接口设计;(5) 软件流程图设计;3、论文的基本要求(1)给出 ad590的温度采集控制程序;(2)完成led显示接口设计;(3)完成系统相应流程图的设计;(4)完成相关功能程序设计。(5)89s51单片机的编程、keil软件仿真技术及系统调试方法。(5)了解用protel99进行电路设计的

3、方法。4、主要参考文献(1) 何立民 主编.单片机中级教程. 北京航空航天大学出版社. 2002年8月.(2) 第三届全国大学生电子设计竞赛获奖作品选编北京理工大学出版社1997年1月.(3) protel dxp教程.电子工业出版社.2004年.5、进度安排设计(论文)个阶段任务起 至 日 期1查阅文献资料、确定研究方向(1周:第1周)2搜集文献资料、系统相关知识的原理研究(2周:第2、3周)3控制系统电路原理图设计(2周:第4、5周)4相应软件编程、程序仿真(2周:第7、8周)5总结及撰写设计说明书(2周:第9、10周)6装订、答辩准备及答辩(1周:第11周)7合计11周注:1、此表一设三

4、份,系部、指导教师、学生各一份。2、类别是指毕业论文或毕业设计,类型指应用型、理论研究型和其他。摘 要 本文介绍了以at89s51单片机为核心的温度控制器的设计,在该设计中采用高精度的温度传感器ad590对电热锅炉的温度进行实时精确测量,用超低温漂移高精度运算放大器op07将温度-电压信号进行放大,再送入12位的ad574a进行ad转换,从而实现自动检测,实时显示及越限报警。控制部分采用pid算法,实时更新pwm控制输出参数,控制可控硅的通断时间,最终实现对炉温的高精度控制。【关键词】 水温控制系统;pid控制单片机;传感器目 录第一章 at89s51硬件资源及特性介绍1第一节 at89s51

5、特性1第二节 at89s51引脚介绍3第三节 at89s51内部ram、rom等资源分配8第二章ad590温度传感器原理与特性介绍10第一节 ad590特性与原理10第二节ad590应用的电路11第三章 ad574a显示模块原理及接口设计15第一节 ad574a特性封装15第二节 ad574a管脚图17第四章 基于at89s51的智能温度检测系统设计19第一节 主机电路的设计19第二节 数据采集电路设计20第三节 键盘及显示的设计22第五章 系统流程图设计24第一节 系统软件设计及流程图24第二节 ad574a显示程序流程图设计26总结29致谢30参考文献31第一章 at89s51硬件资源及特

6、性介绍第一节at89s51特性 at89s51具有如下特点:40个引脚,4kbytesflash片内程序存储器,128bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。此外,at89s51设计和配置了振荡频率可为0hz并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三

7、种封装形式,以适应不同产品的需求。8031cpu与mcs-51兼容 4k字节可编程flash存储器(寿命:1000写/擦循环) 全静态工作:0hz-24khz 三级程序存储器保密锁定 128*8位内部ram 32条可编程i/o线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 at89s51单片机-管脚说明 vcc:供电电压。 gnd:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时

8、,p0口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序

9、存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2/int0(外部中断0)p3.3/int1(外部中断1)p3.4t0(记时器0

10、外部输入)p3.5t1(记时器1外部输入)p3.6/wr(外部数据存储器写选通)p3.7/rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。 i/o口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器cpu将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来

11、的状态有可能为0q端为0q为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类i/o口被称为准双向口89c51的p0/p1/p2/p3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了p1口外p0p2p3口都还有其他的功能rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器

12、时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时,ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的

13、/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出 。 第二节at89s51引脚介绍(1) 单片机(at89s51)的引脚功能图图1.1at89s51引脚功能图(2) 51系列单片机8031、8051及89c51/89s51均采用40pin封装的双列直接dip结构

14、。上图是它们的引脚配置:40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个i/o口,中断口线与p3口线复用。现在我们对这些引脚的功能加以说明: 1、电源引脚vcc40脚正电源脚,工作电压为5v,另有at89lv51工作电压则是2.7-6v, 引脚功能一样。 gnd20接地端 2.外接晶体引脚图1.2外接晶体引脚图pin19:时钟xtal1脚, pin18:时钟xtal2脚。xtal1是片内振荡器的反相放大器输入端,xtal2则是输出端,使用外部振荡器时,外部振荡信号应直接加到xtal1,而xtal2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12mhz,时钟

15、频率就为6mhz。晶振的频率可以在1mhz-24mhz内选择。电容取30pf左右。型号同样为at89c51的芯片,在其后面还有频率编号,有12,16,20,24mhz可选。大家在购买和选用时要注意了。如at89c51 24pc就是最高振荡频率为24mhz,40p6封装的普通商用芯片。3.复位rst9 在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后p0p3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器sfr全部清零。当复位脚由高电平变为低电平时,芯片为rom的0000h处开始运行程序。常用的复位电

16、路如下图1.3所示。图1.3复位电路图复位操作不会对内部ram有所影响。当8051通电,时钟电路开始工作,在reset引脚上出现24个时钟周期以上的高电平,系统即初始复位。什么叫复位?复位是单片机重新执行程序代码的意思。 8051的复位方式可以是自动复位,也可以是手动复位,见下图1.4。此外,reset/vpd还是一复用脚,vcc掉电期间,此脚可接上备用电源, 以保证单片机内部ram的数据不丢失。 图1.4自动与手动复位电路图输入输出(i/o)引脚: pin39-pin32为p0.0-p0.7输入输出脚,称为p0口,是一个8位漏极开路型双向i/o口。内部不带上拉电阻,当外接上拉电阻时,p0口能

17、以吸收电流的方式驱动八个lsttl负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。 在访问外部程序和外部数据存储器时,p0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。 pin1-pin8为p1.0-p1.7输入输出脚,称为p1口,是一个带内部上拉电阻的8位双向i/0口。p1口能驱动4个lsttl负载。 通常在使用时外不需要外接上拉电阻,就可以直接驱动发光二极管。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。 我们现在讲一个它的输出功能吧,在单片机工作时,我们 可以通过用指令控制单片机的引脚输出高电平或者低电平。如: 指令clr ,清零的意思。 clr p1.0 ;

18、让单片机从第一脚输出低电平。 指令 setb,置1的意思。 setb p1.0 ;让单片机从第一个脚输出高电平。pin21-pin28为p2.0-p2.7输入输出脚,称为p2口,是一个带内部上拉电阻的8位双向i/o口,p2口能驱动4个lsttl负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,p2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。 pin10-pin17为p3.0-p3.7输入输出脚,称为p3口,是一个带内部上拉电阻的8位双向i/o口,p

19、2口能驱动4个lsttl负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。 对内部flash程序存储器编程时,接控制信息。p13端口在做输入使用时,因内部有上接电阻,被外部拉低的引脚会输出一定的电流。除此之外p3端口还用于一些专门功能。p3引脚 兼用功能p3.0 串行通讯输入(rxd) p3.1 串行通讯输出(txd) p3.2 外部中断0( int0) p3.3 外部中断1(int1) p3.4 定时器0输入(t0) p3.5 定时器1输入(t1) p3.6 外部数据存储器写选通wr p3.7 外部数据存储器写选通rd 什么叫上拉电阻?上拉电阻简单来说

20、就是把电平拉高,通常用4.710k的电阻接到vcc电源,下拉电阻则是把电平拉低,电阻接到gnd地线上。具体说明也不是这里要讨论的,接下来还是接着看其它的引脚功能吧。 5.其它的控制或复用引脚 (1) ale/prog 30 访问外部存储器时,ale(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,ale端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6)。在访问外部数据存储器时,出现一个ale脉冲。对flash存储器编程时,这个引脚用于输入编程脉冲prog 。 (2) psen 29 该引是外部程序存储器的选通信号输出端。当at89c51由外部程序存储器取指令或常数时,

21、每个机器周期输出2个脉冲即两次有效。但访问外部数据存储器时,将不会有脉冲输出。 (3) ea/vpp 31 外部访问允许端。当该引脚访问外部程序存储器时,应输入低电平。要使at89s51只访问外部程序存储器(地址为0000h-ffffh),这时该引脚必须保持低电平。对flash存储器编程时,用于施加vpp编程电压。第三节at89s51内部ram、rom等资源分配程序存储器(rom)和数据存储器(ram)根据单片机的应用特点而决定,大部分的单片机在存储器结构上哈佛型结构。at89s51单片机的存储器配置在物理结构上有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从

22、逻辑结构上则有3个存储器地址空间:片内、外统一编址的64kb程序存储器地址空间,片内128b的数据存储器地址空间和片外64kb的数据存储器地址空间。指令系统采用不同形式的指令,产生不同的控制信号,访问这3个不同逻辑的存储地址空间。图1.3表示at89s51单片机存储器空间结构。图1.5at89s51单片机存储器空间结构图 程序存储器(rom)程序存储器是只读存储器,专用于存放存储指令字节代码及表格的常数。at89s51单片机内有4kb的电可擦写的闪速flash存储器,存储地址编码为0000h0fffh。flash存储器擦写既快又方便,可随机在线进行编程,有永久记忆、停电不丢失存储数据的功能。a

23、t89s51单片机对外功能扩展时有16位地址总线(采用p0口作低8位地址总线,p2口作高8位地址总线),寻址空间达64kb,地址范围为0000hffffh。由于程序存储器地址空间片内、外统一编址,片内flash存储器已占用了4kb单元,对外扩展程序存储器还有60kb的寻址空间,地址范围为1000hffffh,可以采用movc类指令访问,psen为外部程序存储器的读选通信号,可根据实际应用的需要情况扩展程序存储器的容量。单片机的ea端脚必须接入+5v dc电源,使cpu从片内0000h单元开始取指令,当pc指超过0ffffh单元时,自动转到片外程序存储器地址空间执行程序。at89s51单片机的程

24、序存储器中有6个特殊地址单元。 0000h:单片机系统复位后,pc=0000h,即程序从0000h单元开始执行; 0003h: 外部中断0入口地址; 000bh:定时器t0溢出中断入口地址; 0013h: 外部中断1入口地址; 001bh: 定时器t1溢出中断入口地址; 0023h: 串行口中断入口地址。使用时通常在这些中断入口地址处安放一条绝对跳转指令,使cpu响应中断时自动跳转到用户安排的中断服务子程序起始地址。对于用户的初始主程序入口处地址,通常确定在0023h以后的地址单元,运行时从0000h单元启动,无条件跳转到该入口处执行程序。数据存储器(ram)数据存储器用于存放运算中间结果、数

25、据暂存和缓冲、标志位、待调试的程序代码等。数据存储器可分为两个地址空间:一个为片内128字节的ram区,另一个为片外最大可扩充64kb的ram区,地址范围为0000hffffh。两个地址空间各自有不同的访问指令,片内ram区的地址范围是00hffh,用mov类指令直接访问;片外的ram区用movx类指令间接访问,wr/rd是外ram区的写/读控制信号。第二章ad590温度传感器原理与特性介绍第一节 ad590特性与原理集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值vbe与热力学温度t和通过发射极电流i的下述关系实现对温度的检测: 式中,k波尔兹常数;q电子电荷

26、绝对值。集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mv/k,温度0时输出为0,温度25时输出2.982v。电流输出型的灵敏度一般为1ma/k。 ad590简介ad590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:1、流过器件的电流(ma)等于器件所处环境的热力学温度(开尔文)度数,即:ma/k式中: 流过器件(ad590)的电流,单位为ma;t热力学温度,单位为k。2、ad590的测温范围为-55+150。3、ad590的电源电压范围为4v30v。电源

27、电压可在4v6v范围变化,电流 变化1ma,相当于温度变化1k。ad590可以承受44v正向电压和20v反向电压,因而器件反接也不会被损坏。4、输出电阻为710mw。5、精度高。ad590共有i、j、k、l、m五档,其中m档精度最高,在-55+150范围内,非线性误差为0.3。第二节ad590的应用电路1、基本应用电路图2.1(a)是ad590的封装形式,图2.1(b)是ad590用于测量热力学温度的基本应用电路。因为流过ad590的电流与热力学温度成正比,当电阻r1和电位器r2的电阻之和为1kw时,输出电压vo随温度的变化为1mv/k。但由于ad590的增益有偏差,电阻也有误差,因此应对电路

28、进行调整。调整的方法为:把ad590放于冰水混合物中,调整电位器r2,使vo=273.2mv。或在室温下(25)条件下调整电位器,使vo=273.2+25=298.2(mv)。但这样调整只可保证在0或25附近有较高精度。图2.1ad590的封装及基本电路应用2、摄氏温度测量电路如图2.2所示,电位器r2用于调整零点,r4用于调整运放lf355的增益。调整方法如下:在0时调整r2,使输出vo=0,然后在100时调整r4使vo=100mv。如此反复调整多次,直至0时,vo=0mv,100时vo=100mv为止。最后在室温下进行校验。例如,若室温为25,那么vo应为25mv。冰水混合物是0环境,沸水

29、为100环境。要使图2.2中的输出为200mv/,可通过增大反馈电阻(图中反馈电阻由r3与电位器r4串联而成)来实现。另外,测量华氏温度(符号为)时,因华氏温度等于热力学温度减去255.4再乘以9/5,故若要求输出为1mv/,则调整反馈电阻约为180kw,使得温度为0时, vo=17.8mv;温度为100时,vo=197.8mv。ad581是高精度集成稳压器,输入电压最大为40v,输出10v。图2.2用与测量摄氏温度的电路3、温差测量电路及其应用(1). 电路与原理分析图2.2是利用两个ad590测量两点温度差的电路。在反馈电阻为100kw的情况下,设1#和2# ad590处的温度分别为 ()

30、和 (),则输出电压为 。图中电位器r2用于调零。电位器r4用于调整运放lf355的增益。由基尔霍夫电流定律: (1) 由运算放大器的特性知: (2) (3) 调节调零电位器r2使: (4)由(1)、(2)、(4)可得: 设:r4=90kw则有: = = (5)其中, 为温度差,单位为。由式(5)知,改变 的值可以改变vo的大小。图2.3测量两点温度差的电路(2). 应用举例以某节能型药材仓库温、湿度控制系统为例,若要求库房温度低于t,相对湿度低于a1b1%rh。则采取的两种控制模式如下:控制模式一:当库内相对湿度高于a1b1%rh且库外温度低于t时,进行库内外通风。这种方式是利用库内外湿度差

31、进行空气的交换,以达到库内除湿的要求,其优点是高效、节能、节省资金。但这种方式受到严格的控制。首先,库外的相对湿度要低于库内的,它们之间的差要大于a2b2%rh,这样才能有效保证及时地进行库内的除湿。其次,库内库外的温度差要小于t,这是因为,如果在库外温度远高于库内温度时进行通风,热空气进入库区后遇上冷空气就会造成药品、器材表面结露的现象,进而影响药品和器材的质量。反之,如果在库内温度远高于库外温度时进行通风,冷空气进入库内后也会在药品器材表面结露。另外,库外温度不能接近t。这是因为,如果库外温度接近t时进行通风,很可能使密闭的库温升高,从而超过温度上限t。(3)控制模式二:当温度高于t或湿度

32、高于a1b1%rh但不满足第一种情况时,开启冷冻空调机组进行库内降温除湿。为避免因库内外温差过大通风时药品、器材表面结露的现象,必须严格控制系统温差值的精度。传统的测温差方法是对两点温度分别进行处理(调理电路、a/d、运算处理)后求差值,此方法所得温差精度低。库内外温差测量可采用图2.3所示电路,利用温差值直接与设定值相比较,既能保证较高的精度,又简化了系统的软件设计,提高了系统的可靠性。(4) n点最低温度值的测量将不同测温点上的数个ad590相串联,可测出所有测量点上的温度最低值。该方法可应用于测量多点最低温度的场合。(5)n点温度平均值的测量把n个ad590并联起来,将电流求和后取平均,

33、则可求出平均温度。该方法适用于需要多点平均温度但不需要各点具体温度的场合。第三章 ad574a显示模块原理及接口设计第一节ad574a特性封装ad574a 是美国模拟器件公司(analog devices) 生产的12 位逐次逼近型快速a/d 转换器。转换速度最大为35s,转换精度0.05%,是目前我国市场应用最广泛、价格适中的a/d 转换器。ad574a 片内配有三态输出缓冲电路,因而可直接与各种典型的8 位或16 位的微处理器相连,而无须附加逻辑接口电路,且能与cmos 及ttl 电平兼容。由于ad574a 片内包含高精度的参考电压源和时钟电路,这使它在不需要任何外部电路和时钟信号的情况下

34、,完成一切a/d 转换功能,应用非常方便。ad574a 的主要特性概述如下:(1) 非线性误差:ad574aj 为1 lsb;ad574ak 为1/2 lsb。 (2) 转换速度:最大转换时间35s,属于中档速度。 (3) 输入模拟信号范围可为010v,020v,也可为双极性土5v 或10v。 (4) ad574a 有两个模拟输入端,分别用于不同的电压范围:l0vin 适用于5v 的模拟输入,20vin 适用于10v 的模拟输入。输出为12 位,即db0db11。 (5) 利用不同的控制信号,既可实现高精度的12 位变换,又可作快速的8 位转换。转换后的数据有两种读出方式:12 位一次输出;8

35、 位,4 位分两次输出。设有三态输出缓冲器,可直接与8 位或16 位的微处理器接口。 (6) 需三组电源:5v,vcc(1215v),vee(12v15v) 。由于转换精度高,所提供电源必须有良好的稳定性,并加以充分滤波,以防止高频噪声的干扰。 (7) 内设高精度的参考电压(10.00v) ,只需外接一只适当阻值的电阻,便可向dac 部分的解码网络提供iref,转换操作所需的时钟信号由内部提供,不需外接任何元器件。 (8) 低功耗:典型功耗为390mw 。ad574a 为28 引脚双列直插式封装,其引脚配置参见各引脚功能见表3-1。表3-1 ad574a 的引脚功能引脚名称引脚号功能vcc1

36、数字逻辑部分的电源5v 12/ 8 2 数据输出格式选择信号引脚。当该引脚为1 时,双字节输出,即12 条数据线同时有效输出,当该引脚为0 时,为单字节输出,即只有高8 位或低4 位有效cs 3 片选信号端,低电平有效a0/sc 4 字节选择控制线。在转换期间:a0/sc0,ad574a 进行全12 位转换, 在读出期间:当a0/sc0 时,高8 位数据有效;a0/sc1、低4 位数据有效,中间4 位为“0”, 高4 位为三态。因此当采用两次读出12 位数据时,应遵循左对齐原则r/ c 5 读数据/转换控制信号,当该引脚为1 时,adc 转换结果的数据允许被读取;当该引脚为0,则允许启动a/d

37、 转换ce 6 启动转换信号,高电平有效。可作为a/d 转换启动或读数据的信号vcc、vee7、11 模拟部分供电的正电源和负电源,为12v 或15v ref out 10v 内部参考电压输出端ref in 10 内部解码网络所需参考电压输入端bplrof 12 补偿调整。接至正负可调的分压网络,以调整adc 输出的零点10vin、20vin13、14 模拟量10v 及20v 量程的输入端口,信号的一端接至ag 引脚dg 15 数字公共端(数字地) ag 9 模拟公共端(模拟地)。它是ad574a 的内部参考点,必须与系统的模拟参考点相连。为了在高数字噪声含量的环境中从ad574a 获得高精度

38、的性能,ag 和dg 在封装时已连接在一起,在某些情况下,ag 可在最方便的地方与参考点相连续表 引脚名称 引脚号 功能db0db111627 数字量输出tatus 28 输出状态信号引脚。转换开始时,status 达到高电平,转换过程中保持高电平。转换完成时返回到低电平。sts 可以作为状态信息被cpu 查询, 也可以用它的下沿向cpu 发中断申请,通知a/d 转换已完成,cpu 可以读取转换结果 数据总线驱动/隔离电路数据总线驱动/隔离电路由74hc245(u1) 构成,其主要作用是驱动数据总线,提高std 数据总线的带负载能力。有了该电路后,从std 总线上看,一个接口板只相当于一个负载

39、。由于本接口板中数据的流向是双向的,因此用rd 控制传输方向;使能端e 由译码器输出控制,只有对本接口板的端口进行读写时u1 才进入低阻态,其他操作均处于高阻态。地址译码器原理同上节所述,拨盘dip1、dip2 如图连接时,各选通线的地址和控制对象见表3-2。选通线的地址和控制对象3-2 选通线名称 控制对象地址 s0 输出锁存器74hc373(u5) 00a8h s1 输入接口74hc245(u8) 00a9h s2 输入接口74hc245(u9) 00aah s3 再使用00abh 第二节ad574a管脚图ad574a是单片高速12位逐次比较型a/d转换器,内置双极性电路构成的混合集成转换

40、芯片;具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能。其主要功能特性如下: 分辨率:12位;转换速率:20s;电源电压:15v和5v;非线性误差:小于1/2lsb或 1lsb:数据输出格式:12位/8位;模拟电压输入范围:010v和020v,05v和010v两档四种;芯片工作模式:全控工作模式和单一工作模式。ad574a的管脚示意图如图3.1ad574a的ce、k128、cs、rc和a0对其工作状态的控制过程如表 3-3 ad574a逻辑控制真值表3-3所示。第四章 基于at89s51的智能温度检测系统设计第一节 主机电路的设计电热锅炉温度控制系统由核心处理模块、温度

41、采集模块、键盘显示模块、及控制执行模块等组成。方案一 采用8031作为控制核心,以使用最为普遍的器件adc0809作模数转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。此方案简易可行,器件的价格便宜,但8031内部没有程序存储器,需要扩展,增加了电路的复杂性,且adc0809是8位的模数转换,不能满足本题目的精度要求。方案二 采用比较流行的at89s51作为电路的控制核心,使用12位的高精度模数转换器ad574a进行数据转换,控制电路部分采用pwm控制可控硅的通断以实行对锅炉温度的连续控制,此方案电路简单并且可以满足题目中的各项要求的精度。综上分析,我们采用方案二。系统设计总体框图如下

42、图4.1 控制器设计总体框图根据温度变化慢,并且控制精度不易掌握的特点,我们设计了以at89s51单片机为检测控制中心的电热锅炉温度自动控制系统。温度控制采用改进的pid数字控制算法,显示采用3位led静态显示。该设计结构简单,控制算法新颖, 控制精度高,有较强的通用性。所设计的控制系统有以下功能: 温度控制设定波动范围小于1%,测量精度小于1%,控制精度小于2%,超调整量小于4%; 实现控制可以升温也可以降温; 实时显示当前温度值; 按键控制:设置复位键、运行键、功能转换键、加一键、减一键; 越限报警。 硬件电路设计硬件电路主要有两大部分组成:模拟部分和数字部分:从功能模块上来分有:主机电路

43、、数据采集电路、键盘显示电路、控制执行电路。1 主机电路的设计主机选用atmel公司的51系列单片机at89s51来实现,利用单片机软件编程灵活、自由度大的特点,力求用软件完善各种控制算法和逻辑控制。本系统选用的at89s51芯片时钟可达12mhz,运算速度快,控制功能完善。其内部具有128字节ram,而且内部含有4kb的flash rom 不需要外扩展存储器,可使系统整体结构更为简单、实用2 i0通道的硬件电路的设计就本系统来说,需要实时采集水温数据,然后经过ad转换为数字信号,送入单片机中的特定单元,然后一部分送去显示;另一部分与设定值进行比较,通过pid算法得到控制量并经由单片机输出去控

44、制电热锅炉加热或降温。第二节数据采集电路设计数据采集电路主要由ad590, 0p07,74ls373,ad574a等组成。由于控制精度要求为0.1 度,而考虑到测量干扰和数据处理误差,则温度传感器和ad 转化器的精度应更高才能保证控制精度的实现,这个精度可处粗略定为0.1 度。故温度传感器需要能够区分0.1 度;而对于ad 转换器,由于测量范围为40-90 度,以0.1 度作为响应的ad 区分度要求,则ad 需要区分(90-40)/0.1=500 个数字量,显然需要10 位以上的ad 转换器。为此,选用高精度的12位ad574a。为了达到测量高精度的要求,选用温度传感器ad590,ad590具

45、有较高精度和重复性(重复性优于01,其良好的非线形可以保证优于01 的测量精度,利用其重复性较好的特点,通过非线形补偿,可以达到0.1测量精度.)超低温漂移高精度运算放大器0p07将温度一电压信号进行放大,便于ad进行转换,以提高温度采集电路的可靠性。模拟电路硬件部分见图4.2。图4.2温度电压转换电路1 电控制执行电路的设计由输出来控制电炉,电炉可以近似建立为具有滞后性质的一阶惯性环节数学模型。其传递函数形式为:可控硅可以认为是线形环节实现对水温的控制。单片机输出与电炉功率分别属于弱电与强电部分,需要进行隔离处理,这里采用光耦元件tlp521 在控制部分进行光电隔离,此外采用变压器隔离实现弱

46、强电的电源隔离。单片机pwm 输出电平为0 时,光耦元件导通,从而使三极管形成有效偏置而导通,通过整流桥的电压经过集电极电阻以及射集反向偏压,有7v 左右的电压加在双向可控硅控制端,从而使可控硅导通,交流通路形成,电阻炉工作;反之单片机输出电平为0 时,光耦元件不能导通,三极管不能形成有效偏置而截止,可控硅控制端电压几乎为零,可控硅截止从而截断交流通路,电炉停止工作。此外,还有越限报警,当温度低于下限时发光二极管亮;高上限时蜂鸣器叫。控制执行部分的硬件电路如下图。图4.3控制执行部分电路第三节 键盘及显示的设计键盘采用软件查询和外部中断相结合的方法来设计,低电平有效。图3 中按键an1,an2

47、,an3,an4, an5的功能定义如表1所示。按键an3与p3.2相连,采用外部中断方式,并且优先级定为最高;按键an5和an4分别与p1.7和p1.6相连,采用软件查询的方式;an1则为硬件复位键,与r、c构成复位电路。如表4-1所示按键键名功能an1复位键使系统复位an2运行键使系统开始数据采集an3功能转换键按键按下(d1亮)时,显示温度设定值;按键升起(d1不亮)时,显示前温度值an4加一键设定温度渐次加一an5减一键设定温度渐次减一 显示采用3位共阳led静态显示方式,显示内容有温度值的十位、个位及小数点后一位,这样可以只用p3.0(rxd)口来输出显示数据,从而节省了单片机端口资

48、源,在p1.4 口和p3.1(txd)的控制下通过74ls164来实现3位静态显示。数字电路硬件部分见图4.4 图4.4 数字硬件电路示意图第五章 系统流程图设计第一节系统软件设计及流程图系统的软件由三大模块组成:主程序模块、功能实现模块和运算控制模块。1 主程序模块在主程序中首先给定pid算法的参数值,然后通过循环显示当前温度,并且设定键盘外部中断为最高优先级,以便能实时响应键盘处理;软件设定定时器t0为5秒定时,在无键盘响应时每隔5秒响应一次,以用来采集经过ad转换的温度信号;设定定时器t1为嵌套在t0之中的定时中断,初值由pid算法子程序提供。在主程序中必须分配好每一部分子程序的起始地址

49、,形式如下: org 0000h ajmp main org 0003h ajmp into org 000bh ajmp tt0 org 001bh ajmp tt1 主程序流程图见图5.1图5.1(a) 键盘及中断程序图 图5.1(b) 主程序流程图2 功能实现模块以用来执行对可控硅及电炉的控制。功能实现模块主要由ad转换子程序、中断处理子程序、键盘处理子程序、显示子程序等部分组成。第二节 ad574a显示程序流程图设计5.1t0中断子程序该中断是单片机内部5s定时中断,优先级设为最低,但却是最重要的子程序。在该中断响应中,单片机要完成ad数据采集转换、数字滤波、判断是否越限、标度转换处理、继续显示当前温度、与设定值进行比较,调用pid算法子程序并输出控制信号等功能5.11t1中断子程序 t1定时中断嵌套在t 中断之中,优先级高于t 中断,其

温馨提示

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

评论

0/150

提交评论