版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、14太原工業(yè)學(xué)院大學(xué)生科技創(chuàng)新室內(nèi)外環(huán)境監(jiān)測(cè)報(bào)警系統(tǒng)設(shè)計(jì)報(bào)告系 部 名 稱: 電子工程系 項(xiàng) 目 名 稱: 室內(nèi)外環(huán)境監(jiān)測(cè)報(bào)警系統(tǒng) 指 導(dǎo) 教 師: 陸 鋒 申 請(qǐng) 者: 馮國(guó)棟 年 級(jí) 專 業(yè): 11級(jí)電子信息工程 申 請(qǐng) 日 期: 2013年11月24日 聯(lián) 系 電 話:一、 項(xiàng)目主要內(nèi)容本項(xiàng)目將利用單片機(jī)與傳感器等電子器件,設(shè)計(jì)一款實(shí)用方便的室內(nèi)外環(huán)境監(jiān)測(cè)報(bào)警系統(tǒng)。設(shè)計(jì)分為兩個(gè)模塊,室內(nèi)模塊和室外模塊。室內(nèi)模塊主要功能是:測(cè)量室內(nèi)溫度和濕度、火災(zāi)監(jiān)測(cè)報(bào)警、煙霧(或有害氣體)監(jiān)測(cè)報(bào)警;室外模塊的主要功能是:測(cè)量室外溫濕度。兩個(gè)模塊可以通過無線(采用ZigBee)連
2、接,單片機(jī)將收集的數(shù)據(jù)進(jìn)行處理,將溫度、濕度及室內(nèi)外溫差顯示在LCD顯示器上;當(dāng)出現(xiàn)火情、有害氣體泄漏時(shí),蜂鳴器用不同頻率的響聲分別對(duì)各種情況進(jìn)行預(yù)警。二、 項(xiàng)目主要?jiǎng)?chuàng)新1.設(shè)計(jì)的室內(nèi)外環(huán)境監(jiān)測(cè)報(bào)警系統(tǒng)靈巧、簡(jiǎn)便。2.將日常生活中需要的幾種監(jiān)測(cè)報(bào)警系統(tǒng)進(jìn)行統(tǒng)一的整合。最主要的是設(shè)計(jì)了溫濕檢測(cè)、火災(zāi)監(jiān)測(cè)、煙霧及有害氣體監(jiān)測(cè)報(bào)警。3.可以用我們?cè)O(shè)計(jì)的系統(tǒng)作為控制系統(tǒng),外接風(fēng)扇、水霧噴灑或換氣系統(tǒng)。根據(jù)溫度變化調(diào)節(jié)風(fēng)扇、根據(jù)濕度噴灑水霧或根據(jù)空氣質(zhì)量開關(guān)換氣系統(tǒng)。4.使用了ZigBee近距離無線組網(wǎng)通訊技術(shù)。三、 硬件電路設(shè)計(jì)硬件電路包括室內(nèi)模塊和室外模塊。室內(nèi)模塊相當(dāng)于協(xié)調(diào)器,使用了STM32和C
3、C2530兩款芯片,主要用于檢測(cè)室內(nèi)溫濕度并顯示、監(jiān)測(cè)火災(zāi)、有毒氣體以及報(bào)警裝置、接收室外溫濕信息并顯示、控制繼電器等。室外模塊相當(dāng)與終端設(shè)備,使用CC2530芯片,主要用于檢測(cè)室外或其他地方溫濕參數(shù),并把這些參數(shù)無線發(fā)射到室內(nèi)模塊進(jìn)行顯示。下面是主要的硬件設(shè)計(jì)。1. STM32核心板電路圖2. CC2530核心板電路圖3. 電源電路設(shè)計(jì) ASM117-3.3是5V轉(zhuǎn)3.3V芯片4. DS18B20電路設(shè)計(jì)5. DHT11電路設(shè)計(jì) 6. 火災(zāi)、煙霧監(jiān)測(cè)電路設(shè)計(jì) 煙霧、有害氣體監(jiān)測(cè)使用MQ_2,利用紅外接受二極管監(jiān)測(cè)是否有火災(zāi)發(fā)生。LM393是一種低功率失調(diào)電壓雙比較器,它類似于增益不可調(diào)的運(yùn)算
4、放大器。每個(gè)比較器有兩個(gè)輸入端和一個(gè)輸出端,兩個(gè)輸入端一個(gè)稱為同向輸入端,一個(gè)稱為反相輸入端。在比較兩個(gè)電壓時(shí),任意一個(gè)輸入端加一個(gè)固定電壓作參考電壓,另一端加一個(gè)待比較信號(hào)電壓。7. LCD顯示電路設(shè)計(jì)8. 繼電器電路設(shè)計(jì)9. 按鍵電路10. CC2530串口通信電路設(shè)計(jì)四、 部分軟件設(shè)計(jì)由于程序較長(zhǎng),這里提供部分程序。1. STM32主程序部分#include "stm32f10x.h"#include "delay.h"#include "sys.h"#include "USART.h"#include &q
5、uot;LCD.h"#include "DHT11.h"#include "DS18B20.h"#include "MQ_2.h"#include "IR.h"#include "LED.h"#include "BUZZER.h"#include "KEY.h"#include "RELAY.h"#include "Display.h"void Deal_With(u8,u8);void Deal_Temp
6、(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;delay_init();LED_Init();Buzzer();RELAY_Init();IR_Init();MQ_Init();USART1_Configuration();USARTx_NVIC_Configuration();LCD_In
7、it(0x38,0x0c,0x06,0x01);DS18B20_WriteEEPROM();Scan_Key_Configuration(); while(1) DHT11_ReadData();DS18B20_ReadTemperature();Temp_Conversion();Slect_Model();mq = MQ_Scan();ir = IR_Scan();ts = Key_Scan();switch(ts)case KVALUE1 : fs = Set_LCD(ts); break;case KVALUE2 : h_norm = Set_H_Param(ts,fs); break
8、;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_Outdoor_1(); break;case 3 : Display_Outdoor_2(); break;case 4 : Display_Set_Temp_Param(h_norm,l_norm); break;defaul
9、t : break;Deal_With(mq,ir);Deal_Temp(h_norm,l_norm); 2. CC2530監(jiān)測(cè)溫度程序#ifndef _DS18B20_H_#define _DS18B20_H_extern unsigned char Ds18b20Initial(void);extern void Temp_test(void);extern void Temp_Conversion(void);extern unsigned char temp7;extern unsigned char tflag;#endif#include "iocc2530.h"
10、;#include "OnBoard.h"#define uint unsigned int #define uchar unsigned char#define Ds18b20Data P0_6 /溫度傳感器引腳#define ON 0x01 /讀取成功返回0x00,失敗返回0x01#define OFF 0x00uchar temperature2; /存放溫度數(shù)據(jù)uchar temp7;/存放分解的7個(gè)ASCII碼溫度數(shù)據(jù) uchar tflag;void Ds18b20Delay(uint k);void Ds18b20InputInitial(void);/設(shè)置端
11、口為輸入void Ds18b20OutputInitial(void);/設(shè)置端口為輸出uchar Ds18b20Initial(void);void Ds18b20Write(uchar infor);uchar Ds18b20Read(void);void Temp_test(void); /溫度讀取函數(shù)void Temp_Conversion(void);/時(shí)鐘頻率為32Mvoid Ds18b20Delay(uint k) /*uint i,j; for(i=0;i<k;i+) for(j=0;j<2;j+);*/ MicroWait(k);void Ds18b20Input
12、Initial(void)/設(shè)置端口為輸入 P0DIR &= 0xbf;void Ds18b20OutputInitial(void)/設(shè)置端口為輸出 P0DIR |= 0x40;/ds18b20初始化/初始化成功返回0x00,失敗返回0x01uchar Ds18b20Initial(void) uchar Status = 0x00; uint CONT_1 = 0; uchar Flag_1 = ON;/讀取是否成功的標(biāo)志位 Ds18b20OutputInitial();/P0_6設(shè)置為輸出模式 Ds18b20Data = 1;/拉高總線 Ds18b20Delay(260); Ds
13、18b20Data = 0;/拉低總線 Ds18b20Delay(750); Ds18b20Data = 1;/拉高總線 Ds18b20InputInitial();/P0_6設(shè)置為輸入模式 while(Ds18b20Data != 0)&&(Flag_1 = ON)/等待ds18b20響應(yīng),具有防止超時(shí)功能 /等待約60ms左右 CONT_1+; Ds18b20Delay(10); if(CONT_1 > 8000)Flag_1 = OFF; Status = Ds18b20Data; Ds18b20OutputInitial();/P0_6設(shè)置為輸出模式 Ds18b2
14、0Data = 1;/拉高總線 Ds18b20Delay(100); return Status;/主機(jī)往Ds18b20寫數(shù)據(jù)void Ds18b20Write(uchar infor) uint i; Ds18b20OutputInitial();/P0_6設(shè)置為輸出模式 /發(fā)送一個(gè)字節(jié) for(i=0;i<8;i+) /發(fā)送一位 if(infor & 0x01) Ds18b20Data = 0; Ds18b20Delay(6); Ds18b20Data = 1; Ds18b20Delay(50); else Ds18b20Data = 0; Ds18b20Delay(50);
15、 Ds18b20Data = 1; Ds18b20Delay(6); infor >>= 1;/移位 /主機(jī)從Ds18b20讀數(shù)據(jù)uchar Ds18b20Read(void) uchar Value = 0x00; uint i; Ds18b20OutputInitial();/P0_6設(shè)置為輸出模式 Ds18b20Data = 1;/總線拉高,準(zhǔn)備讀數(shù)據(jù) Ds18b20Delay(10); for(i=0;i<8;i+) Value >>= 1; Ds18b20OutputInitial();/P0_6設(shè)置為輸出模式 Ds18b20Data = 0;/拉低總線
16、產(chǎn)生讀信號(hào) Ds18b20Delay(3); Ds18b20Data = 1;/釋放總線準(zhǔn)備讀數(shù)據(jù) Ds18b20Delay(3); Ds18b20InputInitial();/P0_6設(shè)置為輸入模式 /等待讀取數(shù)據(jù) if(Ds18b20Data = 1) Value |= 0x80; Ds18b20Delay(15); return Value;void Temp_test(void) /溫度讀取函數(shù) uchar V; Ds18b20Initial();/初始化 Ds18b20Write(0xcc);/逃過 ROM Ds18b20Write(0x44);/溫度轉(zhuǎn)換命令 Ds18b20Ini
17、tial(); Ds18b20Write(0xcc);/逃過 ROM Ds18b20Write(0xbe);/讀DS1820溫度暫存器命令 temperature0 = Ds18b20Read(); temperature1 = Ds18b20Read(); V = temperature1; V <<= 8; V = V | temperature0; if(V < 0x0fff) tflag = 0; else tflag = 1; Ds18b20Initial();void Temp_Conversion(void) uchar temp_data_1,temp_dat
18、a_2; uint TempDec; temp_data_1 = temperature1; temp_data_1 &= 0xf0;/取高4位 if (temp_data_1 = 0xf0)/判斷是正溫度還是負(fù)溫度讀數(shù) /負(fù)溫度讀數(shù)求補(bǔ),取反加1,判斷低8位是否有進(jìn)位 if (temperature0=0) /有進(jìn)位,高8位取反加1 temperature0 = temperature0+1; temperature1 = temperature1+1; else /沒進(jìn)位,高8位不加1 temperature0 = temperature0+1; temperature1 = te
19、mperature1; /取高字節(jié)低4位(溫度讀數(shù)高4位),注意此時(shí)是12位精度 temp_data_1 = temperature1 << 4; /取低字節(jié)高4位(溫度讀數(shù)低4位),注意此時(shí)是12位精度 temp_data_2 = temperature0 >> 4; /組合成完整數(shù)據(jù) temp_data_1 = temp_data_1 | temp_data_2; temp0 = temp_data_1/100+0x30;/取百位轉(zhuǎn)換為ASCII碼 temp1 = (temp_data_1%100)/10+0x30;/取十位轉(zhuǎn)換為ASCII碼 temp2 = (temp_data_1%100)%10+0x30;/取個(gè)位轉(zhuǎn)換為ASCI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村修路合同范本
- 云南省迪慶藏族自治州(2024年-2025年小學(xué)五年級(jí)語文)人教版質(zhì)量測(cè)試(下學(xué)期)試卷及答案
- 中學(xué)英語角活動(dòng)實(shí)施方案
- 醫(yī)院安全防護(hù)體系實(shí)施方案
- 幼兒園在線教育疫情應(yīng)對(duì)方案
- 精細(xì)化隧道開挖施工方案探討
- 工廠輕鋼龍骨隔墻施工方案
- 《慢性乙型肝炎患者外周血細(xì)胞因子(IFN-γ和IL-4)水平與肝損傷的關(guān)系》
- 河道安全隱患排查施工方案
- 邢臺(tái)學(xué)院《教育診斷與咨詢》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度醫(yī)療機(jī)構(gòu)照明燈具安裝外包協(xié)議
- 快手2025CNY《寨子里的歌晚》招商項(xiàng)目方案
- 靜療護(hù)士進(jìn)修匯報(bào)
- 2023年唐山銀行招聘考試真題
- 《小學(xué)低年級(jí)語文說話能力培養(yǎng)的研究》課題實(shí)施方案
- 大型機(jī)械運(yùn)輸服務(wù)方案
- 2024年公司工會(huì)工作計(jì)劃模版(三篇)
- 9.1增強(qiáng)安全意識(shí)課件-2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)上冊(cè)
- 中國(guó)移動(dòng)鐵通公司招聘筆試題庫2024
- 《鄒忌諷齊王納諫》課件
- 榆能集團(tuán)筆試考什么
評(píng)論
0/150
提交評(píng)論