496【畢設課設】基於微控制器火災報警煙霧檢測聲光報警系統設計
阿新 • • 發佈:2020-12-05
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
研究目標、研究內容和準備解決的問題:
1.目標:通過設計一個以STC89C52微控制器為核心的火災報警器可以實現聲光報警、故障自診斷、濃度顯示、報警限設定。是一種結構簡單、效能穩定、使用方便、價格低廉、智慧化的火災報警器,具有一定的實用價值。
2.內容:對該檢測與報警系統進行整體功能分析,主要實現硬體和主要軟體程式方面的設計,對其所選擇的主要晶片作簡單介紹,分模組來實現其各個部分的功能,做出相應的整體原理圖
#include <reg52.h> //呼叫微控制器標頭檔案#define uchar unsigned char //無符號字元型 巨集定義 變數範圍0~255 #define uint unsigned int //無符號整型 巨集定義 變數範圍0~65535 #include <intrins.h> //數碼管段選定義 0 1 2 3 4 5 6 7 8 9 uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; //斷碼 //數碼管位選定義 uchar code smg_we[]={0x7f,0xbf,0xdf,0xef}; uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}; sbit CS=P3^2; //CS定義為P3口的第2位腳,連線ADC0832CS腳 PCB sbit SCL=P3^3; //SCL定義為P3口的第3位腳,連線ADC0832SCL腳 sbit DO=P3^4; //DO定義為P3口的第4位腳,連線ADC0832DO腳 sbit dq = P3^5; //18b20 IO口的定義 sbit beep = P3^6; //蜂鳴器IO口定義 uint temperature,s_temp =50 ; //溫度的變數 uchar dengji,s_dengji=5; //煙物等級 uchar shoudong; //手動報警鍵 bit flag_300ms = 1; uchar key_can; //按鍵值的變數 uchar menu_1; //選單設計的變數 /***********************1ms延時函式*****************************/ void delay_1ms(uint q) { uint i,j; for(i=0;i<q;i++) for(j=0;j<120;j++); } /***********************小延時函式*****************************/ void delay_uint(uint q) { while(q--); } /***********************18b20初始化函式*****************************/ void init_18b20() { bit q; dq = 1; //把匯流排拿高 delay_uint(1); //15us