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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

STM32+DHT11帶oled7腳的源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:192318 發(fā)表于 2018-7-19 21:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
自測(cè)可用

單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "DHT11.h"
  3. #include "Delay.h"
  4. #include "bsp_usart.h"
  5. #include "oled.h"
  6. DHT11_Data DHT11;

  7. void DHT11_GPIO_IN(void)
  8. {
  9. GPIO_InitTypeDef GPIO_InitStructure;
  10. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  11.        
  12. GPIO_InitStructure.GPIO_Pin = DHT11_PIN;
  13. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  14. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //設(shè)置浮空輸入
  15. GPIO_Init(DHT11_PORT,&GPIO_InitStructure);
  16. }

  17. /********************************************************
  18. 函數(shù):DHT11_GPIO_OUT
  19. 描述:設(shè)置GPIO口為輸出狀態(tài)
  20. 參數(shù):無(wú)
  21. 返回:無(wú)
  22. ********************************************************/
  23. void DHT11_GPIO_OUT(void)
  24. {
  25. GPIO_InitTypeDef GPIO_InitStructure;
  26. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  27.        
  28. GPIO_InitStructure.GPIO_Pin = DHT11_PIN;
  29. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  30. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //設(shè)置推挽輸出
  31. GPIO_Init(DHT11_PORT,&GPIO_InitStructure);
  32. }

  33. /********************************************************
  34. 函數(shù):DHT11WriteStart
  35. 描述:發(fā)起開(kāi)始信號(hào)
  36. 參數(shù):無(wú)
  37. 返回:無(wú)
  38. ********************************************************/
  39. void DHT11WriteStart(void)//開(kāi)始標(biāo)志
  40. {
  41. DHT11_GPIO_OUT(); //設(shè)置io為輸出模式
  42. DHT11_DATA_OUT(1); //拉高
  43. DHT11_DATA_OUT(0); //拉低
  44. Delay_Ms(20); //主機(jī)拉低總線必須大于18ms
  45. DHT11_DATA_OUT(1); //拉高
  46. Delay_Us(30); //主機(jī)發(fā)送開(kāi)始信號(hào)結(jié)束后延時(shí)等待20-40us
  47. DHT11_GPIO_IN(); //啟動(dòng)信號(hào)開(kāi)始后,為如數(shù)據(jù)將io設(shè)置設(shè)置為輸入模式
  48. }

  49. /********************************************************
  50. 函數(shù):DHT11ReadByte
  51. 描述:從DHT11中讀取一位數(shù)據(jù)
  52. 參數(shù):無(wú)
  53. 返回:返回讀出來(lái)的數(shù)據(jù)
  54. ********************************************************/
  55. u8 DHT11ReadByte(void)
  56. {
  57. u8 temp=0,i;
  58. for(i=0;i<8;i++)//讀取8位數(shù)據(jù)
  59. {
  60. while(DHT11_DATA_IN()==0);//等待變高電平[DHT在單片機(jī)采集DATA引腳輸出低電平時(shí),從低功耗模式轉(zhuǎn)至高速模式,等待DATA引腳變?yōu)楦唠娖絔
  61. /*DHT11 以26us~28us的高電平表示“0”,以70us的高電平表示“1”
  62. 每一bit數(shù)據(jù)都以50us低電平時(shí)隙開(kāi)始,當(dāng)檢測(cè)到60us后的電平區(qū)別狀態(tài)*/
  63. Delay_Us(60);//1.DHT輸出 60us低電平 作為應(yīng)答信號(hào)2.DHT輸出 80us高電平 通知微處理器準(zhǔn)備接受數(shù)據(jù)
  64. if(DHT11_DATA_IN()==1) //60us后還是高電平則是“1”
  65. {
  66. while(DHT11_DATA_IN()==1);
  67. temp|=(u8)(0x01<<(7-i));
  68. }
  69. else //否則是“0”
  70. {
  71. temp&=(u8)~(0x01<<(7-i));
  72. }
  73. }
  74. return temp;
  75. }

  76. /********************************************************
  77. 函數(shù):DHT11Read
  78. 描述:采樣當(dāng)前溫濕度值
  79. 參數(shù):
  80. RH:濕度值的整數(shù)部分
  81. RL: 濕度值的小數(shù)部分
  82. TH: 溫度值的整數(shù)部分
  83. TL: 溫度值的小數(shù)部分
  84. 返回:
  85. ********************************************************/
  86. char a[5];
  87. int temp;
  88. void DHT11Read(void)
  89. {
  90. DHT11WriteStart(); //發(fā)起開(kāi)始信號(hào)
  91. if(DHT11_DATA_IN()==0)
  92. {
  93. while(DHT11_DATA_IN()==0);
  94. while(DHT11_DATA_IN()==1);
  95. DHT11.RH= DHT11ReadByte(); //濕度高8位
  96. DHT11.RL= DHT11ReadByte(); //濕度低8位
  97. DHT11.TH= DHT11ReadByte(); //溫度高8位
  98. DHT11.TL= DHT11ReadByte(); //溫度低8位
  99. DHT11.sum= DHT11ReadByte(); //校驗(yàn)和

  100. DHT11_GPIO_OUT(); //采樣結(jié)束后設(shè)置io口為輸出,等待下一次開(kāi)始信號(hào)
  101. DHT11_DATA_OUT(1); //設(shè)置總線空閑狀態(tài)為高電平
  102. }
  103. if(DHT11.sum== DHT11.RH+DHT11.RL+DHT11.TH+DHT11.TL) //校驗(yàn)和與計(jì)算出的數(shù)據(jù)相等
  104.         {
  105. //                OLED_ShowString(6,6,"c");
  106. //                printf("當(dāng)前環(huán)境濕度為%d.%d﹪,當(dāng)前環(huán)境溫度為%d.%d℃\r\n",DHT11.RH,DHT11.RL,DHT11.TH,DHT11.TL);
  107. //                DHT11.TL=2;
  108.                
  109.                 OLED_16x16CNStr(0,0,"23");
  110.                 OLED_ShowChar(32,0,':');
  111.                
  112.                 temp=(int)DHT11.RH;
  113.                 sprintf(a,"%d",temp);
  114.                 OLED_ShowString(48,0,a);
  115.                
  116.                 OLED_ShowChar(64,0,'.');
  117.                
  118.                 temp=(int)DHT11.RL;
  119.                 sprintf(a,"%d",temp);
  120.                 OLED_ShowString(72,0,a);
  121.                 OLED_ShowChar(80,0,'%');
  122.                
  123.                 OLED_16x16CNStr(0,2,"45");
  124.                 OLED_ShowChar(32,2,':');
  125.                
  126.                 temp=(int)DHT11.TH;
  127.                 sprintf(a,"%d",temp);
  128.                 OLED_ShowString(48,2,a);
  129.                
  130.                 OLED_ShowChar(64,2,'.');
  131.                
  132.                 temp=(int)DHT11.TL;
  133.                 sprintf(a,"%d",temp);
  134.                 OLED_ShowString(72,2,a);
  135.                 OLED_16x16CNStr(80,2,"6");
  136.                
  137. }

  138. }
