室内外环境监测报警系统的设计报告_第1页
室内外环境监测报警系统的设计报告_第2页
室内外环境监测报警系统的设计报告_第3页
室内外环境监测报警系统的设计报告_第4页
室内外环境监测报警系统的设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、室内外环境监测报警系统设计报告系部名称:工项目 名称:室内外尔竟监测报警系统项目主要内容本项目将利用单片机与传感器等电子器件,设计一款实用方便的室内外环境监测报警系统。设计分为两个模块,室内模块和室外模块。室内模块主要功能是:测量室内温度和湿度、火灾监测报警、烟雾(或有害气体)监测报警;室外模块的主要功能是:测量室外温湿度。两个模块可以通过无线(采用ZigBee )连接,单片机将收集的数据进行处理,将温度、湿度及室内外温差显示在 LCD显示器上;当出现火情、有害气体泄漏时,蜂鸣器用不同频率的响声分别对各种情况进行预警。二、项目主要创新1 .设计的室内外环境监测报警系统灵巧、简便。2 .将日常生

2、活中需要的几种监测报警系统进行统一的整 合。最主要的是设计了温湿检测、火灾监测、烟雾及有害气体监测报警。3 .可以用我们设计的系统作为控制系统,外接风扇、水雾 喷洒或换气系统。根据温度变化调节风扇、根据湿度喷洒水雾 或根据空气质量开关换气系统。4 .使用了 ZigBee近距离无线组网通讯技术。三、硬件电路设计硬件电路包括室内模块和室外模块。 室内模块相当于协调器,使用了 STM32和CC2530两款芯片,主要用于检测室内温湿度并显示、监测火灾、有毒气体以及报警装置、接收室外温湿信息并显示、控制继电器等。室外模块相当与终端设备,使用 CC2530芯片,主要用于 检测室外或其他地方温湿参数,并把这

3、些参数无线发射到室内模块进 行显示。下面是主要的硬件设计。1. STM32核心板电路图资料.3 « rtjn宵=1JW. 31足二*九匕3也田裒五二0匚 一三三日止七aswai2. CC2530核心板电路图3.电源电路设计ASM117-3.3 是 5V 转 3.3V 芯片4. DS18B20电路设计5. DHT11电路设计6.火灾、烟雾监测电路设计e/u 自IX烟雾、有害气体监测使用 MQ_2,利用红外接受二极管监测是否 有火灾发生。LM393是一种低功率失调电压双比较器,它类似于增益 不可调的运算放大器。每个比较器有两个输入端和一个输出端, 两个 输入端一个称为同向输入端,一个称为

