毕业设计暖气控制器的研究.docx
《毕业设计暖气控制器的研究.docx》由会员分享,可在线阅读,更多相关《毕业设计暖气控制器的研究.docx(54页珍藏版)》请在冰点文库上搜索。
毕业设计暖气控制器的研究
本科毕业论文(设计)
题目:
基于单片机的暖气节能控制节点设计
学院:
自动化工程学院
专业:
电子信息工程
姓名:
指导教师:
TheDesignofControllingnodesforHeatingsavingBasedonMCU
摘要
根据目前国内水循环供暖的现状,通过了解供暖的模式,以及供暖的特点,设计了一款暖气节能控制器,它的出现实现了水循环供暖的智能控制,节约了宝贵的能源,有利于保护自然环境。
它的核心部件AT89C51,是一款低电压、低功耗、高性能的8位微处理器,内部的5个中断源,4组I/O口及可编程串行通道使得方案设计更灵活。
温度传感器使用具有单线接口方式的DS18B20,它的使用大大简化了电路结构,并提高了数据采集效率。
它的抗干扰能力强,节能环保,界面简单易懂,并且易于安装,维护,操作,从而有利于市场推广。
关键词暖气节能控制器AT89C51单片机DS18B20
Abstract
Accordingtothecurrentstatusquoofthedomesticwater-cycleheating,Ihavedesignedaheatingenergy-savingcontrollerbyunderstandingtheheatingmode,andthecharacteristicsoftheheating.Theinventionmakestheintelligentcontrolofthewater-cycleheatingbecomeareality,savingvaluableenergyandprotectingthenaturalenvironment.ThecorecomponentofthisdeviceistheAT89C51(alowvoltage,lowpower,high-performance8-bitmicroprocessor)withfiveinterruptsources,fourI/Oportsandaprogrammableserial,makingthedesignprocessmoreflexible.ThedigitaltemperaturesensorDS18B20withsingle-wireinterface,whichsimplifiesthecircuitstructure,improvetheefficiencyofdataacquisition.Theinventionhasexcellentanti-interferenceability,energysavinganditsinterfaceisstreamlineandeasytounderstand,andeasytoinstall,maintain,operate,thuscontributingtothemarketPromotion.
KeywordsheatingsavingcontrollerAT89C51ofMCUDS18B20
绪论
1.1暖气控制器简介
1.1.1发展现状
目前,全国很多地区普遍使用传统的水循环供暖方式提供集体供暖,但是,此供暖方式不便于分户温控和计量,即室内温度无法根据人的意愿实现灵活、梯度、柔和变化,从而使广大用户承受额外的经济负担。
国内庞大的供暖系统不仅产生过多的废气、废水,严重加剧了环境负担,而且导致了严重的资源浪费。
所以,我们要从用户源头实现资源节省,为此,我们要设计一款暖气智能节点控制节能系统,其特点是可以根据不同用户的不同需求实现自由控制暖气目的,创新点是用户可以在不同时间段,能随心所欲的选择合适的供暖温度,达到节能的目的,再进一步的可以让用户通过电话进行远程实时控制,实现人性化设计。
由于国内的传统水循环供暖方式是以集体为供暖单位,对单独用户不提供节暖节能设备,从而缺乏对个体户的实时控制,并且市场上也没有一套完善的第三方节暖节能设备。
所以这是本领域在趋向于完美过程中的一个漏洞,我们能够在此机遇下设计出一款适时的产品。
还有就是国外对于智能家具的研究开发起步较早,技术相对成熟,但满足我们要求的产品却寥寥无几,况且价格不菲,相关技术又实行垄断,所以完全限制了国外产品的大规模装配。
随着社会的发展,人类文明的进步,人们的生活越来越趋向于智能,节能环保及便捷。
控制器将为生活节奏快速的城市居民提供优越的服务。
“十二五”规划明确提出“绿色发展、建设资源节约型、环境友好型社会”,所以,建立一个绿色发展,资源节约的供暖系统势在必行,大势所趋。
1.1.2发展前景
首先,由于现在电子信息技术的不断发展,使得家具智能化成为现实,并为其提供了可靠的技术保障,和广阔的发展空间。
比如说,在国内新型的产物--物联网,就是对此最有利的印证。
其次,由于人类消费观念的提升,人们越来越重视节能环保产品。
所以,家具开发设计趋向于节能环保是顺应历史潮流,是符合现代人类文明发展规律的。
1.1.3设计方案
控制器以单片机AT89C51为核心,外围电路有温度传感器DS18B20,矩阵键盘,LCD电路,红外遥控,响应电路。
具体结构框图如图1
第二章暖气控制器的硬件设计
2.1AT89C51单片机
2.1.1总述
单片微型计算机简称单片机,又称为微控制器(MCU)是微型计算机家族的重要成员,它是一块集成的电路芯片,通过采用超大规模集成电路技术把具有数据处理能力的CPU,只读存储器ROM、随机存储器RAM、多组I/O口和串口通道、定时/计时器等部件集成到一块SI片上的一个小型而完美的计算机系统。
单片机AT89C51是一款低电压,高性能CMOS8位微处理器,诞生于美国ATMEL公司,AT89C51采用ATMEL高密度非易失存储器制造技术生产,存储器结构采用哈佛型结构,即将程序存储器(ROM)和数据存储器(RAM)分开,它们有各自独立的存储空间、寻址机构和寻址方式,并且与工业标准的MCS-51指令集和输出管脚完全兼容。
由于AT89C51单片机具有开发应用方便,功能全,体积小,廉价等优点,具有超强的MCU领域竞争力,在未来的工业界,科技界将得到广泛的发展。
AT89C51的主要功能特点:
●8位微控制器;
●与MCS-51指令系统完全兼容;
●可编程FLASH存储器4K字节,存储器保存数据可达十年;
●特殊功能寄存器区;
●128×8位内部RAM(MS-52系列有256字节RAM);
●4个8位并行可编程输入/输出口线(P1、P2、P3、P4);
●2个16位定时/计数器(MS-52系列拥有3个);
●2个优先级的五个中断源结构(2个外部中断+2个定时/计数器+1个全双工串口);
●全双工的可编程串行通道;
●具有布尔运算能力;
●全静态操作:
0Hz-24Hz;
2.1.2管脚介绍
图2.1AT89C51的管脚图
第39~32引脚P0口:
P0口是一组漏极开路的三态双向口,即地址总线和数据总线分时复用。
作为输出口时,每一个管脚都能够驱动8个LSTTL门电路。
当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。
P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。
P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻。
图2.2P0口位结构图
第1~8引脚P1口:
P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。
对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。
因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。
闪烁编程时和程序校验时,P1口接收低8位地址。
第28~21引脚P2口:
P2口也是一个准双向口,它有两种使用功能:
一种是当系统不扩展外部存储器时,作普通I/O口使用,其功能和原理与P0口第一功能相同,只是作为输出口时不需外接上拉电阻;另一种是当系统外扩存储器时,P2口作系统扩展的地址总线口使用,输出高8位的地址A7~A15,与P0口第二功能输出的低8位地址相配合,共同访问外部程序或数据存储器(64KB),但它只确定地址并不能像P0口那样还可以传送存储器的读写数据。
第10~17引脚P3口:
P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。
对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。
P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表所示:
表2.1AT89C51的P3口功能定义
引脚
第二功能
功能说明
P3.0
RXD
串行数据输入端
P3.1
TXD
串行数据输出端
P3.2
外部中断0中断请求信号输入端
P3.3
外部中断1中断请求信号输入端
P3.4
T0
定时/计数器0外部计数脉冲输入端
P3.5
T1
定时/计数器1外部计数脉冲输入端
P3.6
WR
片外RAM写选通信号输出端
P3.7
RD
片外RAM读选通信号输出端
第9引脚RST/VPD:
复位信号
在此引脚上出现两个机器周期的高电平,芯片内部进行初始复位。
另外此引脚还具有复用功能,只要将VPD接+5V电源,一旦VCC电位下降或断电能保护片内RAM中信息不丢失,复电后能正常工作。
第30引脚ALE/
:
当访问外部程序存储器时,ALE输出脉冲用于锁存P0口的低8位地址。
由于P0口作地址/数据复用口,所以通过ALE来选择。
第29引脚
:
低电平有效,
作为程序存储器的读信号,输出负脉冲将相应存储器单元的指令读取送到P0口,供CPU处理。
第31引脚
/VPP:
内部和外部程序存储器选择信号。
对于AT89C51,有内部程序存储器4KB,当
=1时,AT89C51访问程序存储器有以下情况:
地址小于4KB时访问内部程序存储器;
地址大于4KB时访问外部程序存储器。
当
接地时,取指令仅访问外部程序存储器。
第40引脚VCC:
电源电压
第20引脚GND:
接地
第19引脚XTAL1:
芯片内部振荡器的输入端。
第18引脚XTAL2:
芯片内部振荡器的输出端。
内时钟方式
反相器输入端为引脚XTAL1,反相器输出端为引脚XTAL2。
在放大器两个引脚上接一个陶瓷振荡器和两个电容就组成了并联谐振电路,从而形成了一个时钟振荡源。
如图2.3所示:
图2.3内时钟方式
外时钟方式
单片机利用外部振荡源向内部时钟电路输入某固定频率的时钟源信号。
此时,管脚XTAL1接至输入振荡信号荡信号,输入给内部时钟电路,管脚XTAL2悬空。
如下图所示:
图2.4外时钟方式
2.1.3AT89C51的硬件结构框图
AT89C51单片机内部硬件结构框图下图所示。
它由一个8位中央处理器(CPU)、4KBFlashROM及一个256Byte片内RAM、4个8位并行I/O口、21个特殊功能寄存器、一个串行I/O口、两个16位定时/计数器以及中断系统等部分组成,各功能部件通过片内单一总线集成到一块芯片上,如图2.5。
图2.5硬件结构框图
2.2DS18B20温度传感器
2.2.1DS18B20概述
数字化温度传感器DS18B20是由美国Dallas半导体公司首先研究推出的一块支持1-wireBus接口的高分辨率温度传感器,在其内部使用了在板(ON-B0ARD)专利技术,且因其数字传输部分只用了一条微控制器的接口线,故命名传感器为一线数字温度传感器(1-wireDigitalThermometer)。
该器件的传感器元件及转换电路全部集成在封装形如一只三极管的集成电路中。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建提供可靠的数据保障。
2.1.2DS18B20的主要特点
1)单总线接口结构,仅需要一个I/O端口引脚便可以完成数据的发送和接受;
2)每个期间在出厂时具有唯一的,存储在片内ROM的64位序列码,该序列码不可以更改;
3)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;
4)DS18B20支持多点组网功能,可以把多个DS18B20并联在相同的三条I/O线上,实现组网多点测温;
5)通过编程来选择9bit~12bit的分辨率;
6)通过数字温度信号输出测量结果,利用单总线传送给AT89C51,并可通过单总线接口传送CRC校验码;
7)适合于温度测量,温度调节装置控制,数字温度计以及任何温度敏感系统等系统装置的应用。
8)负压特性:
当电源的正负极接错时,芯片不能正常工作,但不会烧掉,安全系数高;
2.1.3DS18B20的电路符号及管脚排列
图2.6DS18B20管脚图
ØGND(Pin1):
接地引脚。
ØDQ(Pin2):
单总线的数据输入/输出引脚。
ØVDD(Pin3):
外部供电电源引脚,采用寄生电源时,该引脚接地。
DS18B20的供电方式有两种:
一种是寄生电源供电方式,另一种是外部电源供电方式。
寄生电源供电方式
在寄生电源供电方式下,DS18B20从信号线上获取能量,当信号线DQ处于高电平时,器件通过单总线把能量储存到内部电容里,而当信号线处于低电平时,电容释放电能以提供器件正常工作。
所以寄生电源供电方式的好处如下:
✓进行远距离测量温度时,不需要外部电源供电;
✓能够在没有本地电源的情况下随意读取只读存储器;
✓使得电路更加简洁,仅仅使用一条I/O口线即可实现测温。
图2.7寄生电源供电方式
图2.8寄生电源供电方式改进型
为了使DS18B20的温度转换更加精确,I/O线必须在温度转换期间提供足够的电能。
但是DS18B20在温度转换时的工作电流达到1mA,所以当几个DS18B20挂在同一根I/O线上进行多点温度测量时,仅仅依靠上拉电阻是无法提供足够的电能的,最终会造成温度转换失败或温度误差增大。
因此,图电路仅适应于一个温度传感器测温的情况。
在温度转换期间本地电源VCC必须保证5V,因为当电源电压下降时,寄生电源不能够汲取到足够的电能,从而使得温度误差增大。
考虑到以上遇到的问题,改进型寄生电源供电方式诞生了如图。
为了使DS18B20在温度转换期间获取足够的电能,在温度转换或拷贝到暂存存储器时,利用一条I/O口线控制MOS管的栅极,从而为单线总线提供充足的能量,在此种方式下可以解决电流供应不足的难题,故该电路适用于多点测温应用,但是缺点是要多占用一条I/O口线控制MOS管的栅极。
图2.9外部电源供电方式
DS18B20的外部电源供电方式
在外部电源供电方式下(如图2.9),DS18B20工作电源通过VDD引脚接入,此时I/O单总线不需要上拉电阻,因为外部电源供电方式可以为温度转换或拷贝到暂存存储器的操作提供稳定,充足的电能,可以保证转换精度。
此时理论上,总线上可以挂接多个DS18B20温度传感器,建立多点测温系统(如图)。
需要注意的是,在外部供电的方式下,DS18B20的Pin1GND引脚不能悬空,否则不能进行转换温度,并且读取的温度值始终是85℃。
图2.10多点测温电路
通过以上的剖析讲解,我们可以清晰的看出,外部电源供电方式是DS18B20最佳的工作方式,该工作方式使得电路工作状态稳定,抗干扰能力增强,而且电路结构简单,可以开发出稳定可靠的多点温度监控系统。
在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优势。
2.1.4DS18B20的硬件结构框图
图2.11DS18B20的硬件结构框图
2.2.2DS18B20访问流程
DS18B20需要严格执行时许协议才可以实现单总线通信。
单总线端口访问流程图如下所示:
图2.12单总线端口访问流程图
单总线协议在总线数据访问的过程中,有复位脉冲,存在脉冲,写0,写1,读0和读1.等信号类型。
其中除了存在脉冲以外,其它信号类型都是由单总线主机发送。
单总线主机和从机DS18B20的直接数据读写是通过ROM操作命令,存储器操作命令以及时间隙处理来实现的。
具体操作如下:
DS18B20写逻辑0的步骤如下:
1)单总线主机拉低电平大约10us~15us;
2)单总线主机持续拉低电平大约20us~45us的时间;
3)单总线主机最后释放总线。
DS18B20写逻辑1的步骤如下:
1)单总线主机拉低电平大约10us~15us;
2)单总线主机拉高电平大约20us~45us;
3)单总线主机释放总线。
DS18B20读逻辑0的步骤如下:
1)在读取时,单总线主机拉低电平大约1us;
2)单总线主机释放总线,然后读取总线电平;
3)此时,单总线从机DS18B20会拉低电平;
4)读取电平后,延迟大约40us~45us。
DS18B20读逻辑1的步骤如下:
1)在读取时,单总线主机拉低电平大约1us;
2)单总线主机释放总线后读取总线电平;
3)此时,单总线从机DS18B20会拉高电平;
4)读取电平后,延迟大约40us~45us。
2.2.3DS18B20的温度转换操作
DS18B20通过温度转换命令启动一次温度测量,测量结果存放在高速暂存器中,占有暂存器的字节0(LSB)和字节1(MSB)。
DS18B20完成一次温度转换的时间为750ms。
由于DS18B20可以测量正负温度,因此测量数据是以16位二进制补码存储的,单总线主机使用读暂存器命令可以把告诉暂存器中的测量结果读出。
DS18B20的数据读取都是以最低有效位(LSB)在前的方式进行读写的,图中,S表示符号位,当S=0时,代表正的温度值,当S=1时,代表负的温度值。
DS18B20温度值格式表如下表所示:
MSByte
LSByte
将转化后的N位数据,存储在DS18B20的两个8bit的高速暂存器RAM中,二进制温度值格式的前面5位全是符号位,如果测得的温度为正值,则符号位全为0,只要将测到的数值乘于对应的分辨率就可以获得实际测量温度。
如果温度为负值,则符号位全为1,测量到的数值需要进行求补运算,从而得到实际测量温度。
12位数字温度分辨率的温度与数据对应关系:
+100℃数字输出为0640H;
-55℃数字输出为F840H;
+50.0625℃数字输出为0321H;
-50.0625℃数字输出为F8EFH。
2.2.4C51模拟单总线操作子函数
DS28B20芯片ROM指令表:
ROM操作指令主要是对单总线接口器件内的64位ROM序列号进行操作。
单总线接口协议通过64位ROM序列号,可以选择出每一个单总线器件,同时可以向总线上的主机报告单总线器件的数量和具体类型。
单总线主机可以通过以下5条ROM操作指令来实现对DS18B20的操作。
表2.3ROM操作指令
DS28B20芯片存储器操作指令表:
以下指令大部分是对DS18B20内部存储器进行操作。
DS18B20的内部存储器由一个高速暂存器和一个非易失性电可擦除EEPROM组成,其存储器映像如下图:
寄存器内容
字节地址
温度值低位(LSByte)
0
温度值高位(MSByte)
1
高温限制(TH)
2
低温限制(TL)
3
配置寄存器
4
保留
5
保留
6
保留
7
CRC校验值
8
图2.13存储器映像图
RAM操作指令如下:
表2.4RAM操作指令
2.3键盘接口
2.3.1键盘接口简介
一个单片机应用系统要想做的完美无缺,人机交互接口是至关重要的。
因为键盘是同单片机进行人机交互的最基本,最常用的通道,利用键盘的按键来设置设置功能和输入数据。
按键的输入量实际上是一个开关量。
我们为了达到控制单片机运行的目的,通过利用键盘输入一些命令或数据。
在单片机的应用电路中有两种键盘分别是独立式键盘和矩阵式键盘
独立式键盘
顾名思义独立式键盘的按键相互独立,能够实现对较多的输入参数和功能较复杂的单片机应用系统的灵活控制,可以最大限度的利用单片机的引脚资源。
此键盘的每一根I/O口线和每个按键相连,每一个按键都有一个上拉电阻,I/O口线间的按键工作状态不会相互影响。
当按键被操作时,I/O口线的电平发生变化。
所以,通过检测I/O口线的电平状态,即可定位出哪只按键被按下。
在程序中,根据每个端口的电平变化可以判断是否有按键被按下,并且是哪个按键被按下,进而执行相应的程序片段。
独立键盘的接线图如下
图2.14独立式键盘
矩阵式键盘
顾名思义,矩阵式键盘的按键布局类似于一个矩阵。
例如M×N
说明此键盘有M条行线和N条列线,行线和列线的交叉点即是按键所处位置,当按键按下时,使得行线和列线连通。
常用的是4×4矩阵键盘如图,正好用一组I/O口线。
在程序中,分别对行线和列线进行不同操作,即可定位被按下的按键位置。
我们不难发现,矩阵式键盘是很节省I/O口线的,如果换成独立式键盘,我们却需要占用16条I/O口线,完全浪费了有限的资源。
图2.154×4矩阵式键盘
合理的按键编码
按键编码就是通过对各种功能的整合,然后对所有功能进行编码。
所以,每个按键对应某个编码(即键值)。
当按键被按下时,键盘将向单片机发送该按键对应的键值。
输入检测的可靠性
可靠的输入检测就是让响应程序准确的执行处理按键操作,避免出现误操作或执行失败。
机械式接触点是当前键盘按键的通用结构,但是机械式接触点的机械弹性效应,使得在按键被按下或断开时,接触点出现抖动,从而容易导致响应出错或者发生多次响应。
具体提高键盘准确率措施如下:
消除抖动影响
消除抖动影响,由于材料机械弹性效应的不同,按键的抖动时间长短不等,大致在5~10ms之间。
根据这个特征,我们可以在硬件或软件中进行相应的处理。
通常采用程序延时方法来消除抖动。
具体操作是当检查到有按键被按下时,便执行一次10毫秒的延时程序,随后再检测一次,查看该键是否没有被断开。
如果此键闭合,则可以确认它确实被按下了,从而达到了消除抖动影响的目的,接着执行相应操作即可。
一次按键处理
释义:
通过检测按键松开时状态,从而对按键操作仅实施一次响应。
因为手指按下按键会延迟时间,大约延时0.1~5s。
所以,当按下按键后,由于单片机的时钟频率极高,致使响应速度很快,有可能导致响应程序对键操作响应多次。
所以,我们需要加入一段程序以识别松开按键的状态,达到避免对一次按键输入响应多次的误操作。
2.4C51液晶显示LCD
2.4.1LCD概述
在单片机的人机交互系统中,常常需要显示系统运行中的某些信息和数据,由于液晶显示器(LCD)正好可以完成此项任务。
液晶显示是依靠液晶来进行数据或图形显示的,液晶显示器本身不发光,通过调节背光的亮度来达到显示效果,这是一种被动显示。
液晶显示模块(LCM)是以液晶屏为核心,加上外围控制电路,以实现显示图像的目的。
液晶显示模块根据显示功能的不同,液晶显示模块可以分为以下三种:
段码数字型
段码数字型的显示部件是段型LCD液晶显示器件,缺点是仅仅显示数字以及特殊的字符,优点是模块成本低。