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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機溫度濕度測量連上位機

[復制鏈接]
跳轉到指定樓層
樓主
ID:461367 發表于 2019-1-12 15:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "reg51.h"
#include "stdio.h"
#include "intrins.h"
#include "LCD1602.h"
#include "fmq.h"
#include "key.h"
#define uchar unsigned char
#define uint unsigned int
sbit dq=P2^3;
uchar wenduh;
uchar wendul;
uchar shiduh;
uchar shidul;
uchar wendu;
uchar shidu;
uchar wendus;
uchar shidus;
uchar wendux;
uchar shidux;
uchar keyv;
uchar mode;
uchar n=0;
uchar x;
//uchar flag=2;
void delay1(uint n)
{
        uint i,j;
        for(i=0;i<n;i++)
          for(j=0;j<100;j++);
            
}

bit init_dht11()
{
        uchar num;
        bit flag;
       
        dq=0;
        delay1(20);
        dq=1;
        for(num=0;num<11;num++);
        for(num=0;num<12;num++);

        flag=dq;
        for(num=0;num<11;num++);
        for(num=0;num<24;num++);
       
        return flag;
}


uchar dht11_rd_char()
{
        uchar byte=0;
        uchar num;
        uchar num1;
        while(dq==1);
        for(num1=0;num1<8;num1++)
        {
                while(dq==0);
                byte<<=1;
                for(num=0;dq==1;num++);
                if(num<10)
                        byte|=0x00;
                else
                        byte|=0x01;
        }
        return byte;
       
}

void dht11_dushu()
{
        uchar num;
        if(init_dht11()==0)
        {
                shiduh=dht11_rd_char();
                shidul=dht11_rd_char();
                wenduh=dht11_rd_char();
                wendul=dht11_rd_char();
                shidu=(shiduh*256+shidul)/10;
                wendu=(wenduh*256+wendul)/10;

                for(num=0;num<20;num++);
                dq=1;
        }
        else
        {
                shidu=00;
                wendu=00;
        }
               
}
void display()
{
          write_char(1,0,'w');
                write_char(1,1,'n');
                write_char(1,2,'d');
                write_char(1,3,'u');
                write_char(1,4,':');
                write_data(wendu/10%10+48);
                write_data(wendu%10+48);
                write_char(1,9,0xdf);
                write_char(1,10,'C');
                write_char(2,0,'s');
                write_char(2,1,'h');
                write_char(2,2,'i');
                write_char(2,3,'d');
                write_char(2,4,'u');
                write_char(2,5,':');
                write_data(shidu/10%10+48);
                write_data(shidu%10+48);
                write_char(2,10,'%');
}


void main()
{


        wendu=0;
        shidu=0;
        wendus=40;
        wendux=20;
        shidus=90;
        shidux=20;
  delay1(100);
       
        Init_LCD1602();       
        while(1)
        {       

                dht11_dushu();
                delay1(300);

               
               
                if(n%2==0)
                {
                        display();
                        delay1(300);
                }
                else if(n%2==1)
                {
                        write_str(1,0,"wMax:");
                        write_data(wendus/10%10+48);
                        write_data(wendus%10+48);
                        write_str(2,0,"wMin:");
                        write_data(wendux/10%10+48);
                        write_data(wendux%10+48);
                        write_str(1,8,"sMax:");
                        write_data(shidus/10%10+48);
                        write_data(shidus%10+48);
                        write_str(2,8,"sMin:");
                        write_data(shidux/10%10+48);
                        write_data(shidux%10+48);
                       
                        if(k2==0)
                        {
                                write_com(0x01);
                                delay1(10);
                                if(k2==0)
                                {
                                        x++;
                                }
                        }
                        if(x%4==1)
                        {
                                write_char(1,7,'<');
                                if(k3==0)
                                {
                                        delay1(10);
                                        if(k3==0)
                                        {
                                                wendus++;
                                        }
                                }
                                else if(k4==0)
                                {
                                        delay1(10);
                                        if(k4==0)
                                        {
                                                wendus--;
                                        }
                                }
                               
                        }
                        else if(x%4==2)
                        {
                                write_char(2,7,'<');
                                if(k3==0)
                                {
                                        delay1(10);
                                        if(k3==0)
                                        {
                                                wendux++;
                                        }
                                }
                                else if(k4==0)
                                {
                                        delay1(10);
                                        if(k4==0)
                                        {
                                                wendux--;
                                        }
                                }
                        }
                        else if(x%4==3)
                        {
                                write_char(1,15,'<');
                                if(k3==0)
                                {
                                        delay1(10);
                                        if(k3==0)
                                        {
                                                shidus++;
                                        }
                                }
                                else if(k4==0)
                                {
                                        delay1(10);
                                        if(k4==0)
                                        {
                                                shidus--;
                                        }
                                }
                        }
                        else if(x%4==0)
                        {
                                write_char(2,15,'<');
                                if(k3==0)
                                {
                                        delay1(10);
                                        if(k3==0)
                                        {
                                                shidux++;
                                        }
                                }
                                else if(k4==0)
                                {
                                        delay1(10);
                                        if(k4==0)
                                        {
                                                shidux--;
                                        }
                                }
                        }
                       
                }
                if(k1==0)
                {
                        delay1(10);
                        if(k1==0)
                        {
                                n++;
                                write_com(0x01);
                        }
                }
               
        }
}
       
               

               
       


溫度測量上下限.rar

51.1 KB, 下載次數: 8, 下載積分: 黑幣 -5

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

使用道具 舉報

沙發
ID:1 發表于 2019-1-12 17:27 | 只看該作者
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区二区久久久久 | 国产成人精品一区二区 | 国产精品精品久久久 | 日韩欧美在线观看视频网站 | 一区在线播放 | 精品中文字幕一区二区三区 | 国产高清在线观看 | 欧美精品在线一区二区三区 | 99免费在线观看视频 | 国产一级淫片免费视频 | 美女福利视频网站 | 欧美黄 片免费观看 | 国产精品视频网站 | 精品一区二区电影 | 中文日韩在线视频 | 一级黄a| 欧美日韩中文字幕在线 | 国产精品日韩在线 | 欧美日韩一区在线 | 精品国产99 | 国产精品久久久久久久免费观看 | 性生活毛片 | 免费在线观看h片 | 九九色综合| 国产成人精品一区二区在线 | 国产一区二区精品在线观看 | 国产精品久久久久久久久免费高清 | 国产一区在线免费观看 | 国产亚韩| 毛片99 | 免费av毛片 | 欧美亚洲一区二区三区 | 亚洲欧美一区二区三区国产精品 | 日韩久久久久久 | 日韩在线电影 | 日本免费在线看 | 免费同性女女aaa免费网站 | 九九热免费在线观看 | 免费在线观看一区二区三区 | 日韩视频在线一区 | 黄色免费在线网址 |