毕业设计基于AT89S52单片机的温度控制系统设计.docx

上传人:b****6 文档编号:8155556 上传时间:2023-01-29 格式:DOCX 页数:20 大小:181.33KB
下载 相关 举报
毕业设计基于AT89S52单片机的温度控制系统设计.docx_第1页
第1页 / 共20页
毕业设计基于AT89S52单片机的温度控制系统设计.docx_第2页
第2页 / 共20页
毕业设计基于AT89S52单片机的温度控制系统设计.docx_第3页
第3页 / 共20页
毕业设计基于AT89S52单片机的温度控制系统设计.docx_第4页
第4页 / 共20页
毕业设计基于AT89S52单片机的温度控制系统设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

毕业设计基于AT89S52单片机的温度控制系统设计.docx

《毕业设计基于AT89S52单片机的温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《毕业设计基于AT89S52单片机的温度控制系统设计.docx(20页珍藏版)》请在冰豆网上搜索。

毕业设计基于AT89S52单片机的温度控制系统设计.docx

毕业设计基于AT89S52单片机的温度控制系统设计

单片机原理与应用课程设计说书

题目:

基于AT89S52单片机的温度控制系统

系部:

信息与控制工程学院

专业:

自动化

班级:

5班

学生姓名:

学号:

08032130327

指导教师:

 

2011年06月22日

目录

1设计内容与要求1

2设计方案2

3硬件电路设计3

3.1温度显示功能3

3.2按键功能4

3.3报警功能4

3.4温度传感器4

3.5放大器4

3.6ADC转换器5

3.7温度控制5

3.8其他可扩展电路6

4软件设计6

4.1主程序流程图7

4.2中断服务程序7

4.3键盘管理模块9

4.4温度检测模块9

4.5温度控制模块10

4.6显示模块11

4.7温度越限报警模块11

5软硬件调试13

5.1硬件调试13

5.2软件调试13

6总结14

7附录15

8参考文献18

 

1设计内容与要求

用AT89S52单片机制作一个电烤箱,而且要满足以下技术指标:

(1)电烤箱由1kW电炉加热,最高温度为120℃。

(2)电烤箱温度可设置,电烤过程恒温控制,温度控制误差≤±2℃。

(3)实时显示温度和设置温度,显示精确到1℃。

(4)温度超出预置温度±5℃时发超限报警,对升降温过程的线性不做要求。

 

2设计方案

产品的工艺不同,控制温度的精度也不同,因而所采用的控制算法也不同。

就温度控制系统的动态特性来讲,基本上都是具有纯滞后的一阶环节,当系统精度及温控的线性性能要求较高时,多采用PID算法或达林顿算法来实现温度控制。

本系统是一个典型的闭环控制系统。

从技术指标可以看出,系统对控制精度的要求不高,对升降温过程的线性也没有要求,因此,系统采用最简单的通断控制方式,即当电烤箱温度达到设定值时断开加热电炉,当温度降到低于某值时接通电炉开始加热,从而保持恒温控制。

根据系统要求,画出控制电烤箱的框图。

如图2-1所示。

该系统包括温度测量(温度传感器、放大器、ADC转换器)。

温度控制(光电隔离、驱动电路、可控硅电路、电炉)、温度给定(按键)、温度显示和报警等几部分。

 

图2-1电烤箱总框图

AT89S52是ATMEL所生产的一种低功耗、高性能CMOS8位微控制器,具有8k系统可编程Flash存储器,其芯片内部具有时钟振荡器及8个向量中断源,内部程序存储器为8KB,内部数据存储器为256字节。

 

 

3硬件电路设计

根据图3-1,可以设计出基于单片机控制电烤箱的硬件电路图,如图2-2所示,AT89S52的晶振频率为6MHz。

其他各部分的选择如下所示。

 

图3-1硬件电路图

3.1温度显示功能

温度显示电路,利用单片机串行口外接移位寄存器74LS164,采用3位LED数码显示器,停止加热时显示设定温度,启动加热时显示当前烤箱温度。

采用串行口扩展的静态显示电路作为显示接口电路。

3.2按键功能

为使系统简单紧凑,键盘只设置3个功能键,分别是启动、“百位+1”、“十位+1”和“个位+1”键,由P1口P1.0、P1.1、P1.2低3位作为键盘接口。

利用+1按键可以分别对预置温度的百位、十位和个位进行加1设置,并在LED上显示当前设置值。

连续按动相应位的加1键即可实现0℃~120℃的温度设置。

按键电路如图3-2所示。

图3-2按键电路

3.3报警功能

