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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2635|回復: 3
打印 上一主題 下一主題
收起左側

求基于單片機AT89C51的SHT11濕度程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:262850 發表于 2017-12-17 22:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
100黑幣
要求一:共陰數碼管顯示
要求二:設定濕度范圍,超過或低于會驅動吹風機和加濕器(沒有也可以)
有仿真更好

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

使用道具 舉報

沙發
ID:164602 發表于 2017-12-18 08:08 | 只看該作者
我有一個,你看看。
/****************************************************************
//           DHT21使用范例
//單片機 AT89S52 或 STC89C52RC
//功能   數碼管顯示溫度、濕度數據
//硬件   P1.0口為通訊口連接DHT11,DHT11的電源和地連接單片機的電源和地,單片機串口加MAX232連接電腦
//公司  雁凌電子   
****************************************************************/

#include <reg51.h>
#include <intrins.h>

#define GPIO_DIG P0
sbit  P1_0  = P1^0 ;//溫濕度傳感器的數據接口

sbit LSA = P2^2;//138譯碼器的控制輸出
sbit LSB = P2^3;
sbit LSC = P2^4;

unsigned char ly_disdate[8]={0,0,0,0,0,0,0,0};
unsigned char  U8FLAG;
unsigned char  U8temp;
unsigned char  U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
unsigned char  U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
unsigned char  U8comdata;

code unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,
                                                        0x7c,0x39,0x5e,0x79,0x71};        //共陽數碼管段值表 0-9 a-f

void Delay(unsigned int j)//延時888.1725us
{
        unsigned char i;
        for(j;j>0;j--)
        {        
                for(i=0;i<27;i++);
        }
}

void  Delay_10us(void)
{
        unsigned char i;
        i--;
        i--;
        i--;
        i--;
        i--;
        i--;
}
       
void COM (void)//讀數據
{
        unsigned char i;
        for(i=0;i<8;i++)          
        {
                U8FLAG=2;       
                while((!P1_0)&&U8FLAG++);
                Delay_10us();
                Delay_10us();                               
                Delay_10us();
                U8temp=0;
                if(P1_0)U8temp=1;
                U8FLAG=2;
                while((P1_0)&&U8FLAG++);
                   //超時則跳出for循環                  
                if(U8FLAG==1)break;
                U8comdata<<=1;
                U8comdata|=U8temp;  
        }
}

void RH (void)//溫濕度讀取子程序
{       
        P1_0=0;
        Delay(200);
        P1_0=1;
        Delay_10us();
        Delay_10us();
        Delay_10us();
        Delay_10us();
        P1_0=1;
        if(!P1_0)
        {
                U8FLAG=2;
                while((!P1_0)&&U8FLAG++);
                U8FLAG=2;
                while((P1_0)&&U8FLAG++);
                COM();
                U8RH_data_H_temp=U8comdata;
                COM();
                U8RH_data_L_temp=U8comdata;
                COM();
                U8T_data_H_temp=U8comdata;
                COM();
                U8T_data_L_temp=U8comdata;
                COM();
                U8checkdata_temp=U8comdata;
                P1_0=1;
                U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);
                if(U8temp==U8checkdata_temp)
                {
                        U8RH_data_H=U8RH_data_H_temp;//濕度高8位
                        U8RH_data_L=U8RH_data_L_temp;//濕度低8位
                        U8T_data_H=U8T_data_H_temp;//溫度高8位
                        U8T_data_L=U8T_data_L_temp;//溫度低8位
                        U8checkdata=U8checkdata_temp;//校驗8位
                }
        }
}

void display()//顯示函數
{
        unsigned char i,j;
        for(i=0;i<8;i++)//只有8個數碼管
        {
                switch(i)         //位選,選擇點亮的數碼管,
                {
                        case(0):
                                LSC=0;LSB=0;LSA=0; break;//顯示第0位
                        case(1):
                                LSC=0;LSB=0;LSA=1; break;//顯示第1位
                        case(2):
                                LSC=0;LSB=1;LSA=0; break;//顯示第2位
                        case(3):
                                LSC=0;LSB=1;LSA=1; break;//顯示第3位
                        case(4):
                                LSC=1;LSB=0;LSA=0; break;//顯示第4位
                        case(5):
                                LSC=1;LSB=0;LSA=1; break;//顯示第5位
                        case(6):
                                LSC=1;LSB=1;LSA=0; break;//顯示第6位
                        case(7):
                                LSC=1;LSB=1;LSA=1; break;//顯示第7位       
                }
                if ((i==2)||(i==6))
                {
                        GPIO_DIG=table[ly_disdate[i]]+0x80;//發送段碼
                }
                else
                {
                        GPIO_DIG=table[ly_disdate[i]];//發送段碼
                }
                j=10;                                                 //掃描間隔時間設定
                while(j--);       
                GPIO_DIG=0x00;//消隱
        }
}

void main()
{       
        unsigned int i=20000;
        while(1)
        {  
                RH();
                i=5000;
                while (i)
                {
                        ly_disdate[7]=U8RH_data_H/10;
                        ly_disdate[6]=U8RH_data_H%10;
                        ly_disdate[5]=U8RH_data_L/10;
                        ly_disdate[4]=U8RH_data_L%10;
                        ly_disdate[3]=U8T_data_H/10;
                        ly_disdate[2]=U8T_data_H%10;
                        ly_disdate[1]=U8T_data_L/10;
                        ly_disdate[0]=U8T_data_L%10;
                        i--;
                        display();
                }
        }
}

回復

使用道具 舉報

板凳
ID:263152 發表于 2017-12-18 15:33 | 只看該作者
簡單,給我郵箱給你發一個
回復

使用道具 舉報

地板
ID:262850 發表于 2017-12-18 20:57 | 只看該作者
iude2006 發表于 2017-12-18 15:33
簡單,給我郵箱給你發一個

好啊   ffy2018@123.com
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品国产99 | www.天天操.com | 久久av在线播放 | 97视频在线免费 | 午夜国产一级片 | 成人亚洲 | 日本h片在线观看 | 国产免费一区 | 欧美一级毛片久久99精品蜜桃 | h片在线免费看 | 久久久99精品免费观看 | 国产精品国产a级 | 人操人人 | 一级看片免费视频囗交动图 | 老司机深夜福利网站 | 91精品久久久久 | 精品1区2区3区 | 国产精品一级在线观看 | 精品av| 亚洲天堂网站 | 国产精彩视频 | 99久久久国产精品 | 三级免费av | 亚洲精品一区中文字幕乱码 | 超碰人人爱| 亚洲精品久 | 日韩欧美国产精品一区 | 久久久精品一区二区三区 | 日韩欧美在线观看视频 | 亚洲激情一级片 | 精品国产乱码久久久久久丨区2区 | 在线看中文字幕 | 久久午夜视频 | 男人的天堂久久 | v亚洲| 精品亚洲一区二区三区四区五区 | 一区二区激情 | 一道本不卡| 亚洲精品成人在线 | 91av免费版| 国产一区二区精品在线观看 |