温度控制系统的设计_第1页
温度控制系统的设计_第2页
温度控制系统的设计_第3页
温度控制系统的设计_第4页
温度控制系统的设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、数理与信息工程单片机原理及应用期末课程设计温度控制设计 数理与信息工程学院单片机原理及应用期末课程设计 题 目: 温度控制系统的设计 专 业: 电子信息工程 班 级: 电信041班 姓 名: 杨永铎 学 号: 04610127 指导老师: 余 水 宝 成 绩: 9 下载,格式差 ( 2007.1 )目录第1节 引言 3第2节 硬件电路设计 4 2.1 温度检测和变送器 42.2 接口电路 42.3 温度控制电路 9第3节 软件的设计 113.1软件总体流程图 113.2 部分程序 12 3.2.1 LED数码管的显示程序 12 3.2.2 8031的主程序 12 3.2.3 复位设置 13 3

2、.2.4 8155的主程序 13第4节 温度控制的算法 144.1温度控制算法 144.2温度控制程序框图 14 4.2.1主程序框图14 4.2.2中断服务程序框图14 4.2.3主要子服务程序框图14 4.2.4 其它控制算法 16第5节 系统调试与测试结果分析 175.1系统调试 17 5.1.1软件调试 1 7 5.1.2硬件调试 17 5.1.3软硬件联调 17第6节 结束语 19参考文献 20温度控制系统的设计数理与信息工程学院 04电子信息工程 杨永铎指导教师:余水宝 第1节 引 言自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的

3、控制类型之一。随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向, 电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。本文以它为例进行介绍,希望能收到举一反三和

4、触类旁通的效果。所以来说温度控制在我们的日常生活当中是非常有用的,我们利用温度控制来更好的为我们的生活工作所服务,提高我们的生活质量。当然本次温度控制的设计也有不足之处,相信在不久的以后,随着单片机行业的迅速发展,将会有更好的温度控制仪的出现。摘要:自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们

5、都需要对工业及日常生活中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。关键字:MCS-51单片机;温度;软硬件;硬件原理图;程序框图;第2节 硬件电路设计以热电偶为检测元件的单片机温度控制系统电路原理图如图1所示。2.1 温度检测和变送器    温度检测元件和变送器的类型选择与被控温度的范围和精度

6、等级有关。镍铬/镍铝热电偶适用于0-1000的温度检测范围,相应输出电压为0mV-41.32mV。    变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0mV-41.32mV变换成4mA-20mA的电流;电流/电压变送器用于把毫伏变送器输出的4mA-20mA电流变换成0-5V的电压。    为了提高测量精度,变送器可以进行零点迁移。例如:若温度测量范围为500-1000,则热电偶输出为20.6mV-41.32mV,毫伏变送器零点迁移后输出4mA-20mA范围电流。这样,采用8位A/D转换器就

7、可使量化温度达到1.96以内。2.2接口电路    接口电路采用MCS-51系列单片机8031,8031芯片是MCS-51系列单片机是美国Intel公司开发的8位单片机,又可以分为多个子系列。MCS-51系列单片机共有40条引脚,包括32条I/O接口引脚、4条控制引脚、2条电源引脚、2条时钟引脚。引脚说明: P0.0P0.7:P0口8位口线,第一功能作为通用I/O接口,第二功能作为存储器扩展时的地址/数据复用口P1.0P1.7:P1口8位口线,通用I/O接口无第二功能。P2.0P2.7:P2口8位口线,第一功能作为通用I/O接口,第二功能作为存储器扩展时

8、传送高8位地址。 P3.0P3.7:P3口8位口线,第一功能作为通用I/O接口,第二功能作为为单片机的控制信号。ALE/ PROG:地址锁存允许/编程脉冲输入信号线(输出信号)PSEN:片外程序存储器开发信号引脚(输出信号)>。EA/Vpp:片外程序存储器使用信号引脚/编程电源输入引脚。RST/VPD:复位/备用电源引脚外围扩展并行接口8155,程序存储器EPROM2764,模数转换器ADC0809等芯片。    由图1可见,在P2.0=0和P2.1=0时,8155选中它内部的RAM工作;在P2.0=1和P2.1=0时,8155选中它内部的三个I/

