欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2151|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

DHT11+stm2f103c8t6小例程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:420936 發(fā)表于 2018-11-5 11:05 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
stm32關(guān)于DHT11與12864的例程

單片機(jī)源程序如下:
  1. #include "dht11.h"
  2. #include "delay.h"

  3. //////////////////////////////////////////////////////////////////////////////////         
  4. //DHT11數(shù)字溫濕度傳感器驅(qū)動代碼          
  5. //VERS:1.0
  6. //DATE:2014/03/09                                                  
  7. //////////////////////////////////////////////////////////////////////////////////
  8.       
  9. //復(fù)位DHT11
  10. void DHT11_Rst(void)          
  11. {                 
  12.         DHT11_IO_OUT();         //SET OUTPUT
  13.     DHT11_DQ_OUT=0;         //拉低DQ
  14.     delay_ms(20);            //拉低至少18ms
  15.     DHT11_DQ_OUT=1;         //DQ=1
  16.         delay_us(30);             //主機(jī)拉高20~40us
  17. }
  18. //等待DHT11的回應(yīng)
  19. //返回1:未檢測到DHT11的存在
  20. //返回0:存在
  21. u8 DHT11_Check(void)           
  22. {   
  23.         u8 retry=0;
  24.         DHT11_IO_IN();//SET INPUT         
  25.     while (DHT11_DQ_IN&&retry<100)//DHT11會拉低40~80us
  26.         {
  27.                 retry++;
  28.                 delay_us(1);
  29.         };         
  30.         if(retry>=100)return 1;
  31.         else retry=0;
  32.     while (!DHT11_DQ_IN&&retry<100)//DHT11拉低后會再次拉高40~80us
  33.         {
  34.                 retry++;
  35.                 delay_us(1);
  36.         };
  37.         if(retry>=100)return 1;            
  38.         return 0;
  39. }
  40. //從DHT11讀取一個位
  41. //返回值:1/0
  42. u8 DHT11_Read_Bit(void)                          
  43. {
  44.         u8 retry=0;
  45.         while(DHT11_DQ_IN&&retry<100)//等待變?yōu)榈碗娖?br />
  46.         {
  47.                 retry++;
  48.                 delay_us(1);
  49.         }
  50.         retry=0;
  51.         while(!DHT11_DQ_IN&&retry<100)//等待變高電平
  52.         {
  53.                 retry++;
  54.                 delay_us(1);
  55.         }
  56.         delay_us(40);//等待40us
  57.         if(DHT11_DQ_IN)return 1;
  58.         else return 0;                  
  59. }
  60. //從DHT11讀取一個字節(jié)
  61. //返回值:讀到的數(shù)據(jù)
  62. u8 DHT11_Read_Byte(void)   
  63. {        
  64.     u8 i,dat;
  65.     dat=0;
  66.         for (i=0;i<8;i++)
  67.         {
  68.                    dat<<=1;
  69.             dat|=DHT11_Read_Bit();
  70.     }                                                    
  71.     return dat;
  72. }
  73. //從DHT11讀取一次數(shù)據(jù)
  74. //temp:溫度值(范圍:0~50°)
  75. //humi:濕度值(范圍:20%~90%)
  76. //返回值:0,正常;1,讀取失敗
  77. u8 DHT11_Read_Data(u8 *temp,u8 *humi)   
  78. {        
  79.         u8 buf[5];
  80.         u8 i;
  81.         DHT11_Rst();
  82.         if(DHT11_Check()==0)
  83.         {
  84.                 for(i=0;i<5;i++)//讀取40位數(shù)據(jù)
  85.                 {
  86.                         buf[i]=DHT11_Read_Byte();
  87.                 }
  88.                 if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
  89.                 {
  90.                         *humi=buf[0];
  91.                         *temp=buf[2];
  92.                 }
  93.         }else return 1;
  94.         return 0;            
  95. }
  96. //初始化DHT11的IO口 DQ 同時檢測DHT11的存在
  97. //返回1:不存在
  98. //返回0:存在             
  99. u8 DHT11_Init(void)
  100. {         
  101.         GPIO_InitTypeDef  GPIO_InitStructure;
  102.        
  103.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);         //使能PG端口時鐘
  104.        
  105.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;                                 //PG11端口配置
  106.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽輸出
  107.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  108.         GPIO_Init(GPIOG, &GPIO_InitStructure);                                 //初始化IO口
  109.         GPIO_SetBits(GPIOG,GPIO_Pin_11);                                                 //PG11 輸出高
  110.                             
  111.         DHT11_Rst();  //復(fù)位DHT11
  112.         return DHT11_Check();//等待DHT11的回應(yīng)
  113. }
復(fù)制代碼

所有資料51hei提供下載:
STM32 DH11 12864.rar (275.24 KB, 下載次數(shù): 45)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:326261 發(fā)表于 2018-11-5 21:31 | 只看該作者
請問你運(yùn)行過嗎,把正點(diǎn)原子的程序改一下就發(fā)出來,這是在騙下載嗎
回復(fù)

使用道具 舉報

板凳
ID:282575 發(fā)表于 2019-6-18 15:47 | 只看該作者
過分了兄弟
回復(fù)

使用道具 舉報

地板
ID:559487 發(fā)表于 2019-10-10 23:38 | 只看該作者
太過分了什么東西
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表