基于51單片機的車內防窒息檢測報警系統

目錄

?具體實現功能

設計介紹

資料內容

全部內容

資料獲取


?具體實現功能

具體實現功能:
(1)檢測車內溫度及二氧化碳濃度并用lcd1602實時顯示。
(2)當人體紅外傳感器檢測到車內有人,且溫度或二氧化碳濃度上升到一定值時,將會發送報警短信,同時也會觸發語音模塊向車外報警求救,還能自動降下窗戶(或打開天窗)。
(3)如果車內無人,則不會觸發報警,溫度和二氧化碳濃度超過報警值時會亮燈。

仿真演示視頻:

基于51單片機的車內防窒息檢測報警系統

設計介紹

51單片機簡介

51單片是一種低功耗、高性能CMOS-8位微控制器,擁有靈巧的8位CPU和可編程Flash,使得51單片機為眾多嵌入式控制應用系統提供靈活、高效的解決方案。

本設計所使用的芯片可兼容以下所有的51系列單片機(包括AT系列和STC系列)。

資料內容

仿真實現(protues8.7)

本設計利用protues8.7軟件實現仿真設計,具體如圖。

程序(Keil5)

本設計利用KEIL5軟件實現程序設計。

主函數如下:

///
void main (void)
{u8 key;u8 SmokeFlag = false;u8 TempFlag = false;u8 IntrudeFlag = false;char String[50];int i;wendu=check_wendu();		  //初始化時調用溫度讀取函數 防止開機85°CInit1602();			  				//調用初始化顯示函數UsartInit();LCD_Write_String(0,0,"SET T:00   E:000");  //開機界面LCD_Write_String(1,0,"NOW T:00   E:000");  delay_ms(1000);wendu=check_wendu();		  //初始化時調用溫度讀取函數 防止開機85°Cwhile (1)        					//主循環{key=Key_Scan();					//按鍵掃描if(key==KEY_SET){Mode++;}for(i=0;i<10;i++){CO2=Adc0832(0);				//讀取CO2值wendu=check_wendu();	  //讀取溫度值delay_ms(10);}switch(Mode)						//判斷模式的值{case 0:								//監控模式{Display_1602(yushe_wendu,yushe_CO2,wendu,CO2);  //顯示預設溫度,預設CO2,溫度值,CO2值if(CO2>=yushe_CO2){Led_Y=0;		  			//CO2指示燈亮}else{Led_Y=1;}if((CO2>=yushe_CO2)&&(s2==0))	  //CO2值大于等于預設值時{Buzzer=0;			  		//蜂鳴器報警Led_Y=0;		  			//CO2指示燈亮		sprintf(String,"CO2 Alert Start!\r\n");SendStr(String);}else					  					//CO2值小于預設值時{;}if(wendu>=(yushe_wendu*10)){Led_W=0;}else{Led_W=1;}if((wendu>=(yushe_wendu*10))&&(s2==0))	  //溫度大于等于預設溫度值時(為什么是大于預設值*10:因為我們要顯示的溫度是有小數點后一位,是一個3位數,25.9°C時實際讀的數是259,所以判斷預設值時將預設值*10){Led_W=0;		  			//打開溫度報警燈sprintf(String,"Temperature Alert Start!\r\n");SendStr(String);}else					  					//溫度值小于預設值時{;}if(((CO2>=yushe_CO2)||(wendu>=(yushe_wendu*10)))&&(s2==0)){Buzzer=0;motor=0;}else{Buzzer=1;motor=1;}break;}case 1://預設溫度模式{SelectPosition(0,7) ;					//指定位置write_com(0x0d);							//陰影閃爍if(key==KEY_ADD)							//加鍵按下{yushe_wendu++;					    //預設溫度值(閥值)加1if(yushe_wendu>=99)			 		//當閥值加到大于等于99時yushe_wendu=99;					 		//閥值固定為99LCD_Write_Char(0,6,yushe_wendu,2) ;//顯示預設溫度}if(key==KEY_MINUS)				 		//減鍵按下{if(yushe_wendu<=1)					//當溫度上限值減小到1時yushe_wendu=1;          		//固定為1yushe_wendu--;							//預設溫度值減一,最小為0LCD_Write_Char(0,6,yushe_wendu,2) ;//顯示預設溫度}break;			  								//執行后跳出switch}case 2:				//預設CO2模式{SelectPosition(0,15) ;				//指定位置	write_com(0x0d);							//打開顯示 無光標 光標閃爍if(key==KEY_ADD)							//加鍵按下{if(yushe_CO2>=255)        //當閥值加到大于等于255時yushe_CO2=254;            //閥值固定為254yushe_CO2++;					    //預設CO2值(閥值)加1,最大為255LCD_Write_Char(0,13,yushe_CO2,3) ;//顯示預設CO2}if(key==KEY_MINUS)						//減鍵按下{if(yushe_CO2<=1)					//當CO2上限值減小到1時yushe_CO2=1;          	//固定為1yushe_CO2--;							//預設溫度值減一,最小為0	  LCD_Write_Char(0,13,yushe_CO2,3) ;//顯示預設CO2}break;}default	:	{write_com(0x38);//屏幕初始化write_com(0x0c);//打開顯示 無光標 無光標閃爍Mode=0;			//恢復正常模式break;}}if(s2==0)	   //熱釋電傳感器接通{Led_G=0;}else{Led_G=1;}}} 

程序運行結果如圖:

全部內容

全部資料包括程序(keil5)、protues仿真(protues8.7)、設計說明、答辯PPT、開發資料、資料使用介紹、仿真視頻、最小系統介紹視頻等。

資料獲取

https://docs.qq.com/doc/DT3dKSFhhcFFNc2FI

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/908242.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/908242.shtml
英文地址,請注明出處:http://en.pswp.cn/news/908242.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于智能體API參考接口

關于智能體在Flask的源碼&#xff1a;請求體(在payload里的是請求體)、請求頭&#xff08;在headers里的i局勢請求頭&#xff09;。 我的例子&#xff1a; 我的疑問&#xff1a;為什么沒按Coze官方API文檔格式&#xff0c;在Apifox里發POST請求卻能收到回復&#xff1f; 1. 你…

Excel 批量下載PDF、批量下載考勤圖片——仙盟創夢IDE

在辦公場景中&#xff0c;借助應用軟件實現 Excel 批量處理考勤圖片、電子文檔與 PDF&#xff0c;具有諸多顯著優勢。 從考勤圖片處理來看&#xff0c;通過 Excel 批量操作&#xff0c;能快速提取圖片中的考勤信息&#xff0c;如員工打卡時間、面部識別數據等&#xff0c;節省…

Apache Doris + MCP:Agent 時代的實時數據分析底座

一、Apache Doris&#xff1a;面向 Agent 時代的智能數據平臺 當我們談論 2025 年時&#xff0c;業界普遍認為這將是"Agent 革命年"&#xff08;Agentic Revolution&#xff09;的開端。與傳統的人機交互模式不同&#xff0c;AI Agent 作為一個全新的"用戶角色…

能不能用string接收數據庫的datetime類型字段

在Java中使用String類型通過MyBatis接收MySQL的datetime類型字段時&#xff0c;?可以正常工作&#xff0c;但需注意格式和潛在問題。以下是關鍵點&#xff1a; 1. ?直接轉換是可行的? MySQL的datetime字段&#xff08;如 2023-10-05 12:34:56&#xff09;會被MyBatis自動轉…

【Python訓練營打卡】day44 @浙大疏錦行

DAY 44 預訓練模型 知識點回顧&#xff1a; 1. 預訓練的概念 2. 常見的分類預訓練模型 3. 圖像預訓練模型的發展史 4. 預訓練的策略 5. 預訓練代碼實戰&#xff1a;resnet18 作業&#xff1a; 1. 嘗試在cifar10對比如下其他的預訓練模型&#xff0c;觀察差異&#xff0c;…

MySQL中關于事務和鎖的常見執行命令整理包括版本區別

MySQL中關于事務和鎖的常見執行命令實例整理&#xff0c;并標注了不同版本下的區別&#xff08;如MySQL 8.0與舊版本的差異&#xff09;&#xff1a; 一、事務相關命令 1. 事務控制 命令描述版本差異START TRANSACTION; 或 BEGIN;顯式開啟事務通用語法&#xff0c;無版本差異…

PyTorch-Transforms的使用(二)

對圖像進行處理 安裝open cv ctrlP 看用法 ToTensor的使用 常見的Transforms 歸一化的圖片 兩個長度為三的數組&#xff0c;分別表示三個通道的平均值和標準差 Resize&#xff08;&#xff09; Compose&#xff08;&#xff09; 合并執行功能&#xff0c;輸入進去一個列表&a…

vscode實用配置

前端開發安裝插件&#xff1a; 1.可以更好看的顯示文件圖標 2.用戶快速打開文件 使用步驟&#xff1a;在html文件下右鍵點擊 open with live server 即可 刷力扣&#xff1a; 安裝這個插件 還需要安裝node.js即可

Day130 | 靈神 | 回溯算法 | 子集型 電話號碼的字母組合

Day130 | 靈神 | 回溯算法 | 子集型 電話號碼的字母組合 17.電話號碼的字母組合 17. 電話號碼的字母組合 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 筆者用index代替i&#xff0c;這里的index其實就是digits數組的下標 按照靈神的回溯三問&#xff0c;那就…

深入理解JavaScript設計模式之閉包與高階函數

前言小序 一場失敗面試 2023年的某一天&#xff0c;一場讓我印象深刻的面試&#xff1a; 面試官&#xff1a; “你了解閉包嗎&#xff1f;請說一下你對閉包的理解。” 我自信滿滿地答道&#xff1a; “閉包就是函數里面套函數&#xff0c;里面的函數可以訪問外部函數的變量。…

使用 Spring Boot 3.3 和 JdbcTemplate 操作 MySQL 數據庫

在現代的 Java 應用開發中&#xff0c;Spring Boot 提供了強大的工具來簡化數據庫操作。JdbcTemplate 是 Spring 提供的一個核心類&#xff0c;用于簡化 JDBC 操作&#xff0c;減少樣板代碼。本文將介紹如何在 Spring Boot 3.3 項目中使用 JdbcTemplate 來操作 MySQL 數據庫&am…

如何做好一份技術文檔?(下篇)

如何做好一份技術文檔&#xff1f;&#xff08;下篇&#xff09; 下篇&#xff1a;文檔體驗的極致優化 ——從可用性到愉悅性的跨越 文檔用戶體驗地圖 新手路徑 專家路徑 [安裝] → [配置] → [示例] [API] → [參數] → [源碼] │ ▲ …

Windows 12確認沒了,Win11 重心偏移修Bug

微軟悄然擱置了傳說中的Windows 12開發計劃&#xff0c;轉身將精力投入到Windows 11的持續進化中。今年秋季的主角已經確定——Windows 11 25H2&#xff0c;它將于9月或10月間與我們正式見面。 與去年24H2的大規模更新不同&#xff0c;25H2更像是場精心策劃的“功能解鎖”。微軟…

JavaScript中的正則表達式:文本處理的瑞士軍刀

JavaScript中的正則表達式&#xff1a;文本處理的瑞士軍刀 在編程世界中&#xff0c;正則表達式&#xff08;Regular Expression&#xff0c;簡稱RegExp&#xff09;被譽為“文本處理的瑞士軍刀”。它能夠高效地完成字符串匹配、替換、提取和驗證等任務。無論是前端開發中的表…

基于LEAP模型在能源環境發展、碳排放建模預測及分析中實踐應用

在國家“3060”碳達峰碳中和的政策背景下&#xff0c;如何尋求經濟-能源-環境的平衡有效發展是國家、省份、城市及園區等不同級別經濟體的重要課題。根據國家政策、當地能源結構、能源技術發展水平以及相關碳排放指標制定合理有效的低碳能源發展規劃需要以科學準確的能源環境發…

Python爬蟲實戰:研究RoboBrowser庫相關技術

1. 引言 1.1 研究背景與意義 隨著電子商務的快速發展,商品信息呈現爆炸式增長。據 Statista 數據顯示,2025 年全球電子商務銷售額預計將達到 7.4 萬億美元,海量的商品數據蘊含著巨大的商業價值。對于電商企業而言,及時獲取競爭對手的產品信息、價格動態和用戶評價,能夠幫…

JVM垃圾回收器-ZGC

一、概述 ZGC&#xff08;Z Garbage Collector&#xff09;是一種高效且可擴展的低延遲垃圾回收器。在垃圾回收過程中&#xff0c;ZGC通過優化算法和硬件支持&#xff0c;將Stop-The-World&#xff08;STW&#xff09;時間控制在一毫秒以內&#xff0c;使其成為追求低延遲應用…

區間動態規劃

線性 DP 的一種&#xff0c;簡稱為「區間 DP」。以「區間長度」劃分階段&#xff0c;以兩個坐標&#xff08;區間的左、右端點&#xff09;作為狀態的維度。一個狀態通常由被它包含且比它更小的區間狀態轉移而來。 一、概念 間 DP 的主要思想就是&#xff1a;先在小區間內得到…

4. 數據類型

4.1 數據類型分類 分類 數據類型 說明 數值類型 BIT(M) 位類型。M指定位數&#xff0c;默認值1&#xff0c;范圍1 - 64 TINYINT [UNSIGNED] 帶符號的范圍 -128 ~ 127&#xff0c;無符號范圍0 ~ 255&#xff0c;默認有符號 BOOL 使用0和1表示真和假 SMALLINT [UNSIGNED] 帶符號是…

設計模式-2 結構型模式

一、代理模式 1、舉例 海外代購 2、代理基本結構圖 3、靜態代理 1、真實類實現一個接口&#xff0c;代理類也實現這個接口。 2、代理類通過真實對象調用真實類的方法。 4、靜態代理和動態代理的區別 1、靜態代理在編譯時就已經實現了&#xff0c;編譯完成后代理類是一個實際…