520【畢設課設】基於微控制器火焰探測器模擬模擬系統
阿新 • • 發佈:2020-12-11
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
本設計是一款基於51微控制器的光敏電阻火焰探測器。通過光敏電阻檢測火焰,將光訊號轉化為電訊號後,再經由STC89C52微控制器進行引腳的資料採集,獲得訊號後通過控制電路,若感應到火焰,控制揚聲器發出報警聲,並改變數碼管顯示,示意有火焰。硬體部分主要包括光敏電阻訊號採集電路、報警電路、微控制器控制電路、數碼管控制電路。
系統主要實現如下功能:
(1)光敏電阻採集光資訊,能識別760nm-1100nm紅外光,辨別至少80cm處的火焰,並將資訊傳入核心控制器。
(2)核心控制器根據光敏感測器得到的資訊,能儘快響應,並控制其它報警和顯示模組。
(3)報警電路:以揚聲器為主的報警器電路,在光敏感測器識別到火焰時發出持續不斷的響聲,直到人為手動關閉報警器。
(4)顯示模組:利用單個數碼管顯示是否有火焰的資訊,當識別到火焰,顯示為數字,當上電及無火焰狀態時顯示為“-”。
#define uchar unsigned char #define uint unsigned int uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; //共陰極數碼管編碼 void delayms(uint); void init(); void react1(); sbit Speaker = P1^1; sbit Flame = P1^0; sbit Key= P1^2; void delayms(uint xms) //延時函式 { uint i,j; for(i=xms;i>0;i--) //i=xms即延時約xms毫秒 for(j=110;j>0;j--); } void init() { TMOD=0x01;//設定工作方式1,12M晶振,定時1ms,輸出週期2ms方波 TH0=(65536-1000)/256; TL0=(65536-1000)%256; EA=1; //開總中斷 ET0=1; //定時器0中斷開啟 //TR0=1; //啟動定時器0,先不啟動 Speaker=1; //三極體截止? P0=0x40; //數碼管"-" delayms(5); }