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

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

单片机测温测湿+调用风扇降湿降温+设置温湿上下限芯片解密

  1. 芯片解密#include<reg52.h>
  2. 芯片解密#include "intrins.h"
  3. typedef unsigned char uint8;
  4. typedef unsigned int uint16;
  5. sbit rs=P2^6;         // 数据命令选择
  6. sbit rw=P2^5;         //读写选择
  7. sbit e=P2^7;          //使能

  8. sbit k1=P3^1; //模式
  9. sbit k2=P3^0; //加
  10. sbit k3=P3^2; //减

  11. sbit DHT11_DQ_OUT=P2^0;//湿度
  12. sbit bee=P1^5;//蜂鸣器
  13. sbit IRIN=P3^2;

  14. sbit dq=P3^7;//温度
  15. sbit dj=P1^0;//电机
  16. uint8 mode=0,xian;
  17. char temph=50,templ=20;//自己可以改
  18. char humih=80,humil=20;
  19. uint8 temp,humi;
  20. uint8 flag;          //设定报警标志
  21. uint8 a,c,tempvalue;
  22. uint8 code num[10]="0123456789";

  23. uint8 code str1[]="Temp:";  //温度
  24. uint8 code str2[]="Humi:";  //湿度
  25. uint8 code str3[]="Error";  
  26. uint8 code str4[]="Success    ";
  27. uint8 code str5[]="%RH";
  28. uint8 code str6[]="TempH:";          //设定温度上限显示
  29. uint8 code str7[]="TempL:";          //设定温度下限显示
  30. uint8 code str8[]="HumiH:";           //设定湿度上限显示
  31. uint8 code str9[]="HumiL:";           //设定湿度下限显示


  32. void delay(uint16 i)
  33. {
  34.         while(i--);
  35. }

  36. void delay_ms(uint16 i)
  37. {
  38.         while(i--)
  39.                 delay(90);
  40. }

  41. void wrc(uint8 c)         //写命令
  42. {
  43.         delay(1000);
  44.         rs=0;
  45.         rw=0;
  46.         e=0;
  47.         P0=c;
  48.         e=1;
  49.         delay(10);
  50.         e=0;
  51. }
  52. void wrd(uint8 dat)          //写数据
  53. {
  54.         delay(1000);
  55.         rs=1;
  56.         rw=0;
  57.         e=0;
  58.         P0=dat;
  59.         e=1;
  60.         delay(10);
  61.         e=0;
  62.         rs=0;
  63. }
  64. void lcd_init()           // LCD1602初始化
  65. {
  66.         delay(1000);
  67.         wrc(0x38);
  68.         wrc(0x38);         //功能设置命令,选择8位总线,双行显示  5*7点阵字符
  69.         wrc(0x38);
  70.         wrc(0x06);        //光标和显示模式设置  光标右移  整屏不移动
  71.         wrc(0x0c);        //显示开关控制  开显示  无光标 光标不闪烁
  72.         wrc(0x01);        //清零指令  固定的
  73. }
  74. //复位DHT11
  75. void DHT11_Rst()           
  76. {                 
  77.     DHT11_DQ_OUT=0;         //拉低DQ
  78.     delay_ms(20);            //拉低至少18ms
  79.     DHT11_DQ_OUT=1;         //DQ=1
  80.         delay(3);             //主机拉高20~40us
  81. }

  82. //等待DHT11的回应
  83. //返回1:未检测到DHT11的存在
  84. //返回0:存在
  85. uint8 DHT11_Check()            
  86. {   
  87.         uint8 retry=0;         
  88.     while (DHT11_DQ_OUT&&retry<100)//DHT11会拉低40~50us
  89.         {
  90.                 retry++;
  91.                 _nop_();
  92.         };         
  93.         if(retry>=100)return 1;
  94.         else retry=0;
  95.     while (!DHT11_DQ_OUT&&retry<100)//DHT11拉低后会再次拉高40~50us
  96.         {
  97.                 retry++;
  98.                 _nop_();
  99.         };
  100.         if(retry>=100)return 1;            
  101.         return 0;
  102. }



联系方式

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

在线客服
热线电话

企业微信