基于STM32的氣壓檢測報警proteus仿真設計
- 1.主要功能
- 2.仿真
- 3. 程序
- 4. 設計報告
- 5. 資料清單&下載鏈接
-
- 資料下載鏈接:
基于STM32的氣壓檢測報警proteus仿真設計(仿真+程序+設計報告+講解視頻)
仿真圖proteus 8.9
程序編譯器:keil 5
編程語言:C語言
設計編號:C0089
1.主要功能
功能說明:
1、以STM32單片機和MPX4115氣壓傳感器設計氣壓檢測報警系統(tǒng);
2、通過液晶屏LCD1602和串口上位機顯示氣壓大小,Press表示實時檢測氣壓大小,ALM表示報警值;
3、可以通過按鍵設置氣壓ALM報警值大小。
4、監(jiān)測氣壓大于報警值時蜂鳴器報警電路導通,蜂鳴器報警。
5、默認監(jiān)測到氣壓大于80Kpa蜂鳴器報警。
主要硬件設備:STM32F103R6單片機 獨立按鍵 LCD1602 MPX4115氣壓 LCD1602顯示
2.仿真
打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。
然后開始仿真。
開始仿真串口電路和LCD1602顯示檢測壓力值和報警值。
通過調(diào)整壓力傳感器的上下箭頭改變傳感器值LCD和串口顯示的值也跟隨變化。
當檢測氣壓大于閾值時,蜂鳴器報警。
可以通過按鍵修改氣壓報警閾值。
3. 程序
程序是用keil5 mdk版本打開的,如果打開有問題,核實下keil的版本。程序是HAL版本編寫的,有注釋可以結(jié)合講解視頻理解。
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
sConfig.Channel = ADC_CHANNEL_1; //選擇通道1
HAL_ADC_ConfigChannel(&hadc1, &sConfig); //選擇ADC1的通道道1
HAL_ADC_Start(&hadc1); //啟動ADC1
HAL_ADC_PollForConversion(&hadc1, 10); //等待ADC1轉(zhuǎn)換結(jié)束,超時設定為10ms
adcv = HAL_ADC_GetValue(&hadc1); //讀取ADC1的轉(zhuǎn)換結(jié)果
temp=(float)adcv*(2.43/4095)*100;
//將從ADC讀取到的數(shù)值(adcv)轉(zhuǎn)換為實際的氣壓值。
//這里adcv的范圍是0到4095(對應STM32的12位ADC滿量程)。
//乘以(2.43/4095)是對ADC讀數(shù)進行比例縮放,轉(zhuǎn)換為電壓值(假設MPX4115的輸出電壓范圍對應于氣壓變化),
//再乘以100是為了將結(jié)果單位轉(zhuǎn)換為更容易理解的形式。
temp=((10.0/23.0)*temp)+9.3; //MPX4115氣壓轉(zhuǎn)化公式
sprintf(str,"%4.0fKpa",temp);
LCD_ShowString(0,0,"Press:");
LCD_ShowString(0,6,str);
HAL_UART_Transmit(&huart1, (uint8_t *)&"Press=", 6, 10); //串口1發(fā)送字符串,數(shù)組長度為12,超時10ms
HAL_UART_Transmit(&huart1, (uint8_t *)str, 7, 10); //串口1發(fā)送字符串,數(shù)組長度為5,超時10ms
HAL_UART_Transmit(&huart1, (uint8_t *)&"nr", 2, 10); //串口1發(fā)送字符串,數(shù)組長度為2,超時10ms
if(set_flag){//設置模式
sprintf(str,"%4.0fKpa^ ",warming_val);
LCD_ShowString(1,0,"ALM:");
LCD_ShowString(1,6,str);
}else{
sprintf(str,"%4.0fKpa ",warming_val);
LCD_ShowString(1,0,"ALM:");
LCD_ShowString(1,6,str);
}
HAL_UART_Transmit(&huart1, (uint8_t *)&"ALM=", 4, 10); //串口1發(fā)送字符串,數(shù)組長度為12,超時10ms
HAL_UART_Transmit(&huart1, (uint8_t *)str, 7, 10); //串口1發(fā)送字符串,數(shù)組長度為5,超時10ms
HAL_UART_Transmit(&huart1, (uint8_t *)&"nr", 2, 10); //串口1發(fā)送字符串,數(shù)組長度為2,超時10ms
if(temp>warming_val&&!set_flag){//如果超過報警值
HAL_GPIO_WritePin(GPIOA,BEEP_Pin, GPIO_PIN_RESET);//BEEP引腳拉低
}else{
HAL_GPIO_WritePin(GPIOA,BEEP_Pin, GPIO_PIN_SET);
}
HAL_ADC_Stop(&hadc1); //停止ADC1
HAL_Delay(300);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
4. 設計報告
9183字設計報告,內(nèi)容包括硬件設計、軟件設計、調(diào)試、結(jié)論等。
在當今快速發(fā)展的科技時代,環(huán)境參數(shù)的精細化監(jiān)測成為了諸多高科技領(lǐng)域不可或缺的一環(huán),這不僅促進了科學研究的進步,也極大地提升了眾多行業(yè)的安全與效能。尤其在諸如航空航天、氣象預報、深海探索以及廣泛的工業(yè)自動化場景中,對氣壓這一核心環(huán)境變量的精確感知和即時響應,更是確保設備穩(wěn)定運行與作業(yè)安全的關(guān)鍵。氣壓的微小波動都可能影響飛行器的穩(wěn)定性、天氣預報的準確性、深潛器的安全操作乃至工業(yè)生產(chǎn)過程中的質(zhì)量控制,因此,一個能夠?qū)崟r、準確監(jiān)測并迅速響應異常氣壓變化的系統(tǒng)顯得尤為重要。
本項目正是在此背景下應運而生,它巧妙地整合了STM32單片機的強大運算與控制能力,作為整個系統(tǒng)的大腦,負責協(xié)調(diào)各組件高效運作。通過與高靈敏度的MPX4115氣壓傳感器協(xié)作,系統(tǒng)得以捕捉環(huán)境中最細微的氣壓變化。而LCD1602液晶顯示屏的加入,則讓實時氣壓數(shù)據(jù)直觀呈現(xiàn),便于現(xiàn)場人員即時了解環(huán)境狀態(tài)。為了提升系統(tǒng)的互動性和適應性,設計中融入了按鍵模塊,允許用戶根據(jù)具體需求靈活設定報警閾值,增強了系統(tǒng)的實用性和靈活性。此外,集成的蜂鳴器報警機制,在氣壓超出預設安全范圍時立即觸發(fā),提供清晰的聽覺警示,確保緊急情況下的快速響應。
5. 資料清單&下載鏈接
0、常見使用問題及解決方法–必讀?。。。?/p>
1、程序代碼
2、Proteus仿真
3、功能要求
4、開題報告
5、設計報告
6、講解視頻
Altium Designer 安裝破解
C0089 STM32簡易計算器仿真設計.zip
KEIL+proteus 單片機仿真設計教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡易使用教程
單片機學習資料
相關(guān)數(shù)據(jù)手冊
答辯技巧
設計報告常用描述
鼠標雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設計.url
資料下載鏈接:
https://docs.qq.com/doc/DS2RmbmhWemdFVG9T