基于单片机的温控报警系统.doc_第1页
基于单片机的温控报警系统.doc_第2页
基于单片机的温控报警系统.doc_第3页
基于单片机的温控报警系统.doc_第4页
基于单片机的温控报警系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机温控报警系统XXX摘 要:温度的检测与控制是工业生产中比较典型的应用之一。本文设计了一种基于AT89C51的温度检测及报警系统,该系统将温度传感器DS18B20接在控制器的端口上,定时对温度进行采集,将采集到的温度值与设定值进行比较,当超出设定的温度上限时,通过蜂鸣器报警提示。文中给出了系统实现的硬件原理图与软件流程图。关键词:单片机 温度传感器 蜂鸣器 1062液晶屏 DS18B20 编程引 言随着人们生活水平的提高,单片机控制无疑是人们追求的目标之一,它所给人的学习、工作生活都带来很大的方便。其中,温控报警系统就是一个典型的例子。 单片机温控报警系统的温感系统主要是DS18B20芯片,该芯片由一根总线控制,电压范围为3.0v-5.5v,而且具有测温方便、测温范围广的优点,还可以手动设置报警温度点,随意调高或调低,最主要的是可定义报警设置,报警搜索命令识别并标志超过预置报警温度自动报警,出于对此类问题的探索,我们设计出了此温度报警系统。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确。其输出温度采用数字显示,主要用于对测温比较准确的场所,该设计控制器主要使用AT89C51,测温传感器使用DS18B20;显示用1602或12864液晶显示屏,内置有AT24C02芯片,可以方便记录以前显示的温度值。第一章 系统功能描述1.1 硬件电路组成本系统主要是基于单片机实现其温度检测和报警功能,以AT89C51为单片机作为控制核心,提出了一种基于DS18B20的单总线多点温度测控系统,多个温度传感节点通过单总线与单片机相联形成分布式系统。单片机通过实时监控温度的变化,通过LCD1602字符型液晶显示各节点温度的数值,当温度值超出所设定的值时,报警器开始报警,从而远程实现对整个温度系统的管理和控制。这种分布式温度测量系统具有成本低廉、传感精度高、系统稳定、易于管理等优点。1.2硬件电路图图(1) 总体设计方框图图(2)硬件电路第二章 方案论证2.1设计方案可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。2.2报警系统硬件及其特点2.2.1 核心控制器件AT89C52AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本1。 AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。具有低电压供电和体积小等特点。图(3)AT89C52各引脚及管脚2.2.2温度传感器DS18B20DS18B20数字温度传感器是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20数字温度传感器接线方便,耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:1、独特的单线接口仅需要一个端口引脚进行通信;2、多个DS18B20可以并联在惟一的三线上,实现多点组网功能;3、无须外部器件;4、可通过数据线供电,电压范围为3.05.5;5、零待机功耗;6、温度以9或12位数字;7、用户可定义报警设置;8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;图(4)DS18B20的引脚排列序号名称引脚功能描述1GND地信号2DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地表(1)DS18B20引脚功能描述DS18B20的内部结构DS18B20的内部框图如图(5)所示。64位ROM存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6和7字节器件内部保留使用。第八字节含有循环冗余码(CRC )。图(5)DS18B20的内部框图2.2.3 LCD 1062LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。具有低压微功耗、外观小巧精致、被动显示型、显示信息量大、易于彩色化、无电磁辐射、长寿命等特点。LCD显示原理:利用旋光效应对光进行偏转,再利用偏振片滤去不需要透过光的相应像素,从而实现图像显示。 LCD驱动原理:分成两大步,即写指令,写数据,其中写数据之前要找到显示的位置。本实验所采用的液晶型号为LCD1602 。它位数多,可显示32位,32个数码管体积相当庞大了,显示内容丰富,可显示所有数字和大、小写字母,程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而LCD1602自动完成此功能。1602采用标准的16脚接口如图(6)所示图(6)管脚1:VSS为地电源管脚2:VDD接5V正电源管脚3:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度(建议接地,弄不好有的模块会不显示)管脚4:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。管脚5:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。管脚6:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。管脚714:D0D7为8位双向数据线。管脚1516:空脚(有的用来接背光) 2.2.4蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、复印机、报警器、定时器等电子产品中作发声器件。蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器。如图(7)所示,蜂鸣器的正极接到VCC(5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P3.7引脚控制,当P3.7输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,结合电路我们可以通过程序控制P3.7脚的电平来使它发出声音和关闭。 程序中改变单片机P3.7引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。图(7)报警电路原理图第三章 程序流程/*/DS18B20报警实验演示程序/使用单片机AT89C52 晶振:11.0592M/*/包含头文件/*#include/*/宏定义/*#define uchar unsigned char#define uint unsigned int/*/共阳极段码表tab; 带小数点的共阳极段码表tab1; 警铃编码表Music_Girl;/*uchar code tab= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code tab1=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/*/定义全局变量/*sbit DQ=P23;/ds18b20与单片机连接口sbit seg0=P20;/小数位sbit seg1=P21;/个位sbit seg2=P22;/十位sbit green=P24;sbit red =P25;sbit music=P36;/接蜂鸣器uchar data disdata4;uint tvalue;/温度值uchar tflag;/温度正负标志uchar max_tem=2;/温度警戒值/*/延时函数,延时时间近似1ms/*void delay_ms(unsigned int ms)/延时1毫秒(不够精确的)unsigned int i,j;for(i=0;ims;i+)for(j=0;j0;i-) DQ = 0; /给脉冲信号dat=1;DQ = 1; /给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);return(dat);/*/ DS18B20写指令函数 R0M指令/ 控制DS18B20做何操作/*void ds1820wr(uchar wdata)/*写数据*/uchar i=0;for (i=8; i0; i-)DQ = 0;DQ = wdata&0x01;delay_18B20(10);DQ = 1;wdata=1;/*/DS18B20转化启动函数/*void read_temp1()/*读取温度值并转换*/EA=0; /关全局中断,防止DS18B20的时序操作被打乱ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ds1820wr(0x44);/*启动温度转换*/ds1820rst();EA=1; /*/DS18B20转换温度读取函数,并转化成实际温度值/ 返回值: tvalue为实际温度值/*unsigned int read_temp2() uchar a,b;EA=0;ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0xbe);/*读取温度*/ a=ds1820rd();b=ds1820rd();EA=1;tvalue=b;tvalue=8;tvalue=tvalue|a; if(tvaluemax_tem) red=0;music=music; delay_ms(1); EA=1;第四章 结论本设计研究是基于单片机控制的温度控制及报警系统的设计,介绍了对温度的显示、控制及报警,实现了温度的实时显示及控制。控制部分,提出了用DS18B20单片机及LCD的硬件电路完成对温度的实时检测及显示,利用DS18B20与单片机连接由软件与硬件电路配合来实现对温度的实时控制及超出设定的上下限温度的报警系统。它具有微型化、低功耗、高性能、抗干拢能力强、易配微处理器等优点,特别适合于构成温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18B20都有唯一的产品号并可存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18B20芯片。从DS18B20读出或写入DS18B20信息仅需要一根口线,其读写及温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,而无需别处电源。致谢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论