9、O端口工作。相应的地址分配为:0000H - 00FFH     8155内部RAM0100H            命令/状态口0101H     A 口0102H     B 口0103H     C 口0104H 

10、           定时器低8位口0105H    定时器高8位口    8155A芯片是Intel公司生产的可编程输入输出接口芯片,它具有3个8位的并行I/O口,具有三种工作方式,可通过程序改变其功能,因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。8155有三种基本工作方式,三种工作方式由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供.三个端口中PC口被分为两个

11、部分,上半部分随PA口称为A组,下半部分随PB口称为B组.其中PA口可工作与方式0、1和2,而PB口只能工作在方式0和1。8155共有40个引脚,采用双列直插式封装,各引脚功能如下:D0-D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。CS:片选信号线,低电平有效,表示芯片被选中。RD:读出信号线,低电平有效,控制数据的读出。WR:写入信号线,低电平有效,控制数据的写入。Vcc:+5V电源。A0-PA7:A口输入/输出线。PB0-PB7:B口输入/输出线。PC0-PC7:C口输入/输出线。RESET:复位信号线。A1、A0:地址线,用来选择8155内部端口。GND:地线。 815

12、5用作键盘/LED显示器接口电路。图2中键盘有30个按键,分成六行(L0-L5)五列(R0-R4),只要某键被按下,相应的行线和列线才会接通。图中30个按键分三类:一是数字键0-9,共10个;二是功能键18个;三是剩余两个键,可定义或设置成复位键等。为了减少硬件开销,提高系统可靠性和降低成本,采用动态扫描显示。A口和所有LED的八段引线相连,各LED的控制端G和8155C口相连,故A口为字形口,C口为字位口,8031可以通过C口控制LED是否点亮,通过A口显示字 图1 单片机温度控制系统电路原理图图2  8155用作键盘/LED显示器接口电路2764是8K 

13、60;EPROM型器件。8031的PSEN和2764的OE相连,P2.5和CE相连,所以2764的地址空间为:0000H-1FFFH,ADC0809的0通道(IN0  其他输入端可作备用)和变送器的输出端相连,所以从通道0(IN0)上输入的0V-+5V范围的模拟电压经A/D转换后可由8031通过程序从P0口输入到它的内部RAM单元,在P2.2=0和WR=0时,8031可使ALE和START变为高电平而启动ADC0809工作;在P2.2=0和RD=0时,8031可以从ADC0809接收A/D转换后的数字量。也就是说ADC0809可以视为8031的一个外部RAM单元,地址为03

14、F8H(地址重复范围很大),因此,8031执行如下程序可以启动ADC0809工作。MOV DPTR,#03F8HMOVX DPTR,A若8031执行下列程序:MOV DPTR,#03F8HMOVX A,DPTR2.3温度控制电路    8031对温度的控制是通过双向可控硅实现的。如图一所示,双向可控硅管和加热丝串接在交流220V、50Hz市电回路。在给定周期T内,8031只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。    可控硅接通时间可以通过可控硅

15、控制极上触发脉冲控制。该触发脉冲由8031用软件在P1.3引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控制极上。温控系统主要由温度传感器、温度调节仪、执行装置、被控对象四个部分组成,其系统结构图如图3所示: 图3 温度控制系统第3节 软件的设计硬件平台结构一旦确定,大的功能框架即形成。软件在硬件平台上构筑,完成各部分硬件的控制和协调。系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进行全面测试也是检验错误排除

16、故障的重要手段。由于编程多涉及到数值运算,比较复杂,还有LCD的菜单界面设计都是需要多重选择判断,用我们平时常用的汇编语言编程是很难实现的,这里我们选用了移值性好、结构清晰、我使用汇编语言来实现编程。3.1 软件总体流程图软件总体设计主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,包括扫描键盘和液晶的初始化,启动无线接收模块,发送显示数据,同时对键盘进行扫描,等待外部中断,程序的流程图如4所示 图4 流程图3.2部分程序如下3.2.1 LED数码管的显示程序 六个数码管的点亮的程序如下DISPLAY: MOV R1,#70H ;#70放R1中 MOV R5,#0

