毕业设计(论文)-基于单片机的炉温加热系统设计.doc_第1页
毕业设计(论文)-基于单片机的炉温加热系统设计.doc_第2页
毕业设计(论文)-基于单片机的炉温加热系统设计.doc_第3页
毕业设计(论文)-基于单片机的炉温加热系统设计.doc_第4页
毕业设计(论文)-基于单片机的炉温加热系统设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

华北科技学院毕业设计(论文) 专科毕业论文(设计)题 目: 基于单片机对加热炉温度控制系统 姓 名: 班 级: 信安z092班 学 号: 指导教师: 二o一 二 年 6 月 1 日 目录目录- 1-设计总说明- 2 -绪论- 2 -1.课题研究的背景、目的及意义- 3 -1.1课题研究的背景- 3 -1.2课题研究的目的和意义- 3 -2 单片机对加热炉温度控制的简介- 5 -3.单片机内部结构及引脚作用简介- 6 -3.1单片机内部模块- 6 -3.2单片机外总线结构- 12 -3.3 mcs-51单片机系统扩展- 13 -4. 硬件系统设计- 14 -4.1总体设计- 14 -4.2程序存储器的扩展- 21 -4.3温控模块的设计- 22 -4.4 可控硅控制电路- 23 -5 软件系统设计- 26 -5.1主程序- 26 -5.2 t0中断服务程序- 27 -5.3 采样子程序- 29 -5.4 数字滤波程序- 29 -参考文献- 32 -致谢- 33 -附录- 34 -设计总说明 温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。随着我国经济的发展及加入wto,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。采用单片机来对温度进行控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。在现代化的工业生产中电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。 例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用mcs-51( 单片机来对温度进行控制)不仅具有控制方便、组态简单和灵活性大等优点而且可以大幅度提高被控温度的技术指标从而能够大大提高产品的质量和数量。 因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。本文以它为例进行介绍希望能收到举一反三和触类旁通的效果。本设计采用无rom的8031作为主控制芯片。8031的接口电路有8155、2764。8155用于键盘/led显示器接口,2764可作为8031的外部rom存储器。其中温度控制电路是通过可控硅调功器实现的。双向可控硅管和加热丝串联接在交流220v,50hz交流试点回路,在给定周期内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调节温度的目的。关键词 :单片机;加热炉温度控制;mcs-51 绪论在信息高速发展的21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。温度是一个永恒的话题和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。温度的变化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量至关重要。其测量控制一般使用各式各样形态的温度传感器。随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其用途已遍及工农业生产和日常生活的各个领域。1.课题研究的背景、目的及意义1.1课题研究的背景工业控制是计算机的一个重要应用领域,计算机控制系统正是为了适应这一领域的需要而发展起来的一门专业技术,它主要研究如何将计算机技术、通过信息技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统。随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本设计就是基于单片机8031温度控制系统的设计,通过本次课程实践,我们更加的明确了单片机的广泛用途和使用方法,以及其工作的原理。1.2课题研究的目的和意义随着社会的发展,温度的测量及控制变得越来越重要。本文采用单片机8031设计了温度实时测量及控制系统。单片机8031能够根据温度传感器ds18b20 所采集的温度在液晶屏上实时显示,通过控制从而把温度控制在设定的范围之内。所有温度数据均通过液晶显示器lcd显示出来。系统可以根据时钟存储相关的数据。通过该课程的学习使我们对计算机控制系统有一个全面的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼同学们在微型计算机应用方面的实际工作能力。2 单片机对加热炉温度控制的简介加热炉是将物料或工件加热的设备。按热源划分有燃料加热炉、电阻加热炉、感应加热炉、微波加热炉等。应用遍及石油、化工、冶金、机械、热处理、表面处理、建材、电子、材料、轻工、日化、制药等诸多行业领域。加热炉按炉温分布,炉膛沿长度方向可分为预热段、加热段和均热段。单片机的温度控制是数字控制系统的一个应用。本系统所使用的加热炉为电加热炉,炉丝功率为3kw,系统要求炉膛恒温,误差为士2,超调量可能小,温度上升较快且有良好的稳定性。单片机温度控制系统是以ms-5l单片机为控制核心,辅以采样反馈电路,驱动电路,晶闸管主电路对电炉炉温进行控制的微机控制系统。系统的原理框图如图2.1所示,其基本控制原理为:用键盘将温度的设定值送入单片机,启动运行后,通过信号采集电路将温度信号采集到后,送到a/d 转换电路将信号转换成数字量送入单片机系统进行pid 控制运算,将控制量输出,控制电阻炉的加热。给定值采样电路输出温度被控对象晶闸管主电路驱动电路8031控制电路图2.1 原理框图3.单片机内部结构及引脚作用简介单片微型计算机(single chip microcomputer)简称单片机,是指在一块芯片上集成了中央处理器cpu、随机存储器ram、程序存储器rom或eprom、定时器/计数器、中断控制器及串型和并行i/o接口等部件。单片机主要应用于工业控制领域,用来实现对信号的检测、数据的采集以及对应用对象的控制。它具有体积小、重量轻、价格低、可靠性高、耗电少和灵活机动等许多优点。单片机是微型计算机的一个重要分支,特别适合用于智能控制系统。基于经济上的的考虑,以及本次设计的加热炉的精度要求,选用8031单片机作为中央处理器。8031是mcs51系列单片机的一种型号,在mcs51系列单片机中还有8051、8032、80c31等。3.1单片机内部模块3.1.1 mcs-51单片机内部结构图3.1单片机的内部结构框图mcs-51系列单片机组成结构中包含运算器、控制器、片内存储器、4个i/o口、串行口、定时器/计数器、中断系统、振荡器等功能部件。图3.1中sp是堆栈指针寄存器,pc是程序计数器,psw是程序状态字寄存器,dptr是数据指针寄存器。mcs51单片机的内部总体结构其基本特性如下:8位cpu、片内振荡器、4k字节rom、128字节ram、21个特殊功能寄存器、32根i/o线、可寻址的64k字节外部数据、程序存贮空间、2个16位定时器、计数器中断结构:具有二个优先级、五个中断源一个全双口串行口位寻址(即可寻找某位的内容)功能,适于按位进行逻辑运算的位处理器。除128字节ram、4k字节rom和中断、串行口及定时器模块外,还有4组i/o口p0p3,余下的就是cpu的全部组成。把4krom换为eprom就是8751的结构,如去掉rom/eprom部分即为8031,如果将rom置换为flash存贮器或eeprom,或再省去某些i/o,即可得到51系列的派生品种,如89c51、at89c2051等单片机。单片机各部分是通过内部的总线有机地连接起来的。3.1.2 mcs-51的cpu组成 mcs51的cpu由运算器和控制器组成。 (1)运算器运算器以完成二进制的算术/逻辑运算部件alu为核心,再加上暂存器tmp、累加器acc、寄存器b、程序状态标志寄存器psw及布尔处理器。累加器acc是一个八位寄存器,它是cpu中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器acc往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器b主要用于乘法和除法操作。标志寄存器psw也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示: 对用户来讲,最关心的是以下四位。 a进位标志cy(psw7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。 b辅助进位标志ac。又称半进位标志,它指两个八位数运算低四位是否有半进位,即低四位相加(或减)是否进位(或借位),如有ac为1,否则为0。 c溢出标志位ov。mcs51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。 d奇偶标志p。反映累加器acc内容的奇偶性,如果acc中的运算结果有偶数个1(如11001100b,其中有4个1),则p为0,否则,p=1。 由于psw存放程序执行中的状态,故又叫程序状态字。运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。 (2) 控制器控制器是cpu的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针dptr及程序计数器pc、堆栈指针sp等。这里程序计数器pc是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器rom的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器pc。当单片机开始执行程序时,给pc装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),pc的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令,或遇到中断时(后面将介绍),pc才转到所需要的地方去。8051 cpu指定的地址,从rom相应单元中取出指令字节放在指令寄存器中寄存,然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在cpu内部协调寄存器之间的数据传输、运算等操作。 3.1.3 mcs-51的存储器存储器是单片机的又一个重要组成部分,每个存储单元对应一个地址,如256个单元共有256个地址,用两位16进制数表示,即存储器的地址(00hffh)。存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。存储器的存储单元地址和存储单元的内容是不同的两个概念,不能混淆。 (1)程序存储器程序是控制计算机动作的一系列命令,单片机只认识由“0”和“1”代码构成的机器指令。如用助记符编写的命令mov a,#20h,换成机器认识的代码74h、20h:(写成二进制就是01110100b和00100000b)。在单片机处理问题之前必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。程序存储器可以放在片内或片外,亦可片内片外同时设置。由于pc程序计数器为16位,使得程序存储器可用16位二进制地址,因此,内外存储器的地址最大可从0000h到ffffh。8051内部有4k字节的rom,就占用了由0000h0fffh的最低4k个字节,这时片外扩充的程序存储器地址编号应由1000h开始,如果将8051当做8031使用,不利用片内4krom,全用片外存储器,则地址编号仍可由0000h开始。不过,这时应使8051的第31脚(即ea脚)保持低电平。当ea为高电平时,用户在0000h至0fffh范围内使用内部rom,大于0fffh后,单片机cpu自动访问外部程序存储器。 (2)数据存储器单片机的数据存储器由读写存储器ram组成。其最大容量可扩展到64k,用于存储实时输入的数据。8051内部有256个单元的内部数据存储器,其中00h7fh为内部随机存储器ram,80hffh为专用寄存器区。实际使用时应首先充分利用内部存储器,从使用角度讲,搞清内部数据存储器的结构和地址分配是十分重要的。因为将来在学习指令系统和程序设计时会经常用到它们。8051内部数据存储器地址由00h至ffh共有256个字节的地址空间,该空间被分为两部分,其中内部数据ram的地址为00h7fh(即0127)。而用做特殊功能寄存器的地址为80hffh。在此256个字节中,还开辟有一个所谓“位地址”区,该区域内不但可按字节寻址,还可按“位(bit)”寻址。对于那些需要进行位操作的数据,可以存放到这个区域。从00h到1fh安排了四组工作寄存器,每组占用8个ram字节,记为r0r7。究竟选用那一组寄存器,由程序状态字psw中的rs1和rs0来选用。在这两位上放入不同的二进制数,即可选用不同的寄存器组。 (3)特殊功能寄存器特殊功能寄存器(sfr)的地址范围为80hffh。在mcs51中,除程序计数器pc和四个工作寄存器区外,其余21个特殊功能寄存器都在这sfr块中。其中5个是双字节寄存器,它们共占用了26个字节。特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。用于cpu psw便是典型一例。这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。与芯片引脚有关的特殊功能寄存器是p0p3,它们实际上是4个八位锁存器(每个i/o口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。mcs51共有p0p3四个这样的并行口,可提供32根i/o线,每根线都是双向的,并且大都有第二功能。其余用于芯片控制的寄存器中。 3.1.4 mcs51的指令系统mcs51共有7种寻址方式,现介绍如下: (1)立即寻址:操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如mov a,#20h。 (2)寄存器寻址:操作数放在寄存器中,在指令中直接以寄存器的名来表示操作数地址。如mov a,r0就属于寄存器寻址,即r0寄存器的内容送到累加器a中。 (3)直接寻址:操作数放在单片机的内部ram某单元中,在指令中直接写出该单元的地址。如前例的add a,70h中的70h。 (4)寄存器间接寻址:操作数放在ram某个单元中,该单元的地址又放在寄存器r0或r1中。 如果ram的地址大于256,则该地址存放在16位寄存器dptr(数据指针)中,此时在寄存器名前加符号来表示这种间接寻址。如mov a, r0。 (5)变址寻址:指定的变址寄存器的内容与指令中给出的偏移量相加,所得的结果作为操作数的地址。如movc a,a+dptr (6)相对寻址:由程序计数器中的基地址与指令中提供的偏移量相加,得到的为操作数的地址。如sjmp rel (7)位寻址:操作数是二进制中的某一位,其位地址出现在指令中。如setb bit。3.1.5主电源引脚vcc(40脚):接+5v电源正端。vss(20脚):接+5v电源地端。3.1.6外接晶体引脚xtal1(19脚)和xtal2(18脚):接外部晶振的两个引脚。3.1.7 mcs-51 输入/输出引脚mcs-51单片机有4个i/o端口,共32根i/o线,4个端口都是准双向口。每个口都包含一个锁存器,即专用寄存器p0-p3,一个输出驱动器和输入缓冲器。为方便起见,我们把4个端口和其中的锁存器都统称p0-p3。在访问片外扩展存储器时,低8位地址和数据由p0口分时传送,高8位地址由p2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的i/o口使用。p0口:可作为一般的i/o口用,但应用系统采用外部总线结构时,它分时作低8位地址和8位双向数据总线用。p1口:每一位均可独立作为i/o口。p2口:可作为一般i/o口用,但应用系统采用外部系统采用总线结构时,它分时作为高8位地址线。p3口:双功能口。作为第一功能使用时同p1口,每一位均可独立作为i/o口。另外,每一位均具有第二功能,每一位的两个功能不能同时使用。3.1.8 mcs-51控制线rst/vpd(9脚):rst即为reset,vpd为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机震荡工作时,该引脚上将出现持续两个机器周期的高电平,这时可实现复位操作,使单片机回复到初始状态。当vcc发生故障,降低到低电平规定值或掉电时,该引脚上可接备用电源vpd(+5v)为内部ram供电,以保证ram中的数据不丢失。ale/prog(30脚):地址锁存有效信号输出端。ale在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存p0输出端的低八位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。 psen(29脚):片外程序存储器选通信号输出端,低电平有效。在从外部程序存储器读取指令或常数期间,每个机器周期内该信号有效两次,并通过数据总线p0口读回指令或常数。在访问片外数据存储器期间,该信号将不出现。ea/vpp(31脚): ea为片外程序存储器选通断。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。对于片内还有eprom的机型,在编程期间,此引脚用作12v编程电源vpp的输入端。3.2单片机外总线结构微型计算机大多数cpu外部都有单独的地址总线、数据总线和控制总线,而mcs51单片机由于受到芯片管脚的限制,数据线和地址线(低8位)是复用的,而且是i/o口兼用。为了将它们分离开来,以便同单片机之外的芯片正确地相连,常常在单片机外部加地址锁存器来构成与一般cpu相类似的三总线,如图3.2所示。图3.2总线结构3.3 mcs-51单片机系统扩展通常情况下,采用mcs-51系列单片机的最小系统只能用于一些很简单的应用场合,在此情况下直接使用单片机内部存储器、数据存储器、定时功能、中断功能、i/o端口等,组成的应用系统的成本较低。单片机系统扩展的方法有并行扩展法和串行扩展法两种。并行扩展法是利用单片机的三种线(ab、db、cb)进行的系统扩展;串行扩展法是利用spi三线总线或i2c双总线的串行系统扩展。但是,一般串行接口器件速度慢,在需要高速应用的场合,还是并行扩展法占主导地位。4. 硬件系统设计4.1总体设计系统控制主电路是由8031及其外围芯片,及一些辅助的部分构成的。如图4.1所示。803174ls3732764过零信号发生器8155adc0809传感检测电路温控电路电炉键盘与显示图4.1 总体设计原理图4.1.1所用到的芯片介绍(1)芯片2764的介绍:2764是8k*8字节的紫外线镲除、电可编程只读存储器,单一+5v供电,工作电流为75ma,维持电流为35ma,读出时间最大为250ns,28脚双列直插式封装。eprom 2764的外部引线如图所示。这是一块8k8bit的eprom芯片,它的引线与sram芯片6264是兼容的。这给使用者带来很大方便。因为在软件调试过程中,程序经常需要修改,此时可将程序先放在6264中,读写修改都很方便。调试成功后,将程序固化在2764中,由于它与6264的引脚兼容,所以可以把2764直接插在原6264的插座上。这样,程序就不会由于断电而丢失。eprom的一个重要优点是可以擦除重写,而且允许擦除的次数超过上万次。一片新的或擦除干净eprom芯片,其每一个存储单元的内容都是ffh。要对一个使用过的eprom进行编程,则首先应将其放到专门的擦除器上进行擦除操作。擦除器利用紫外线光照射eprom的窗口,一般经过1520min即可擦除干净。擦除完毕后可读一下eprom的每个单元,若其内容均为ffh,就认为擦除干净了。其封装引脚图如图4.1所示,其中各引脚的含义为:a0一a12:13根地址输入线。用于寻址片内的8k个存储单元。d0d7:8根双向数据线,正常工作时为数据输出线。编程时为数据输入线。oe:输出允许信号。低电平有效。当该信号为0时,芯片中的数据可由d0d7端输出。ce:选片信号。低电平有效。当该信号为0时表示选中此芯片。pgm:编程脉冲输入端。对eprom编程时,在该端加上编程脉冲。读操作时该信号为1。vpp:编程电压输入端。编程时应在该端加上编程高电压,不同的芯片对vpp的值要求的不一样,可以是+12.5v,+15v,+21v,+25v等。 图4.1 2764封装引脚图(2)可编程接口芯片8155的介绍芯片介绍:8155是intel公司研制的通用i/o接口芯片。mcs-51和8155相连不仅可为外部设备提供两个8位i/o端口(a口和b口)和一个6位(c口),而且也可为cpu提供一个256字节ram存储器和一个14位的定时器/计数器,所以8155广泛用于mcs-51系统中。8155是一个有40引脚的塑封芯片,功能较强,广泛的应用在计算机电路中。它有两个8位口a、b和一个6位口c,总共可以扩展出22条接线。它含一个可预置的计数器,计数范围从2到16383,可用于延时、计数或分频。它内部还有256字节的ram,可以补充cpu内存的不足。为了能够设置芯片的工作方式和了解芯片的状态,内部还有命令寄存器和状态寄存器。8155的引脚封装如图4.2所示,其中各功能为:cpu相连的引脚有:ce是片选信号,当ce=0时,芯片才与cpu交换信息。ce接到地址译码器上,由整个系统分配给高位地址,以保证任何时刻只有一个芯片可与cpu交换信息,不发生地址冲突;io/m是接口或内部ram寄存器的选择线。当io/m=1时,cpu是对i/o接口操作,当io/m=0时,cpu是对ram进行操作,它一般接到cpu的地址线a8上;ad0ad7为地址数据总线;ale是地址锁存信号输入线;rd、wr分别是读、写控制线;reset是复位线。当reset=1时,8155被复位。与外部设备连接的引脚有:tmrin(timerin)是计数输入线;接到待测的脉冲源;tmrout(timerout)是计数输出线;pa0pa7为a口的8位输入/输出线;pb0pb7为b口的8位输入/输出线;pc0pc5为c口的6位输入/输出线。各接口的工作方式由控制命令决定。 mcs-51单片机可以和8155直接连接而不需要任何外加逻辑器件,就可为系统增加256个字节片外ram、22位i/o口线以及一个14位定时器。p0口输出的低8位地址不必再另加锁存器,可直接与8155的ad0-ad7相连,既可作低8位地址总线,又可作数据总线。从p0口传送过来的地址信息在ale的作用下在8155内部被锁存。高8位地址由及io/的地址控制线决定,因此在图中的连接状态下,可以确定各个端口的地址:ram的地址范围:fc00hfcffh命令/状态口: fd00h; pa口: fd01h;pb口: fd02h; pc口: fd03h;定时器低8位: fd04h; 定时器高8位:fd05h8155在单片机应用系统中是16位地址数据,其高8位由片选线提供,而低8位地址为片内地址。当iom/=0时,单片机对8155内ram读/写,ram低8位编址为00ffh;当io/m=1时,单片机对8155中的i/o口进行读/写。8031与8155的连接如图和键盘显示连接图如图4.3所示 图 4.2 8155的封装引脚图图 4.3 8031与8155的连接(3)锁存器74ls373芯片介绍:74ls373为三态输出的八 d 透明锁存器,共有 54s373 和 74ls373 两种线路。其结构型式,其主要电器特性的典型值如下(不同厂家具体值有差别): 型号 tpdpd 54s373/74s373 7ns 525mw 54ls373/74ls373 17ns 120mw 74ls373 的输出端 o0o7 可直接与总线相连。 当三态允许控制端 oe 为低电平时,三态门处于导通状态,q0q7为正常逻辑状态,可用来驱动负载或总线。当 oe 为高电平时,输出三态门断开,q0q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 le 为高电平时,q 随数据 d 而变。当 le 为低电平时,d 被锁存在已建立的数据电平。当 le 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mv。 当74ls373用作地址锁存器时,首先应使三态门的使能信号oe为低电平,这时,当g端输入端为高电平时,锁存器输出(1q-8q)状态和输入端(1d-8d)状态相同;当g端从高电平返回到低电平(下降沿)时,输入端(1d-8d)的数据锁入1q-8q的八位锁存器中。当用74ls373作为地址锁存器时,它们的g端可直接与单片机的锁存控制信号端ale相连,在ale下降沿进行地址锁存。其封装引脚图如图4.4所示。其中引脚说明如下: d0d7:锁存器8位数据输入线 q0q7:锁存器8位数据输出线 gnd:接地引脚 vcc:电源引脚,5v有效 oe :片选信号引脚 g:锁存控制信号输入引脚。图 4.4 74ls373 引脚封装图(4)a/d转换器adc0809芯片介绍:adc0809是美国国家半导体公司生产的cmos工艺8通道,8位逐次逼近式a/d模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行a/d转换。是目前国内应用最广泛的8位通用a/d芯片 a 主要特性1)8路输入通道,8位a/d转换器,即分辨率为8位。 2)具有转换起停控制端。 3)转换时间为100s(时钟为640khz时),130s(时钟为500khz时) 4)单个+5v电源供电 5)模拟输入电压范围0+5v,不需零点和满刻度校准。 6)工作温度范围为-40+85摄氏度 7)低功耗,约15mw。 b 内部结构adc0809是cmos单片型逐次逼近式a/d转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型a/d转换器、逐次逼近寄存器、逻辑控制和定时电路组成。 c adc0809的工作过程首先输入3位地址,并使ale=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。start上升沿将逐次逼近寄存器复位。下降沿启动 a/d转换,之后eoc输出信号变低,指示转换正在进行。直到a/d转换完成,eoc变为高电平,指示a/d转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当oe输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 转换数据的传送 a/d转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认a/d转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1)定时传送方式 对于一种a/d转换器来说,转换时间作为一项技术指标是已知的和固定的。例如adc0809转换时间为128s,相当于6mhz的mcs-51单片机共64个机器周期。可据此设计一个延时子程序,a/d转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 a/d转换芯片由表明转换完成的状态信号,例如adc0809的eoc端。因此可以用查询方式,测试eoc的状态,即可确认转换是否完成,并接着进行数据传送。 (3)中断方式 把表明转换完成的状态信号(eoc)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,oe信号即有效,把转换数据送上数据总线,供单片机接受。adc0809芯片有28条引脚,采用双列直插式封装,如图4.5所示。下面说明各引脚功能。 in0in7:8路模拟量输入端。 2-12-8:8位数字量输出端。 adda、addb、addc:3位地址输入线,用于选通8路模拟输入中的一路 ale:地址锁存允许信号,输入,高电平有效。 start: a/d转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动a/d转换)。 eoc: a/d转换结束信号,输出,当a/d转换结束时,此端输出一个高电平(转换期间一直为低电平)。 oe:数据输出允许信号,输入,高电平有效。当a/d转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 clk:时钟脉冲输入端。要求时钟频率不高于640khz。 ref(+)、ref(-):基准电压。 vcc:电源,单一+5v。 gnd:地。图 4.5 adc0809的引脚封装图4.2程序存储器的扩展8031片内不带rom,采用8031芯片时,须扩展程序存储器。用作程序存储器的芯片主要有eprom和eeprom。由于eprom价格低廉、性能可靠,所以本次设计用eprom.eprom是紫外线可擦除电可编程的半导体只读存储器,掉电后信息不会丢失。eprom中程序一般通过专门编程器可写入。常用的eprom芯片主要有:2716、2732、2764、27128、27256等。扩展程序存储器时,一般扩展容量大于256字节,因此,除了由p0口提供低8位地址线外,还需由p2口提供若干地址线,最大的扩展范围位64k字节,即需16位地址线。具体方法是cpu应向eprom提供三种信号线。即a:数据总线:p0口接eprom的o0-o7。b:地址总线:p0口经锁存器向eprom提供地址低8位,p2口提供高8位地址以及片选线。c:控制总线:psen片外程序存储器取指令控制信号,接eprom的oe,ale接锁存器的g。ea接地。结合本次设计,选择扩展的型号为2764。8031与2764的连接图如图4.6所示。图4.6 2764与8031连接图4.3温控模块的设计温度检测元件和变送器的选择和被控温度及精度等级有关。本设计采用镍铬/镍铝热电偶,此电偶用于01000的温度测量范围。系统功能和系统的工作工程为:反映炉温的热电偶, 用于采集炉内的温度信号,将采集到的信号经冷端补偿后送运算放大器放大, 由变送器将热电偶信号(温度信号)变为电流输出,再由高精密电流/电压变换器将电流信号变为标准电压信号,将放大的电压送入采样保持器和转换电路后得到与炉温相应的数字量。具体设计为,将温度传感器输出的电流信号iin,输入到电流/ 电压转换电路,在采样电阻r1 上获得对应的电压分量vr=r1*iin,并将该值经过由r2,c1构成的带有一定延时(时间与温度传感器的响应时间相对应) 作用的低通滤波电路后,输入到放大器a1 的正相端。因为传感器输出4ma 时,在取样电阻上的电压不等于零,直接经模拟/数字转换电路转换后的数字量也不等于零,所以单片机不能直接利用,这样利用稳压管产生一个精确基准电压vref 与r3。rw1构成的可调分压电路,通过调节rw1 可以获得精确的vx=(rx/rw1)vref,该值可用于抵消4ma电流在取样电阻上产生的压降,所以当温度传感器为最小值4ma 时,a1的2 脚与3 脚之间的电压差基本为0v。与a1 相连的c2、r3、r4、r5 构成带有积分校正的放大电路,积分校正会增加系统的惯性,对变化较快的信号起阻尼作用。通过适当调整电阻就可以获得理想的比例增益,再将经过处理的温度传感器感测到的电信号vt 放大后,送入下一级的差值放大电路的负相端。系统的炉温工艺曲线经分段换算后转换为对应的电压数据,再经过进制转换后存入e2prom中。当系统投入运行后,为了实现误差测量,单片机依据时钟定时器,按一定的时间间隔将数据通过总线传至dac0832 的数据寄存器,经d/a 转换后的模拟电压vts,从运放a2 送入由a3、r6、r7、r8 和r9 构成的差值检测放大电路的正相端,与经过转换的采样电压值vt 作差,得到的差值vt放大后送入a/d转换器0809。另外,变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0-41.32mv变换成0-10ma范围内的电流;电流/电压变送器用于把毫伏变送器输出的0-10ma电流变换成0-5v范围的电压。为了提高精度,变送器可以进行零点迁移。例如:若温度测量范围为4001000,则热电偶输出为16.4mv-41.32mv,毫伏变送器零点迁移后输出0-10mv范围电流。这样,采用8位a/d转换器就可以使量化误差达到正负2.34度以内。4.4 可控硅控制电路图4.7 可控硅功输出与通断时间关系8031对温度的控制是通过可控硅调控器实现的。可控硅功输出与通断时间关系草图如图4.7所示。双向可控硅管和加热丝串联接在交流220v,50hz交流试点回路。在给定的周期t内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调节温度的目的。图3.5示出了可控硅管在给定周期t内具有不同接通时间的情况。显然,可控硅在给定周期t的100%时间内接通的功率最大。可控硅接通时间可以通过可控硅控制板上控制脉冲控制。该触发脉冲由8031用软件在p1.3引脚上产生,受过零同步脉冲后经光偶管和驱动器输送到可控硅的控制极上。偏差控制的原理是先求出史册炉温对所需炉温的偏差值,然后对偏差值处理而获得控制信号去调节电阻炉的功率,以实现对电阻炉的炉温控制。在工业上,偏差控制又称为pid控制,这是工业控制中常用的控制形式,一般能收到令人满意的效果。控制论告诉人们, pid控制的理想方程是: (4.1)式中e 测量值与给定值之间的偏差;td 微分时间:t - 积分时间; (4.2)kp 调节器的放大系数.将上式离散化得到数字pid位置式算法式中在位置式算法的基础之上得到数字pid增量式算法: (4.3)5 软件系统设计 这次程序的软件设计主要运用keil vison3软件,这个软件是德国keil software公司推出的51系列兼容单片机软件开发系统。vison3是集成的可视化windows操作界面,其提供了丰富的库函数和各种编译工具,能够对51系列单片机以及和51系列兼容的绝大部分类型的单片机进行设计。keil vison系列可以支持单片机c51程序设计语言,也可以直接进行汇编语言的设计与编译。keil vison系列的集成开发环境最高版本是vison3,版本号为v8.08。keil vison系列是一个非常优秀的编译器,受到广大单片机设计者的广泛使用。其主要特点如下:支持汇编语言、c51语言等多种单片机设计语言;可视化的文件管理,界面友好;支持丰富的产品线,除了51及其兼容内核的单片机外,还新增加了对arm内核产品的支持;具有完善的编译连接工具;具备丰富的仿真调试功能,可以仿真串口、并口、a/d、d/a、定时器/计数器以及中断等资源,同时也可以和外部仿真器联合进行在线调试;内嵌rtx-51实时多任务操作系统;支持在一个工作空间中进行多项目的程序设计。支持多级代码优化。5.1主程序 主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用,以及实际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环对外部温度进行实时显示。应当注意:由于t0被设定为计数器方式2,初值为06h,故它的溢出中断时间为250个过零同步脉冲。为了系统正常工作,t1中断服务程序的执行时间必须满足t0的制一时间要求,因为t1的中断是嵌套在t0中断之中的。主程序框图如图5.1图5.1 主程序流程图5.2 t0中断服务程序t0中断服务程序是温度控制系统的主程序,用于启动a/d转换器,读如数据采样,数字滤波,越权温度报警和处理,pid计算和输出可控硅的同步触发脉冲等。p1.3引脚上输出的该同步脉冲宽度由t1计数器的溢出中断控制,8031利用等待t1溢出中断空隙时间完成把本次采样数值转换成显示值而放入显示缓冲区和调用温度显示程序,8031从t1中断服务程序返回后便可以恢复现场和返回主程序,以等待下次t0中断。t0中断服务程序框图如图5.2所示图5.2 t0中断服务程序流程图5.3 采样子程序流程图如图5.3所示采样值始址送r0采样次数送r2所有采样结束?a/d完成?延时选同in0启动adc返 回nyny5.3采样子程序框图5.4 数字滤波程序数字滤波程序filter:用于滤去来自控制现场对采样值的干扰。本设计采用中值滤波,数字滤波程序框图如图5.4ynnyyyynyyn(2ch)送a (2ch)(2dh)?(2ch)(2dh)?(2ch)(2dh)(2dh)(2eh)?(2dh)(2eh)?(2ch)(2eh)?(2eh)(2ch)?(2ch) 送2ah返回(2eh)送2ah(2eh)送2ah(2dh) 送2ah(2dh) 送2ah n图5.4数字滤波程序框图参考文献1 蔡振江.单片机原理与应用. 北京:电子工业出版社,20082 赖寿宏.微型计算机控制技术. 北京:机械工业出版社.20033 王毓银主编.数字电路逻辑设计.北京:高等教育出版社,19994 清源计算机工作室编著.protel 99原理图与pcb及仿真. 北京:机械工业出版社,20085 索雪松等.传感器与信号处理电路.北京:中国水利水电出版社,20086 李华等.单片机实用接口技术. 北京:北京航空航天大学出版社,20027 陆子明.单片机设计与应用基础教程.北京:北京国防工业出版社,20058 孙炳达.自动控制原理.北京:机械工业出版社,20089 沙占友.王晓君.数字化测量.北京:机械工业出版社,200910 李广弟.单片机基础.北京:北京航空航天大学出版社,2001致谢三

温馨提示

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

评论

0/150

提交评论