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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3497|回復: 3
收起左側

STC15W單片機顯示DHT11采集源碼

[復制鏈接]
ID:316019 發表于 2018-4-25 10:41 | 顯示全部樓層 |閱讀模式
單片機源程序如下:
  1. #include "DHT11.h"
  2. #include "yejingLCD.h"
  3. #include <stdio.h>
  4. #include<absacc.h>
  5. #include<string.h>
  6. uchar  U8FLAG,k;
  7. uchar  U8count,U8temp;
  8. uchar  U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
  9. uchar   U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
  10. uchar   U8comdata;
  11. uchar   count, count_r=0;
  12. uchar dht_dat[5];
  13. uint  U16temp1,U16temp2;
  14. uchar Ubitflag;

  15. void Delay20ms()                //@11.0592MHz
  16. {
  17.         unsigned char i, j, k;

  18.         _nop_();
  19.         _nop_();
  20.         i = 1;
  21.         j = 216;
  22.         k = 35;
  23.         do
  24.         {
  25.                 do
  26.                 {
  27.                         while (--k);
  28.                 } while (--j);
  29.         } while (--i);
  30. }

  31. void Delay20us()                //@11.0592MHz
  32. {
  33.         unsigned char i;

  34.         _nop_();
  35.         _nop_();
  36.         _nop_();
  37.         i = 52;
  38.         while (--i);
  39. }

  40. void Delay1000ms()                //@11.0592MHz
  41. {
  42.         unsigned char i, j, k;

  43.         _nop_();
  44.         _nop_();
  45.         i = 43;
  46.         j = 6;
  47.         k = 203;
  48.         do
  49.         {
  50.                 do
  51.                 {
  52.                         while (--k);
  53.                 } while (--j);
  54.         } while (--i);
  55. }

  56.        
  57. void  COM(void)
  58. {
  59.      
  60.                 uchar i;
  61.          
  62.        for(i=0;i<8;i++)          
  63.             {
  64.                
  65.                        U8FLAG=2;       
  66.                    while((!P2_0)&&U8FLAG++);
  67.                         Delay20us();
  68.                         Delay20us();
  69.                           U8temp=0;
  70.              if(P2_0)U8temp=1;
  71.                     U8FLAG=2;
  72.                  while((P2_0)&&U8FLAG++);
  73.                    //超時則跳出for循環                  
  74.                     if(U8FLAG==1)break;
  75.                    //判斷數據位是0還是1         
  76.                      
  77.                 // 如果高電平高過預定0高電平值則數據位為 1
  78.                     
  79.                    U8comdata<<=1;
  80.                       U8comdata|=U8temp;        //0
  81.              }//rof
  82.           
  83. }

  84.         //--------------------------------
  85.         //-----濕度讀取子程序 ------------
  86.         //--------------------------------
  87.         //----以下變量均為全局變量--------
  88.         //----溫度高8位== U8T_data_H------
  89.         //----溫度低8位== U8T_data_L------
  90.         //----濕度高8位== U8RH_data_H-----
  91.         //----濕度低8位== U8RH_data_L-----
  92.         //----校驗 8位 == U8checkdata-----
  93.         //----調用相關子程序如下----------
  94.         //---- Delay();, Delay_10us();,COM();
  95.         //--------------------------------

  96. void RH(void)
  97. {
  98.           //主機拉低18ms
  99.        P2_0=0;
  100.            Delay20ms();
  101.            P2_0=1;
  102.          //總線由上拉電阻拉高 主機延時20us
  103.            Delay20us();
  104.            Delay20us();

  105.          //判斷從機是否有低電平響應信號 如不響應則跳出,響應則向下運行          
  106.            if(!P2_0)                 //T !          
  107.            {
  108.            U8FLAG=2;
  109.          //判斷從機是否發出 80us 的低電平響應信號是否結束         
  110.            while((!P2_0)&&U8FLAG++);
  111.            U8FLAG=2;
  112.          //判斷從機是否發出 80us 的高電平,如發出則進入數據接收狀態
  113.            while((P2_0)&&U8FLAG++);
  114.          //數據接收狀態                 
  115.            COM();
  116.            U8RH_data_H_temp=U8comdata;
  117.            COM();
  118.            U8RH_data_L_temp=U8comdata;
  119.            COM();
  120.            U8T_data_H_temp=U8comdata;
  121.            COM();
  122.            U8T_data_L_temp=U8comdata;
  123.            COM();
  124.            U8checkdata_temp=U8comdata;
  125.            P2_0=1;
  126.          //數據校驗
  127.          
  128.            U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);
  129.            if(U8temp==U8checkdata_temp)
  130.            {
  131.               Ubitflag=1;
  132.                      U8RH_data_H=U8RH_data_H_temp;
  133.                      U8RH_data_L=U8RH_data_L_temp;
  134.                   U8T_data_H=U8T_data_H_temp;
  135.                      U8T_data_L=U8T_data_L_temp;
  136. ……………………

  137. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
STC15W DHT通過.rar (69.43 KB, 下載次數: 80)


評分

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

查看全部評分

回復

使用道具 舉報

ID:364341 發表于 2018-7-20 16:14 | 顯示全部樓層
顯示是用的什么液晶???
回復

使用道具 舉報

ID:760366 發表于 2020-12-2 10:20 | 顯示全部樓層
這是51的 不是15的!!
回復

使用道具 舉報

ID:584814 發表于 2021-1-12 13:20 | 顯示全部樓層
15706816080 發表于 2020-12-2 10:20
這是51的 不是15的!!

15是stc單片機中的一個系列代號,隸屬于51單片機,所以這個既是15的更是51的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 超碰天天 | 亚洲精品国产一区 | 日韩在线综合 | 成人二区 | 91视频在线| 精品福利一区二区三区 | 狠狠狠色丁香婷婷综合久久五月 | 黄色一级大片在线免费看产 | 精品久久久久久 | 亚洲视频自拍 | 国产一区二区三区在线视频 | 青青草网站在线观看 | 国产电影一区二区在线观看 | 亚洲国产成人av好男人在线观看 | 国产在线精品一区二区 | 精品国产一区二区三区av片 | 亚洲欧美一区二区三区国产精品 | 久久精品网 | 亚洲国产精品自拍 | 国产精品不卡视频 | 亚洲高清久久 | 综合久久亚洲 | 91看片网址| 亚洲热在线视频 | 国产999精品久久久 日本视频一区二区三区 | 伦理片97| 精品综合久久 | 综合久久一区 | 九九九久久国产免费 | 欧美日韩中文字幕在线 | 亚洲成人久久久 | 免费大黄视频 | 在线观看第一区 | 精品一区二区三区免费视频 | 免费99精品国产自在在线 | 成人在线中文字幕 | 国产乱码高清区二区三区在线 | 成人欧美一区二区三区黑人孕妇 | 网站黄色在线 | 91久久视频 | 在线视频一区二区 |