17、FEH PLAY: MOV A,R5 MOV P3,A MOV A,R1 R1中的数据放A中 MOV DPTR,#TAB MOVCA,A+DPTR MOV P1,A 点亮P1 LCALL DL1MS ;跳转 INC R1 MOV A,R5 JNB ACC.5,ENDOUT RL A MOV R5,A AJMP PLAY ;跳转 ENDOUT: SETB P3.5 MOV P1,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH3.2.2 8031的主程序 START: MOV R0, #70H ;#70放R0中

18、 MOV R7, #0BH CLEARDISP: MOV R0, #00H INC R0 DJNZ R7, CLEARDISP MOV 20H, #00H MOV 7AH, #0AH MOV TMOD, #11H MOV TL0, #0B0H ;置数 MOV TH0, #3CH MOV TL1, #0B0H MOV TH1, #3CH SETB EA ;开通 SETB ET0 SETB TR0 MOV R4, #14H START1: LCALL DISPLAY JNB P3.7, SETMM1 SJMP START1 SETMM1: LJMP SETMM 3.2.3 复位设置CLR0: CL

19、R A MOV R0,A DEC R0 MOV R0,A RET 3.2.4 8155的主程序ORG    0030H    AJMP    MAIN MAIN:    CALL    DELAY6MS     MOV    A,#02H        00000010

20、表示:PC,PA口输入,PB口输出                                               &

21、#160;                         MOV    DPTR,#0A300H    ;8155的状态端口地址     MOVX    DPTR,A  

22、0;          CALL    DELAY6MS     MOV    DPTR,#0303H     MOVX    A,DPTR     CJNE    #0FFH    BAO

23、JING     AJMP    MAIN BAOJING:     CLR    P1.6     RET       DELAY6MS:    /*延时6MS的子程序*/DEL:    MOV    R7,#24DE

24、L1:    MOV    R6,#125DEL2:    DJNZ    R6,DEL2        125*2=250US    DJNZ    R7,DEL1        0.25*24=6

25、MS    RET END第4节 温度控制的算法4.1温度控制算法    通常,电阻炉温度控制都采用偏差控制法。偏差控制的原理是先求出实测温度对所需温度的偏差值,然后对偏差值处理获得控制信号去调节电阻炉的加热功率,以实现对温度的控制。在工业上,偏差控制又称PID控制,这是工业控制过程中应用最广泛的一种控制形式,一般都能收到令人满意的效果。4.2温度控制程序框图   温度控制程序的设计应考虑如下:1)键盘扫描、键码识别和温度显示;2)温度采样、数字滤波;3)数据处理;4)越限报警和处理;

26、5)PID计算、温度标度转换4.2.1主程序框图    主程序包括8031本身的初始化、并行接口8155初始化等等。大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、T0初始化、CPU开中断、温度显示和键盘扫描等程序。4.2.2中断服务程序框图    T0中断服务程序是温度控制系统的主体程序,用于启动数/模转换器、读入采样数据、数字滤波、越限温度报警和越限处理、PID计算和输出可控硅的触发脉冲等。P1.3引脚上输出的该同步触发脉冲宽度由T1计数器的溢出中断控制,8031利用等待T1溢出中断的空闲时间(形成

27、P1.3输出脉冲顶宽)完成把本次采样值转换成显示值而放入显示单元缓冲区和调用温度显示程序。8031从T1中断服务程序返回后即可恢复现场和返回主程序。4.2.3主要子服务程序框图    主要服务子程序包括温度检测采样及数字滤波子程序、带符号双字节乘法子程序和标度转换子程序目的是把实际采样取得的二进制值转换成BCD码形式的温度值,然后存放到显示缓冲区中,供显示子程序调用。图 5 中断服务程序框图 对于一般线性仪表来说,标度转换公式为:Tx=A0 + (Am-A0)     其中,

28、A0为一次测量仪表的下限; Am为一次测量仪表的上限;Vx 为实际测量值(工程量);Vm为仪表上限对应的数字量; V0为仪表下限对应的数字量。4.2.4 其它控制算法不同的控制对象,所采用的算法有所不同。例如对于热惯性大、时间滞后明显、耦合强、难于建立精确数学模型的大型立式淬火炉,可以采用人工智能模糊控制算法,通过对淬火炉电热元件通断比的调节,实现对温度的自动控制,也可以采用仿人智能控制(SHIC)算法和PID控制算法的联合控制方案,实际应用时应灵活运用。第5节 系统调试与测试结果分析5.1系统调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,

