付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、福建师范大学协和学院传感器技术作品设计作品名称:单片机控制的温度烟雾报警系统2012 年 11 月 10 日本次设计课题为基于单片机控制的温度烟雾报警系统。 在设计中包括硬 件和软件设计两部分,其中硬件设计,包括单片机控制电路、温度传感 器、烟雾传感器、驱动执行报警电路、显示控制电路等部分组成,处理 器为STC89C52型单片机。随着现代信息技术的飞速发展和传统工业改 造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,需要 外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也 有一定的误差。与传统的温度计相比,这次
2、设计的是基于 DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用 范围宽等特点。关键字:单片机温度传感器报警ABSTRACTThis design is based on the single chip microcomputerto control the temp erature alarm system .In eluded in the desig n of hardware and softwaredesign of two parts, this paper mainly for hardware design, includingthe con tr
3、ol circuit of the single chi p microco mpu ter, temp erature sen sor, driv ing alarm circuit, a dis play con trol circuit componen ts, the p rocessor for theSTC89C52 type mcu. With the rapid developmentof modern information tech no logy and traditi onal in dustry to tran sform gradually realizati on
4、, ableto work independen tlyof the temp eraturedetect ion and dis play system isused in many fields. The traditionaltemperaturemeasurementusing thermistor as a temperature sen sitive eleme nt. Thermal resista nee of the lowcost, the need of external signalprocessingcircuit, and relatively poorreliab
5、ility, measureme ntaccuracy is low, also have certa in error detect ion system. Comp ared with the traditi onal thermometer, this desig n is based on the DS18B20 digital thermometer, it has read ing convenien ce, a wide rangeof temperaturemeasurement,accurate temperaturemeasurement,digital dis play,
6、 wide app licati on range and other features.Key words: SCM, temp erature sen sor alarmIIIABSTRACT1绪论1.1作品研究背景及意义1.2设计目的1.3预期实现功能2设计方案2.1功能框架图2.2具体设计方案2.2.1时钟和复位电路2.2.2液晶显示电路2.2.3声音报警电路3核心器件介绍3.1.单片机STC89C52介绍3.2 DS18B20 介绍4电路的制作与调试4.1器件清单4.2调试过程4.3实验总结5.电路实物图6.附录1绪论1.1作品研究背景及意义自动控制领域中,温度检测与控制占有很重要的
7、地位。温度检测在工农业生产、科研和在人们的生活中得到广泛的运用。目前,温度传感器正从模拟式向数字集 成式方向飞速发出,单片机也是人们追求的目标之一,它所给人带来的方便也是不可 否定的,其中数字温度计就是一个典型的例子, 人们对它的要求越来越高,要为现代 人工作、科研、生活、提供更好更方便的设施就需要从单片机技术入手,一切向着数 字化、智能化方向发展。本文就是基于此目的介绍基于单片机和数字温度传感器的温 度报警设计。1.2设计目的? 了解温度传感器DS18B20和烟雾传感器MQ-2的基本原理、性能与应用。?熟悉单片机STC89C52工作方式和应用。?通过实验提高对单片机的认识。?掌握DS18B2
8、0和烟雾传感器MQ-2的接口方法及其输入程序的设计和调试方法。?将所学的单片机原理及检测技术的知识运用于实践,解决实际问题?通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术了解电路参数的计算方法。1.3预期实现功能?1.实时监测温度并在液晶屏上显示。? 2.温度低于设定的低温警报值或高于设定的高温警报值将产生声光警报,并打开继电器开关,关闭外围电路电源。? 3监测到烟雾也将产生声光警报。2设计方案2.1功能框架图下载複块壬控模块抿聖模块本设计主要包括主控模块(STC89C52单片机),温度采集器(DS18B20),烟雾传感器(MQ-2 ),时钟模块,液晶显示器(LCD1602 ),报
9、警器(蜂鸣器)和 4个按键组成的一个完整系统。2.2具体设计方案2.2.1时钟和复位电路单片机STC89C52使用的时钟电路比较简单,我们采用的是晶体振荡器产生时钟源。XTAL1XTAL2(X2)是来自反向振荡器的输(X1 )为反向振荡放大器的输入及内部时钟工作电路的输入。VCC通出,分别接到单片机的19脚和18脚。当按下按键 S22时,VCC通过R22电阻给复位输入端口一个高电平,实现复位功能,即手动复位这样就不用在重起单片机电源。上电复位就是 过电阻R2和电容C构成回路,该回路是一个对电容 C充电和放电的电路, 所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于CPU复位电
10、压,实现上电复位功能。222液晶显示电路模块CON4P21134J25 厂GNDVCCVLJ21 1 丨 1602LCD IGND vcc yT(GND)S7C55433PQiqfqTPQ2pqjPQ.4POjF0.6POJENPBODBlDB2DE 3DB4DB5PB'6DB7BL561S9101112141?1(5DBS' Dfil Dm DBSDB4DB5 DB6 TDB7BLA(LED+)IS225声音报警电路模块QI I WEAKER1尺访|厂h5.6k1Sbit feng=P 3.7;/定义蜂鸣器的引脚Feng=1 ; /蜂鸣器关闭Feng=0;/蜂鸣器打开3核心器
11、件介绍3.1单片机STC89C52介绍单片机STC89C52是8位高性能MCU,超低功耗:掉电模式下典型功耗 <0 . 1LLA,空闲模式下典型功耗2 mA .正常工作模式下典型功耗4 7 mA具有8kF1ash存储器、512 kB RAM、2k E2pROM、降低EMI功能、ISP(在系统可编程)功能单片缺省机内部的看门狗电路经过特殊处理.是真正的看门狗.可放心省去外部看门狗为关闭.打开后无法关闭,单倍速和双倍速可反复设置。单片机STC89C52和各个模块的接口主要是对 STC89C52的I/O 口进行约束,规定其为输出还是输入,输入主要是按键电路部分和时钟,输出则为报警和显示部分,其
12、I/O分配如下图3.8所示。TOT1Til51 II討丹33;21 P2O22 PMM K2輿327 P2.6Eil FU pTj pTi pU pTJPICPHP13Fl 3RD.17 RDP11TXDEtXD10 R>D1*卜 rl. *=1CM -1PI JPSENPlDALEP0 一 7图3.8单片机STC89C52 I/O 接口电路3.2DS18B20 介绍DS18B20是DALLAS公司生产的一线式传感器,具有 3引脚TO-92小体积封装形式;温度测量范围为-55摄氏度到+125摄氏度,可编程为9到12位A/D转换精度,测温分辨率可达0.0625摄氏度,被侧温度用符号扩展的1
13、6位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用问处理器的端口较少,可节省大量的引线和 逻辑电路。DS18B20主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH个TL、配置寄存器。DS18B20中的温度传感器可完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625摄氏度/LSB形式表达,其中S为符号位。例如+125摄氏度的数字输出为07DOH,+25.0625摄氏度的数字输出为0191H,-25.0625 摄氏度的数字输出为FF6FH,-55摄氏度的数字输出为ROM设
14、FC90H.DS18B20采用一线通信接口。因为一线通信接口,必须在先完成定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:读ROM 指令0X33,ROM 匹配指令 0X55,搜索 ROM 指令0XF0, 跳 过ROM指令0XCC,报警检查指令 0XEC。这些指令操作作用在没有一个器件的64位光刻ROM序列号。KI 一1SG 27就 18520执C 一36HC 一45£0亂封装 Vec一 NC一 NC一 WC图3.9 DS18B20 的两种封装形式4.电路的制作与调试4.1器件清单元件清单器材名称型号片数固定电阻10k/0.25W10固定电阻4.7k/0.25W1固定电
15、阻5.1K/0.25W1固定电阻1K/0.25W2蜂鸣器1.5V1液日日显示器LCD16021IC插座DIP8 针2IC插座DIP 401ISP插座5*2插座1单排插座(排母)2.54MM 1*401LED发光二极管红色,黄色2单片机STC89C521直插三极管2N-39041USB下载器STC89C521杜邦线连线3温度传感器DS18B2042调试过程(1 )电路板插上电源,电源工作指示灯没有亮。解决办法:将万用表打到二极管图标的位置,检测电源线路是否有阻值,最后发现第一个电 源线没有与焊盘焊在一起,导致电路板即使插上电源也没有电,最后将焊盘和电源线焊在一起, 插上电源就有电了。(2)电路板
16、不能进行烧写。解决办法:用万用表检测电路,发现几个脚有虚焊,用锡将其焊好。4.3实验总结要完整的设计一个智能温度控制器,并且能有效的应用在工业化温度控制或置于某一环境温度控制中,还都需要提供电源、系统组装与调试等诸多方面的协调和配 合。本文只是初步的设计了智能温度控制器的核心部件,如温度采集、处理、显示、 蜂鸣器的报警、运用外部按键设定警报值以及继电器的控制等。然而,对于如何针对加热和制冷设备的如何实现, 以及扩展到对湿度等其它环境要素的测量和控制,如何使它们同时集成在一个电路系统中, 这些都还未得到有效的 解决,值得进一步研究和探讨。5.电路实物图6.附录p - p r r:Tw音:-电路仿
17、真图:硬件设计电原理图: III11二t I :<二二 fC吐s«»»Kzf.ntn-'FT=尸:f:ZJlIHH顫苑 »» 匹 i A unILJ UL:rIH硬件设计PCB图:w;尸;:lE: - E1.半:H J;.亠,'川匸厂L二一一rp二 _ it"二 i L匸一二Ste常E-m_u_._ll一w远二T薄二-书 !二|卅丨1 m |【1一十SIuu厉*i*s 山r也一爲源代码:#in clude<reg51.h>#in clude< intrin s.h>#:* I -I I n
18、atP询十WWW獰:?nF""議 一 T T TTJT TT T TT-TT牛 f 臺: 駐;#defi ne uchar un sig ned char #defi ne uint un sig ned int sbit LCD_RS=PO;sbit LCD_RW=卩2人1;/延时函数声明忙检查函数声明sbit LCD_EN=卩2人2;void Delay_ms(ui nt xms);bit lcd_busy();void lcd_wcmd(uchar cmd);/写指令寄存器IR函数声明void lcd_wdat(uchar dat);写指令寄存器 DR函数声明void
19、 lcd_clr();/清屏函数声明void Icdin it();/LCD初始化函数声明void Delay_ms(ui nt xms)/延时函数uint i,j;for(i = xms;i>0;i-)for( j = 11O;j>O;j-);void delayN OP()_no p_();_no p_();_no p_();_no p_();bit lcd_busy()/LCD忙碌检查函数bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;_no p_();_no p_();_no p_();_no p_();result = (bit)
20、(PO&O x80);LCD_EN = 0;retur n result;void lcd_wcmd(uchar cmd)/写指令寄存器IR函数while(lcd_busy();LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;_no p_();_no p_();PO = cmd;_no p_();_no p_();_no p_();_no p_();LCD_EN = 1;_no p_();_no p_();_no p_();_no p_();LCD_EN = 0;void lcd_wdat(uchar dat) /写指令寄存器DR函数while(lcd_busy();
21、LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;PO = dat;_no p_();_no p_();_no p_();_no p_();LCD_EN = 1;_no p_();_no p_();_no p_();_no p_();LCD_EN = 0;void lcd_clr()/LCD清屏函数lcd_wcmd(0x01);Delay_ms(5);void Icdjn it()/LCD初始化函数Delay_ms(15);lcd_wcmd(0x38);Delay_ms(5);lcd_wcmd(0x38);Delay_ms(5);lcd_wcmd(0x38);Delay_ms(
22、5);lcd_wcmd(0x0c);Delay_ms(5);Icd_wcmd(0x06);Delay_ms(5);lcd_wcmd(0x01);Delay_ms(5);#in clude<reg51.h> #defi ne uchar un sig ned char #defi ne uint un sig ned int sbit DQ=P1A3;/ds18b20与单片机连接口sbit RS=P2A5;sbit RW=P 2人6;sbit EN=P2A7;sbit K1= P3A2;/按键K1sbit K2=P 2人0;/按键K2sbit K3=P 2人1;/按键K3sbit K
23、4=P2A2;/按键K4sbit yan wu=卩3人3;/烟雾接口sbit LED仁 P2A3;sbit LED2=卩2人4;/*温度警报值 */un sig ned char FU1=0;/,TH1=0,TZ1=3,TL1=0;/高温负号标志 百位十位个位un sig ned char FU2=0;/,TH2=0,TZ2=3,TL2=0;/低温负号标志 百位十位个位uint TH=300;uint TL=250;sbit feng=P 3人7;/蜂鸣器接口un sig ned char bfen g1,bfe ng2;un sig ned char code str1="te m
24、p: "un sig ned char code str2="DS18B20 OK"un sig ned char code str4="SET TH:"un sig ned char code str5="SET TL:"un sig ned char code str3="";/温度过高时,第2行un sig ned char codemenu 2_H = ">H "显示高温报警符号un sig ned char codeme nu2_L ="<L"
25、/温度度过低时,第2行显示低温报警符号uchar data disdata5;uint tvalue;/ 温度值uchar tflag;/ 温度正负标志/*un sig ned char hhh=1;报值判断 */void pan dua n()if(tflag=0)if(FU1=O)if(TH>(tvalue)bfen g1=0;elseelsebfen g1=1;bfen g1=0;if(FU2=0)if(TL<tvalue)bfen g2=0;elseelsebfen g2=1;bfen g2=0;elseif(FU2=0)bfen g1=0;elseif(TH<tva
26、lue)bfen g1=0;elsebfen g1=1;if(FU2=0)bfen g2=1;elseif(TL>tvalue)bfen g2=0;elsebfen g2=1;if(bfe ng1=1|bfe ng2=1)fen g=0;LED1=1;elsefen g=1;LED1=0;un sig ned int i,j;for(i=0;i<ms;i+)/*lcd1602程序 *延时1毫秒(不够精确的)void delay1ms( un sig ned int ms)/for( j=0;j<100;j+);写指令/写数据void wr_com (un sig ned ch
27、ar com)/ delay1ms(1);RS=0;RW=0;EN=0;P0=com;delay1ms(1);EN=1;delay1ms(1);EN=0;void wr_dat( un sig ned char dat)/ delay1ms(1);RS=1;RW=0;EN=0;P0=dat;delay1ms(1);EN=1;delay1ms(1);EN=0;void lcd_init()/初始化设置 /delay1ms(15);wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x
28、06);delay1ms(5);显示/wr_com(0x0c);delay1ms(5);void dis play (un sig ned char *p)/while(* p!='0')wr_dat(* p);P+;delay1ms(1);init_pl ay()/初始化显示 lcd_in it();wr_com(0xc1);dis play(strl);wr_com(0x83);dis play(str2);/*dsi820序 */void delay_18B20(u nsig ned int i)/延时1微秒while(i-);void ds1820rst()/*ds18
29、20复位*/ un sig ned char x=0;DQ = 1;DQ复位delay_18B20(4); /延时DQ = 0;/DQ拉低delay_18B20(100); /精确延时大于480us/拉高DQ = 1;delay_18B20(40);uchar ds1820rd()/* 读数据 */ un sig ned char i=0;un sig ned char dat = 0;for (i=8;i>0;i-)DQ = 0; /给脉冲信号dat>>=1;DQ = 1; /给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);写数据*/return(
30、dat);void ds1820wr(uchar wdata)/* un sig ned char i=0;for (i=8; i>0; i-) DQ = 0;DQ = wdata&0x01;delay_18B20(10);DQ = 1;wdata>>=1;read_temp()/*读取温度值并转换*/uchar a,b;ds1820rst();void ds1820dis p()/温度值显示ds1820wr(0xcc);/*跳过读序列号*/ds1820wr(0x44);/*启动温度转换*/ds1820rst();ds1820wr(0xcc);/*跳过读序列号*/ds
31、1820wr(0xbe);/*读取温度*/a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)tflag=0;elsetvalue=tvalue+1;tflag=1;tvalue=tvalue*(0.625);/温度值扩大10倍,精确到1位小数retur n( tvalue);/*/ uchar flagdat;disdata0=tvalue/1000+0x30;/百位数disdata1=tvalue%1000/100+0x30;/十位数disdata2=tvalue%1
32、00/10+0x30;/个位数disdata3=tvalue%10+0x30;/小数位if(tflag=0)flagdat=0x20;/正温度不显示符号elseflagdat=0x2d;/负温度显示负号:-if(disdata0=0x30)disdata0=0x20;/如果百位为0 ,不显示wr_com(0xc8);wr_dat(disdata1);/显示十位if(disdata1=0x30)disdata1=0x20;/如果百位为0 ,十位为0也不显示wr_com(0xc6);wr_dat(flagdat);/显示符号位wr_com(0xc7);wr_dat(disdata0);/显示百位w
33、r_com(0xc9);wr_dat(disdata2);/显示个位wr_com(Oxca);wr_dat(0x2e);/ 显示小数点wr_com(0xcb);wr_dat(disdata3);/显示小数位wr_com(0xcc);wr_dat(Oxdf);wr_com(0xcd);wr_dat(C);pan dua n();if(bfe ng1=1)wr_com(0xce);dis play(me nu 2_H);elseif(bfe ng2=1)wr_com(0xce);dis play(me nu 2_L);elsewr_com(Oxce);dis play(str3);/*程序 */v
34、oid mai n()EA=1;EX0=1;IT0=1;EX1=1;IT0=1;init_p lay();/ 初始化显示fen g=1;LED1=0;LED2=1;while(1)read_tem p();/读取温度ds1820dis p();/ 显示void zhon gdua n1() wr_com(0x01);wr_com(0x83);dis play(str4);wr_com(0xc3);dis play(str5);void zhon gdua n2() wr_com(0xc0);wr_dat(0x20);wr_com(0xc1);wr_com(0x81);wr_dat(0x7e);
35、void zhon gdua n3()wr_com(0x80);wr_dat(0x20);wr_com(0x81);wr_dat(0x20);wr_com(0xc0);wr_dat(0x2d);wr_com(0xc1);wr_dat(0x7e);void xia n2()uchar flagdat;disdata0=TL/1000+0x30;/百位数disdata1=TL%1000/100+0x30;/十位数disdata2=TL%100/10+0x30;/个位数disdata3=TL%10+0x30;/小数位if(FU2=0)flagdat=0x20;/正温度不显示符号elsewr_dat(
36、0xdf);wr_com(0xcf);wr_dat(C);flagdat=0x2d;/负温度显示负号if(disdata0=0x30)disdata0=0x20;/如果百位为不显示if(disdata1=0x30)disdata1=0x20;/如果百位为十位为0也不显示/* wr_com(0x8C);wr_dat(flagdat);/显示符号位*/wr_com(0xcb);wr_dat(disdata0);/显示百位wr_com(0xcc);wr_dat(disdata1);/显示十位wr_com(0xcd);wr_dat(disdata2);/显示个位wr_com(0xce);void xi
37、a n1()uchar flagdat;disdata0=TH/1000+0x30;/百位数disdata1=TH%1000/100+0x30;/十位数disdata2=TH%100/10+0x30;/个位数disdata3=TH%10+0x30;/小数位/*wr_com(0x8C);wr_dat(flagdat);/显示符号位*/wr_com(0x8b);wr_dat(disdata0);/显示百位if(FU1=0)flagdat=0x20;/正温度不显示符号elseflagdat=0x2d;/负温度显示负号if(disdata0=0x30)disdata0=0x20;/如果百位为不显示if
38、(disdata1=0x30)disdata1=0x20;/如果百位为十位为0也不显示wr_com(0x8c);wr_dat(disdata1);/显示十位wr_com(0x8d);wr_dat(disdata2);/显示个位wr_com(0x8e);wr_dat(0xdf);wr_com(0x8f);wr_dat(C);/外部中断0voidin t0()in terr upt 0 using 0EX0=0;delay1ms(10);if(K1=0) zho ngdua n1();xia n1();xia n2();while(1)if(K1=0)delay1ms(10);II延时10ms去抖if(K1=0)while(!K1);II等待K1键释放hhh+;zhon gdua n3();if(hhh=2)hhh=0;zhon gdua n2(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京西城区教委人才引进(含博士后出站人员)招聘16人参考考试题库及答案解析
- 喜鹊策划婚礼活动方案(3篇)
- 2026上半年玉溪师范学院招聘6人备考考试试题及答案解析
- 门诊处方管理制度课件下载(3篇)
- 伪装门施工方案(3篇)
- 2026浙江浙建好房子装饰科技有限公司招聘备考考试试题及答案解析
- 2026广东茂名市电白区旦场中学2026年招聘部分学科临聘教师备考考试题库及答案解析
- 2026重庆市南岸区弹子石小学校信科教师招聘1人参考考试题库及答案解析
- 2026吉林大学第二医院招聘劳务派遣制护理员岗位人员10人备考考试试题及答案解析
- 2026年临沂市市直部分事业单位公开招聘综合类岗位工作人员(21名)考试备考试题及答案解析
- 年产30万吨木薯燃料乙醇项目一期工程(年产15万吨)可行性研究报告
- 2024年水合肼行业发展现状分析:水合肼市场需求量约为11.47万吨
- 肺炎性假瘤误诊为肺癌的HRCT表现及浅析
- (正式版)JBT 14933-2024 机械式停车设备 检验与试验规范
- 幼儿园劳动教育计划及实施
- 新人教版五年级小学数学全册奥数(含答案)
- 志愿服务证明(多模板)
- 术后肠麻痹学习课件
- 顶管施工方案非开挖电缆管道专项施工方案
- XX小学传统体育游戏集锦
- GB/T 33091-2016聚氨酯筛板
评论
0/150
提交评论