亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dht11.lst

?? DHT11采集溫濕度并用LCD12864顯示的源程序
?? LST
字號:
C51 COMPILER V8.02   DHT11                                                                 04/25/2013 19:45:37 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE DHT11
OBJECT MODULE PLACED IN DHT11.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DHT11.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //STC89C52單片機的時鐘頻率是11.0592M 
   2          #include "DHT11.h" 
   3          #include <reg52.h> 
   4          
   5          /*讀一個字節的數據*/ 
   6          static uchar ReadValue(void) 
   7          { 
   8   1              uchar count, value = 0, i; 
   9   1              status = OK; //設置標志位為正常狀態
  10   1              for(i = 8; i > 0; i--) 
  11   1              {                
  12   2                      value <<= 1; //高位在先,將得到的數據依次左移,最后得到1字節的數據
  13   2                      count = 0;
  14   2                      //每一位數據前都有50us的低電平等待時間.等待50us時間結束 
  15   2                      while(dht11 == 0 && count++ < NUMBER); 
  16   2                      if(count >= NUMBER) 
  17   2                      {       
  18   3                               status = ERROR;//設定錯誤標志
  19   3                               return 0;//函數執行過程發生錯誤就退出函數 
  20   3                      }
  21   2                      //26-28us的高電平表示該位為0, 70us的高電平表示該位為1 
  22   2                      Delay_10us(); 
  23   2                      Delay_10us(); 
  24   2                      Delay_10us();
  25   2                      //延時30us后檢測數據線是否為高電平 
  26   2                      if(dht11 != 0) 
  27   2                      {
  28   3                              //進入這里表明該位為1
  29   3                              value++;
  30   3                              //等待剩下的40us高電平結束
  31   3                              while(dht11 != 0 && count++ < NUMBER) 
  32   3                              {                       
  33   4                                      dht11 = 1; 
  34   4                              } 
  35   3                              if(count >= NUMBER)
  36   3                              
  37   3                               { 
  38   4                                      status = ERROR;//設定錯誤標志
  39   4                                      return 0; 
  40   4                              } 
  41   3                      } 
  42   2              } 
  43   1              return (value); 
  44   1      } 
  45          
  46          //讀一次數據,共5個字節
  47          uchar ReadTempAndHumi(void) 
  48          { 
  49   1      
  50   1              uchar i = 0, check_value = 0,count = 0; 
  51   1              EA = 0; 
  52   1              dht11 = 0; //先拉低數據線至少18ms,發送開始信號 
  53   1              Delay_1ms(20); //延時大于18ms
  54   1              dht11 = 1; //釋放數據線,用于檢測低電平響應信號
  55   1              //等待20-40us,檢測響應信號,響應信號為從機拉低數據線80us 
C51 COMPILER V8.02   DHT11                                                                 04/25/2013 19:45:37 PAGE 2   

  56   1              Delay_10us(); 
  57   1              Delay_10us(); 
  58   1              Delay_10us(); 
  59   1              Delay_10us(); 
  60   1              if(dht11 != 0) //檢測響應信號是否存在,響應信號為低電平
  61   1              {               
  62   2                      //響應信號不存在 
  63   2                      EA = 1; 
  64   2                      return ERROR;   
  65   2               } 
  66   1              else 
  67   1              {
  68   2              
  69   2                      //有響應信號
  70   2                      while(dht11 == 0 && count++ < NUMBER); //等待響應信號結束 
  71   2                      if(count >= NUMBER) //檢測計數器是否超出了設定范圍
  72   2                      {       
  73   3                              dht11 = 1; 
  74   3                              EA = 1; 
  75   3                              return ERROR;//讀數據出錯,退出函數
  76   3                      } 
  77   2                      count = 0;
  78   2                      dht11 = 1;//釋放數據線
  79   2                      //應答信號后有80us的等待時間,等待高電平結束 
  80   2                      while(dht11 != 0 && count++ < NUMBER); 
  81   2                      if(count >= NUMBER) 
  82   2                      {
  83   3                              dht11 = 1; 
  84   3                              EA = 1; 
  85   3                              return ERROR;//計數器超出檢測范圍,退出函數     
  86   3                      }
  87   2              
  88   2                      //讀出溫濕度值
  89   2                      for(i = 0; i < SIZE; i++)       
  90   2                       { 
  91   3                              value_array[i] = ReadValue();   //調用ReadValue()讀數據 
  92   3                              if(status == ERROR)//若讀數據出錯,則退出函數
  93   3                              {
  94   4                              
  95   4                                      dht11 = 1; 
  96   4                                      EA = 1; 
  97   4                                      return ERROR;
  98   4                              }
  99   3                              //若讀到的數據是校驗值,則不需要加上去
 100   3                              if(i != SIZE -1) 
 101   3                              {       
 102   4                                       //若讀到的數據中前4字節數據的和等于第5字節字節,則表示成功 
 103   4                                      check_value += value_array[i];
 104   4                              } 
 105   3                      }//end for
 106   2                      //檢驗讀到的數據是否正確 
 107   2                      if(check_value == value_array[SIZE - 1]) 
 108   2                      {
 109   3                              //將溫濕度值擴大十倍,以方便讀出其中的每一位
 110   3                              humi_value = (value_array[0]+value_array[1]) * 10;      //前2bit數據為濕度值
 111   3                              temp_value = (value_array[2]+value_array[3]) * 10;      //后2bit為溫度值 
 112   3                              dht11 = 1; 
 113   3                              EA = 1; 
 114   3                              return OK;//正確地讀出dht11輸出的數據 
 115   3                      } 
 116   2                      else 
 117   2                      {
C51 COMPILER V8.02   DHT11                                                                 04/25/2013 19:45:37 PAGE 3   

 118   3                              //校驗數據出錯
 119   3                              EA = 1; 
 120   3                              return ERROR; 
 121   3                      }
 122   2              } 
 123   1      } 
 124          
 125          //LCD顯示函數
 126          void SMG_Display(uint value) 
 127          { 
 128   1              uchar ge, bai, shi; 
 129   1              ge = value%10+0x30;     //必須加上0x30,否則顯示亂碼
 130   1              shi = value%100/10+0x30; 
 131   1              bai = value/100+0x30; 
 132   1              
 133   1              lcd_write_data(bai);
 134   1              
 135   1              lcd_write_data(shi);
 136   1              lcd_write_data('.');
 137   1              lcd_write_data(ge);     
 138   1                      
 139   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    361    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品色呦呦| 精品少妇一区二区三区日产乱码| 国产欧美日韩三区| 国产剧情在线观看一区二区| 久久久www免费人成精品| 成人永久aaa| 亚洲人精品午夜| 欧洲一区二区三区免费视频| 天天色天天操综合| 欧美一区二区不卡视频| 国产在线播精品第三| 国产精品国产三级国产aⅴ中文 | 中文字幕日本不卡| 在线视频一区二区三| 日韩高清一级片| 久久精品视频在线看| av影院午夜一区| 视频一区视频二区在线观看| 精品欧美久久久| 99久久99久久综合| 青青草原综合久久大伊人精品| 久久综合九色欧美综合狠狠| av在线这里只有精品| 丝袜亚洲另类欧美| 国产婷婷色一区二区三区| 99久久精品免费看国产| 日本亚洲三级在线| 中文字幕一区二区三区在线不卡 | 免费高清成人在线| 欧美激情在线一区二区三区| 欧美三级日韩在线| 欧美精品三级日韩久久| 韩国一区二区视频| 一区二区三区不卡视频| 久久蜜桃一区二区| 欧美日韩亚州综合| 成人免费视频一区| 青青草国产精品亚洲专区无| 最近中文字幕一区二区三区| 日韩美女主播在线视频一区二区三区 | 欧美国产日韩精品免费观看| 欧美日韩精品一区二区三区四区| 国产美女娇喘av呻吟久久| 亚洲成人综合网站| 亚洲欧美影音先锋| 337p粉嫩大胆色噜噜噜噜亚洲| 色婷婷av一区二区三区大白胸| 狠狠色综合播放一区二区| 亚洲第一电影网| 亚洲欧美激情插 | 日韩精品欧美精品| 亚洲欧美欧美一区二区三区| www欧美成人18+| 7777精品伊人久久久大香线蕉经典版下载 | 色婷婷精品大在线视频| 国产成人精品午夜视频免费| 秋霞成人午夜伦在线观看| 亚洲精品国产一区二区三区四区在线| 久久久亚洲精品石原莉奈 | 精品久久一区二区| 欧美日韩精品福利| 在线精品观看国产| 成人短视频下载| 久久国产欧美日韩精品| 亚洲一区二区三区四区中文字幕| 国产精品久久久久久久浪潮网站| 国产日韩成人精品| 日韩三级中文字幕| 在线91免费看| 欧美另类变人与禽xxxxx| 91福利精品视频| 97久久精品人人做人人爽| 成人激情图片网| 国产成人综合在线| 国产一区二区三区美女| 国产美女精品人人做人人爽| 激情小说欧美图片| 国产高清精品久久久久| 国产精品 欧美精品| 国产精品中文字幕一区二区三区| 久久国产尿小便嘘嘘尿| 国产一区二区三区精品视频| 国产美女一区二区| 东方aⅴ免费观看久久av| 成人丝袜18视频在线观看| 播五月开心婷婷综合| 99久久久精品| 在线观看网站黄不卡| 欧美男人的天堂一二区| 欧美一区二区三区免费大片 | 日韩av网站免费在线| 视频一区国产视频| 黄色日韩网站视频| 懂色av噜噜一区二区三区av| 色综合天天综合网天天看片| 欧美性大战久久久久久久 | 国产激情偷乱视频一区二区三区 | 色婷婷亚洲一区二区三区| 欧美日韩国产在线播放网站| 欧美一区二区三区在| 亚洲精品在线电影| 亚洲欧洲美洲综合色网| 亚洲国产精品久久久久秋霞影院 | 国产精品77777| 99九九99九九九视频精品| 欧美体内she精高潮| 欧美一区二区在线视频| 国产欧美日本一区二区三区| 一区二区在线电影| 免费观看一级欧美片| 床上的激情91.| 欧美老年两性高潮| 久久久精品综合| 亚洲一二三区视频在线观看| 久久国产日韩欧美精品| 一本色道a无线码一区v| 日韩一区二区三区免费观看| 国产精品女主播av| 午夜影院久久久| 国产成人8x视频一区二区| 欧美日韩视频在线第一区| 久久久精品日韩欧美| 亚洲国产一区二区三区| 国产一区二区三区在线看麻豆| 色av一区二区| 欧美国产乱子伦| 日本午夜一区二区| 91猫先生在线| 精品国产免费久久| 午夜伦欧美伦电影理论片| 成人性生交大片免费看视频在线 | 制服丝袜亚洲播放| 亚洲日本在线a| 国产一区二区三区视频在线播放| 欧美三级日韩三级| 综合久久综合久久| 国产精品99久久久久久久vr| 欧美精品aⅴ在线视频| 成人免费在线观看入口| 国产精品1区2区3区在线观看| 欧美日韩一区精品| 亚洲日本中文字幕区| 国产99久久精品| 日韩丝袜美女视频| 丝袜诱惑制服诱惑色一区在线观看 | 在线观看亚洲成人| 国产精品成人在线观看| 国产精品影音先锋| 欧美mv日韩mv国产网站app| 亚洲电影一区二区| 欧洲一区在线电影| 亚洲卡通动漫在线| 成人av电影在线播放| 国产丝袜在线精品| 国产最新精品免费| 欧美v日韩v国产v| 免费不卡在线视频| 日韩精品在线看片z| 日本女人一区二区三区| 欧美久久久影院| 婷婷六月综合亚洲| 在线播放国产精品二区一二区四区| 亚洲精品va在线观看| 91国在线观看| 亚洲国产一区二区视频| 欧美天天综合网| 亚洲v日本v欧美v久久精品| 精品视频123区在线观看| 亚洲国产精品天堂| 欧美日韩免费电影| 视频一区免费在线观看| 91精品国产美女浴室洗澡无遮挡| 婷婷激情综合网| 4438成人网| 久久机这里只有精品| 久久亚洲综合色| 国产**成人网毛片九色| 中文字幕第一区二区| 99久久精品免费观看| 一区二区在线观看视频在线观看| 欧美影院精品一区| 日本sm残虐另类| 久久久99精品久久| 不卡视频免费播放| 亚洲综合一区在线| 欧美高清一级片在线| 精品一区精品二区高清| 国产色一区二区| 91欧美激情一区二区三区成人| 亚洲制服丝袜一区| 91精品国产综合久久精品麻豆| 免费xxxx性欧美18vr| 中文字幕av在线一区二区三区| 91免费视频网址| 日韩国产欧美一区二区三区| 久久综合久久综合久久综合| 99久久免费精品| 美女免费视频一区| 国产精品久久久久久久久果冻传媒| 91一区二区在线|