29、软件调试和软硬件联调。5.1.1软件调试 该系统的软件调试主要针对单片机系统部分。我们利用Keilc51环境对编号的程序进行程序调试,编译正确的程序之后再利用编程器将调试好的程序固化到AT89C2051单片机中。5.1.2 硬件调试电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行由于在系统设计中采用模块化设计,对各电路功能模块的逐级测试。最后将各模块组合后在交道口模型上进行整体测试,使系统的所有功能得以实现。调试的基本过程如下:1最重要的当然是检查线路应焊接无误。 2.对电源电路进行调试。调试的方法是:断

30、开负载,用万用表测量78L05的3脚应有+5V电压。3.对拨号音频部分进行调试。 4.、对拨号音频进行调试。5、先不装8031单片机,用短路线把U1插座的12脚接地,调整VD1和VD7的安装位置和角度,测量U1插座的2脚电压。当VD1和VD7之间无遮挡时2脚电压为0伏,有遮挡时为+5伏。用相同方法反复调整其他几对红外收发管的位置和角度。使U1插座的3、6、7、8、9各脚的电压符合要求。5.1.3 软硬件联调系统做好后,进行系统的完整调试,检验实现的功能。将固化好程序的8031插入电路中的U1插座上,接上电源看是否能够正常工作。 MCS-51单片机,体积小,重量轻,抗干扰能力强,对环境要求不高,

31、价格低廉,可靠性高,灵活性好,即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。本文的温度控制系统,只是单片机广泛应用于各行各业中的一个应用,相信不久的将来单片机的应用更加广泛化。单片机因为使用灵活、结构简单、体积小、成本低而在工业和生活中得到广泛应用,也正是因此,它的硬件资源很有 限,寻址和计算机能力都远低于PC机,显示方面更受限制。人们不满足单片机系统采用LED数码管的简单显示,根据单片机的特点,开发出了很多种显示方法。按程序执行过程,逐个调试各子程序,并观察结果。调节电位器,改变输入电压值,A/D转换结果由P1口输出到

32、8个LED,可观察到A/D转换运行正常。在A中设定随机值进行十六进制转十进制,子程序运行正常和数码管显示子程序运行正常。主程序中调用各个子程序并改变模拟温度输入值及设定值,处理指示灯正常,主程序运行正常。调试成功。.写程序时养成注释的好习惯写注释是为了便于理解软件编写的思路,不仅为自己看,也为别人看一个完全没有注释的汇编程序将会让人读起来十分的费解。而你自己,当你在三个月后再来看这个程序时,可能当时的构思与想法都忘了,届时你一定会统一程序及上一些必要的注释绝对是必要的。作为熟练掌握51的一个基础,应当熟记51复位后各寄存器的状态,这将对编程产生影响,因为有时在程序中需要在复位后立即对某些寄存器

33、写入控制字。有些则不需要。写程序时应当注意精简,用更简短的指令,实现相同的功能。当程序很多,空间不够时,有时只差几个字节,这时作用就会显现出来了。但这要求编程人员对程序有全局的理解。查表指令的原理:以DPTR为底地址,以累加器A的值为偏移量(索引值)得到一个地址,然后取出其中的内容,完成一次查表。写汇编程序能够训练一个人具有更周密的思路和处理能力,由于汇编语言属于最底层的程序语言,若处理不当时,对控制系统的杀伤力最大,而且排错时间最长,并不适合发展大型的应用程序。学完汇编应该立即学会用高级语言编写程序,提高效率。当51程序出现非我们预期的结果时,不要先怀疑硬件,依照统计,当系统不工作时,有80

34、%以上的几率是程序有漏洞,10%是整合时的程序有问题,最后的10%才是硬件的问题。不过硬件问题中的一半,可以用软件来克服,所以系统有问题时,总体来讲95%是软件的问题。关于指令执行时间的计算(如计算延时时间)例:      DELAY : MOV  RO, #00H          DLY   : MOV  R1, #00H    &#

35、160;     $     : DJNZ R1, $                  DJNZ RO, DLY                  RET假设晶振威11.0592MHZ,每个clock要0.09us,内循环执行256次,为加第一次设置R1,共用了256*24+12=6156 clock外循环也是256次,外加第一次设置R0,共用了256*6156=1

温馨提示

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

评论

0/150

提交评论