报警功能由蜂鸣器实现。

当由于意外因素导致烤箱温度高于设置温度时,P1.3口送出的低电平经反向器驱动蜂鸣器鸣叫报警。

3.4温度传感器

采用AD590集成温度传感器,它测量温度的范围为-55~+150℃,有非常好的线性输出特性。

其中AD590是美国ANALOGDEVICES公司的单片集成两端感温电流源,电源电压范围为4~30V,可以承受44V正向电压和20V反向电压,因而器件即使反接也不会被损坏,输出电阻为710mΩ,精度高,非线性误差仅为±0.3℃。

 AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。

3.5放大器

放大器采用集成运算放大器µA741,741运算放大器的输出级由NPN晶体管以及两个电阻组成,主要的功能是电压位准移位器,或是Vbe的倍增器。

由于基极端的偏压已经固定,因此晶体管集极至射极端的压降恒为一定值。

运算放大器的输出级电压摆幅最高约可比正电源低1V,由晶体管的集极-射极饱和电压。

虽然741运算放大器的输出阻抗不如理想运算放大器所要求的等于零,不过在连接成负回授组态应用时,其输出阻抗确实非常接近零。

虽然早期741运算放大器在音响设备或是仪器上被广泛使用,但是今日已经有很多性能更好的运算放大器取代了741的功能,例如抗噪声的表现更好。

对于741与其他早期的运算放大器而言,它们的共模抑制比逊于现代的运算放大器,在实际应用时容易造成干扰或是噪音。

3.6ADC转换器

A/D转换器件的选择主要取决于温度的控制精度。

本系统要求温度控制误差≤±2℃,采用8位A/D转换器,其最大量化误差为+-0.2℃,完全能够满足精度要求。

这里我们采用ADC0809作为A/D转换器。

电路设计好后,调整变送器的输出,使0℃~500℃的温度变化对应于0~4.9V的输出,则A/D转换对应的数字量为00H~FAH,即0~250,则转换结果乘以2正好是温度值。

用这种方法一方面可以减少标度转换的工作量,另一方面还可以避免标度转换带来的计算误差。

 ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

是目前国内应用最广泛的8位通用A/D芯片。

主要特性为8路输入通道,8位A/D转换器,即分辨率为8位;具有转换起停控制端;转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时);模拟输入电压范围0~+5V,不需零点和满刻度校准;工作温度范围为-40~+85摄氏度;单个+5V电源供电;低功耗,约15mW。

ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图3-2所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。

图3-2ADC0809内部结构图和外部引脚图

3.7温度控制

电烤箱控制采用可控硅来实现,双向可控硅和电炉电阻丝串接在交流220V市电回路中。

单片机的P1.4口通过光电隔离器MOC3011和驱动电路送到可控硅的控制端,由P1.4口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。

光电隔离器MOC3011对输入、输出电信号起隔离作用,光耦合器一般由三部分组成:

光的发射、光的接收及信号放大。

输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。

这就完成了电—光—电的转换,从而起到输入、输出、隔离的作用。

由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。

又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。

3.8其他可扩展电路

对于要求更高的系统,在现有电路的基础上,还-可以视需要自行扩展以下接口电路:

实时时钟电路:

连接实时时钟芯片DS12887可以获得长的采样周期,显示年、月、日、时、分、秒,而其片内带有的114B非易失性RAM,可用来存入需长期保存但有时也需变更的数据。

如采样周期、PID控制算法的系数KP、KI、KD等;“看门狗”电路:

连接集成监控芯片MAX705可实现对主电源VCC的监控,提高系统的可靠性。

4软件设计

单片机资源分配情况。

数据存储器的分配与定义见表4.1。

表4.1

地址

功能

初始化值

40H

当前检测温度,高位在前

00H

41H

预置温度

OOH

42H~44H

BCD码显示缓冲区百位、十位、个位

OOH

45H

二进制显示缓冲区,高位在前

00H

50H以后

堆栈

PSW.5

报警允许标志F0=0时禁止

0

程序存储器:

EPROM2764的地址范围为0000H~1FFFH

I/O口:

P1.0~P1.2——键盘输入;P1.3、P1.4——报警控制和电炉控制。

A/D转换器0809:

通道0~通道7的地址为7FF8H~7FFFH,使用通道0。

4.1主程序流程图

主程序采用中断嵌套方式设计,各功能模块可直接调用。

主程序完成系统的初始化,温度预置及其合法性检测,预置温度的显示及定时器0设置,流程图如图4-1所示。

程序为程序一。

图4-1主程序流程图

