基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案_第1页
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案_第2页
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案_第3页
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案_第4页
基于DS18B20和MQ2的单片机控制的温度烟雾报警系统方案_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

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 design of two part

3、s, 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 technology and traditio

4、nal 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 of external si

5、gnal 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 measurement, ac

6、curate 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 时钟和复位电路. 2.2.2 液晶显示电路. 2.2.3

7、声音报警电路. 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 个按键组成的一个完整系统。 2.22.2 具体设计方案具体设计方案 2.2.2.2.1

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

11、复位功能。 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、2k E2pROM、降低EMI功能、ISP(在系统可编程)功能 单片机内部的看 门狗电路经

12、过特殊处理是真正的看门狗可放心省去外部看门狗 缺省为关闭打 开后无法关闭,单倍速和双倍速可反复设置。 单片机 STC89C52 和各个模块的接口主要是对 STC89C52 的 I/O 口进行约束,规 定其为输出还是输入,输入主要是按键电路部分和时钟,输出则为报警和显示部分, 其 I/O 分配如下图 3.8 所示。 图 3.8 单片机 STC89C52 I/O 接口电路 3.2DS18B203.2DS18B20 介绍介绍 DS18B20 是 DALLAS 公司生产的一线式传感器,具有 3 引脚 TO-92 小体积封装形 式;温度测量范围为-55 摄氏度到+125 摄氏度,可编程为 9 到 12

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

14、OH,+25.0625 摄氏度的数字输出为 0191H,-25.0625 摄氏度的数字输出为 FF6FH,-55 摄氏度的数字输出为 FC90H. DS18B20 采用一线通信接口。因为一线通信接口,必须在先完成ROM 设定, 否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:读 ROM 指令 0X33, ROM 匹配指令 0X55,搜索 ROM 指令 0XF0, 跳过 ROM 指令 0XCC, 报警检查指令 0XEC。这些指令操作作用在没有一个器件的64 位光刻 ROM 序列号。 图 3.9 DS18B20 的两种封装形式 4.4.电路的制作与调试电路的制作与调试 4.14.1 器

15、件清单器件清单 元件清单 器材名称型号片数 固定电阻 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 下载器 STC89C521 杜邦线连线 3 温度传感器 DS18B201 4.2.4.2. 调试过程调试过程 (1)电路板插上电源

16、,电源工作指示灯没有亮。 解决办法:将万用表打到二极管图标的位置,检测电源线路是否有阻值,最后发现第一个 电源线没有与焊盘焊在一起,导致电路板即使插上电源也没有电,最后将焊盘和电源线焊在一 起,插上电源就有电了。 (2)电路板不能进行烧写。 解决办法:用万用表检测电路,发现几个脚有虚焊,用锡将其焊好。 4.34.3 实验总结实验总结 要完整的设计一个智能温度控制器,并且能有效的应用在工业化温度控制或置 于某一环境温度控制中,还都需要提供电源、系统组装与调试等诸多方面的协调和 配合。本文只是初步的设计了智能温度控制器的核心部件,如温度采集、处理、显 示、蜂鸣器的报警、运用外部按键设定警报值以及继

17、电器的控制等。 然而,对于如何针对加热和制冷设备的如何实现,以及扩展到对湿度等其它环 境要素的测量和控制,如何使它们同时集成在一个电路系统中,这些都还未得到有 效的解决,值得进一步研究和探讨。 5. 电路实物图 6. 附录 电路仿真图: 硬件设计电原理图: 硬件设计 PCB 图: 源代码: #include #include #define uchar unsigned char #define uint unsigned int sbit LCD_RS=P20; sbit LCD_RW=P21; sbit LCD_EN=P22; void Delay_ms(uint xms); /延时函数声

18、明 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;i-) for(j = 110;j0;j-); void delayNOP() _nop_(); _nop_(); _nop_(); _nop_(); bit

19、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 = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; _nop_(); _nop_(); _nop_();

20、_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 = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 0; void lcd_clr() /LCD 清屏函数 lcd_wcmd

21、(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); lcd_wcmd(0 x01); Delay_ms(5); #include #define uchar unsigned char #define uint unsigne

22、d 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; /*温度警报值*/ unsigned char FU1=0;/,TH1=0,TZ1=3,TL1=0;/高温 负号标志 百位 十位 个位 unsigned char FU2=0;/,TH2=0,TZ2

23、=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:; 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(THtvalue) bfeng2=0; else bfeng2=1; if(bfeng1=1|b

温馨提示

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

评论

0/150

提交评论