基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案[研究分析].doc

上传人:rrsccc 文档编号:9392525 上传时间:2021-02-23 格式:DOC 页数:31 大小:1.90MB
返回 下载 相关 举报
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案[研究分析].doc_第1页
第1页 / 共31页
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案[研究分析].doc_第2页
第2页 / 共31页
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案[研究分析].doc_第3页
第3页 / 共31页
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案[研究分析].doc_第4页
第4页 / 共31页
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案[研究分析].doc_第5页
第5页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案[研究分析].doc》由会员分享,可在线阅读,更多相关《基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案[研究分析].doc(31页珍藏版)》请在三一文库上搜索。

1、技术发展 福建师范大学协和学院 传感器技术作品设计 作品名称:单片机控制的温度烟雾报警系统 系 别: 信息技术系 专 业: 电子信息工程 班 级: 1 班 学 号: 学生姓名: 2012 年 11 月 10 日 技术发展 摘 要 _本次设计课题为基于单片机控制的温度烟雾报警系统。在设计中包括 硬件和软件设计两部分,其中硬件设计,包括单片机控制电路、温度传 感器、烟雾传感器、驱动执行报警电路、显示控制电路等部分组成,处 理器为 STC89C52 型单片机。随着现代信息技术的飞速发展和传统工业 改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。 传统的温度检测以热敏电阻为温度敏感元件

2、。热敏电阻的成本低,需要 外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也 有一定的误差。与传统的温度计相比,这次设计的是基于 DS18B20 的数 字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用 范围宽等特点。 关键字: 单片机 温度传感器 报警 技术发展 ABSTRACT This design is based on the single chip microcomputer to control the temperature alarm system. Included in the design of hardware and software des

3、ign of two parts, this paper mainly for hardware design, including the control circuit of the single chip microcomputer, temperature sensor, driving alarm circuit, a display control circuit components, the processor for the STC89C52 type mcu. With the rapid development of modern information technolo

4、gy and traditional industry to transform gradually realization, able to work independently of the temperature detection and display system is used in many fields. The traditional temperature measurement using thermistor as a temperature sensitive element. Thermal resistance of the low cost, the need

5、 of external signal processing circuit, and relatively poor reliability, measurement accuracy is low, also have certain error detection system. Compared with the traditional thermometer, this design is based on the DS18B20 digital thermometer, it has reading convenience, a wide range of temperature

6、measurement, accurate temperature measurement, digital display, wide application range and other features. Key words: SCM, temperature sensor alarm 技术发展 目目 录录 摘摘 要要 .IIII ABSTRACTABSTRACT .IIIIII 1 1 绪论绪论 . 1.1 作品研究背景及意义 . 1.2 设计目的. 1.3 预期实现功能. 2 2 设计方案设计方案 . 2.1 功能框架图 . 2.2 具体设计方案 . 2.2.1 时钟和复位电路.

7、2.2.2 液晶显示电路. 2.2.3 声音报警电路. 3 3 核心器件介绍核心器件介绍. 3.1.单片机 STC89C52 介绍 . 3.2 DS18B20 介绍 . 4 4 电路的制作与调试电路的制作与调试 . 4.1 器件清单 . 4.2 调试过程 . 4.3 实验总结 . 5.5. 电路实物图电路实物图 . 6.6. 附录附录 . 技术发展 1 1 绪论绪论 1.11.1 作品研究背景及意义作品研究背景及意义 自动控制领域中,温度检测与控制占有很重要的地位。温度检测在工农业生 产、科研和在人们的生活中得到广泛的运用。目前,温度传感器正从模拟式向数字 集成式方向飞速发出,单片机也是人们追

8、求的目标之一,它所给人带来的方便也是 不可否定的,其中数字温度计就是一个典型的例子,人们对它的要求越来越高,要 为现代人工作、科研、生活、提供更好更方便的设施就需要从单片机技术入手,一 切向着数字化、智能化方向发展。本文就是基于此目的介绍基于单片机和数字温度 传感器的温度报警设计。 1.21.2 设计目的设计目的 了解温度传感器 DS18B20 和烟雾传感器 MQ-2 的基本原理、性能与应用。 熟悉单片机 STC89C52 工作方式和应用。 通过实验提高对单片机的认识。 掌握 DS18B20 和烟雾传感器 MQ-2 的接口方法及其输入程序的设计和调试方法。 将所学的单片机原理及检测技术的知识运

9、用于实践,解决实际问题. 通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术了解电路 参数的计算方法。 1.31.3 预期实现功能预期实现功能 1.实时监测温度并在液晶屏上显示。 2.温度低于设定的低温警报值或高于设定的高温警报值将产生声光警报,并 打 开继电器开关,关闭外围电路电源。 3 监测到烟雾也将产生声光警报。 技术发展 2设计方案设计方案 2.12.1 功能框架图功能框架图 本设计主要包括主控模块(STC89C52 单片机) ,温度采集器(DS18B20) ,烟雾传感器(MQ- 2),时钟模块,液晶显示器(LCD1602) ,报警器(蜂鸣器)和 4 个按键组成的一个完整系统。

