国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于51單片機的煙霧檢測+溫度檢測+蜂鳴器報警+光耦+風扇+LCD4602液晶顯示(含原理圖/PCB/代碼)

這篇具有很好參考價值的文章主要介紹了基于51單片機的煙霧檢測+溫度檢測+蜂鳴器報警+光耦+風扇+LCD4602液晶顯示(含原理圖/PCB/代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

基于51單片機的煙霧檢測+溫度檢測+蜂鳴器報警+光耦+風扇+LCD4602液晶顯示(含仿真/原理圖/PCB/代碼/模塊資料)

講在前面:

51單片機是大多數(shù)電子愛好者的入門級單片機,這款設計是一個比較綜合的單片機設計。本文介紹了一個典型的51單片機設計,希望對各位有幫助。
本人也在其他平臺開源了一些項目和分享:
點擊進入B站傳送門

概述

1)產(chǎn)品功能:

使用51單片機作為控制器,與ADC0832(ADC芯片)經(jīng)行I2C通信,
采集煙霧檢測模塊和溫度傳感器模塊的電壓信號,實現(xiàn)煙霧濃度,鍋具溫度檢測。
(鍋具檢測)檢測鍋具是否放置,人員暫離保護,鍋具加減火控制(四檔),排氣扇控制,蜂鳴器提醒。

具體功能:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子

2)使用元器件:

電源降壓芯片:L7805
單片機型號:STC89C52
ADC芯片:ADC0832
三極管:S8050直插
LCD1602顯示屏
按鍵:直插6*6輕觸開關
直插3mmLED

3)實物電路:

電源電路:
D1為防反接二極管,CE1和C2為輸入濾波電容,CE2和C1為輸出濾波電容。后接LED做電源指示燈。
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
單片機最小系統(tǒng):
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
ADC:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
煙霧傳感器和溫度傳感器:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
人員檢測和鍋具檢測的紅外對管模塊:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子

風扇和蜂鳴器:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
LCD1602顯示屏:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
6個按鍵:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
指示燈:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
PCB效果圖:

單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
實物:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子

4)Proteus實物電路:

由于Proteus沒有傳感器模塊,所以用滑動變阻器模擬傳感器模塊輸出的電壓,紅外對管模塊用自鎖開關來模擬
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子

5)程序:

變量聲明:

//****************************** 基于 51 單片機的簡易廚房安全檢測控制系統(tǒng) *******************************
#include <reg52.h>
#include <intrins.h>

/*已知數(shù)據(jù)類型重新定義*/
#define uchar unsigned char
#define uint unsigned int
/*引腳定義*/
//LCD1602
#define LCD1602_DB P0	//LCD1602數(shù)據(jù)總線
//sbit LCD1602_RS = P2^0;	 //RS端
//sbit LCD1602_RW = P2^1;	 //RW端
//sbit LCD1602_EN = P2^2;	 //EN端
sbit LCD1602_RS = P2^4;	 //RS端
sbit LCD1602_RW = P2^5;	 //RW端
sbit LCD1602_EN = P2^6;	 //EN端

//ADC0832
sbit cs = P1^0;//片選使能,低電平有效
sbit clk = P1^1;//芯片時鐘輸入
sbit dio = P1^2;//數(shù)據(jù)輸入DI與輸出DO

//四個按鍵輸入
sbit key_temth_r = P3^0;		//增加溫度閾值的按鍵
sbit key_temth_f = P3^1;		//減小溫度閾值的按鍵
sbit key_gasth_r = P3^2;		//增加氣體濃度閾值的按鍵
sbit key_gasth_f = P3^3;		//減小氣體濃度閾值的按鍵
sbit key_fir_r = P3^4;			//加火按鍵
sbit key_fir_f = P3^5;			//減火按鍵


sbit Beep = P3^7;     //蜂鳴器
sbit FAN = P3^6; 			//風扇
sbit GuangOu_Guo = P2^5;	        //光耦檢測鍋具
sbit GuangOu_People = P2^6;				//光耦檢測人
sbit Guo = P2^7;			//控制鍋具燒火的引腳

//擋位指示的4個燈
sbit Guo1 = P1^4;     
sbit Guo2 = P1^5;	
sbit Guo3 = P1^6;	
sbit Guo4 = P1^7;	

