久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: stc15智能家居源碼(溫濕度傳感器、光照傳感器、空氣質量傳感器) [打印本頁]

作者: sunguo    時間: 2018-5-6 11:02
標題: stc15智能家居源碼(溫濕度傳感器、光照傳感器、空氣質量傳感器)
溫濕度傳感器、光照傳感器、空氣質量傳感器

單片機源程序如下:
  1. #include "stc15.h"
  2. #include "string.h"
  3. #include "i2c.h"
  4. #include "stdio.h"  
  5. #include "uart.h"
  6. #include "normal.h"
  7. #include "string.h"
  8. #include <stdio.h>
  9. #include <intrins.h>

  10. unsigned char buf[40]={0};
  11. #define uchar unsigned char
  12. #define uint unsigned int
  13. uint hum,temp;
  14. uchar hum_h,hum_l,temp_h,temp_l,check;
  15. uchar bai,shi,ge,bail,shil,gel;
  16. char i=0;
  17.        


  18. sbit dht=P1^3;
  19. sbit in1=P2^1;
  20. sbit in2=P2^2;
  21. sbit in3=P2^3;
  22. sbit in4=P2^4;
  23. sbit zongxian=P2^5;
  24. sbit fenxian=P2^6;



  25. void delay(unsigned int time)
  26. {
  27.          unsigned char a,b;
  28.         for(;time>0;time--)
  29.                 for(b=4;b>0;b--)
  30.                         for(a=113;a>0;a--);
  31. }


  32. void delay2(uint t)
  33. {
  34.         unsigned char i;
  35.         for(t;t>0;t--)
  36.         {
  37.                 _nop_();
  38.                 i = 25;
  39.                 while (--i);
  40.         }
  41. }


  42. //void delay2(uint i)
  43. //{
  44. // while(i--);
  45. //}
  46. void delay1(uint z)
  47. {
  48. uint x,y;
  49. for(x=z;x>0;x--)
  50. for(y=110;y>0;y--);
  51. }
  52. void star()        //開始接受信號
  53. {
  54. dht=0;
  55. delay2(5);
  56. dht=1;
  57. delay2(4);
  58. while(!dht);
  59. while(dht);

  60. }
  61. uchar read_byte() //讀取接受的信號
  62. {
  63.   uchar n,byte=0,dat;
  64.   for(n=0;n<8;n++)
  65.   {
  66.    while(!dht);
  67.    delay2(4);
  68.    dat=0;
  69.    if(dht)
  70.     dat=1;
  71.    while(dht);
  72.         byte<<=1;
  73.         byte|=dat;
  74.        
  75.    }
  76.    return byte;
  77. }
  78. void read_hum_temp()
  79. {
  80.    star();
  81.    hum_h=read_byte();
  82.    hum_l=read_byte();
  83.    temp_h=read_byte();
  84.    temp_l=read_byte();
  85.    check=read_byte();
  86.    while(!dht);
  87.    dht=1;

  88. }
  89. void shujvzhuanhua() //數據轉化
  90. {
  91. uchar a;
  92. a=hum_h+hum_l+temp_h+temp_l;
  93. if(a==check)
  94. {
  95.   hum=temp=0;
  96.   hum=((hum|hum_h)<<8)|hum_l;
  97.   temp=((temp|temp_h)<<8)|temp_l ;
  98.   bai=temp/100+0x30;
  99.   shi=temp%100/10+0x30;
  100.   ge=temp%10+0x30;
  101.   bail=hum/100+0x30;
  102.   shil=hum%100/10+0x30;
  103.   gel=hum%10+0x30;

  104. }
  105. else
  106.   bai=shi=ge=bail=shil=gel=0;

  107. }
  108. void chuankou2() interrupt 8
  109. {       
  110.         R2I_RST();
  111.         T2I_RST();
  112.         i=S2BUF;
  113.         if(i=='s')
  114.         {
  115.                 P53=0;
  116.                
  117.                
  118.         }
  119.         if(i=='j')       
  120.         {
  121.                 P52=0;
  122.         }
  123.        
  124.         if(i=='g')
  125.         {
  126.                 zongxian=0;
  127.                 delay_ms(1);
  128.                 fenxian=0;
  129.                
  130.         }
  131.     if(i=='m')
  132.         {
  133.                 zongxian=1;
  134.                 fenxian=1; //檢測下降沿
  135.        
  136.         }
  137. }


  138. //void delay1(unsigned int x)
  139. //{
  140. //        while(x--);
  141. //}
  142. void main()
  143. {
  144.         int i;
  145.         unsigned char raw_data[13]={0};
  146.         uint32_t Lux=0;
  147.         uint16_t data_16[2]={0};
  148.         CLK_DIV=0x00;
  149.         P1M0=0x00;
  150.         P1M1=0x00;
  151.         P2M0=0xff;
  152.         P2M1=0x00;//驅動電機模塊需要大電流,推挽輸出
  153.         P3M0=0x00;
  154.         P3M1=0x00;
  155.         P5M0=0xff;
  156.         P5M1=0x00;
  157.         P53=1;
  158.         P52=1;
  159.         uart1_int();
  160.         uart2_int();
  161.         IE2=0x00;
  162.         SCL=1;
  163.         SDA=1;
  164.         EA_ON();
  165.         ES_OFF();
  166.         ES2_OFF();
  167.         zongxian=1;
  168.         fenxian=1;
  169.         while(1)
  170.         {       
  171.                
  172.                 if(Single_ReadI2C(0xb6,0x00,raw_data,4))   //光照
  173.             {
  174.                      data_16[0]=(((uint16_t)raw_data[0])<<8)|raw_data[1];
  175.                         data_16[1]=(((uint16_t)raw_data[2])<<8)|raw_data[3];
  176.                         Lux=(((uint32_t)data_16[0])<<16)|data_16[1];
  177.                 }
  178.                 delay_ms(1100);
  179.                
  180.                 delay_ms(1);

  181.                 read_hum_temp();
  182.                 shujvzhuanhua();
  183.                 ES2_OFF();
  184.                 P53=1;
  185.                 P52=1;
  186.                 printf("t3.txt=\"%f\"\xff\xff\xff",hum/10.0);
  187.                 printf("t1.txt=\"%f\"\xff\xff\xff",temp/10.0);
  188.                 printf("t5.txt=\"%f\"\xff\xff\xff",Lux/100.0);
  189.                 printf("add 1,0,%f\xff\xff\xff",hum/10.0);
  190.                 printf("add 1,1,%f\xff\xff\xff",temp/10.0);
  191.                 printf("add 1,3,%f\xff\xff\xff",Lux/100.0);
  192.                 delay_ms(1);
  193.                 sprintf(buf,"*%f~?%f!+%f-",Lux/100.0,temp/10.0,hum/10.0);//轉化成字符
  194.                 delay_ms(1);
  195.                
  196.                 for(i=0;i<strlen(buf);i++)
  197.                 {
  198.                         delay_ms(1);
  199.                         uart2_sendata(buf[i]);
  200.                 }
  201.                 ES2_ON();
  202.                 delay_ms(1);
  203.                 memcpy(buf,"\0",40);//數組清零
  204.                 delay_ms(1);
  205.                
  206.         }
  207. }