4.2中断服务程序

中断由T0产生,每隔5秒中断一次。

功能:

温度检测;A/D转换;读入采样数据;数字滤波;朝鲜温度报警;温度控制;显示。

流程图如图4-2所示。

程序为程序二。

 

图4-2中断程序流程图

4.3键盘管理模块

上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和启动键。

程序设有预置温度合法检测报警,当预置温度超过500℃时会报警并将温度设定在500℃。

键盘管理子程序流程如如图4-3所示,程序为程序三。

 

图4-3按键管理子程序流程图

4.4温度检测模块

A/D转换采用查询方式。

为提高数据采样的可靠性,对采样温度进行数字滤波。

数字滤波的算法很多,这里采用4次采样取平均值的方法。

如前所述,本系统A/D转换结果乘2正好是温度值,因此,4次采样的数字量之和除以2就是检测的当前温度。

检测结果存入40H。

温度检测子程序流程图如图4-4所示。

程序为程序四。

 

 

图4-4温度检测子程序流程图

4.5温度控制模块

将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电炉保持原来状态;当前温度降低到比预置温度低2℃时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。

由于电炉开始加热时,当前温度可能低于报警下限,为了防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志F0。

模块流程见图4-5。

程序见程序五。

 

 

图4-5温度控制子程序流程图

4.6显示模块

显示子程序的功能是将显示缓冲区45H的二进制数据先转换成三个BCD码,分别存入百位、十位和个位显示缓冲区(42H、43H和44H单元),然后通过串口送出显示。

程序见程序六。

4.7温度超限报警模块

报警上限温度值为预置温度+5℃,即当前温度上升到高于预置温度+5℃时报警,并停止加热;报警下限温度值为预置温度-5℃,即在当前温度下降到低于预置温度-5℃,且报警允许时报警,这是为了防止开始从较低温度加温时误报警。

报警的同时也关闭电炉。

图4-6为报警子程序流程图。

程序见程序七。

 

 

图4-6

图4-5报警子程序流程图

5软硬件调试

5.1硬件调试

硬件的调试主要是把电路各种参数调整到符合设计要求。

具体步骤如下:

(1)先排除硬件电路故障,包括设计型错误和工艺性故障。

一般原则实现静态后动态。

利用万用表或逻辑测试仪器,检查电路中的各器件以及引脚连接是否正确,是否有短路故障。

首先将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后用万用表测试各电源电压,若这些都没有问题,则接上仿真机进行联机调试观察个接口线路是否正常。

(2)各模块电路的调试。

①温度测量模块电路:

放大器先调零(调整电阻22千欧姆),然后调整放大器的输出,是0~60℃的温度变化对应于放大器的输出0~4.9∨,可利用冰箱进行调试。

②控制模块电路:

人为地将P1.4端接地(低电平),观察掉烤箱是否通电。

5.2软件调试

软件调试是利用仿真工具进行在线仿真调试,除发现和解决程序错误外,也可以发现硬件故障。

程序调试一般是一个模块一个模块的进行,一个子程序一个子程序的调试,最后连起来统调。

在单片机上把个模块分别进行调试使其正确无误,可以用系统编程器将系统固化到AT89S52的FLASHROM忠,接上电源脱机运行。

为了保证软件运行的稳定可靠,在软件中可以采用加软件陷阱和看门狗的方法,避免程序跑飞。

 

6总结

本设计使用AT89S52作为主控芯片进行控制,AT89S52芯片具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰性强和使用方便等独特优点,在数字、智能化方面有广泛的用途。

本系统是一个典型的闭环控制系统,采用最简单的通断控制方式,即当电烤箱温度达到设定值时断开加热电炉,当温度降到低于某值时接通电炉开始加热,从而保持恒温控制。

通过我们两个星期的坚持不懈的努力和老师的谆谆教导,我们终于完成了这个设计。

进过反复的调试,我们基本上完成了本设计所要求的目标。

这次设计激起了我们对这门课程浓厚的兴趣,立志发奋学好单片机。

同时,让我们也感到了平时所学知识的不足,在做设计的时候运用知识不够灵活。

最后,我要感谢同学们给我的各个方面的帮助和老师给我循序渐进的引导。

我将记住你们的帮助,学好单片机这门课程。

 

7附录

程序一:

ORG0000H

AJMPMAIN

ORG000BH

AJMPTT0

ORG0100H

MAIN:

MOVSP,#50H

MOV40H,#00H

MOV41H,#00H

MOV42H,#00H

MOV43H,#00H

MOV44H,#00H

MOV45H,#00H