uchar adc = 0;			//ADC讀取的原始值
uint voltage = 0;		//ADC讀取的原始值轉換得到的電壓值

uint gas = 0;				//創(chuàng)建氣體濃度值
uint gas_th = 70;		//創(chuàng)建氣體濃度閾值
uint tem = 0;				//創(chuàng)建溫度值
uint tem_th = 270;	//創(chuàng)建溫度閾值

uint fir = 0;				//  fir = 1,允許鍋具使用,fir = 0,禁止鍋具使用

uchar LED_buffer1[16] = {"Gas:        "};//ADC顯示緩沖
uchar LED_buffer2[16] = {"Tem:       "};//電壓顯示緩沖

uint num = 0;				//延時計數(shù)值
uint GuangOu_Guo_falg = 1;			//鍋具檢測光耦標志位
uint GuangOu_People_falg = 1;		//人員檢測光耦標志位

主程序:(挺簡單的,沒用定時器,全程用if else…)

void main()
{
	//初值設定
	Beep = 0;				//蜂鳴器
	FAN = 0;				//風扇
	Guo = 0;				//鍋具使能
	Guo1 = 1;  Guo2 = 1;  Guo3 = 1;  Guo4 = 1;			//初始擋位全為0,   1:擋位燈不亮,0:擋位燈亮
	
	Init_LCD1602();//1602初始化
	LCD1602_Dis_Str(0, 0, " System Init ");	//顯示字符串
	LCD1602_Dis_Str(0, 1, " Please Wait ");	//顯示字符串
	DelayMS(1000);													//顯示初始化字符串1s


	while(1)			// 一直循環(huán)
	{
		
		LCD1602Display();												//一直循環(huán)讀取電壓和顯示數(shù)值
		GuangOu_Guo_falg = GuangOu_Guo;					//將光耦值賦值給標志位
		GuangOu_People_falg = GuangOu_People;		//將光耦值賦值給標志位
		
		if(GuangOu_Guo == 0)      							//有鍋
		{
			if(GuangOu_People == 0)      					//有人
			{
				if(tem <= tem_th)										//溫度未超過閾值,即沒有燒鍋
					{	
						Guo = 1; Beep = 0;							//滿足以上3個條件才開啟鍋具使能
					} 
			}
		}
		
		if(GuangOu_Guo_falg == 1)	//無鍋
		{		
				//等待一段時間后
				num ++;															//num自加
				if(num >= 1000)											//進行多次實驗,一個while循環(huán)大約是10ms,1000就是10s
				{
					num  = 0;													//記得清零,方便下次使用
					Beep = 1;													//蜂鳴器報警
					Guo = 0;
				}		
		}		
		if(GuangOu_People_falg == 1)	//無人
		{		
				//等待一段時間后
				num ++;
				if(num >= 1000)
				{
					num  = 0;
					Beep = 1;
					Guo = 0;
				}		
		}
		
		
		if(gas >= gas_th){ FAN = 1; }else if(gas <= gas_th){ FAN = 0; }			//氣體濃度超標反應和正常反應
		if(tem >= tem_th){	Guo = 0; }																			//溫度過高,燒鍋反應
		
		
		
		//6個按鍵
		if(key_temth_r == 0)
		{
			DelayMS(10);				 				//消抖
			if(key_temth_r == 0)
			{
				while(key_temth_r == 0);	//按下按鍵,松開后才算數(shù)
				tem_th += 10;							//溫度閾值 +10
				if(tem_th >= 500){ tem_th = 500; }					//溫度閾值限幅
			}
		}
		if(key_temth_f == 0)
		{
			DelayMS(10);
			if(key_temth_f == 0)
			{
				while(key_temth_f == 0);
				tem_th -= 10;
				if(tem_th <= 0){ tem_th = 0; }
			}
		}
		
		if(key_gasth_r == 0)
		{
			DelayMS(10);
			if(key_gasth_r == 0)
			{
				while(key_gasth_r == 0);
				gas_th += 10;
				if(gas_th >= 500){ gas_th = 500; }
			}
		}
		if(key_gasth_f == 0)
		{
			DelayMS(10);
			if(key_gasth_f == 0)
			{
				while(key_gasth_f == 0);
				gas_th -= 10;
				if(gas_th <= 0){ gas_th = 0; }
			}
		}
		
		// 加火減火
		if(key_fir_r == 0)
		{
			DelayMS(10);
			if(key_fir_r == 0)
			{
				while(key_fir_r == 0);
				fir += 1;
				if(fir >= 4){ fir = 4; }
			}
		}
		if(key_fir_f == 0)
		{
			DelayMS(10);
			if(key_fir_f == 0)
			{
				while(key_fir_f == 0);
				fir -= 1;
				if(fir <= 0){ fir = 0; }
			}
		}
		
		
		if(Guo == 1)			//如果鍋具使能,才能進行加減火控制
		{
			if(fir ==0)
			{ Guo1 = 1;  Guo2 = 1;  Guo3 = 1;  Guo4 = 1; }
			if(fir ==1)
			{ Guo1 = 0;  Guo2 = 1;  Guo3 = 1;  Guo4 = 1; }
			if(fir ==2)
			{ Guo1 = 0;  Guo2 = 0;  Guo3 = 1;  Guo4 = 1; }
			if(fir ==3)
			{ Guo1 = 0;  Guo2 = 0;  Guo3 = 0;  Guo4 = 1; }
			if(fir ==4)
			{ Guo1 = 0;  Guo2 = 0;  Guo3 = 0;  Guo4 = 0; }
		}
		else if(Guo == 0)				//如果鍋具沒有被使能,則所有擋位關閉
		{
			Guo1 = 1;  Guo2 = 1;  Guo3 = 1;  Guo4 = 1;
		}

	}
}

