STM32单片机的智能家居监控系统程序
- 单片机解密#include "stm32f10x.h" // Device header
- 单片机解密#include "Delay.h"
- 单片机解密#include "KEY.h"
- 单片机解密#include "LED.h"
- 单片机解密#include "oled.h"
- #include "dht11.h"
- #include "esp8266.h"
- #include "Timer2.h"
- #include "AD.h"
- uint8_t KeyValue;
- uint8_t ParaSet_Flag;
- uint8_t temperature;
- uint8_t Humidity;
- uint16_t LightLux;
- uint8_t ERR;
- uint8_t TempSet = 25,HumidSet = 25,LuxSet = 25;
- uint8_t JumpCnt;
- uint8_t Temperature_Flag;
- uint8_t Humidity_Flag;
- uint8_t Lux_Flag;
- uint16_t Raw_LightLux; //原始光敏
- int main(void)
- {
- Key_Init();
- PC13_LED_Init();
- // Usart2_Init(115200);
- // DHT11_Init();
- AD_Init();
- Timer2_Init();
- OLED_Init();
- OLED_Clear();
- OLED_ShowString(24,0,"Smart Home",16);
- OLED_ShowString(0,2,"Temp: C",16);
- OLED_ShowString(0,4,"Humid: %",16);
- OLED_ShowString(0,6,"Lux: %",16);
- OLED_ShowNum(40,2,temperature,2,16);
- OLED_ShowNum(48,4,Humidity,2,16);
- OLED_ShowNum(32,6,LightLux,2,16);
- // do
- // {
- // ERR = WiFi_Connect_IoTServer();
- //
- // }while(ERR); //连接阿里云直到成功
-
-
- while(1)
- {
- //----------------------------------- Smart Home主界面 BEGIN -----------------------------------
- KeyValue = Key_Scan();
- if(KeyValue == 1) //当按键1按下,进入阈值设置界面
- {
- ParaSet_Flag = 1;
- OLED_Clear();
- OLED_ShowString(0,0,"Temp:",16);
- OLED_ShowString(86,0,"*",16);
- OLED_ShowString(0,2,"Humid:",16);
- OLED_ShowString(0,4,"Lux:",16);
- OLED_ShowNum(40,0,TempSet,2,16);
- OLED_ShowNum(48,2,HumidSet,2,16);
- OLED_ShowNum(32,4,LuxSet,2,16);
- Temperature_Flag = 1; //进行温度阈值修改
- Humidity_Flag = 0;
- Lux_Flag = 0;
- }
- else if(KeyValue == 2) //当按键2按下
- {
- }
- else if(KeyValue == 3) //当按键3按下
- {
- }
- else if(KeyValue == 4) //当按键4按下
- {
- }
- //----------------------------------- Smart Home主界面 END -----------------------------------
- //----------------------------------- 阈值设置界面 BEGIN -----------------------------------
- while(ParaSet_Flag == 1)
- {
- KeyValue = Key_Scan();
- if(KeyValue == 1) //当按键1按下,退出阈值设置界面
- {
- ParaSet_Flag = 0;
- OLED_Clear();
- OLED_ShowString(0,0,"Smart Home",16);
- }
- else if(KeyValue == 2) //当按键2按下,上下移动选择需要设置的阈值
- {
- JumpCnt++;
- if(JumpCnt == 1)
- {
- OLED_ShowString(86,0," ",16);
- OLED_ShowString(86,2,"*",16);
- OLED_ShowString(86,4," ",16);
- Temperature_Flag = 0;
- Humidity_Flag = 1;//进行湿度阈值修改
- Lux_Flag = 0;
- }
- else if(JumpCnt == 2)
- {
- OLED_ShowString(86,0," ",16);
- OLED_ShowString(86,2," ",16);
- OLED_ShowString(86,4,"*",16);
- Temperature_Flag = 0;
- Humidity_Flag = 0;
- Lux_Flag = 1; //进行光照阈值修改
- }