基于8031单片机温度控制系统设计.docx
《基于8031单片机温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于8031单片机温度控制系统设计.docx(38页珍藏版)》请在冰豆网上搜索。
基于8031单片机温度控制系统设计
基于8031单片机温度控制系统设计
摘要
随着国民经济的发展,人们需要对各种加热炉、热处理炉、烘干箱温度进行监测和控制。
采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
本设计以MCS-51单片机为基础,结合温度传感变送器、A/D转换器、LED显示器等,组成一个基于MCS-51系列中8031单片机的温度控制系统本设计,对烘干箱的温度进行检查与控制。
温度控制误差≤±2℃。
烘干时显示实时温度,显示精确到1℃。
关键词:
单片机,烘干箱,温度控制,过程控制系统
baseon8031Singlechiptemperaturecontrolsystemdesign
ABSTRACT
Withthedevelopmentofthenationaleconomy,thereisaneedfora
rietyoffurnace,heattreatmentfurnace,dryingboxtemperaturemonitoringandcontrol.Single-chipcomputertocontrolnotonlyhascontroloftheirconvenience,simplicityandflexibilityadvantages,butalsosubstantialincreaseintemperaturewaschargedwithtechnicalindicators,whichcangreatlyimprovethequalityandquantityofproducts.
TheMCS-51designisbasedonsingle-chip,combinedwithtemperaturesensingtransducer,A/Dconverter,LEDdisplayandsoon,basedontheformationofaMCS-51seriesof8031single-chiptemperaturecontrolsystemforthedesign,thetemperatureofthedryingboxtocheckandcontrol.Temperaturecontrolerror≤±2℃.Displayreal-timetemperatureofdrying,indicatingaccurateto1℃.
KEYWORDS:
microcontroller,drybox,temperaturecontrol,processcontrolsystem.
目 录
附图
前言
在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
其中,温度控制也越来越重要。
在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。
因此,单片机广泛用于现代工业控制中。
本论文侧重介绍“单片机温度控制系统”的软件设计及相关内容。
论文的主要内容包括:
采样、滤波、键盘、LED显示和报警系统,加热控制系统,单片机MCS-51的开发以及系统应用软件开发等。
作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、自动控制原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。
第1章绪论
1.1概述
随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。
其中,温度是一个非常重要的过程变量。
例如:
在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。
然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。
采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
1.2单片机技术简介
1.2.1单片机技术的发展
所谓单片机是指在一个集成芯片中,集成微处理器、存储器、基本的I/0接口以及定时/计数、通信部件,即在一个芯片上实现一台微型计算机的基本功能。
1970年微型计算机研制成功之后,随着就出现了单片机(即单片微型计算机)。
美国Intel公司1971年生产的4位单片机4004和1972年生产的雏形8位单片机8008,特别是1976年MCS-48单片机问世以来,在短短的二十几年间,经历了四次更新换代,其发展速度大约每二、丁三年要更新一代、集成度增加一倍、功能翻一番。
其发展速度之快、应用范围之广,己达到了惊人的地步。
尽管日前单片机的品种很多,但其中最具典型性的当数Intel公司的MCS-51系列单片机。
MCS-51是在MCS-48的基础上于80年代初发展起来的,虽然它仍然是8位的单片机,但其功能有很大的增强。
由于PHILIPS,ATMEL,WELBORD,LG等近百家IC制造商都主产51系列兼容产品,具有品种全、兼容性强、软硬件资料丰富等特点。
因此,MCS-51应用非常广泛,成为继MCS-48之后最重要的单片机品种。
直到现在MCS-51仍不失为单片机中的牡流机型。
国内尤以Intel的MCS-51系列单片机应用最广。
由于8位单片机的高性能价格比估计近十年内,8位单片机仍将是单片机中的主流机型。
1.2.2单片机技术的应用
随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出很强的生命力。
它和一般的集成电路相比有较好的抗干扰能力,对环境的温度和湿度都有较好的适应性,可以在工业条件下稳定工作。
且单片机广泛地应用于各种仪器仪表,使仪器仪表智能化,提高它们的测量速度和测量精度,加强控制功能。
如Mcs-51系列单片机控制的“船舶航行状态自动记录仪”、“烟叶水分测试仪”、“智能超声波测厚仪”等。
单片机也广泛地应用于实时控制系统中,例如对下SID卜各种窑炉的温度、酸度、化学成分的测量和控制。
将测量技术、自动控制技术和单片机技术相结合,充分发挥其数据处理功能和实时控制功能,使系统工作处于最佳状态,提高系统的生产效率和产品质量。
从航空航天、地质石油、冶金采矿、机械电子、轻工纺织等行业的分布系统与智能控制以及机电一体化设备和产品,到邮电通信、日用设备和器械,单片机都发挥了巨大作用。
其应用大致可分为以下儿方面:
1.机电一体化设备的控制核心
机电一体化是机械设备发展的方向。
单片机的出现促进了机电一体化技术的发展,它作为机电产品的控制器,充分发挥其自身优点,大大强化了机器的功能,提高了机器的自动化、智能化程度。
最典型的机电产品机器人,每个关节或动作部位都是个单片机控制系统。
2.数据采集系统的现场采集单元
大型数据采集系统,要求数据采集的同步性和实时性要好。
使用单片机作为系统的前端采集单元,由主控计算机发出采集命令,再将采集到的数据逐一送到主计算机中进行处理。
如有些气象部门、油田采油部门以及电厂等均可采用这样的系统。
3.分布控制系统的前端控制器
在直接控制级的计算机分布控制系统(DCS)中,单片机作为过程控制中每一分部操作或控制的控制器,进行数据采集、反馈计算、控制输出,并在上位机命令的指挥下进行相应协调工作。
第2章元器件介绍
2.1单片机系统主机的选择
2.1.1单片机的主流系列及机型选择
1.Intel公司的MCS-48(8位机):
8位CPU,并行I/O口,8位定时/计数器寻址范围不大于4k,且无串行口,属于初级单片机,功能小,易于控制。
2.Intel公司的MCS-51(8位机):
多级中断处理系统,8位定时/计数器。
RAM,ROM寻址范围可达64k字节,且带有串行I/O口,此类单片机应用领域极其广泛。
且货源充足,其在国内的主流的地位有可能稳定一个相当时期。
3.Intel公司的MCS-96(16位机):
多级中断处理系统。
16位定时/计数器。
并行I/O口扩展,且带有串行口,属于高档单片机,功能强大,性能稳定,是今后单片机发展的主体方向。
因考虑频率的显示程序中需使用串行输出,而MCS-48系列无串行口,且寻址范围过小,故不易实现产品的功能,MCS-51系列单片机功能全面,可靠性高,容易达到产品的性能指标,且货源充足,性能价格比较高。
MCS-96虽功能强大,但本次设计频率计软件对单片机性能要求较低,且MCS-96价格昂贵故MCS-51系列能基本满足要求,是首要选择。
MCS-51系列中又以8031、8051、8751为代表。
它们之间最大的差别在于片内ROM的供应状态。
在8051和8751中,片内有4k字节的ROM/EPROM,而8031片内无ROM/EPROM,故如选择8031,片外必须扩展EPROM,由于8031相对8051、8751供应状态相对充足,且性价比较高,故本设计中选用8031单片机作为控制芯片。
2.1.28031单片机特点
8031单片机采用40引脚双列直插封装(DIP)形式,对于CMOS单片机除采用DIP形式外,还采用方形封装工艺。
MCS-51单片机引脚及总线结构如图2-1所示。
图2-1MCS-51单片机引脚及总线结构
(a)管脚图;(b)8031引脚功能分类
由于受到引脚数目的限制,所以有一些引脚具有第二功能。
在单片机的40条引脚中,有两条专用于主电源的引脚,两条外接晶体的引脚,四条控制和其它电源复用引脚,32条输入/输出引脚。
下面分别说明这些引脚的名称和功能:
1.主电源引脚:
Vcc和Vss
Vcc(40脚):
正常操作、对EPROM编程和验证时接+5V电源。
Vss(20脚):
接电源地。
2.时钟电路引脚:
XTAL1和XTAL2
XTAL1(19脚):
内部晶体振荡电路的反相放大器的输入端。
使用内部振荡电路
时接外部石英晶体和微调电容的一端;使用外部时钟时,该引脚接地
XTAL2(18脚):
内部晶体振荡电路的反相放大器的输出端。
使用内部振荡电路时,接外部石英晶体和微调电容的另一端;使用外部时钟时,该引脚用于输入外部时钟脉冲。
3.控制信号引脚:
RST/Vpd(9脚),RST为复位信号输入端,在该引脚上保持两个机器周期(24个部RAM备用电源输入端。
当主电源Vcc一旦发生掉电或电压降低到一定值时,可通过Vpd是为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使主电源恢复后能继续正常运行。
4.ALE/(30脚):
地址锁存器使能输出/编程脉冲端。
当CPU访问外部存储器时ALE的输出作为外部锁存地址的低位字节的控制信号,当不访问外部存储器时,ALE端仍以1/6的时钟振荡频率固定地输出正脉冲。
另外,在对MCS8051片内EPROM编程(固化)时,此引脚用于输入编程脉冲。
5.(29脚):
程序存储允许输出。
是片外部程序存储器ROM的读选通信号。
从片外程序存储器取数时,每个机器周期内激发两次(然后,当执行片外程序存储器存取时,在每次存取片外数据存储器时,有两个脉冲是不出现的)。
从内程序存取时不激发。
对8031而言,访问外部程序存储器时,将PC的十六位地址输出到P2口和P0口外部的地址寄存储器后,产生负脉冲选通片外程序存储器。
相应的存储单元的指令字节送到P0口,供8031读取。
6.Vpp(31脚):
外部访问允许/编程电源输入。
当端输入高电平时,CPU执行程序。
低4KB(0000H—0FFFH)地址范围内,访问片内程序存储器,在程序计数器PC的值超过4KB地址时,将自动转向执行片外程序存储器的程序。
当EA输入低电平时,CPU仅访问片外程序存储器。
7.输入/输出(I/O)引脚:
P0,P1,P2和P3。
P0口(P0.0—P0.7):
第一功能是作8位漏极开路型的双向I/O端口;第二功能是在访问外部存储器时,分时作低8位地址总线和8位数据总线使用。
在对8031片内EPROM进行编程和效验时,P0口用于传送低8位地址和编程代码。
P0口每位都能驱动8个LSTTL负载。
P1口(P1.0—P1.7):
作内部带上拉电阻的8位准双向I/O口线。
P1口每位能驱动4个LSTTL负载。
P2口(P2.0—P2.7):
第一功能是作内部带上拉电阻的8位准双向I/O端口;第二功能是在访问外部存储器时,作高8位地址总线。
在对8031片内EPROM进行编程和效时,P2.7、P2.6用于操作方式控制,P2.3—P2.0接收高4位地址(4KBEPROM需12位地址P2口每位能驱动4个LSTTL负载。
P3口(P3.0—P3.7):
P3口是8位准双向I/O端口,它是一个复用功能口。
作为第一功能使用时,为普通I/O口,作为第二功能使用时,各引脚的定义如表2-1。
表2-1P3口各线的第二功能表
P3口
特殊功能
说明
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
外部中断0请求输入线
P3.3
外部中断1请求输入线
P3.4
T0
定时器/计数器0外部计数脉冲输入线
P3.5
T1
定时器/计数器1外部计数脉冲输入线
P3.6
外部数据存储器写脉冲输出线
P3.7
外部数据存储读脉冲输出线
2.1.3总线结构
1.地址总线:
地址总线宽度为16位。
2.数据总线:
总线宽度为8位,由P0口提供P0.0—P0.7。
3.控制总线:
由P3口第二功能状态和4根独立控制线组成。
主要性能:
内部程序存储器:
4KB
内部数据存储器:
128B
外部程序存储器:
可扩展到64KB。
外部数据存储器:
可扩展到64KB。
并行口输入/输出线:
32根(4个端口,每个端口8根)。
定时/计数器:
2个16位可编程的定时计数器。
串行口:
全双工,二根。
寄存器区:
在内部数据存储器的128KB中划出一部分作为寄存器区,分为四个区,每个区8个通用寄存器。
中断源:
5个中断源,2个优先级别。
布尔处理机:
即位处理机,对某些单元的某位做单独处理
指令系统(系统时钟为12MHZ时):
大部分指令执行时间为1us;少部分指令执行时间为2us;只有乘、除指令的执行时间为4us。
2.2温度传感器
在本次的设计中,我所采用的是热电阻。
热电阻测温的基础是大多数金属导体的电阻率温度升高而增大,具有正的温度系数。
在工业上广泛应用的热电阻温度计一般用来测量-200~+500℃范围的温度,随着科学技术的发展热电阻温度计的测量范围低温端可达1K左右,高温端可测到1000℃。
热电阻温度计的特点是精度高,适宜于测低温。
在560℃以下的温度测量时,它的输出信号比热电偶容易测量。
(1)纯金属是热电阻的主要制造材料,热电阻的材料应具有以下的特性:
①电阻温度系数要大而且稳定,电阻值与温度之间应具有良好的线性关系。
②电阻率高,热容量小,反应速度快。
③材料的复现性和工艺性好,价格低。
④在测温范围内化学物理特性稳定。
(2)铂电阻
目前,在工业中应用最广的铂和铜,并已制作成标准温热电阻。
铂电阻的特点是精度高,稳定性好,性能可靠。
铂在氧化性气氛中,甚至在高温下的物理、化学性质都非常稳定。
因此铂被公认为是目前制造热电阻的最好材料。
铂电阻与温度之间的关系接近于线性,在0630.74℃范围内可用下式表示:
Rt=R0(1+At+Bt^2)。
在-190~0℃范围内为Rt=R0(1+At+Bt^2+Ct^3)。
该式中,R0、Rt为温度0时铂电阻的电阻值,t为任意温度,A、B、C为温度系数,由实验确定,A=3.9684*10-3/℃,B=-5.847*10^-7/℃,C=-4.22*10^-12/℃。
由上面的两个式子可以看出,当R0值不同时,在同样的温度下,其Rt值也不同。
目前国内统一设计的一般工业用标准铂电阻值R0有100欧和500欧两种,并将电阻值Rt与温度t的相应关系统一列成表格称其为铂电阻的分度表,分度号分别用Pt100和Pt500表示。
铂电阻在常用的热电阻中准确度最高,国际温标ITS-90中还规定,将具有特殊构造的铂电阻作为13.5033K-961.78℃标准温度计来使用。
铂电阻广泛应用于-200~850℃范围内的温度测量,工业中通常在600℃以下。
2.3
2864A介绍
电擦除电可编程只读存储器是近年来被广泛应用的一种新产品。
其优点是能使CPU在线修改其中的数据,并可在断电情况下保存数据,集EPROM和RAM功能一体。
Intel2864A是8k×8位
,单±5V供电,最大工作电流为140mA,维持电流60mA,其24脚的管脚及原理图见图2-2。
由于片内设有编程所需的高压脉冲产生电路,因此无需外加编程电源和写入脉冲。
图2-22864A管脚及原理框图
(a)管脚;(b)原理图
2864A有4种工作方式,如表2-2所示。
表2-22864A工作方式
方式
控制脚
I/
~I/
读出
L
L
H
输出信息
写入
L
H
L
数据输出
维持
H
X
X
高阻
禁止写
X
L
X
—
禁止写
X
X
H
—
1.维持和读出方式:
2864A的维持和读出方式与普通EPROM完全相同。
2.写入方式:
2864A提供了两种数据写入操作方式,即字节写入和页面写入。
3.数据查询方式:
数据查询方式是指用软件来检测写操作中的“页存储”周期是否完成。
在“页存储”期间,如进行写操作,读出的是最后写入的字节,若芯片的转储工作未完成,则读出数据的高位是原来写入字节最高位的反码,据此,CPU可判断芯片的编程是否结束。
2846A与8031的接口电路如图2-3所示。
图2-32864A与8031的接口电路
2.4ADC0809介绍
A/D转换电路很多,选择A/D转换器件主要从速度.精度和蔼价格等方面行考虑,根据A/D转换器的工作原理,可以分为下面的三种类型:
①并行A/D变换器:
速度高,价格也很昂贵,用于高速(如视频处理场合)。
②逐次逼近型A/D转换器:
精度速度价格方面比较折衷,是最常用的一种A/D转换器。
③双积分型A/D转换器:
精度高,抗干扰能力強,价格低,但是速度慢,常用于測量仪表等场合。
2.4.1ADC0809转换器及其接口电路
ADC0809是8位CMOS逐次逼近式A/D转换器。
内部有8路模拟量输入通道和8位数字量输出的A/D转换器,它是美国国家半导体公司的产品,是目前国内最广泛的8位通用的A/D转换的芯片。
启动信号为脉冲启动方式,最大可调误差为±1LSB。
ADC0809内部设有时钟电路,故CLK时钟需由外部输入。
其内部结构图如下图2-4所示。
图2-4ADC0809的内部结构
片内带有锁存功能的8路模拟多路开关,可对8路输入模拟信号分时转换,具有多路开关的地址译码和锁存电路、8位A/D转换器和三态输出锁存器等。
在时钟脉冲的同步下,控制逻辑先使N位寄存器的D7位置1(其余位为0),此时该寄存器输出的内容为80H,此值经DAC转换为模拟量输出VN,与待转换的模拟输入信号VIN相比较,若VIN大于等于VN,则比较器输出为1.于是在时钟脉冲的同步下,保留D7=1,并使下一位D6=1,所得新值(C0H)再经DAC转换得到新的VN,再与VIN比较,重复前述过程.反之,若使D7=1后,经比较,若VIN小于VN,则使D7=0,D6=1,所得新值VN再与VIN比较,重复前述过程.依次类推,从D7到D0都比较完毕,转换便结束.转换结束时,控制逻辑使EOC变为高电平,表示A/D转换结,此时的D7~D0即为对应于模拟输入信号VIN的数字量。
如图2-5所示ADC0809与8031的接口电路。
图2-5ADC0809与8031的接口电路
2.4.2ADC0809引脚介绍
ADC0809采用双列直插式封装,共有28条引脚,如2-6图所示。
图2-6ADC0809引脚图
1.IN0--IN7
IN0—IN7为8路模拟电压输入线,用于输入被转换的模拟电压
2.ADDA,ADDB,ADDC
三位地址输入端。
八路模拟信号转换选择同由ABC决定。
A为低位,C为高位。
A、B、C三位地址的输入与8路通道的对应关系如下:
表2-3A、B、C三位地址的输入与8路通道的对应关系
ABC三位地址的输入与8路通道的对应关系
地址
编码
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
选中通道
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
3.CLK
外部时钟输入端,时钟频率高,A/D转换速度快。
允许范围为10--1280KHZ,典型值为640KHZ,此时,A/D转换时间为10us。
通常由MCS-51型单片机ALE端直接或分频后与其相连。
当MCS-51型单片机无读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片机外接的晶振为6MHZ,则1/6为1MHZ,A/D转换时间为64us。
4.D0--D7
数字量输出端,A/D转换的结果由这几个端口输出。
5.OE
A/D转换结果输出允许控制端,当OE端为高电平时,允许将A/D转换结果从D0--D7端输出。
通常由MCS-51型单片机的RD端和ADC0809片选端(例如P2.0),通过或非门与ADC0809的OE端相连接。
当DPTR为FEFFH,且执行“MOVXA,@DPTR”指令后,RD和P2.0均有效,或非后产生高电平,使ADC0809的OE端有效,ADC0809将A/D转换的结果送入数据总线P0口,CPU在读入中。
6.ALE
地址锁存允许信号。
八路模拟通道地址由A,B,C输入在ADC0809的ALE信号有效时,将该八路地址锁存。
7.START
启动A/D转换信号。
当START端输入一个正脉冲时,立即启动ADC0809进行A/D转换。
START端与ALE端连在一起,由MSC-51型单片机WR和ADC0809片选端(例如P2.0)。
通过或非门连接,当DPTR为FEF8H时,执行“MOVX@DPTR,A”指令后,将启动ADC0809模拟通道0的A/D转换。
FEF8H~FEFFH分别为八路模拟输入通道的地址。
执行MOVX写指令,并非真的将A中的内容写进ADC0809中,ADC0809中没有一个寄存器,能容纳的A中的内容。
ADC0809的输入通道是IN0~IN7,输出通道是D0~D7,因此,执行:
“MOVX@DPTR,A”指令与A中内容无关,但DPTR地址应指向当前A/D的通道地址。
8.EOC
A/D转换结束