1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)與DHT11傳感器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:343401 發(fā)表于 2018-6-2 12:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg52.h>
#include "1602.h"
#include "dht.h"

//定義標(biāo)識(shí)
volatile bit FlagStartRH = 0;  //開始溫濕度轉(zhuǎn)換標(biāo)志


//定義溫濕度傳感器用外部變量
extern U8  U8FLAG,k;
extern U8  U8count,U8temp;
extern U8  U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
extern U8  U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
extern U8  U8comdata;
extern U8  count, count_r;

U16 temp;
S16 temperature, humidity;
//定義變量
U16 RHCounter;

//定時(shí)器0初始化
void Timer0_Init()
{
    ET0 = 1;        //允許定時(shí)器0中斷
    TMOD = 1;       //定時(shí)器工作方式選擇
    TL0 = 0x06;     
    TH0 = 0xf8;     //定時(shí)器賦予初值
    TR0 = 1;        //啟動(dòng)定時(shí)器
}

//定時(shí)器0中斷
void Timer0_ISR (void) interrupt 1 using 0
{
    TL0 = 0x06;
    TH0 = 0xf8;     //定時(shí)器賦予初值

    //每2秒鐘啟動(dòng)一次溫濕度轉(zhuǎn)換
    RHCounter ++;
    if (RHCounter >= 1000)
    {
       FlagStartRH = 1;
       RHCounter = 0;
    }
}

/********************************************************************
* 名稱 : Main()
* 功能 : 主函數(shù)
***********************************************************************/
void main()
{
    U16 i, j, testnum;

    EA = 0;

    Timer0_Init();  //定時(shí)器0初始化
    EA = 1;

    L1602_init();
    L1602_string(1,1," Welcome to T&H   ");
    L1602_string(2,1,"Detection System! ");
    //延時(shí)
    for (i=0;i<1000;i++)
       for (j=0;j<1000;j++)
       {;}
    //清屏
    L1602_string(1,1,"                ");
    L1602_string(2,1,"                ");
    L1602_string(1,1,"Temperature:   C");
    L1602_string(2,1,"Humidity:      %");

    while(1)
    {
       //溫濕度轉(zhuǎn)換標(biāo)志檢查
         if (FlagStartRH == 1)
         {
             TR0 = 0;
             testnum = RH();
             FlagStartRH = 0;
             TR0 = 1;
             //讀出溫濕度,只取整數(shù)部分
             humidity = U8RH_data_H;
             temperature = U8T_data_H;
             //顯示溫濕度
             L1602_int(1,12,temperature);
             L1602_int(2,12,humidity);  
        }
    }   
}



#ifndef _DHT_H_
#define _DHT_H_

#include <reg52.h>

typedef unsigned char  U8;       /* defined for unsigned 8-bits integer variable      無符號(hào)8位整型變量  */
typedef signed   char  S8;       /* defined for signed 8-bits integer variable        有符號(hào)8位整型變量  */
typedef unsigned int   U16;      /* defined for unsigned 16-bits integer variable     無符號(hào)16位整型變量 */
typedef signed   int   S16;      /* defined for signed 16-bits integer variable       有符號(hào)16位整型變量 */
typedef unsigned long  U32;      /* defined for unsigned 32-bits integer variable     無符號(hào)32位整型變量 */
typedef signed   long  S32;      /* defined for signed 32-bits integer variable       有符號(hào)32位整型變量 */
typedef float          F32;      /* single precision floating point variable (32bits) 單精度浮點(diǎn)數(shù)(32位長度) */
typedef double         F64;      /* double precision floating point variable (64bits) 雙精度浮點(diǎn)數(shù)(64位長度) */

sbit DATA = P1^7;


void Delay1(U16 );
void  Delay_10us(void);
void  COM(void);
U8 RH(void);

#endif







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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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