基於51微控制器的火災報警器

2021-09-10 02:54:08 字數 2371 閱讀 4304

1.系統功能

火災報警器,主要檢測溫度和煙霧,再通過微控制器控制相應的報警和驅動負載。通過液晶顯示當前的煙霧值和溫度值,通過按鍵設定相應的閥值。

主要包括以下幾項功能:

(1)火情探測功能:為了提高火災報警的準確性和及時性,火災報警系統需要使用各種方法進行火災探測。在實際使用中,根據不同的防火場所,使用者可以選用溫度探測法、可燃氣體檢測法及煙霧探測法等合適的火災探測方法,來有效的探測火災;

(2)燈光報警功能:當室內煙霧濃度過大、有火情產生、故障等異常情況發生時,報警器要進行燈光報警。當煙霧超過最大設定值時,可以蜂鳴器報警。

2.系統硬體方案設計

(1)硬體框圖

本設計主要由煙霧探測感測器電路、微控制器、燈光報警電路、負載驅動電路、控制程式和編譯碼程式等組成。

系統的組成結構如下:

(2)系統硬體設計

實時顯示當前的煙霧值和溫度值,共有2個報警值(可以通過按鍵設定),分別是溫度的上限和煙霧的上限報警值,當煙霧超過的時候紅燈和蜂鳴器聲光報警,當溫度超過時候黃燈和蜂鳴器聲光報警。

(3)煙霧探測電路的設計

如圖所示,在這個電路中,有兩個部分,主要是煙霧感測器檢測煙霧,將電壓訊號給adc0809,模數轉換電路將模擬訊號轉換成數碼訊號給微控制器,微控制器再讀取相應的數值和處理。

3.軟體設計

(1)程式流程圖

(2)lcd1602驅動程式

//巨集定義

#define uint unsigned int

#define uchar unsigned char

//lcd管腳宣告 (rw引腳實物直接接地,因為本設計只用到液晶的寫操作,rw引腳一直是低電平)

sbit lcdrs = p2^3;

sbit lcden= p2^4;

//初始畫時顯示的內容

uchar code init1=" set e:000 ";

uchar code init2=" now e:000 ";

//lcd延時

void lcddelay(uint z) //該延時大約100us(不精確,液晶操作的延時不要求很精確)

//寫命令

void write_com(uchar com)

//寫資料

void write_data(uchar date)

//1602初始化

void init1602()

write_com(0x80+0x40);//設定位置

for(i=0;i<16;i++) }

void display_1602(yushe_yanwu,temp)

(3)按鍵處理程式

/*************************按鍵說明******************************/

/*1鍵設定按鍵

2鍵加按鍵

3鍵減按鍵

按一下設定鍵,溫度報警值閃爍,此時按下加減按鍵調節溫度報警值;再按一下設定鍵,煙霧報警值閃爍,此時按下加減按鍵,調節煙霧報警值;設定完成後,再按一下設定按鍵,退出設定。系統開始正常檢測煙霧溫度值,並且根據報警值判斷是否開啟報警

*///按鍵

sbit key1=p2^6; //設定鍵

sbit key2=p2^7; //加按鍵

sbit key3=p3^7; //減按鍵

void key()

case 2: //當模式加到3時

}} }

if(key2==0&&mode!=0) //加按鍵只有在模式不等於0時有效

if(key3==0&&mode!=0)

}

(4)主程式

/*****主函式*****/

void main()

else //煙霧值小於預設值時

if(temp}}}

微控制器自動水滿報警器

摘 要 i abstract 1 引言 1 2電路原理圖 1 3工作原理 1 4 元件引數選擇 2 5 pcb設計流程 2 6 pcb板的3d顯示 4 7安裝與除錯 4 7.1 理論分析 4 7.2 實際除錯過程 6 8 結論 6 參考文獻 6 致 謝 9 自動水滿報警器 摘 要自動水滿報警器是當今...

51微控制器之煙霧報警器(MQ 2)

今天朋友做畢業設計,讓我幫他寫下程式,花了兩個小時,給了他們乙個模板,雖然很簡單,但是還是拿出來分享吧,適用於初學者。高手不要忘下看了 要求 液晶屏顯示.四個按鍵分別控制選擇設定值位數,加一,減一。報警功能開關鍵 lcd.c檔案 include define lcd1602 4pins define...

基於51微控制器的計算器

繼續寫一下寒假做的51小專案,這一次是基於at89c51的計算器,帶乙個八位密碼鎖功能。具體實現了計算器的加減乘除功能,並且自帶八位密碼鎖,輸入密碼後按 確定,錯誤輸入三次密碼就會鎖定,重啟後解除鎖定,密碼可以在密碼表中設定。顯示部分採用了1602顯示屏。這一次在使用ad畫pcb時,考慮到計算器要脫...