自动温度控制系统设计Word文档格式.docx
《自动温度控制系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《自动温度控制系统设计Word文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
用PC机完成数据显示、存储和统计分析,绘制实时温度曲线,并对系统所处状况作出判断。
本设计中的硬件电路部分包括:
STC89C52单片机最小系统,键盘扫描及按键处理程序,测温电路,继电器控制程序,PC机,串口通讯电路和接口电路。
关键字:
温度控制;
STC89C52单片机;
串口通讯;
DS18B20温度芯片;
ABSTRACT
Withtherapiddevelopmentofmoderninformationtechnology,thetemperaturecontrolsystemiswidelyusedinagricultureandindustry,itgreatlyinfluencesonpeople'
sproductionandlife,sotheresearchanddesignoftemperaturecontrolsystemhasveryimportantsignificance.
ThepurposeofthispaperistostudyautomatictemperaturecontrolsystemdesignbasedonSTC89C52singlechipmicrocomputerbasicflow.Designwiththesinglechipmicrocomputerprocessorasthemastercontrolunit,DS18B20temperaturesensorfortemperaturecontrolsystem.Collectingtemperaturebytemperaturesensors,andthenpassedtothesinglechipmicrocomputerwithdigitalsignal.Thisdesignusingsinglechipmicrocomputertemperaturedetection,hasgoodreal-timeperformance,usePCtocompletedatadisplay,storage,andstatisticalanalysis,drawthereal-timetemperaturecurve,andajudgeforwhatisgoingoninthesystem.Thedesignofhardwarecircuitincluding:
STC89C52SCMsmallestsystem,digitaltubedisplayprogram,keyboardscanningandprocessingprogram,temperaturemeasurementcircuit,relaycontrolprogram,PC,aserialportcommunicationcircuitandinterfacecircuit.
Keywords:
temperaturecontrol;
STC89C52singlechipmicrocomputer;
serialcommunication;
temperaturechipDS18B20
第一章引言……………………………………………………………7
1.1课题研究的背景…………………………………………………………………7
1.2目的和意义……………………………………………………………………7
1.3设计要求………………………………………………………………………8
第二章总体设计………………………………………………………9
2.1系统实现的功能………………………………………………………………9
2.2总体设计方案…………………………………………………………………9
2.3本章小结………………………………………………………………………9
第三章硬件电路的设计………………………………………………11
3.1系统总体设计方案…………………………………………………………11
3.2单片机最小系统电路…………………………………………………………11
3.3单片机的选择…………………………………………………………………12
3.4温度传感器电路………………………………………………………………14
3.5电源电路………………………………………………………………………16
3.6串口通讯电路…………………………………………………………………17
3.7按键接口电路…………………………………………………………………19
第四章系统软件的设计………………………………………………20
4.1程序结构分析…………………………………………………………………20
4.2主程序模块……………………………………………………………………20
4.3显示流程图……………………………………………………………………22
4.4DS18B20数据采集模块………………………………………………………^22
4.5本章小结………………………………………………………………………23
第五章系统调试及结论分析………………………………………24
5.1硬件调试……………………………………………………………………24
5.2软件调试……………………………………………………………………25
5.3结论分析……………………………………………………………………26
第六章总结及展望…………………………………………………28
6.1总结…………………………………………………………………………28
6.2展望…………………………………………………………………………28
结束语…………………………………………………………………30
致谢…………………………………………………………………31
参考文献……………………………………………………………32
附录……………………………………………………………………33
第一章引言
1.1课题研究的背景
温度是工业生产和科学实验研究中的一个非常重要的参数,物体的许多物理现象和化学性质都与温度有关,许多生产过程都是在一定温度范围内进行的,需要测量温度的场合极其广泛。
随着工业检测技术和自动化程度的不断提高,对温度控制的要求也越来越高。
目前的温度测量系统一般使用的都是传统仪器,传统仪器的功能是通过硬件或固化的软件来实现。
这种框架结构决定了它只能由仪器厂家来定义、制造,而且功能和规格一般都是固定的,用户无法随意改变其结构和功能。
工业控制是计算机应用的一个重要领域,计算机控制系统正是为了适应这一领域的需要而发展起来的一门专业技术,它主要研究如何将计算机技术、通过信息技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统。
随着微机测量和控制技术的快速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
本设计就是基于STC89C52单片机的温度控制系统,通过本次课程实践,我们更加明确了单片机的广泛用途和使用方法,以及其工作的原理。
目前国内温控仪器的发展,相对国外而言在性能上还存在着一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪器在全量程范围内温度控制精度比较低,自适应性较差。
造成这种不足的原因是多方面的,如针对不同的被控对象,由于控制算法的不足而导致控制精度不稳定。
1.2目的和意义
随着工业生产的发展,温度的测量及控制变得越来越重要。
温度控制技术涉及冶金,机械和电子等领域,是多种高新技术发展的综合集成。
一方面,温度控制在制造业的应用范围越来越广阔,其标准化,智能化和网络化程度越来越高。
另一方面,温度自动控制逐渐从制作业向非制造业转变,向以人为中心的个人化方向发展,并将服务于人类活动的各个领域。
本课题采用单片机STC89C52设计了自动温度控制系统。
单片机STC89C52能够根据DS18B20温度传感器所采集的温度在电脑上实时显示,从而把温度控制在设定的范围之内。
通过该课程的研究使我们对计算机控制系统有了一个全面的了解。
掌握了常规控制算法的使用方法,掌握了简单微型计算机应用系统软硬的设计方法,进一步锻炼了同学们在微型计算机应用方面的实际工作能力。
1.3设计要求
本课题设计的是基于单片计算机的自动温度控制器,用于控制温度。
要求熟悉温度传感器和电阻加热设计器等温度测量控制元件。
本文主要介绍了利用VB开发环境设计上位机的监控界面,上位机通过USB转max232串行口与89C52单片机通信,读取温度传感器DS18B20的温度测量数据,从而实现对温度参数的实时控制。
本文主要进行了以下几方面的工作:
1、论述了自动温度控制系统的课题目的及意义,以及自动温度控制系统在国外的发展概况。
2、自动温度控制系统的设计思路及方案,选择系统软件开发平台。
3、介绍自动温度控制系统的硬件组成以及各硬件电路的设计。
4、介绍自动温度控制系统的软件整体设计方案,以及上位机和下位机的设计过程。
5、对所做工作进行总结,对未来研究工作的展望。
第二章总体设计
2.1系统实现的功能
本课题研究的自动温度控制系统主要实现以下功能:
1、实现单片机与电脑的串口通信,能及时地将温度数据传给电脑,并将在上位机界面形成曲线,直观的表现温度的变化。
2、检测参数的显示:
如测试时间,设定温度和当前温度等,当温度超出某个范围时,及时进行温度的调节。
3、显示温度实时监测曲线,而且具有数字显示和波形图显示。
4、测试结果的数据保存:
用户可以将采集到的数据的一部分或者全部保存在Excel表格中,方便查询和打印。
2.2总体设计方案
本论文设计开发的是基于VB的自动温度控制系统,通过对系统功能的分析,根据从总体到局部的设计原则,将整个系统分解为实现不同功能的几个部分,然后分别对每个部分进行设计。
为了能够实现自动温度控制系统所提出的各项具体要求,可以将整个系统分解为上位机和下位机两个部分:
上位机为装有VisualBasic软件的PC机,下位机是由单片机及外围电路组成的小系统。
两个部分通过PC机中的USB串口进行通信。
其中下位机部分主要完成的是温度信号的采集以及温度数据的输出;
上位机部分完成对硬件的驱动,数据显示、处理与存储以及人机交互操作界面的生成。
系统总体设计框图如图3.1所示。
发送指令
采集到的温度
图3.1总体设计框图
2.3本章小结
本章主要内容是自动温度控制系统的设计方案。
首先讲述了系统的设计原则,即从整体到部分的设计思想。
在系统设计中要综合考虑系统的经济性、可靠性、可扩展性及易操作性等性能指标,再根据系统的实际情况提出总体设计方案。
根据系统的主要功能将系统分为两大部分,即上位机部分和下位机部分,然后分别进行设计。
两部分是通过计算机的串口进行通信的。
同时选择VB作为温度检测系统的软件开发平台。
在系统的整体设计中,软件设计是关键,也占大部分工作量。
第三章硬件电路的设计
3.1系统总体设计方案
图3.1系统设计图
3.2单片机最小系统电路
在本课题设计的自动温度控制系统中,控制核心是低电压、高性能的CMOS8位STC89C52单片机,片内含有256bytes随机存取数据存储器(RAM)。
器件采用ATMEL公司的高密度,非易失性存储的技术生产。
与标准的51单片机指令系统及8052产品引脚兼容,内置Flash存储单元和通用8位中央处理器。
其外部晶振为12MHz,一个指令周期为1us,便于用电的方式瞬间擦除和改写,而且价格便宜。
使用该单片机完全可以完成设计任务,其最小系统主要包括:
复位电路、震荡电路以及存储器选择模式,电路如下图3.2所示:
图3.2.单片机最小系统电路
3.3单片机的选择
本课题设计的自动温度控制系统主控芯片选型为STC89C52单片机,其特点如下:
3.3.1STC89C52单片机简介
目前,51系列单片机在工业检测领域得到了广泛的应用,我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,来增强人机对话的功能。
STC89C52单片机在一小块芯片上集成了一个微型计算机的各个组成部分。
每一个单片机包括:
一个8位的微型处理器CPU;
一个512K的片内数据存储器RAM;
4K片内程序存储器;
两个定时器/记数器;
四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;
五个中断源的中断控制系统;
一个全双工UART的串行I/O口;
片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。
允许的最高振荡频率是12MHZ。
以上各个部分通过内部总线相连。
3.3.2STC89C52单片机时序
STC89C52单片机的一个机器周期由6个状态(s1—s6)组成,每个状态又持续2个震荡周期,分为P1和P2两个节拍。
这样,一个机器周期由12个振荡周期组成。
若采用12MHz的晶体振荡器,则每个机器周期为1us,每个状态周期为1/6us;
在一般情况下,算术和逻辑操作发生在P1期间,而内部寄存器到寄存器的传输发生在P2期间。
对于单周期指令,当指令操作码读入指令寄存器时,便从s1P2开始执行指令。
如果是双字节指令,则在同一机器周期的s4期间读入第二字节。
若为单字节指令,则在s1期间仍进行读入,但所读入的字节操作码被忽略,且程序计数数据也不加1。
多数STC89C52指令周期为1—2个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需要4个机器周期。
对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读入两个字节,但是Movx指令例外,Movx指令是访问外部数据存储器的单字节双机器周期指令。
在执行Movx指令期间,当外部数据存储器被访问且被选通时,跳过两次取址操作。
3.3.3STC89C52单片机引脚介绍
STC89C52单片机的40个引脚中有2个专用于主电源的引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
下面按引脚功能分为4个部分叙述各个引脚的功能。
(1)电源引脚Vcc和Vss
Vcc(40脚):
接+5V电源正端;
Vss(20脚):
接+5V电源正端。
(2)外接晶振引脚XTAL1和XTAL2
XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器采用外部时钟时,对于HMOS单片机,该引脚接地;
对于CHOMS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):
接外部晶体的另一端。
在单片机内部,接片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;
对于CHMOS芯片,该引脚悬空不接。
(3)控制信号或与其它电源复用引脚
控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。
(A).RST/VPD(9脚):
RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
(B).ALE/P(30脚):
当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低电平。
(C).PSEN(29脚):
片外程序存储器读选通信输入端,低电平有效。
当从外部
程序存储器读取指令或常数时,每个机器周期PSEN两次有效,以通过数据总线口
读回指令或常数。
当访问外部数据存储器期间,PSEN信号将不再出现。
(D).EA/Vpp(31脚):
EA为访问外部程序储器控制信号,低电平有效。
当EA端保持高电平时,单片机访问片内程序存储器4KB(MS—52子系列为8KB)。
若超出该范围时,单片机自动去执行外部程序存储器的程序。
当EA端保持低电平时,无论片内有无程序存储器,只访问外部程序存储器。
对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。
(4)输入/输出(I/O)引脚P0口、P1口、P2口及P3口
(A).P0口(39脚~22脚):
P0.0~P0.7统称为P0口。
当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。
当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。
它分时提供8位双向数据总线。
对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。
(B).P1口(1脚~8脚):
P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。
对于MCS—52子系列单片机,P1.0和P1.1还有第2功能:
P1.0口用作定时器/计数器2的计数脉冲输入端T2;
P1.1用作定时器/计数器2的外部控制端T2EX。
对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。
(C).P2口(21脚~28脚):
P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。
当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。
对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。
(D).P3口(10脚到17脚):
P3.0—P3.7统称为P3口。
它为双功能口,可以作为一般的准双向I/O接口,也可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。
P3口的第二功能见下表1
表1单片机P3.0管脚含义
引脚
第2功能
P3.0
RXD(串行口输入端0)
P3.1
TXD(串行口输出端)
P3.2
INT0(部中断0请求输入端,低电平有效)
P3.3
INT1(中断1请求输入端,低电平有效)
P3.4
T0(时器/计数器0计数脉冲端)
P3.5
T1(时器/计数器1数脉冲端)
P3.6
WR(部数据存储器写选通信号输出端,低电平有效)
P3.7
RD(部数据存储器读选通信号输出端,低电平有效)
综上所述,MCS—51系列单片机的引脚作用可归纳为以下两点:
1).单片机的功能多,引脚数少,因而许多引脚具有第2功能;
2).单片机对外呈3总线形式,由P2、P0口组成16位地址总线;
由P0口分时复用作为数据总线。
3.4温度传感器电路
采用一线制数字温度传感器DS18B20作为本课题的温度传感器。
传感器输出信号进4.7K的上拉电阻直接接到单片机的P1.0引脚上。
3.4.1DS18B20温度传感器应用
DSl8B20数字温度计提供9位(二进制)温度读数,指示器件的温度。
信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线(和地线)。
每一个DSl8B20在出厂时已经给定了唯一的序号,因此任意多个DSl8B20可以存放在同一条单线总线上,这允许在许多不同的地方放置温度敏感器件。
DSl8B20的测量范围从-55到+125,增量值为0.5。
可在l秒(典型值)内把温度变换成数字。
每一个DS18B20包括一个唯一的64位长的序号,该序号值存放在DS18B20内部的ROM(只读存贮器)中。
开始8位是产品类型编码(DS18B20编码均为10H),接着的48位是每个器件唯一的序号,最后8位是前面56位的CRC(循环冗余校验)码。
DS18B20中还有用于贮存测得的温度值的两个8位存贮器,RAM编号为0号和1号。
1号存贮器存放温度值的符号如果温度为负(℃)。
则1号存贮器8位全为1,否则全为0。
0号存贮器用于存放温度值的补码,LSB(最低位)的“1”表示0.5℃。
将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-550℃-125℃)。
每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。
采取数据总线供电方式可以节省一根导线,但完成温度测量的时间较长;
采取外部供电方式则多用一根导线,但测量速度较快。
DS18B20的引脚如图3.4.1所示。
图3.4.1
3.4.2DS18B20温度传感器特点
DS18B20是美国DALLAS公司生产的应用单总线技术数字温度传感器,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)然后给单片机处理,且在同一总线上可以挂接多个传感器芯片。
本设计中温度传感器之所以选择单线数字器件DS18B20,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因:
(1)系统的特性:
测温范围为-55℃~+125℃,测温精度为士0.5℃;
温度转换精度9~12位可变,能够直接将温度转换值以16位二进制数码的方式串行输出;
12位精度转换的最大时间为750ms;
可以通过数据线供电,具有超低功耗工作方式。
(2)系统成本:
由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。
一支DS18B20的体积与普通三极管相差无几,价格只有十元人民币左右。
(3)系统复杂度:
由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。
(4)系统的调试和维护:
由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。
同时因为DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。
DS18B20温度传感器只有三根外引线:
单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。
DS18B20有两种供电方式:
一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。
这种情况下,用单片机的一个I/O口来完成对