復制代碼

所有資料51hei提供下載:
智能家居.zip (76.06 KB, 下載次數: 52)







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩精品在线看 | 亚洲天堂影院 | 婷婷色国产偷v国产偷v小说 | 亚洲狠狠爱 | 精品久久久久一区 | 亚洲精选一区二区 | 日韩欧美不卡 | 国产精品久久在线观看 | 久久伊人精品一区二区三区 | 蜜桃av鲁一鲁一鲁一鲁 | 中文字幕成人 | 国产精品久久免费观看 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 91在线精品视频 | 久久久这里都是精品 | 九九综合 | 中文字幕亚洲视频 | 97国产一区二区 | 特级黄一级播放 | 午夜成人免费视频 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 巨大黑人极品videos精品 | 日韩成人在线播放 | 91视频88av | 老熟女毛片 | 99免费精品视频 | 久久狠狠 | 国产女人与拘做受免费视频 | 亚洲黄色av| 久久国内精品 | 男女羞羞视频在线 | 成人精品视频在线 | 日本三级黄视频 | 亚洲欧美中文日韩在线v日本 | 日韩精品在线免费观看 | 亚洲a视频 | 伊人网站在线观看 | 国产精品久久久 | 日本在线免费视频 | 成人蜜桃av | 免费黄色在线观看 |