根據所學的stm32 的GIO應用 I2C 中斷 AD轉換等等知識
製作一個溫度控制系統
任務要求
- 溫度測量範圍:-10~70攝氏度,顯示分辨率0.1攝氏度,精度0.5攝氏度;
- 數碼管顯示當前溫度,並能配合鍵盤設置溫度限值;
- 通過鍵盤設置溫度控制設定值,設定低溫限和高溫限,報警低限和報警高限;
- 設定參數可以掉電保存,上電恢復;
- 可利用聲音和燈光報警,並在不同狀態下體現不同的報警聲音;
- 兩路控制繼電器作爲執行機構(bang-bang(滯環控制)控制方式)
設計
通用溫控系統總體框圖
思維導圖 整體思路
操作流程
操作流程:
- 正常打開顯示的是當前環境的溫度值,第一個led燈常亮,當環境溫度低於設定的溫度下限,或者環境溫度高於設定的溫度上限,蜂鳴器會響第一個led燈會滅。
- 查看溫度上下限:在正常沒有處於設置上下限狀態下,按下按鍵16,數碼管的前兩位顯示溫度報警的上限,數碼管的後兩位顯示溫度報警的下限。
- 設置溫度上下限和溫度報警上下限:在正常狀態下,按下功能鍵15進入設定溫度報警下限狀態,並同時進入10s的倒計時,如果在10s內沒有有效的操作,則設置狀態退出,(此時數碼管第一位顯示功能鍵的個位數,第二位顯示10s倒計時剩餘時間),如果設置負數按功能鍵11,如果設置正數可以不按,如果設置的是一位數,按下該數對應的按鍵後按下功能鍵16進行確定,如果設置的兩位數則先按下該數的十位再按下個位,最後確定即可。(數碼管第三位會顯示設置的十位數,第四位顯示設置的個位數,初始值是0)每次按鍵都重新進行計時。相對應的如果設置溫度報警上限首先按功能鍵14,設置溫度下限按功能鍵13,設置溫度上限按功能鍵12,其餘操作都一致。
else
該項目演示 鏈接
這是個綜合應用 使用的知識是stm32的一些基本知識
這些都在博客中有相應的文章列出
具體每部分的知識可以到相應的文章查看
鏈接
更多STM32學習教程
- STM32 cubemx keil5搭建學習環境
- 使用STM32 cubemx keil5實現led燈與數碼管控制
- 基於STM32 CubeMx keil5實現鍵盤的應用
- 基於STM32 CubeMx keil5實現串口通信 I2C與GPIO綜合應用
- 基於STM32 CubeMx keil5實現AD轉換獲取溫度
- 基於STM32 CubeMx keil5 學習使用I2C
- 基於STM32 CubeMx keil5 學習使用串口通信
- 基於STM32 CubeMx keil5應用定時器
- 基於STM32 cubemx keil5學習使用中斷
- 基於STM32 cubemx keil5綜合應用實現溫度控制系統