復(fù)制代碼

所有資料51hei提供下載:
DHT11.rar (47.18 KB, 下載次數(shù): 46)


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

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2018-7-20 05:06 | 只看該作者
此貼需要補(bǔ)全原理圖等資料后可獲得100+積分
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美在线视频一区二区 | 草草网 | 很很干很很日 | 亚洲视频一区在线观看 | 久久九精品 | 国产成人福利视频在线观看 | 欧美中文字幕一区二区 | 91网站在线观看视频 | 免费观看黄| 天天操天天插天天干 | 成人一区二区三区在线观看 | 欧美www在线观看 | 丁香久久 | 国产精品久久久久久久久久久久久久 | 久久大| 日本一区二区高清不卡 | 欧美视频在线看 | 久久精品久久久久久 | 国产在线一区二区 | 91在线视频免费观看 | 日韩免费福利视频 | 日韩一区二区免费视频 | 狠狠干2020 | 精品久久视频 | 午夜视频一区 | 欧美日日 | 免费国产视频 | 日本一区二区视频 | 亚洲成av人影片在线观看 | 人人人干 | 国产日韩欧美激情 | 奇米超碰| 九九精品久久久 | 手机日韩 | 免费毛片网站在线观看 | 国精产品一品二品国精在线观看 | 国产成人影院 | 99久久精品国产麻豆演员表 | 日韩av视屏| 免费黄色录像视频 | 亚洲国产一区二区三区四区 |