• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于單片機的燃氣報警器的設(shè)計

2024/10/17
913
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

有需要資料的可了解一下.docx

共1個文件

功能要求:

基于這個設(shè)計的上述要求,根據(jù)功能要求,須設(shè)計有下載電路、顯示電路、LED控制電路、定時電路、報警電路,主控電路各個電路都有其自己的功能。通過復(fù)位按鍵“KEY1”,電路進入就緒狀態(tài)。然后傳感器開始預(yù)熱大概20秒,該預(yù)設(shè)初值為60,然后實時檢測周邊的濃度,如果檢測濃度正常,報警電路不會工作進入休眠狀態(tài),屏幕會顯示正常。如果家庭的煙霧濃度超過該預(yù)設(shè)值,報警電路就會報警,并且led會持續(xù)閃爍,屏幕上顯示報警!提醒居民要注意。該濃度值還可以手動調(diào)節(jié),加與減,當設(shè)置最大的閾值,報警電路也是可以報警,需要手動關(guān)閉。

原理圖

部分程序:

#include "gather.h"

void main()

{

u8 temp;

/****IO口初始化****/

P0M1=P0M0=0X00;

P1M1=P1M0=0X00;

P2M1=P2M0=0X00;

P4M1=P4M0=0X00;

/****定時器初始化****/

Timer0Init();

ET0=0;

while(1)

{

smg();//數(shù)碼管顯示

temp=keyscan();//按鍵掃描

if(temp==1&&ET0==1)//判斷返回值是否為1與定時器0是否打開 如果都滿足條件 執(zhí)行以下程序

{

JDQ1=!JDQ1; //繼電器led取反

LED1=!LED1;

LED2=!LED2;

}

if(JDQ1==0){LED2=0;LED1=1;}//當繼電器1為0時 切換燈效果

if(JDQ1==1){LED2=1;LED1=0;}

if(IR==0)ET0=1;

if(min<=0)//當?shù)褂嫊r為0時 所有繼電器關(guān)閉

{

JDQ1=1;

JDQ2=1;

}

}

}

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