10、 技术发展 2.22.2 具体设计方案具体设计方案 2.2.2.2.1 1 时钟和复位电路时钟和复位电路 单片机 STC89C52 使用的时钟电路比较简单,我们采用的是晶体振荡器产生时钟源。 XTAL1(X1)为反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2(X2)是来自反向振荡 器的输出,分别接到单片机的 19 脚和 18 脚。当按下按键 S22 时,VCC 通过 R22 电阻给复位输入 端口一个高电平,实现复位功能,即手动复位这样就不用在重起单片机电源。上电复位就是 VCC 通过电阻 R2 和电容 C 构成回路,该回路是一个对电容 C 充电和放电的电路,所以复位端口得到 一个周期

11、性变化的电压值,并且有一定时间的电压值高于 CPU 复位电压,实现上电复位功能。 技术发展 2.2.22.2.2 液晶显示电路模块液晶显示电路模块 2.2.52.2.5 声音报警电路模块声音报警电路模块 技术发展 Sbit feng=P3.7;/定义蜂鸣器的引脚 Feng=1;/蜂鸣器关闭 Feng=0; /蜂鸣器打开 3 3 核心器件介绍核心器件介绍 3.13.1 单片机 STC89C52 介绍 单片机STC89C52是8位高性能MCU,超低功耗:掉电模式下典型功耗01 LLA, 空闲模式下典型功耗2 mA正常工作模式下典型功耗4 7 mA 具有8kF1ash存储器、 512 kB RAM、

12、2k E2pROM、降低EMI功能、ISP(在系统可编程)功能 单片机内部的看 门狗电路经过特殊处理是真正的看门狗可放心省去外部看门狗 缺省为关闭打 开后无法关闭,单倍速和双倍速可反复设置。 单片机 STC89C52 和各个模块的接口主要是对 STC89C52 的 I/O 口进行约束,规 定其为输出还是输入,输入主要是按键电路部分和时钟,输出则为报警和显示部分, 其 I/O 分配如下图 3.8 所示。 技术发展 图 3.8 单片机 STC89C52 I/O 接口电路 3.2DS18B203.2DS18B20 介绍介绍 DS18B20 是 DALLAS 公司生产的一线式传感器,具有 3 引脚 T

13、O-92 小体积封装形 式;温度测量范围为-55 摄氏度到+125 摄氏度,可编程为 9 到 12 位 A/D 转换精度, 测温分辨率可达 0.0625 摄氏度,被侧温度用符号扩展的 16 位数字量方式串行输出; 其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU 只需一根端口线就 能与诸多 DS18B20 通信,占用问处理器的端口较少,可节省大量的引线和逻辑电路。 DS18B20 主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警 触发器 TH 个 TL、配置寄存器。DS18B20 中的温度传感器可完成对温度的测量,用 16 位符号扩展的二进制补码读数形式提供,以

14、0.0625 摄氏度/LSB 形式表达,其中 S 为符号位。例如+125 摄氏度的数字输出为 07DOH,+25.0625 摄氏度的数字输出为 0191H,-25.0625 摄氏度的数字输出为 FF6FH,-55 摄氏度的数字输出为 FC90H. DS18B20 采用一线通信接口。因为一线通信接口,必须在先完成ROM 设定, 否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:读 ROM 技术发展 指令 0X33, ROM 匹配指令 0X55,搜索 ROM 指令 0XF0, 跳过 ROM 指令 0XCC, 报警检查指令 0XEC。这些指令操作作用在没有一个器件的64 位光刻 ROM 序

15、列号。 图 3.9 DS18B20 的两种封装形式 4.4.电路的制作与调试电路的制作与调试 4.14.1 器件清单器件清单 元件清单 器材名称型号片数 固定电阻 10k/0.25W10 固定电阻 4.7k/0.25W1 固定电阻 5.1K/0.25W1 固定电阻 1K/0.25W2 蜂鸣器 1.5V1 液晶显示器 LCD16021 IC 插座DIP8 针 2 IC 插座 DIP401 ISP 插座5*2 插座 1 单排插座(排母) 2.54MM 1*401 LED 发光二极管红色,黄色 2 技术发展 单片机 STC89C52STC89C521 直插三极管 2N-39041 USB 下载器 S

16、TC89C521 杜邦线连线 3 温度传感器 DS18B201 4.2.4.2. 调试过程调试过程 (1)电路板插上电源,电源工作指示灯没有亮。 解决办法:将万用表打到二极管图标的位置,检测电源线路是否有阻值,最后发现第一个 电源线没有与焊盘焊在一起,导致电路板即使插上电源也没有电,最后将焊盘和电源线焊在一 起,插上电源就有电了。 (2)电路板不能进行烧写。 解决办法:用万用表检测电路,发现几个脚有虚焊,用锡将其焊好。 4.34.3 实验总结实验总结 要完整的设计一个智能温度控制器,并且能有效的应用在工业化温度控制或置 于某一环境温度控制中,还都需要提供电源、系统组装与调试等诸多方面的协调和

