14基于单片机保温箱的温控系统研究DOCWord文档格式.docx
《14基于单片机保温箱的温控系统研究DOCWord文档格式.docx》由会员分享,可在线阅读,更多相关《14基于单片机保温箱的温控系统研究DOCWord文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
STC89C51单片机温度控制恒温箱DS18B20
前言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本保温箱温控系统所介绍的与传统的温度计相比,具有读数方便,测温范围广,控制准确,负载广泛,有LED显示相应的工作方式,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,用四位一体共阳极LED数码管显示数据,用继电器驱动负载,用PNP三极管驱动。
1设计要求与方案论证
首先明确设计要求,再整体讨论和确定方案,一一攻破设计的难点。
1.1设计要求
基本范围0℃-99℃;
精度误差小于0.1℃;
数码管直读显示;
可以温度控制;
扩展功能:
可以任意设定温度的上下限控制及报警功能,可以驱动加热和制冷负载。
1.2系统基本方案选择和论证
1.2.1单片机芯片的选择方案和论证
由于单片机具有以下的很多优点,被我们选定为制作该作品的首选芯片
单片机特点:
(1)高集成度,体积小,高可靠性
单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。
芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。
单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。
(2)控制功能强
为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:
分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。
(3)低电压,低功耗,便于生产便携式产品
为了满足广泛使用于便携式系统,许多单片机内的最低工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。
(4)易扩展
片内具有计算机正常运行所必需的部件。
芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。
(5)优异的性价比
单片机的性能极高。
为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。
单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。
由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。
方案一:
采用STC89C51芯片作为硬件核心。
STC89C51内部具有4KBROM存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C51可以通过串口下载。
方案二:
采用AT89S51。
AT89S51片内具有4K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。
两种单片机都完全能够满足设计需要,STC89C51相对ATS89C51价格便宜,且下载简单方便。
考虑到方便因素,因此选用STC89C51。
1.2.2温度传感器设计方案论证
利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。
这些呈现规律性变化的物理性质主要有体。
温度传感器是温度测量仪表的核心部分,品种繁多。
按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。
现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。
温度传感器的发展大致经历了以下三个阶段;
(1)传统的分立式温度传感器(含敏感元件);
(2)模拟集成温度传感器/控制器;
(3)智能温度传感器。
国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展。
在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1°
C。
国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625°
由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125°
C,测温精度为±
0.2°
为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。
目前,智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线(1-Wire)总线、I2C总线、SMBus总线和spI总线。
温度传感器作为从机可通过专用总线接口与主机进行通信。
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,两种都完全能够满足设计需要,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
1.2.3显示模块方案论证
方案一:
1602液晶模块
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等显示模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形它的优点是微功耗、体积小、显示内容丰富、超薄轻巧。
方案二:
数码管显示
数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管:
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛。
综上所诉:
LCD1602虽然显示较全;
但数码管以完全能显示温度值,价格也差6倍之多,数码管更适合本设计,固本设计用数码管作为显示模块。
1.3电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:
采用STC89C51单片机作为主控制系统;
采用DS18B20为传感器;
采用数码管作为显示器件。
2主要元件介绍
2.1STC89C51介绍
STC89C51是由宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。
(1)中央处理器(CPU)
中央处理器是单片机的核心,完成运算和控制功能。
8051的CPU能处理8位二进制数或代码。
(2)内部数据存储器(内部RAM)
8051芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。
因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。
(3)内部程序存储器(内部ROM)
8051共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。
(4)定时/计数器
8051共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。
(5)并行I/O口
MCS-51共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。
(6)串行口
8051单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。
该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。
(7)中断控制系统
8051单片机的中断功能较强,以满足控制应用的需要。
8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。
全部中断分为高级和低级共两个优先级别。
(8)时钟电路
8051芯片的内部有时钟电路,但石英晶体和微调电容需外接。
时钟电路为单片机产生时钟脉冲序列。
系统允许的晶振频率一般为6MHz和12MHz。
从上述内容可以看出,MCS-51虽然是一个单片机芯片,但作为计算机应该具有的基本部件它都包括,因此,实际上它已是一个简单的微型计算机系统了。
2.1.1STC89C51主要功能及PDIP封装
STC89C51主要功能如表1所示,其PDIP封装如图1所示
主要功能特性
兼容MCS51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
表1:
STC89C51主要功能
2.1.2STC89C51引脚介绍
①主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
②外接晶振引脚(2根)
XTAL1(Pin19):
片内振荡电路的输入端
XTAL2(Pin20):
片内振荡电路的输出端
③控制引脚(4根)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)
STC89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
P0口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
图1:
STC89C51封装图
2.1.3单片机最小系统:
当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作,按键手动复位有电平方式和脉冲方式两种。
其中电平复位是通过RST端经过电阻与电源VCC接通而实现的。
最小系统如图2所示。
图2单片机最小系统电路
(1)内部方式时钟电路
在8051芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。
而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图3-3所示。
时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
请读者特别注意时钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的错误。
一般地,电容C1和C2取30pF左右,晶体的振荡频率范围是1.2~12MHz。
晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。
8051在通常应用情况下,使用振荡频率为6MHz或12MHz。
图2-3时钟振荡电路
(2)外部方式时钟电路
在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的公用外部脉冲信号作为各单片机的振荡脉冲。
这时,外部的脉冲信号是经XTAL2引脚注入,其连接如图3-4所示。
图2-4外部时钟源接法
(3)时序
时序是用定时单位来说明的。
8051的时序定时单位共有4个,从小到大依次是:
节拍、状态、机器周期和指令周期。
它们之间的关系如下:
1)一个振荡脉冲的周期为节拍;
2)一个状态就包含两个节拍;
3)一个机器周期的宽度为6个状态;
4)一条指令周期由若干个机器周期组成。
(4)单片机的复位电路
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,复位后PC=0000H,使单片机从第一个单元取指令。
单片机复位的条件是:
必须使RST/VPD或RST引脚加上持续两个机器周期(即24个振荡周期)的高电平。
若时钟频率为12MHz,每机器周期为1 μs,则只需2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。
单片机复位期间不产生ALE和PSEN信号,即ALE=1和PSEN=1。
这表明单片机复位期间不会有任何取指操作。
复位后,内部各专用寄存器状态如下:
PC:
0000HTMOD:
00H
ACC:
00HTCON:
B:
00HTH0:
PSW:
00HTL0:
SP:
07HTH1:
DPTR:
0000HTL1:
P0~P3:
FFHSCON:
IP:
***00000BSBUF:
不定
IE:
0**00000BPCON:
0***0000
其中,*表示无关位。
注意:
(1)复位后PC值为0000H,表明复位后程序从0000H
开始执行,这一点在实训中已介绍。
(2)SP值为07H,表明堆栈底部在07H。
一般需重新设置SP值。
(3)P0~P3口值为FFH。
P0~P3口用作输入口时,必须先写入“1”。
单片机在复位后,已使P0~P3口每一端线为“1”,为这些端线用作输入口做好了准备。
电路以STC89C51单片机最小系统为控制核心,测温电路由DS18B20提供,输入部分采用三个独立式按键S1、S2、S3。
数码管显示部分。
具体电路连接,详见附录1。
2.2DS18B20传感器介绍
2.2.1DS18B20概述
在现代检测技术中,传感器占据着不可动摇的重要位置。
主机对数据的处理能力已经相当的强,但是对现实世界中的模拟量却无能为力。
如果没有各种精确可靠的传感器对非电量和模拟信号进行检测并提供可靠的数据,那计算机也无法发挥他应有的作用。
传感器把非电量转换为电量,经过放大处理后,转换为数字量输入计算机,由计算机对信号进行分析处理。
从而传感器技术与计算机技术结合起来,对自动化和信息化起重要作用。
采用各种传感器和微处理技术可以对各种工业参数及工业产品进行测控及检验,准确测量产品性能,及时发现隐患。
为提高产品质量、改进产品性能,防止事故发生提供必要的信息和更可靠的数据。
由于系统的工作环境比较恶劣,且对测量要求比较高,所以选择合适的传感器很重要。
目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化和网络化的方向飞速发展。
智能温度传感器DS18B20正是朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
因此,智能温度传感器DS18B20作为温度测量装置已广泛应用于人民的日常生活和工农业生产中。
美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片外加不锈钢保护管封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
有独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯;
其测温范围-55℃~+125℃,固有测温分辨率0.5℃;
支持多点组网功能;
多个DS1820可以并联在唯一的三线上,实现多点测温;
工作电源为3~5V/DC;
在使用中不需要任何外围元件。
18B20共有三种形态的存储器资源,它们分别是:
ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
DS18B20的性能特点如下:
(1)采用DALLAS公司独特的单线接口方式:
DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;
(2)在使用中不需要任何外围元件;
(3)可用数据线供电,供电电压范围:
+3.0V~+5.5V;
(4)测温范围:
-55~+125℃。
固有测温分辨率为0.5℃。
当在-10℃~+85℃范围内,可确保测量误差不超过0.5℃,在-55~+125℃范围内,测量误差也不超过2℃;
(5)通过编程可实现9~12位的数字读数方式;
(6)用户可自设定非易失性的报警上下限值;
(7)支持多点的组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温
(8)负压特性,即具有电源反接保护电路。
当电源电压的极性反接时,能保护DS18B20不会因发热而烧毁,但此时芯片无法正常工作;
(9)DS18B20的转换速率比较高,进行9位的温度值转换只需93.75ms;
(10)适配各种单片机或系统;
(11)内含64位激光修正的只读存储ROM,扣除8位产品系列号和8位循环冗余校验码(CRC)之后,产品序号占48位。
出厂前产品序号存入其ROM中。
在构成大型温控系统时,允许在单线总线上挂接多片DS18B20。
2.2.2DS18B20引脚介绍
图3:
DS18B20引脚
各引脚功能为:
I/O为数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。
UDD是可供选用的外部电源端,不用时接地,GND为地,NC空脚。
2.2.3DS18B20的内部结构
DS18B20的内部结构主要包括7部分:
寄生电源、温度传感器、64位激光(loser)ROM与单线接口、高速暂存器(即便筏式RAM,用于存放中间数据)、TH触发寄存器和TL触发寄存器,分别用来存储用户设定的温度上下限值、存储和控制逻辑、位循环冗余校验码(CRC)发生器。
图4:
DS18B20内部结构
2.2.4DS18B20的程序流程图
图5程序流程图
2.3数码管介绍
数码管是一种半导体发光器件,其基本单元是发光二极管。
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
图5:
数码管
数码显示器是一种由LED发光二极管组合显示字符的显示器件,它使用了8个Led发光二极管,其中七个用于显示字符,一个显示小数点,所以通称为七段发光二极管数码显示器。
4位一体数码管,其内部段已连接好,引脚如图所示(数码管的正面朝自己,小数点在下方)。
a、b、c、d、e、f、g、dp为段引脚,S1、S2、S3、S4分别表示四个数码管的位。
2.3继电器介绍
电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从