单片机智能一体化管理程序单片机解密
单片机解密单片机源程序如下:
- 单片机解密#include <reg52.h>
- 单片机解密#include "1602.h"
- 单片机解密#include "uart.h"
- #include "AM2301.h"
- #include "adc0832.h"
- #define RUN_CNT_MAX 2
- #define MENU_NUM_LIMIT 3
- uchar menu = 0;
- uchar Dat1,Dat2;
- uint Dat3;
- void Get_Dat();
- void SendData(void);//串口发送函数声明
- void LCD_display(void);//LCD1602显示函数声明
- void delay_ms(int xms)//延时演示,1ms
- {
- unsigned char i;
- for( ; xms > 0; xms--)
- for(i = 110; i > 0; i--);
- }
- unsigned int Humidity = 0;//定义湿度变量
- unsigned int Temperature = 0;//定义温度变量
- void main()
- {
-
- RY1 = 0; RY2 = 0; RY3 = 0; RY4 = 0; RY5 = 0; RY6 = 0; RY7 = 0; //继电器初始状态为关闭
-
- LCD1602_Init();//LCD1602初始化
- uart_init(); //串口初始化
-
- //LCD1602左侧显示温湿度对应字母
- LCD1602_Write_String(0, 0, "SD:");
- LCD1602_Write_String(0, 1, "WD:");
- LCD1602_Write_String(8, 0, "CO2:");
- LCD1602_Write_String(8, 1, "GZ:");
- while(1)
- {
- Read_Sensor();//读取温湿度
-
- if(Sensor_Data[2]&0x80)//如果温度为负值
- {
- DHT_Negative_Flag = 1;//负值标志位为1
- Sensor_Data[2]&=0x7F;//将不正宗的负数变为一个正常的正数,后续通过标志位来判断
- }
- else
- {
- DHT_Negative_Flag = 0;
- }
-
- //将传感器数据数组中的数据重新组合得到温湿度的值,参见数据手册
- Humidity = Sensor_Data[0]*256 + Sensor_Data[1];
- Temperature = Sensor_Data[2]*256 + Sensor_Data[3];
- Get_Dat();
- SendData();//从串口发送数据
- LCD_display();//LCD显示
-
- delay_ms(2000);//延时2s,数据手册规定2秒查询一次
- }
- }
- void Get_Dat()
- {
- static uint Run_Get_Cnt = RUN_CNT_MAX;
- if(Run_Get_Cnt++ > RUN_CNT_MAX)
- {
- Run_Get_Cnt = 0;
- Dat1 = adc0832(0);
- Dat2 = adc0832(1);
-
- Dat1 = Parse_Dat(Dat1,Adc_Pares_Percentage);
-
- Dat2 = Parse_Dat(Dat2,Adc_Pares_Percentage);
-
- LCD_display();
- }
- }
- //串口发送数据函数
- void SendData(void)
- {
- unsigned char i;
-
- SendByte(0xFF);//发送帧头
-
- SendByte(DHT_Negative_Flag);//发送负数标志
- for(i = 0; i < 4; i++)//发送传感器数据
- {
- SendByte(Sensor_Data[i]);
- }
- SendByte(Dat1);
- SendByte(Dat2);
- SendByte(0xEE);//发送帧尾
- }

芯片解密