基于单片机的温度控制报警系统设计Word文档格式.docx
《基于单片机的温度控制报警系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制报警系统设计Word文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断,从而满足生产生活中的各种需要。
单片机温度测量控制系统中的关键是测量温度、控制温度,从而达到各种需求。
因此,单片机温度测量则是对温度进行有效的测量,并且能够在工业生产中得到了广泛的应用,尤其在电力工程、化工生产、机械制造、冶金工业、无线控制等重要工业领域中,扮演着重要角色。
在日常生活中,也可广泛实用于空调器、电加热器等各种家居电器。
1.2课题研究的内容及要求
我的毕业设计的题目是基于单片机的温度控制报警系统设计。
它是多种技术知识的结合,不仅涉及到硬件的设计,还需要软件编程,同时还要兼顾到精度、测量误差、稳定性等各种因素。
电路板是从电子市场买来,要自己亲手焊接,这就要考虑如何布线,来达到外观美观,功能实现的目标。
经过查阅资料发现许多应用场合原来就有测温仪器,只是随着对生产质量与生产需要的要求在不断地提高、升级。
其中,有部分应用场合对精度提高的幅度要求也不是特别高。
因此,为了提高性价比,我所设计的系统提出在原有设计的基础上进行一些简单的修改,以此为出发点,主要阐述的是温度测量自动报警系统的实现方法。
本文所要研究的课题是基于单片机的温度报警系统设计,主要是介绍了对环境温度的测量、显示、控制及报警,实现了动态温度的实时显示。
温度控制部分,提出了用AT89C51单片机、DS18S20、及LCD显示的硬件电路完成对环境温度的实时检测及显示,利用DS18S20与单片机连接由软件与硬件电路配合来实现,超出设定的上下限温度,报警系统就自动报警。
控制器是用89C51单片机,适合于应对多点的温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18S20都有唯一的产品号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。
从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18S20供电。
同时DS18S20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。
而且利用本次的设计主要实现温度测试,温度显示,温度门限设定,超过设定的门限值时自动启动自动报警等功能。
而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再加上温度控制部分和人机对话部分来共同实现温度的监测与控制。
1.3课题的研究方案
温度控制系统是比较常见和典型的过程控制系统。
温度是工业生产过程中重要的被控参数之一,当今计算机控制技术在这方面的应用,已使温度控制系统达到自动化、智能化,比过去单纯采用电子线路进行PID调节的控制效果要好得多,可控性方面也有了很大的提高。
本设计方案很简单,采用了STC89C51单片机系统来实现。
单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。
单片机系统可以用液晶屏幕来显示环境温度的实际值,能用键盘输入设定上下线值。
本方案选用了STC89C51芯片,本身存储器已够用,不需要外扩展存储器,可使系统整体结构大为简单从而大大提高了系统的智能化。
2电路设计的理论基础
2.1系统设计的框架
本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制报警系统。
该控制系统可以实时存储相关的温度数据。
其主要包括:
电源电路、温度采集电路、按键处理电路、LCD显示电路、报警电路以及单片机基本电路。
下图(图2-1)为设计框架图。
电源电路
单片机
显示电路
信号采集
报警电路
按键调节
图2-1总框架图
2.2单片机发展史
单片机根据其基本操作处理的二进制位数主要分为:
4位单片机、8位单片机、16位单片机和32位单片机。
单片机的发展史可大致分为4个阶段。
第一阶段(1974年--1976年):
单片机初级阶段。
因工艺限制,单片机采用双片的形式而且功能比较简单。
1974年12月,仙童公司推出了8位的F8单片机,实际上只包括了8位CPU、64B RAM 和2个并行口。
第二阶段(1976年--1978年):
低性能单片机阶段。
1976年,Intel公司推出的MCS--48单片机(8位单片机)极大地促进了单片机的变革和发展;
1977年,GI公司推出了PIC1650,但这个阶段的单片机仍然处于低性能阶段。
第三阶段(1978年--1983年):
高性能单片机阶段。
1978年,Zilog公司推出了Z8单片机;
1980年,Intel公司在MCS--48单片机的基础上推出了MCS--51系列,Motorola公司推出了6801单片机,这些产品使单片机的性能及应用跃上了一个新的台阶。
此后,各公司的8位单片机迅速发展起来。
这个阶段推出的单片机普遍带有串行I/O口、多级中断系统、16位定时器/定时器,片内ROM、RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。
由于这类单片机的性能价格比高,所以被广泛应用,是目前应用数量最多的单片机。
第四阶段(1983年--现在):
8位单片机巩固、发展及16位单片机和32位单片机推出阶段。
16位单片机的典型产品为Intel公司生产的MCS--96系列单片机。
而32位单片机除了具有更高的集成度外,其数据处理速度比16位单片机提高许多,性能比8位、16位单片机更加优越。
20世纪90年代是单片机制造业大发展的时期,这个时期的Motorola、Intel、ATMEL、德州仪器(TI)、三菱、日立、Philips、LG等公司也开发了一大批性能优越的单片机,极大地单片机的应用。
近年来,又有不少新型的高集成度的单片机产品涌现出来,出现了单片机丰富多彩的局面。
目前,除了8位单片机得到广泛用用之外,16位单片机和32位单片机也得到广大用户的青睐。
专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。
2.3STC89C51系列单片机介绍
2.3.1STC89C51特性
STC89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—flashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
而AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
STC89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
·
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32位可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
2.3.2STC89C51系列引脚功能
STC89C51有40引脚双列直插(DIP)形式。
其逻辑引脚图如图2-2。
图2-2STC89C51引脚图
各引脚功能叙述如下:
1.电源和晶振
VCC(40脚)——接+5V电源
GND(20脚)——接数字地
XTAL1(19脚)——片内震荡器反相放大器和时钟发生器电路的输入端
XTAL2(18脚)——片内震荡器反相放大器的输出端
2.I/O(4个口,32根)
P0口——P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口——P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口——P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口——P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
同时,P3口也可作为STC89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
3.控制线(共4根)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
3硬件电路设计
3.1电源电路
工作原理:
220V交流市电经过电源变压器变换成交流低电压,再经过桥式整流电路D2~D5和滤波电容C5的整流和滤波,在三端稳压器LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化)。
此直流电压经过LM7805的稳压和C7的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。
本稳压电源可作为TTL电路或单片机电路的电源。
三端稳压器是一种标准化、系列化的通用线性稳压电源的集成电路,其具有体积小、成本低、性能好、工作可靠、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件。
电源电路图如图3-1。
图3-1电源电路
LM7805简介:
LM7805是一种常用的三端稳压器,一般使用的是TO-220封装,能提供DC5V的输出电压,应用范围极广,内含过流过热及调整管的保护电路和过载保护电路。
带散热片时能持续提供1A的电流。
电子制作中经常采用。
但当稳压管温度过高时,稳压性能将变差,甚至损坏。
其外形引脚如图3-2。
图3-2LM7805引脚图(管脚图)
3.2温度传感器电路
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
耐磨耐碰,使用方便,封装形式多样,适用于各种狭小空间设备的数字测温和控制领域。
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。
超小的体积,超低的硬件开销,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎,DS18B20的优势更是我们学习单片机技术和开发温度相关小制作不二的选择,其技术性能描述为:
①独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
②测温范围-55℃~+125℃,固有测温分辨率0.5℃。
③支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。
④工作电源:
3~5V/DC
⑤在使用中不需要任何外围元件
⑥测量结果以9~12位数字量方式串行传送
⑦温度数字量转换时间200ms(典型值)
⑧用户可定义的非易失性温度报警设置
其外形如图3-3所示。
图3-3传感器外形图
本设计采用一线制数字温度传感器DS18B20来作为本课题的温度传感器。
传感器信号经4.7K的上拉电阻直接接到单片机的P2.0管脚上。
DS18B20温度传感器只有三根外接线:
单线数据传输总线DQ,外供电源线VDD,共用地线GND。
DS18B20有两种供电方式:
一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度的转换,相应的完成温度转换所需时间也较长。
这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。
另外一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间会较短。
工作原理及其应用:
DS18B20温度检测与数字数据的传输集成于一个芯片之上。
其工作一个周期可以分为二个部分,即温度检测与数据处理。
18B20有三种形态的存储资源,分别是ROM,RAM,EEPROM。
ROM只读存储器,共64位,用于存放DS18B20ID编码,其前八位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后的八位是以上56位的CRC(冗余校验码)。
其数据在出厂时设置,不由用户更改。
RAM数据暂存器,用于数据计算和数据存取,数据在掉电后消失,DS18B20共9个字节的RAM,每个字节为八位,第1,2字节是温度转换后的数据值信息,第3,4字节是用户EEPROM(常用于温度报警值的存储)的镜像。
在上电复位时,其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6,7,8个字节则是计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是温度转换、计算的暂存单元,第9个字节是前八个字节的CRC码。
EEPROM是非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据。
DS18B20共3位EEPROM,并在RAM上都存在镜像,以方便用户操作。
我们在读温度之前都必须进行复杂的且精准的时序处理,因为DS18B20硬件简单,从而导致软件的巨大开销,也是尽力减少有形资产化为无形资产的投入。
控制器对DS18B20的操作流程:
1.复位:
首先我们必须对DS18B20进行复位,复位就是由控制器给DS18B20单总线至少480us的低电平信号,当DS18B20接到此复位信号后,回发一个芯片的存在脉冲。
2.存在脉冲:
在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15--60us后接受存在脉冲,存在脉冲为一个60--240us的低电平信号。
至此,通信双方已达成了基本的协议,接下来将会是控制器与DS18B20的数据通信,如果复位低电平的时间不足或是单总线断路都不会接收到存在脉冲。
3.控制器发送ROM指令:
双方打完招呼后就要进行交流了,ROM指令共5条,每一个工作周期只能发送一条,ROM指令分别是读ROM数据,指定匹配芯片,跳跃ROM,芯片搜索,报警芯片搜索。
ROM指令为八位长度,功能是对片内的64位光刻ROM进行操作。
其主要目的是为了分别总线上挂接的多个器件并做处理,一般情况下,直挂一个DS18B20的就跳过ROM指令,此处并不是不发送ROM指令,而是用一条特有的一条“跳过指令”。
4.控制器发送存储器操作指令:
在发送ROM指令之后,接着就发送存储器操作指令。
操作指令同样为八位,共六条,分别为写RAM数据,读RAM数据,将RAM数据复制到EEPROM,温度转换,将EEPROM中报警值复制到RAM,工作方式切换。
存储器操作指令是命令DS18B20做什么样的工作,是芯片控制的关键。
5.执行或数据读写:
这个操作要视存储器操作指令而定。
在本设计中采用外部供电方式实现DS18B20传感器与单片机的连接,其接口电路如图3-4所示。
图3-4温度传感器电路
3.3显示电路
1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线其各引脚介绍如表3-1。
表3-1LCD引脚说明
引脚
符号
功能说明
1
VSS
接地
2
VDD
接电源(+5V)
3
V0
液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,使用时可以通过一个10K的电位器调整对比度
4
RS
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器
5
RW
R/W为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作
6
E
使能端
7
D0
双向数据总线
8
D1
9
D2
10
D3
11
D4
12
D5
13
D6
14
D7
15
BL+
背光电源正极
16
BL-
背光电源负极
本设计显示电路采用1602液晶显示,其电路图如下(图3-5):
图3-5显示电路
3.4报警电路
报警电路采用简单的发光二极管与蜂鸣器组合电路,当温度超出上下门限