温度控制系统的设计

  • 格式:doc
  • 大小:409.50 KB
  • 文档页数:20

数理与信息工程学院《单片机原理及应用》期末课程设计题目:温度控制系统的设计专业:电子信息工程班级:电信041班姓名:杨永铎学号:04610127指导老师:余水宝成绩:9 下载,格式差( 2007.1 )目录第1节引言 (3)第2节硬件电路设计 (4)2.1 温度检测和变送器 (4)2.2 接口电路 (4)2.3 温度控制电路 (9)第3节软件的设计 (11)3.1软件总体流程图 (11)3.2 部分程序 (12)3.2.1 LED数码管的显示程序 (12)3.2.2 8031的主程序 (12)3.2.3 复位设置 (13)3.2.4 8155的主程序 (13)第4节温度控制的算法 (14)4.1温度控制算法 (14)4.2温度控制程序框图 (14)4.2.1主程序框图 (14)4.2.2中断服务程序框图 (14)4.2.3主要子服务程序框图 (14)4.2.4 其它控制算法……………………………………………………16第5节系统调试与测试结果分析 (17)5.1系统调试 (17)5.1.1软件调试…………………………………………………………… 1 75.1.2硬件调试 (17)5.1.3软硬件联调 (17)第6节结束语 (19)参考文献 (20)温度控制系统的设计数理与信息工程学院 04电子信息工程杨永铎指导教师:余水宝第1节引言自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。

随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。

采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。

所以来说温度控制在我们的日常生活当中是非常有用的,我们利用温度控制来更好的为我们的生活工作所服务,提高我们的生活质量。

当然本次温度控制的设计也有不足之处,相信在不久的以后,随着单片机行业的迅速发展,将会有更好的温度控制仪的出现。

摘要:自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。

随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对工业及日常生活中的温度进行检测和控制。

采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。

关键字:M CS-51单片机;温度;软硬件;硬件原理图;程序框图;第2节硬件电路设计以热电偶为检测元件的单片机温度控制系统电路原理图如图1所示。

2.1 温度检测和变送器温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。

镍铬/镍铝热电偶适用于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转换器就可使量化温度达到1.96℃以内。

2.2接口电路接口电路采用MCS-51系列单片机8031,8031芯片是MCS-51系列单片机是美国Intel公司开发的8位单片机,又可以分为多个子系列。

MCS-51系列单片机共有40条引脚,包括32条I/O接口引脚、4条控制引脚、2条电源引脚、2条时钟引脚。

引脚说明:P0.0~P0.7:P0口8位口线,第一功能作为通用I/O 接口,第二功能作为存储器扩展时的地址/数据复用口P1.0~P1.7:P1口8位口线,通用I/O接口无第二功能。

P2.0~P2.7:P2口8位口线,第一功能作为通用I/O接口,第二功能作为存储器扩展时传送高8位地址。

P3.0~P3.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/O端口工作。

相应的地址分配为:0000H - 00FFH 8155内部RAM0100H 命令/状态口0101H A 口0102H B 口0103H C 口0104H 定时器低8位口0105H 定时器高8位口8155A芯片是Intel公司生产的可编程输入输出接口芯片,它具有3个8位的并行I/O口,具有三种工作方式,可通过程序改变其功能,因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。

8155有三种基本工作方式,三种工作方式由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供.三个端口中PC口被分为两个部分,上半部分随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:地线。

8155用作键盘/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 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单元,地址为03F8H(地址重复范围很大),因此,8031执行如下程序可以启动ADC0809工作。

MOV DPTR,#03F8HMOVX @DPTR,A若8031执行下列程序:MOV DPTR,#03F8HMOVX A,@DPTR2.3温度控制电路8031对温度的控制是通过双向可控硅实现的。

如图一所示,双向可控硅管和加热丝串接在交流220V、50Hz市电回路。

在给定周期T内,8031只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。

可控硅接通时间可以通过可控硅控制极上触发脉冲控制。

该触发脉冲由8031用软件在P1.3引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控制极上。

温控系统主要由温度传感器、温度调节仪、执行装置、被控对象四个部分组成,其系统结构图如图3所示:图3 温度控制系统第3节软件的设计硬件平台结构一旦确定,大的功能框架即形成。

软件在硬件平台上构筑,完成各部分硬件的控制和协调。

系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。

因此,软件是本系统的灵魂。

软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。

同时,对软件进行全面测试也是检验错误排除故障的重要手段。

由于编程多涉及到数值运算,比较复杂,还有LCD的菜单界面设计都是需要多重选择判断,用我们平时常用的汇编语言编程是很难实现的,这里我们选用了移值性好、结构清晰、我使用汇编语言来实现编程。

3.1 软件总体流程图软件总体设计主要完成各部分的软件控制和协调。

本系统主程序模块主要完成的工作是对系统的初始化,包括扫描键盘和液晶的初始化,启动无线接收模块,发送显示数据,同时对键盘进行扫描,等待外部中断,程序的流程图如4所示图4 流程图3.2部分程序如下3.2.1 LED数码管的显示程序六个数码管的点亮的程序如下DISPLAY: MOV R1,#70H ;#70放R1中MOV R5,#0FEHPLAY: MOV A,R5MOV P3,AMOV A,@R1 R1中的数据放A中MOV DPTR,#TABMOVC A,@A+DPTRMOV P1,A 点亮P1LCALL DL1MS ;跳转INC R1MOV A,R5JNB ACC.5,ENDOUTRL AMOV R5,AAJMP PLAY ;跳转ENDOUT: SETB P3.5MOV P1,#0FFHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH 3.2.2 8031的主程序START: MOV R0, #70H ;#70放R0中MOV R7, #0BHCLEARDISP: MOV @R0, #00HINC R0DJNZ R7, CLEARDISPMOV 20H, #00HMOV 7AH, #0AHMOV TMOD, #11HMOV TL0, #0B0H ;置数MOV TH0, #3CHMOV TL1, #0B0HMOV TH1, #3CHSETB EA ;开通SETB ET0SETB TR0MOV R4, #14HSTART1: LCALL DISPLAYJNB P3.7, SETMM1SJMP START1SETMM1: LJMP SETMM3.2.3 复位设置CLR0: CLR AMOV @R0,ADEC R0MOV @R0,ARET3.2.4 8155的主程序ORG 0030HAJMP MAINMAIN:CALL DELAY6MSMOV A,#02H ;00000010表示:PC,PA口输入,PB口输出MOV DPTR,#0A300H ;8155的状态端口地址MOVX @DPTR,ACALL DELAY6MSMOV DPTR,#0303HMOVX A,@DPTRCJNE #0FFH BAOJINGAJMP MAINBAOJING:CLR P1.6RETDELAY6MS: /*延时6MS的子程序*/DEL:MOV R7,#24DEL1:MOV R6,#125DEL2:DJNZ R6,DEL2 ;125*2=250USDJNZ R7,DEL1 ;0.25*24=6MSRETEND第4节温度控制的算法4.1温度控制算法通常,电阻炉温度控制都采用偏差控制法。