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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

DHT11傳感器1602顯示程序下載

  [復制鏈接]
跳轉到指定樓層
樓主
ID:84299 發(fā)表于 2015-11-7 09:43 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
主函數(shù)//////////
#include"reg51.h"
#include"intrins.h"
#include"lcd1602.h"
#define u8 unsigned char
#define u16 unsigned int
sbit Da=P1^3;
sbit led0=P1^4;
//sbit led1=P1^5;
//bit flag=0;
//u8 data_byte;
//u8 RH,RL,TH,TL;
u8 Data[5];
//u8 Dat;
void delay10us(u8 z)
{
        u8 i;
        for(i=z;i>0;i--)
        {_nop_();}
}
//void delay10us(u8 t)
//{
//        while(--t);
//}
//void delayms0(u8 t)
//{     
//        while(t--)
//        {
//                //大致延時1mS
//                delay10us(245);
//                delay10us(245);
//        }
//}



void start()
{
        Da=1;
        delay10us(10);
        Da=0;
        delayms(30);
        Da=1;
        delay10us(40);
       
       
}

void receive()
{
        u8 i,j;
        //u8 tem;
        u8 Dat;
        start();

        while(Da);//等待響應
       
       
       
        while(!Da);//等待響應結束,拉高準備傳輸數(shù)據(jù)
       
       
        while(Da);//開始傳送
       
        for(i=0;i<5;i++)
        {
                for(j=0;j<8;j++)
                {
                       
                       
                        while(!Da);//檢測0或1
                        delay10us(40);
                       
                        //tem=0;
                        if(Da==1)
                        {Dat<<=1;
                                Dat|=0x01;
                        }
                        else
                        {Dat<<=1;
                                Dat&=0xfe;}
//                        tem=1;
                        while(Da);
//                        Dat<<=1;
//            Dat|=tem;
//                               
                               
                        }
                Data=Dat;
                Dat=0;
               
}
       
        Da=1;
       
        }

u8 jiaoyan()
{
        u16 a=0;
        u8 i;
        for(i=0;i<4;i++)
                {a+=Data;}
        if((u8)a!=Data[4])
                return 0;
        else return 1;
}
/**********************接收一個字節(jié)**********************/
//u8 receive_byte()                        
//{
//        u8 i,temp,count;
//        for(i=0;i<8;i++)
//        {
//                count=2;
//                while((!Da)&&count++)               
//                temp=0;
//                delay10us(40);                                //關鍵時間:10~23之間
//                if(Da==1)temp=1;
//                count=2;
//                while((Da)&&count++);
//                if(count==1)break;
//                data_byte<<=1;
//                data_byte|=temp;
//        }
//        return data_byte;
//}
//void receive()                                       
//{
//        u8 T_H,T_L,R_H,R_L,check,num_check;
//        u8 count;

//        start();                                        //開始信號               
//               
//       while(Da);
//                count=2;
//                while((!Da)&&count++);        //DHT11高電平80us是否結束
//                count=2;
//                while((Da)&&count++);               
//                R_H=receive_byte();
//                R_L=receive_byte();
//                T_H=receive_byte();
//                T_L=receive_byte();        
//                check=receive_byte();
//               
//                Da=0;                                       
//                   delayms(1);                                //拉低延時               
//                Da=1;               
//                num_check=R_H+R_L+T_H+T_L;
//                        
//                if(num_check=check)
//                {
//                        RH=R_H;
//                        RL=R_L;
//                        TH=T_H;
//                        TL=T_L;
//                       
//                                                flag=0;
//                                                led1=0;
//                                                delayms(500);
//                                                led1=1;
//                }  
//                                        else
//                                                flag=1;
//        
//}

void main()
{
        u8 i;
        lcd_init();
        lcd_initdata();
        while(1)
        {
               
                receive();
                i=jiaoyan();
                if(i!=0)
                {
//                if(flag==0)
//                {
//                lcd_conv(RH,TH);
                lcd_conv(Data[0],Data[2]);
                lcd_dis0();
                lcd_dis1();
                led0=0;
                delayms(500);
                led0=1;       
                }
                else
                lcd_dis2();
                delayms(2000);
}
}
lcd1602 顯示函數(shù)///////////
#define uchar unsigned char
#define uint unsigned int

           sbit lcdrs=P1^2;
           sbit lcdrw=P1^1;
           sbit lcden=P1^0;
