1. 程式人生 > 實用技巧 >500【畢設課設】基於STM32微控制器火災燃氣煤氣CO檢測報警器系統

500【畢設課設】基於STM32微控制器火災燃氣煤氣CO檢測報警器系統

【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

STM32微控制器火災燃氣煤氣CO檢測報警器121
本系統由STM32F103C8T6微控制器核心板、異常氣體感測器、LCD1602液晶顯示、
蜂鳴器報警、按鍵控制及電源組成。
1、通過感測器檢測感測器實際值,並將感測器實際值顯示在LCD1602液晶上。
2、感器檢測採用的是AD資料轉換,然後經過運算獲得的。
3、三個按鍵設定閾值,分別為設定鍵、設定+、設定-,其中設定+、設定-只有在設定模式下才能進行操作。
4、在設定模式下,液晶有對應的顯示標誌,設定閾值儲存到微控制器Flash中,具有掉電不丟失,無需重新設定。

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include <stdio.h>
#include "timer.h"
#include "key.h"
#include <stdio.h>
#include "lcd1602.h"
#include "adc.h"
#include "stmflash.h"  


#define BASICS_VAL 22 //用於資料轉換的基礎值
#define DEFAULT_SET_VAL 50   //第一次下載預設設定值

char dis0[17]; //暫存陣列
char dis1[17]; //暫存陣列

unsigned int sensorVal = 0; //當前採集值
unsigned int adcx;	 	
	 
unsigned int setNum = 50; //設定值
unsigned char setMode = 0;//預設手動模式
unsigned char disFlag = 0;//顯示標誌

#define FLASH_SAVE_ADDR  0X08010000 	// 注意不同晶片 扇區flash地址不一樣 設定FLASH 儲存地址(必須為偶數,且其值要大於本程式碼所佔用FLASH的大小+0X08000000)
//stm32f103R8T6 flash地址範圍 0x8010000-0x801FFFF
//stm32f103C8T6 flash地址範圍 0x8000000-0x807FFFF

#define SIZE 10	 	//陣列長度