芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

单片机智能一体化管理程序单片机解密

单片机解密单片机源程序如下:

  1. 单片机解密#include <reg52.h>
  2. 单片机解密#include "1602.h"
  3. 单片机解密#include "uart.h"
  4. #include "AM2301.h"
  5. #include "adc0832.h"

  6. #define RUN_CNT_MAX                        2
  7. #define MENU_NUM_LIMIT                        3

  8. uchar menu = 0;
  9. uchar Dat1,Dat2;
  10. uint Dat3;

  11. void Get_Dat();
  12. void SendData(void);//串口发送函数声明
  13. void LCD_display(void);//LCD1602显示函数声明

  14. void delay_ms(int xms)//延时演示,1ms
  15. {
  16.     unsigned char i;
  17.     for( ; xms > 0; xms--)
  18.         for(i = 110; i > 0; i--);
  19. }

  20. unsigned int Humidity = 0;//定义湿度变量
  21. unsigned int Temperature = 0;//定义温度变量

  22. void main()
  23. {   
  24.         
  25.     RY1 = 0; RY2 = 0; RY3 = 0; RY4 = 0; RY5 = 0; RY6 = 0; RY7 = 0; //继电器初始状态为关闭
  26.    
  27.     LCD1602_Init();//LCD1602初始化
  28.     uart_init(); //串口初始化
  29.    
  30.     //LCD1602左侧显示温湿度对应字母
  31.     LCD1602_Write_String(0, 0, "SD:");
  32.     LCD1602_Write_String(0, 1, "WD:");
  33.     LCD1602_Write_String(8, 0, "CO2:");
  34.     LCD1602_Write_String(8, 1, "GZ:");        
  35.     while(1)
  36.     {
  37.         Read_Sensor();//读取温湿度
  38.          
  39.         if(Sensor_Data[2]&0x80)//如果温度为负值
  40.         {
  41.             DHT_Negative_Flag = 1;//负值标志位为1
  42.             Sensor_Data[2]&=0x7F;//将不正宗的负数变为一个正常的正数,后续通过标志位来判断
  43.         }
  44.         else
  45.         {
  46.             DHT_Negative_Flag = 0;
  47.         }
  48.       
  49.         //将传感器数据数组中的数据重新组合得到温湿度的值,参见数据手册        
  50.         Humidity = Sensor_Data[0]*256 + Sensor_Data[1];
  51.         Temperature = Sensor_Data[2]*256 + Sensor_Data[3];
  52.         Get_Dat();
  53.         SendData();//从串口发送数据
  54.         LCD_display();//LCD显示
  55.                
  56.         delay_ms(2000);//延时2s,数据手册规定2秒查询一次
  57.     }
  58. }
  59. void Get_Dat()
  60. {
  61.         static uint Run_Get_Cnt = RUN_CNT_MAX;
  62.         if(Run_Get_Cnt++ > RUN_CNT_MAX)
  63.         {
  64.                 Run_Get_Cnt = 0;
  65.                 Dat1 = adc0832(0);
  66.                 Dat2 = adc0832(1);
  67.    
  68.                 Dat1 = Parse_Dat(Dat1,Adc_Pares_Percentage);
  69.    
  70.                 Dat2 = Parse_Dat(Dat2,Adc_Pares_Percentage);
  71.    
  72.                 LCD_display();
  73.         }
  74. }

  75. //串口发送数据函数
  76. void SendData(void)
  77. {   
  78.     unsigned char i;
  79.    
  80.     SendByte(0xFF);//发送帧头
  81.    
  82.     SendByte(DHT_Negative_Flag);//发送负数标志
  83.     for(i = 0; i < 4; i++)//发送传感器数据
  84.     {
  85.         SendByte(Sensor_Data[i]);
  86.     }
  87.     SendByte(Dat1);
  88.                 SendByte(Dat2);

  89.     SendByte(0xEE);//发送帧尾
  90. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信