uchar code tab0[]={"shidu:"};
uchar code tab1[]={"wendu:"};
uchar code tab2[]={"erroy"};
uchar dis_buf[4];
                       

void delayms(uint xms)                               
{
        uint i,j;
        for(i=xms;i>0;i--)                       
                for(j=110;j>0;j--);
}         
bit lcd_busy()
{
        bit result;
        lcdrs=0;
        lcdrw=1;
        lcden=1;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        result=(bit)(P2&0x80);
        lcden=0;
        return(result);
}
void write_com(uint com)
{
        while(lcd_busy());
        lcdrs=0;
        lcdrw=0;
        P2=com;
        delayms(5);
        lcden=1;
        delayms(5);
        lcden=0;
}
void write_data(uint date)
{
        while(lcd_busy());
        lcdrs=1;
        lcdrw=0;
        P2=date;
        delayms(5);
        lcden=1;
        delayms(5);
        lcden=0;
}
void lcd_clr()
{
        write_com(0x01);
        delayms(5);
}
void lcd_init()
{
       
       
        write_com(0x38);
        delayms(5);
        write_com(0x38);
        delayms(5);
        write_com(0x38);
        delayms(5);
        write_com(0x0c);
        delayms(5);
        write_com(0x06);
        delayms(5);
        write_com(0x01);
}

void lcd_initdata()
{
        uchar i;
        write_com(0x00|0x80);
        delayms(2);
        i=0;
        while(tab0!='\0')
        {
                write_data(tab0);
                delayms(2);
                i++;
}
        delayms(10);
        write_com(0x40|0x80);
        delayms(2);
        i=0;
        while(tab1!='\0')
        {
                write_data(tab1);
                delayms(2);
                i++;
        }
        delayms(10);
}
void lcd_conv(uchar in0,in1)
{
       
        dis_buf[0]=in0/10+0x30;
        dis_buf[1]=in0%10+0x30;
        dis_buf[2]=in1/10+0x30;
        dis_buf[3]=in1%10+0x30;
       
}


void lcd_dis0()
{
       
        write_com(0x06|0x80);
        delayms(2);
       
        write_data(dis_buf[0]);
        delayms(2);
        write_data(dis_buf[1]);
        delayms(2);
       
       
        write_data(0x25);
        delayms(2);
}

void lcd_dis1()
{
        write_com(0x46|0x80);
        delayms(2);
        write_data(dis_buf[2]);
        delayms(2);
        write_data(dis_buf[3]);
        delayms(2);
       
        write_data(0xdf);
        delayms(2);
        write_data('C');
        delayms(2);
}
void lcd_dis2()
{
        uchar i;
        write_com(0x06|0x80);
        delayms(2);
        i=0;
        while(tab2!='\0')
        {
                write_data(tab2);
                delayms(2);
                i++;
}
}



DHT11.rar

47 KB, 下載次數(shù): 133, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2015-11-7 10:03 來自手機 | 只看該作者
謝謝分享很好,樓主能給個電路圖或者描述一下電路連接嗎?
回復

使用道具 舉報

板凳
ID:84299 發(fā)表于 2015-11-7 10:17 | 只看該作者
admin 發(fā)表于 2015-11-7 10:03
謝謝分享很好,樓主能給個電路圖或者描述一下電路連接嗎?

可以啊
回復

使用道具 舉報

地板
ID:84299 發(fā)表于 2015-11-7 10:24 | 只看該作者
效果圖

IMG_20151107_102008.jpg (1.48 MB, 下載次數(shù): 164)

IMG_20151107_102008.jpg
回復

使用道具 舉報

5#
ID:84299 發(fā)表于 2015-11-7 10:29 | 只看該作者
本程序用的是DHT11溫濕度傳感器,程序中注釋掉的語句,是另一種方式。我用的是STC12C5A60s2芯片。
管腳接線按程序定義管腳連接即可。
回復

使用道具 舉報