演示視頻:

待發(fā)布

主要內(nèi)容差不多都在上面了,相信大家可以根據(jù)此文設計制作出屬于自己的51單片機設計。
全部文件:
單片機,氣體濃度監(jiān)測,蜂鳴器,風扇這個核心電路,單片機開發(fā),單片機,51單片機,stm32,嵌入式硬件,社交電子文章來源地址http://www.zghlxwxcb.cn/news/detail-814352.html

到了這里,關于基于51單片機的煙霧檢測+溫度檢測+蜂鳴器報警+光耦+風扇+LCD4602液晶顯示(含原理圖/PCB/代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 基于AT89C51單片機的溫度檢測報警設計

    基于AT89C51單片機的溫度檢測報警設計

    點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87777752?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: 基于51單片機設計一個溫度檢測報警器,至少具有以下功能:溫度的檢測和超過設定值時的報警功能 基本要求: 1、功能齊全,要配有功能說明;

    2024年02月03日
    瀏覽(18)
  • 基于51單片機多路溫度檢測proteus仿真 ds18b20

    基于51單片機多路溫度檢測proteus仿真 ds18b20

    本設計是基于51單片機多路溫度檢測proteus仿真_ds18b20(仿真+程序+原理圖) 仿真圖proteus 7.8 程序編譯器:keil 4/keil 5 編程語言:C語言 設計編號:C0042 功能說明: 通過對多路DS18B20溫度傳感器的數(shù)據(jù)采集,實現(xiàn)8路/4路溫度采集并將數(shù)值顯示在LCD顯示屏上; 通過按鍵設置溫度報警

    2024年02月12日
    瀏覽(25)
  • 7、基于51單片機智能熱水器溫度水溫水位檢測控制系統(tǒng)設計

    7、基于51單片機智能熱水器溫度水溫水位檢測控制系統(tǒng)設計

    畢設幫助、開題指導、技術解答(有償)見文末。 目錄 摘要 一、硬件方案 二、設計功能 三、實物圖 四、原理圖 五、PCB圖 六、Proteus仿真? 七、程序源碼 八、資料包括 隨著社會的發(fā)展,人類科技的進步,各行各業(yè)都在使自己的產(chǎn)品智能化、數(shù)字化,因老式的熱水器使用煤

    2024年02月09日
    瀏覽(29)
  • 基于51單片機+SHT30設計的環(huán)境溫度與濕度檢測設備(IIC模擬時序)

    基于51單片機+SHT30設計的環(huán)境溫度與濕度檢測設備(IIC模擬時序)

    當前文章介紹基于51單片機和SHT30傳感器設計的環(huán)境溫度與濕度檢測設備。設備采用IIC模擬時序通信協(xié)議,能夠實時監(jiān)測環(huán)境的溫度和濕度,并將數(shù)據(jù)通過LCD顯示屏顯示出來;可以廣泛應用于室內(nèi)環(huán)境監(jiān)測、氣象觀測、農(nóng)業(yè)溫室監(jiān)測等領域。 在本項目中,使用了51單片機作為主

    2024年02月13日
    瀏覽(21)
  • 基于51單片機的煙霧報警器設計

    基于51單片機的煙霧報警器設計

    硬件方案 ????????火災報警器采用51單片機為核心控制器,利用氣體傳感器MQ-2、ADC0809模數(shù)轉換器、DS18B20溫度傳感器等實現(xiàn)基本功能。通過這些傳感器和芯片,當環(huán)境中可燃氣體濃度或溫度等發(fā)生變化時系統(tǒng)會發(fā)出相應的燈光報警信號和聲音報警信號,以此來實現(xiàn)火災報警

    2024年02月11日
    瀏覽(25)
  • day07 51單片機-18B20溫度檢測

    day07 51單片機-18B20溫度檢測

    本案例講解如何從18B20傳感器獲取溫度信息并顯示在LCD上。 1.2.1 硬件原理圖 1.2.3 18B20工作原理 可以看到18B20有兩根引腳負責供電,一根引腳負責數(shù)據(jù)交換。18B20就是通過數(shù)據(jù)線和單片機進行數(shù)據(jù)交換的。 1)18B20工作時序 2)初始化信號 3)寫數(shù)據(jù)時序 寫‘1’時序 寫‘0’時序

    2024年04月23日
    瀏覽(28)
  • 基于STM32單片機的智能家居煙霧溫度火災防盜報警的設計與實現(xiàn)

    基于STM32單片機的智能家居煙霧溫度火災防盜報警的設計與實現(xiàn)

    ????功能介紹 以STM32單片機作為主控系統(tǒng); LCD1602液晶顯示屏來顯示顯示測得的值; SR501人體紅外感應是否有人進行防盜; 通過煙霧傳感器MQ-2獲取前的煙霧值; 通過DHT11溫濕度傳感器來獲取當前的溫濕度; 所有的信息通過通過esp8266 wifi把數(shù)據(jù)傳輸?shù)绞謾C端進行顯示; ? ?

    2024年02月15日
    瀏覽(515)
  • 基于51單片機的溫度報警器

    基于51單片機的溫度報警器

    設計任務: 以51單片機為核心,設計和制作一個溫度報警器,能在LCD上顯示環(huán)境的溫度與希望溫度上下限閥值,并能設置希望溫度上下限閥值,系統(tǒng)上電的時候顯示的是當前環(huán)境溫度和設定的溫度閥值,通過按鍵來修改溫度上下限閥值,再次上電時保持上一次的溫度設置。根

    2024年02月11日
    瀏覽(17)
  • 基于51單片機的數(shù)字溫度計【開源】

    基于51單片機的數(shù)字溫度計【開源】

    (1)溫度實時顯示(LCD2864) (2)溫度上限下線調(diào)節(jié) (3)萬年歷功能 (4)超溫報警 (5)年月日時分秒可調(diào)節(jié) (6)溫度測量精度0.0625℃ (7)節(jié)日自動判定 STC89c52,DS18B20,DS1302,按鍵模塊。LCD12864 main.c LCD12864.c ( 主要一些延時和LCD12864的驅動) LCD12864.h (主要一些函數(shù)的聲

    2024年02月10日
    瀏覽(23)
  • 基于51單片機的超聲波測距及溫度顯示

    基于51單片機的超聲波測距及溫度顯示

    (仿真+程序+PCB+原理圖+設計報告) 功能介紹 具體功能: 1.超聲波測距傳感器HC-SR04、溫度傳感器DS18B20將檢測的數(shù)據(jù)傳給51單片機; 2.LCD1602實時顯示測得的距離和溫度; 3.按鍵可以設置距離的上下限; 4.距離超過設定范圍,蜂鳴器+LED產(chǎn)生聲光報警; ?演示視頻: 基于5

    2024年04月24日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包