基于STC89C52单片机的温度控制电路设计Word文档格式.doc
《基于STC89C52单片机的温度控制电路设计Word文档格式.doc》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的温度控制电路设计Word文档格式.doc(23页珍藏版)》请在冰豆网上搜索。
本文设计是以单片机为核心,实现温度实时测控和显示。
确定电路中的一些主要参数,了解温度控制电路的结构,工作原理,对该控制电路性能进行测试。
具体设计方案:
(1)本设计是用来测控温度的,可以利用热敏电阻的感温效应,将被测温度变化的模拟信号,电压或电流的采集过来,首先进行放大和滤波后,再通过A/D转换,将得到的数字量送往单片机中去处理,用数码管将被测得的温度值显示出来。
但是这种电路的设计需要用到放大滤波电路,A/D转换电路,感温电路等一系列模拟电路,设计起来较麻烦[2]。
(2)本设计采用单片机做处理器,可以考虑使用温度传感器,采用由达拉斯公司研制的DS18B20型温度传感器,此传感器可以将被测的温度直接读取出来,并进行转换,这样就很容易满足设计要求。
从上面的两种方案,可以很容易看出来,虽然方案
(2)软件部分设计复杂点,但是电路比较简单且精度高,故采用方案
(2)。
单
片
机
最
小
系
统
显示模块
设置模块
采集模块
图1.总体方框图
三、系统硬件设计
据设计的需求,分析单片机的工作原理,可以大体得出来温度控制电路设计的总体方框图,主处理器采用单片机STC89C52RC40,温度采集部分采用温度传感器,用4位LED显示数码管作为显示部分,用来将温度显示出来。
系统硬件电路部分由四大模块组成:
温度采集模块、温度显示模块、报警模块、键盘模块和单片机最小系统模块[3]。
(一)单片机最小系统模块
在课题设计的温度控制系统设计中,控制核心是STC89C52单片机,该单片机为51系列增强型8位单片机,它有32个I/O口,片内含4KFLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1μS。
使用该单片机完全可以完成设计任务,其最小系统主要包括:
复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择),电路如下图3.1所示:
图2.最小系统
本课题设计的温度控制系统主控制芯片选型为STC89C52单片机,其特点如下:
STC89C52单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
下面按引脚功能分为4个部分叙述个引脚的功能。
(1)电源引脚Vcc和VssVcc(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脚):
片外程序存储器读选通输出端,低电平有效。
当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。
当访问外部数据存储器期间,PESN信号将不出现。
(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接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。
P3口的第2功能见下表:
引脚
第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(部数据存储器读选通信号输出端,低电平有效)
表1单片机P3.0管脚含义
(二)温度采集模块
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。
本设计中温度传感器之所以选择单线数字器件DS18B20,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因:
(1)系统的特性:
测温范围为-55℃~+125℃,测温精度为士0.5℃;
温度转换精度9~12位可变,能够直接将温度转换值以16位二进制数码的方式串行输出;
12位精度转换的最大时间为750ms;
可以通过数据线供电,具有超低功耗工作方式。
(2)系统成本:
由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。
(3)系统复杂度:
由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。
(4)系统的调试和维护:
由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。
同时因为DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。
DS18B20温度传感器只有三根外引线:
单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。
DS18B20有两种供电方式:
一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。
这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。
另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。
(三)报警模块
设计中的报警装置电路用到了发光二级管、三极管、10K的电阻。
将发光二级管的一端接地,另一端接三极管的发射极,三极管的基极通过电阻接在三极管上,三极管的集电极电源。
图5.报警器
(四)键盘模块
键盘实际是就是很多案件的一种组合,按键的按下与否形成一个高低电平,主控芯片CPU通过高低电平来识别所需信号,进而使程序进行下一步的操作。
键盘操作的软硬件的设计有以下几个方面的问题:
对于此设计来说我们要准确的显示我们所要对应的信息,每按一次按键要显示所要显示的信息。
这按键是主要用来控制温度而设计的。
这样比键盘操作方便,也比较实惠。
按键电路采用中断模式。
图6.键盘输入
(五)显示、指示模块
本模块用的是0.56英寸2位数码管红色共阳数码管5261BS,一般正向压降的都是1.5~2V,额定电流为10mA,通过最大的电流为40mA。
根据各种不同管接线的方式,可将数码管分成共阴极型和共阳极型。
图7.数码管
(六)系统总电路图
系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主控电路等,通过AltiumDesigner可画出如图所示的电路图[4][5][6]
图8.系统总电路图
四、系统硬件制作
(一)硬件电路制作方法
1.按照电路图插接面包板,连接线路。
2.电路焊接,将各元件焊接到面包板上。
(二)硬件电路制作过程
1.准备好各类器件以及工具。
2.按电路图插接好面包板,先焊接小器件及简单电路.
3.用电线连接距离较远的器件,进行焊接.
4.焊接完成后用万用表进行电路测试,确保没有短路。
五、系统软件设计
(一)软件设计思路及流程图
主控制程序的主要是用来实时控制当前所要测控的环境温度,并读出由DS18B20测量的经过处理的当前环境的温度值,同时检查温度是否在限度之内,否则报警,