6#
ID:99798 發(fā)表于 2015-12-21 13:35 | 只看該作者
剛好課程設計要用到  學習了
回復

使用道具 舉報

7#
ID:100743 發(fā)表于 2015-12-27 19:43 | 只看該作者
LCD1602.H(98): warning C214: 'Argument': conversion: pointer to non-pointer
為什么我顯示的是這個
回復

使用道具 舉報

8#
ID:110866 發(fā)表于 2016-4-16 11:05 | 只看該作者
不錯,受教了
回復

使用道具 舉報

9#
ID:128674 發(fā)表于 2016-6-30 11:07 | 只看該作者
你好,你的程序該怎么看呢
回復

使用道具 舉報

10#
ID:137733 發(fā)表于 2016-9-25 16:46 | 只看該作者
資料不錯,謝謝分享了
回復

使用道具 舉報

11#
ID:144066 發(fā)表于 2016-10-23 16:41 | 只看該作者
樓主可以教教怎么移植這個程序嗎
回復

使用道具 舉報

12#
ID:143706 發(fā)表于 2016-10-23 17:44 | 只看該作者
DHT11接的那個接口
回復

使用道具 舉報

13#
ID:123712 發(fā)表于 2017-1-11 09:57 | 只看該作者
正在學習DHt11,很好的資料謝謝樓主
回復

使用道具 舉報

14#
ID:182757 發(fā)表于 2017-3-23 11:43 | 只看該作者
我想試試
回復

使用道具 舉報

15#
ID:188601 發(fā)表于 2017-5-5 19:18 | 只看該作者
程序下進去不顯示啊

回復

使用道具 舉報

16#
ID:198826 發(fā)表于 2017-5-19 20:12 | 只看該作者
詩和遠方1515 發(fā)表于 2017-1-11 09:57
正在學習DHt11,很好的資料謝謝樓主

怎么有2個void receive()函數(shù)
回復

使用道具 舉報

17#
ID:221927 發(fā)表于 2017-7-24 10:02 | 只看該作者
試試看看 感謝樓主分享
回復

使用道具 舉報

18#
ID:221959 發(fā)表于 2017-7-24 11:07 | 只看該作者
感謝分享
回復

使用道具 舉報

19#
ID:221927 發(fā)表于 2017-7-25 06:25 來自手機 | 只看該作者
aiwang51 發(fā)表于 2015-11-7 10:29
本程序用的是DHT11溫濕度傳感器,程序中注釋掉的語句,是另一種方式。我用的是STC12C5A60s2芯片。
管腳接 ...

恢復注釋掉的語句在51上keil中有兩個錯誤,顯示程序中只能有一個display10us個一個displayms,求解
回復

使用道具 舉報

20#
ID:258436 發(fā)表于 2017-12-6 23:42 | 只看該作者
是因為我是新手的原因嗎,表示有點看不懂啊
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲乱码一区二区三区在线观看 | 精品久久久久久亚洲综合网站 | 91免费观看 | 四虎国产| 日韩视频区 | 国产精品日韩欧美一区二区 | 国产ts人妖系列高潮 | 精品免费国产视频 | 91亚洲欧美 | 中文字幕精品视频 | 毛片网在线观看 | 福利视频一区二区三区 | 亚洲永久精品国产 | 成人免费影院 | 国产一区精品在线 | 青草青草久热精品视频在线观看 | 免费国产视频 | 在线观看中文字幕亚洲 | 一区二区不卡 | 日韩电影中文字幕 | 91精品国产一区二区三区 | 久久久www成人免费无遮挡大片 | 久久久久久久一区 | 欧美成人精品二区三区99精品 | 日韩毛片免费看 | 黄色在线免费观看视频网站 | av看片| 午夜电影福利 | 久久一日本道色综合久久 | 一区二区三区四区在线免费观看 | 国产精品国产精品国产专区不卡 | 在线第一页| 日本精品在线一区 | 国产成人免费视频网站视频社区 | 黄色网络在线观看 | 色资源在线视频 | 在线观看中文字幕dvd播放 | 另类 综合 日韩 欧美 亚洲 | 欧美精品二区 | 一级黄色录像片子 | 免费在线观看一区二区 |