4、反相输入端。在比较两个电压 时,任意一个输入端加一个固定电压作参考电压, 另一端加一个待比 较信号电压。7. LCD显示电路设计8.继电器电路设计9 .按键电路GD3MCGW U、U vno ( NCvddRj:-mm 口 pR» lAJAMT RX IN WT TN Ijpl10 . CC2530串口通信电路设计TXPOSC2工_府4JM-1lirsji HAJEirVCdAs GN%TEST民久口 川例 GND NCikiTnCT4> 号 htL_h LI;_tLk. ff'iuta四、部分软件设计由于程序较长,这里提供部分程序。1. STM32主程序部分#incl

5、ude "stm32f10x.h"#include "delay.h"#include "sys.h"#include "USART.h"#include "LCD.h"#include "DHT11.h"#include "DS18B20.h"#include "MQ_2.h"#include "IR.h"#include "LED.h"#include "BUZZER.h"

6、#include "KEY.h"#include "RELAY.h"#include "Display.h"void Deal_With(u8,u8);void Deal_Temp(u8,u8);extern unsigned char TH, TL, RH, RL;extern unsigned char temp7;extern u8 RES;int main(void)u8 ts = 0;u8 fs = 1;u8 mq = 0;u8 ir = 0;u8 h_norm = H_TEMP;u8 l_norm = L_TEMP;del

7、ay_init();LED_Init();Buzzer();RELAY_Init();IR_Init();MQ_Init();USART1_Configuration();USARTx_NVIC_Configuration();LCD_Init(0x38,0x0c,0x06,0x01);DS18B20_WriteEEPROM();Scan_Key_Configuration();whileDHT11_ReadData();DS18B20_ReadTemperature();Temp_Conversion();Slect_Model(); mq = MQ_Scan();ir = IR_Scan(

8、);ts = Key_Scan();switch(ts)case KVALUE1 : fs = Set_LCD(ts); break;case KVALUE2 : h_norm = Set_H_Param(ts,fs); break;case KVALUE3 : l_norm = Set_L_Param(ts,fs); break;case KVALUE4 : Reset_Instrument(ts); break;default : break;switch(fs)case 0 : break;case 1 : Display_Indoor(); break;case 2 : Display

9、_Outdoor_1(); break;case 3 : Display_Outdoor_2(); break;case 4 : Display_Set_Temp_Param(h_norm,l_norm); break; default : break;Deal_With(mq,ir);Deal_Temp(h_norm,l_norm);2. CC2530监测温度程序#ifndef _DS18B20_H_#define _DS18B20_H_extern unsigned char Ds18b20Initial(void);extern void Temp_test(void);extern v

10、oid Temp_Conversion(void);extern unsigned char temp7;extern unsigned char tflag;#endif#include "iocc2530.h"#include "OnBoard.h"#define uint unsigned int#define uchar unsigned char#define Ds18b20Data P0_6 / 温度传感器引脚#define ON 0x01/读取成功返回 0x00,失败返回 0x01#define OFF 0x00uchar temperat

11、ure2; / 存放温度数据uchar temp7;/存放分解的7个ASCII码温度数据uchar tflag;void Ds18b20Delay(uint k);void Ds18b20InputInitial(void);/ 设置端口 为输入void Ds18b20OutputInitial(void);/设置端口 为输出uchar Ds18b20Initial(void);void Ds18b20Write(uchar infor);uchar Ds18b20Read(void);void Temp_test(void); / 温度读取函数void Temp_Conversion(voi

12、d);/时钟频率为32Mvoid Ds18b20Delay(uint k)/*uint i,j;for(i=0;i<k;i+)for(j=0;j<2;j+);*/MicroWait(k);void Ds18b20InputInitial(void)设置端口 为输入P0DIR &= 0xbf;void Ds18b20OutputInitial(void)设置端口 为输出P0DIR |= 0x40;/ds18b20初始化初始化成功返回0x00,失败返回0x01uchar Ds18b20Initial(void)uchar Status = 0x00;uint CONT_1 =

13、0;uchar Flag_1 = ON;/读取是否成功的标志位Ds18b20OutputInitial();P0_6设置为输出模式Ds18b20Data = 1;/ 拉高总线Ds18b20Delay(260);Ds18b20Data = 0;/ 拉低总线Ds18b20Delay(750);Ds18b20Data = 1;/ 拉高总线Ds18b20InputInitial();P0_6 设置为输入模式while(Ds18b20Data != 0)&&(Flag_1 = ON)/ 等待 ds18b20 响应,具有防 止超时功能/等待约60ms左右CONT_1+;Ds18b20Del

14、ay(10);if(CONT_1 > 8000)Flag_1 = OFF;Status = Ds18b20Data;Ds18b20OutputInitial();P0_6设置为输出模式Ds18b20Data = 1;/ 拉高总线Ds18b20Delay(100);return Status;主机往 Ds18b20写数据void Ds18b20Write(uchar infor)uint i;Ds18b20OutputInitial();P0_6设置为输出模式/发送一个字节for(i=0;i<8;i+)/发送一位if(infor & 0x01)Ds18b20Data = 0;

15、Ds18b20Delay(6);Ds18b20Data = 1;Ds18b20Delay(50);elseDs18b20Data = 0;Ds18b20Delay(50);Ds18b20Data = 1;Ds18b20Delay(6);infor >>= 1;/ 移位主机从Ds18b20读数据uchar Ds18b20Read(void)uchar Value = 0x00;uint i;Ds18b20OutputInitial();P0_6 设置为输出模式Ds18b20Data = 1;/总线拉高,准备读数据Ds18b20Delay(10);for(i=0;i<8;i+)V

16、alue >>= 1;Ds18b20OutputInitial();P0_6设置为输出模式Ds18b20Data = 0;/拉低总线产生读信号Ds18b20Delay(3);Ds18b20Data = 1;/释放总线准备读数据Ds18b20Delay(3);Ds18b20InputInitial();P0_6 设置为输入模式/等待读取数据if(Ds18b20Data = 1) Value |= 0x80;Ds18b20Delay(15);return Value;void Temp_test(void) / 温度读取函数 uchar V;Ds18b20Initial();/ 初始化

17、Ds18b20Write(0xcc); 逃过 ROMDs18b20Write(0x44);/ 温度转换命令Ds18b20Initial();Ds18b20Write(0xcc); 逃过 ROMDs18b20Write(0xbe);/ 读 DS1820 温度暂存器命令temperature0 = Ds18b20Read();temperature1 = Ds18b20Read();V = temperature1;V <<= 8;V = V | temperature0;if(V < 0x0fff)tflag = 0;elsetflag = 1;Ds18b20Initial()

18、;void Temp_Conversion(void)uchar temp_data_1,temp_data_2;uint TempDec;temp_data_1 = temperature1;temp_data_1 &= 0xf0; 取高 4 位if (temp_data_1 = 0xf0) 判断是正温度还是负温度读数负温度读数求补,取反加1,判断低8位是否有进位if (temperature0=0)/有进位,高8位取反加1temperature0=temperature0+1;temperature1=temperature1+1;else/没进位,高8位不加1temperatur

19、e0 = temperature0+1;temperature1 = temperature1;取高字节低4位(温度读数高4位),注意此时是12位精度temp_data_1 = temperature1 << 4;取低字节高4位(温度读数低4位),注意此时是12位精度temp_data_2 = temperature0 >> 4;/组合成完整数据temp_data_1 = temp_data_1 | temp_data_2;temp0 = temp_data_1/100+0x30;取百位转换为 ASCII 码temp1 = (temp_data_1%100)/10+0x30;取十位转换为 ASCII 码temp2 = (temp_data_1%100)%10+0x30; 取个位转换为 ASCII 码temp

温馨提示

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

评论

0/150

提交评论