17、配合。本文只是初步的设计了智能温度控制器的核心部件,如温度采集、处理、显 示、蜂鸣器的报警、运用外部按键设定警报值以及继电器的控制等。 然而,对于如何针对加热和制冷设备的如何实现,以及扩展到对湿度等其它环 境要素的测量和控制,如何使它们同时集成在一个电路系统中,这些都还未得到有 效的解决,值得进一步研究和探讨。 技术发展 5. 电路实物图 技术发展 6. 附录 电路仿真图: 硬件设计电原理图: 技术发展 硬件设计 PCB 图: 源代码: #include #include #define uchar unsigned char #define uint unsigned int 技术发展 sb

18、it LCD_RS=P20; sbit LCD_RW=P21; sbit LCD_EN=P22; void Delay_ms(uint xms); /延时函数声明 bit lcd_busy(); /忙检查函数声明 void lcd_wcmd(uchar cmd); /写指令寄存器 IR 函数声明 void lcd_wdat(uchar dat); /写指令寄存器 DR 函数声明 void lcd_clr(); /清屏函数声明 void lcd_init(); /LCD 初始化函数声明 void Delay_ms(uint xms) /延时函数 uint i,j; for(i = xms;i0;

19、i-) for(j = 110;j0;j-); void delayNOP() _nop_(); _nop_(); _nop_(); _nop_(); bit lcd_busy() /LCD 忙碌检查函数 bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (bit)(P0 LCD_EN = 0; return result; void lcd_wcmd(uchar cmd) /写指令寄存器 IR 函数 技术发展 while(lcd_busy(); LCD_RS

20、 = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 0; void lcd_wdat(uchar dat)/写指令寄存器 DR 函数 while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN =

21、 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 0; void lcd_clr() /LCD 清屏函数 lcd_wcmd(0 x01); Delay_ms(5); 技术发展 void lcd_init() /LCD 初始化函数 Delay_ms(15); lcd_wcmd(0 x38); Delay_ms(5); lcd_wcmd(0 x38); Delay_ms(5); lcd_wcmd(0 x38); Delay_ms(5); lcd_wcmd(0 x0c); Delay_ms(5); lcd_wcmd(0 x06); Delay_ms(5

22、); lcd_wcmd(0 x01); Delay_ms(5); #include #define uchar unsigned char #define uint unsigned int sbit DQ=P13;/ds18b20 与单片机连接口 sbit RS=P25; sbit RW=P26; sbit EN=P27; sbit K1=P32;/按键 K1 sbit K2=P20;/按键 K2 sbit K3=P21;/按键 K3 sbit K4=P22;/按键 K4 sbit yanwu=P33;/烟雾接口 sbit LED1=P23; sbit LED2=P24; /*温度警报值*/

23、 unsigned char FU1=0;/,TH1=0,TZ1=3,TL1=0;/高温 负号标志 百位 十位 个位 unsigned char FU2=0;/,TH2=0,TZ2=3,TL2=0;/低温 负号标志 百位 十位 个位 uint TH=300; uint TL=250; sbit feng=P37; /蜂鸣器接口 unsigned char bfeng1,bfeng2; unsigned char code str1=temp: ; unsigned char code str2=DS18B20 OK; unsigned char code str4=SET TH:; 技术发展

24、unsigned char code str5=SET TL:; unsigned char code str3= ; unsigned char code menu2_H = H ; /温度过高时,第 2 行 显示高温报警符号 unsigned char code menu2_L =(tvalue) bfeng1=0; else bfeng1=1; else bfeng1=0; if(FU2=0) if(TLtvalue) bfeng2=0; else bfeng2=1; else bfeng2=0; 技术发展 else if(FU2=0) bfeng1=0; else if(THtvalu

25、e) bfeng2=0; else bfeng2=1; if(bfeng1=1|bfeng2=1) feng=0; LED1=1; else feng=1; LED1=0; /*lcd1602 程序*/ void delay1ms(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|=0 x80; delay_18B20(10); return(dat); void ds1820w

26、r(uchar wdata)/*写数据*/ unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata delay_18B20(10); 技术发展 DQ = 1; wdata=1; read_temp()/*读取温度值并转换*/ uchar a,b; ds1820rst(); ds1820wr(0 xcc);/*跳过读序列号*/ ds1820wr(0 x44);/*启动温度转换*/ ds1820rst(); ds1820wr(0 xcc);/*跳过读序列号*/ ds1820wr(0 xbe);/*读取温度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue=8; tvalue=tvalue|a; if(tvalue 0;i-) DQ = 0; dat = 1; DQ = 1; if (DQ) dat |= 0 x80; Delay(4); return (dat); 技术发展 WriteOneByte(uchar dat) /写 1 字节函数 uchar i = 0; for (i = 8; i 0;i-) DQ = 0; DQ = dat Delay(5); DQ =1; dat= 1;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1