MOVTMOD,#01H

MOVTL0,#B0H

MOVTH0,#3CH

SETBTR0

MOVIE,#82H

MOVR5,#100

LOOP:

ACALLKIN

SJMPLOOP

程序二:

;中断服务子程序TT0

TT0:

PUSHPSW

PUSHACC

PUSHR5

MOVTL0,#0BH

MOVTH0,#3CH

DJNZR5,LPP

MOVR5,#100

ACALLTADC;调用温度检测子程序

MOV45H,40H;ADC转化后的温度值送显示缓冲区

ACALLDISP;调用显示当前温度

ACALLCONT;温度控制

ACALLALARM;温度超限报警

POPR5

POPACC

POPPSW;恢复现场

LPP:

RETI

程序三:

;按键管理子程序

KEY:

MOV45H,41H

LCALLDISP

KEY0:

ACALLKEY1

JZKEY0

LCALLDISP

LCALLDISP

LCALLKEY1

JZKEY0

JBACC.0,K10

MOVA,#100

LJMPKEY3

K10:

JBACC.1,K1

MOVA,#10

LJMPKEY2

K1:

JBACC.,K0

MOVA,#01

LJMPKEY3

KEY2:

ADDA,41H

MOV41H,A

KEY3:

LCALLKEY1

JNZKEY3

LJMPKEY

RET

KEY1;MOVA,P1

CPLA

ANLA,#0FH

RET

程序四:

;温度检测子程序

TADC:

MOV40H,#00H

MOVR2,#04H

MOVDPTR,#FEF0H

TADC0:

MOV@DPTR,A

TADC1:

JNBIE1,TADC1

MOVXA,@DPTR

ADDA,40H

MOV40H,A

DJNZR2,TADC0

CLRC

MOVA,40H

RRCA

MOV40H,A

RET

程序五:

;温度控制子程序

TCONT:

MOVA,40H

CLRC

SUBBA,41H

JNCTCONT1

JNBF0,TCONT0

CLRC

SUBBA,#02H

JNCACC.7,TCONT1

TCONT0:

CLRP1.4

SJMPTCONT2

TCONT1:

SETBF0

SETBP1.4

TCONT2:

RET

程序六:

;显示子程序

DISP:

LCALLBINBCD

MOVSCON,#00H

MOVR2,#3H

MOVR0,42H

DISP0:

MOVDPTR,#TAB

MOVA,@R0H

MOVCA,@A+DPTR

MOVSUFF,A

DISP1:

JBCTI,DISP2

SJMPDISP1

DISP2:

INCR0

DJNZR2,DISP0

RET

TAB:

DB0,1,2,3,4,5,6,7,8,9;字码型表

BINBCD:

MOVA,45H;二进制转化成3个BCD码的转化子程序BINBCD

MOVB,#100

DIVAB

MOV42H,A

MOVA,#10

XCHA,B

DIVA,B

MOV43H,A

MOV44H,B

RET

程序七:

;温度超限报警子程序

ALARM:

MOVA,40H

CLRC

SUBBA,41H

JCALARM0

SETBF0

AJMPALARM1

ALARM:

MOVA,41H

CLRC

SUBBA,40H

ALARM1:

CLRC

SUBBA,#05H

JCALARM2

JNBF0,ALARM2

CLRP1.3

SETBP1.4

LCALLDELAY

SETBP1.3

ALARM2:

RET

DELAY:

MOVR5,#100

DEL1:

MOVR6,#10

DEL2:

MOVR7,#70H

DEL3:

NOP

NOP

DJNZR7,DEL3

DJNZR6,DEL2

DJNZR5,DEL1

RET

 

8参考文献

[1]何希才.集成电路及其应用实例[M].科学出版社,1998.2

[2]朱定华.单片机原理及接口技术实验[M].北京:

北方交通大学出版社,2003

[3]陈国平.MCS-51系列单片机系统原理与设计电子技术应用[M].冶金工业出版社,2003.6

[4]张鑫,华臻,陈书谦.单片机原理及应用[M].电子工业出版社,2005.8第1次印刷

[5]夏路易,石宗义.电路原理图与电路板设计教程[M].北京希望电子工业出版社,2002

[6]李光才,楼然笛.单片机课程设计实例指导[M].北京:

北京航空航天大学出版社,2004

[7]马忠梅,张凯.单片机的C语言应用程序设计[M].北京:

航空航天大学出版社,2007.1

[8]付家才.单片机控制工程实践技术[M].北京:

化学工业出版社,2004.3

 

指导教师评语:

 

成绩:

指导教师签字:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1