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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 836|回復: 0
收起左側

單片機程序仿真非常完美,實物焊接顯示00,有沒有大神指點 求幫助

[復制鏈接]
ID:455442 發表于 2020-3-17 13:28 | 顯示全部樓層 |閱讀模式
仿真很好,但是焊接實物測試連接DHT11模塊顯示00  有沒有大神指點程序如下  自己編寫

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar wendu=30,shidu=50;//初始溫濕度上限設定
uchar data_byte;
uchar HH,HL,TH,TL;
sbit lcden=P2^7;//定義1602使能端
sbit lcdrs=P2^6;
sbit lcdrw=P2^5;
sbit io=P2^0;//定義數據口
sbit s0=P3^0;//定義獨立按鍵口
sbit s1=P3^1;
sbit s2=P3^2;
sbit s3=P3^3;
sbit bee= P1^0;//蜂鳴器口
sbit led1=P1^1;//報警燈口
sbit led2=P1^2;
uchar num;
void delay10(void)   //延時10us
{
    unsigned char a,b;
    for(b=1;b>0;b--)
        for(a=1;a>0;a--);
}

void delay(uint z )//延時
{
  uint x,y;
  for(x=z;x>0;x--)
      for(y=110;y>0;y--);
}
void delay1()//8us延時
{
  uchar i;
  for(i=0;i<1;i++);
}
//***************LCD1602顯示程序*****************//
void write_com(uchar com)//寫命令
{
        lcdrw=0;
  lcdrs=0;
  P0=com;
  delay(5);
  lcden=1;
  delay(5);
  lcden=0;
}
void write_data(uchar date)//寫數據
{
        lcdrw=0;
  lcdrs=1;
  P0=date;
  delay(5);
  lcden=1;
  delay(5);
  lcden=0;
}
void init()//LCD初始化
{
  lcden=0;
  write_com(0x38);
  write_com(0x0c);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80+ 0x1);
}
void write_addr(uchar addr)//寫地址
{     
write_com(addr|0x80) ;
}
void display(uchar addr, uchar q)//在某一地址顯示某一數據
{   
delay(5) ;
write_addr(addr) ;
write_data(q) ;
delay(5);
}
//************DHT11程序************//
void start()//開始信號
{
io=1;//主機拉高
delay1();//延時
io=0;//發送開始信號
delay(25);//延時>18ms
io=1;//開始信號結束后拉高電平
delay10();//20-40us
delay10();
delay10();
}
uchar receive_byte()//接收一個字節
{
uchar i,temp;
for(i=0;i<8;i++)//接收8bit數據
{
while(!io)//等待50us低電平結束
  delay1();
  delay1();
  delay1();
  delay1();//延時24us
temp=0;
if(io==1)temp=1;

while(io);

data_byte<<=1;   
data_byte|=temp;
}
return data_byte;
}
void receive()//接收數據
{
uchar T_H,T_L,H_H,H_L,check,num_check;

start();//開始
io=1;
if(!io)//讀取DHT11開始信號
{
while(!io);//DHT11高電平80us是否結束
while(io);
H_H=receive_byte();
H_L=receive_byte();
T_H=receive_byte();
T_L=receive_byte();
check=receive_byte();
io=0;              //拉低延遲50us
delay10();
delay10();
delay10();
delay10();
delay10();
io=1;
num_check=H_H+H_L+T_H+T_L;//校驗
if(num_check=check)
{
HH=H_H;
HL=H_L;
TH=T_H;
TL=T_L;
check=num_check;
}
}
}
//*************報警*************//
void warn()
{
if(TH>=wendu)
  {
                bee=1;
                led2=1;

  }
if(HH>=shidu)
  {
        bee=1;
                led1=1;

  }
if(TH<wendu  &&   HH<shidu)
{bee=0;
led1=0;
led2=0;
}
}
//************溫濕度設置***********//
void shezhi()
{
        if(s0==0)
    {
      delay(5);
      if(s0==0)
                        {
                          while(s0==0);
                                wendu++;
                                           display(0x4c,wendu/10+0x30);
            display(0x4d,wendu%10+0x30);
                                if(wendu>50)
                                        wendu=0;
                        }                        
                }        
        if(s1==0)
    {
      delay(5);
      if(s1==0)
                        {
                          while(s1==0);
                                wendu--;
                                           display(0x4c,wendu/10+0x30);
            display(0x4d,wendu%10+0x30);
                                if(wendu==0)
                                        wendu=50;
                        }                                
                }        
        if(s2==0)
    {
      delay(5);
      if(s2==0)
                        {
                          while(s2==0);
                                shidu++;
                display(0x0c,shidu/10+0x30);
         display(0x0d,shidu%10+0x30);        
                                if(shidu==100)
                                        shidu=0;
                        }                                
                }        
        if(s3==0)
    {
      delay(5);
      if(s3==0)
                        {
                          while(s3==0);
                                shidu--;
                display(0x0c,shidu/10+0x30);
         display(0x0d,shidu%10+0x30);        
                                if(shidu==0)
                                        shidu=100;
                        }                                
                }        
}
//**************主函數***************//
void main()
{
  init();//初始化
        while(1)
        {
                receive();//接收DHT11數據
                delay(30);
display(0x00,'H');//顯示濕度
                delay(30);
display(0x01,'U');
                delay(30);
display(0x02,'M');
                delay(30);
display(0x03,':');
                delay(30);
        display(0x04,HH/10+0x30);//顯示DHT11數據
                delay(30);
        display(0x05,HH%10+0x30);
                delay(30);
display(0x06,'%');
                delay(30);
display(0x08,'M');//顯示設定濕度上限
                delay(30);
display(0x09,'A');
                delay(30);
display(0x0a,'X');
                delay(30);
display(0x0b,':');
    delay(30);
        display(0x0c,shidu/10+0x30);
        delay(30);
  display(0x0d,shidu%10+0x30);        
        delay(30);
display(0x0e,'%');
    delay(30);
display(0x40,'T');//顯示溫度
delay(30);
display(0x41,'E');
delay(30);
display(0x42,'M');
delay(30);
display(0x43,':');
  delay(30);
        display(0x44,TH/10+0x30);//顯示DHT11數據
        delay(30);
        display(0x45,TH%10+0x30);
        delay(30);
display(0x46,'C');
delay(30);
display(0x48,'M');//顯示設定溫度上限
delay(30);
display(0x49,'A');
delay(30);
display(0x4a,'X');
delay(30);
display(0x4b,':');
  delay(30);
        display(0x4c,wendu/10+0x30);
        delay(30);
  display(0x4d,wendu%10+0x30);
        delay(30);
display(0x4e,'C');
delay(30);
shezhi();//溫室度上限設置
delay(30);
warn();//報警  
delay(100);
}
}



回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www国产精 | 亚洲成人一区二区 | 激情五月综合 | 国产精品一区二区三区在线 | 亚洲第一色站 | 二区视频| 91偷拍精品一区二区三区 | 欧美日韩国产精品一区 | 亚洲精品国产成人 | 国产1区| 亚洲视频二区 | 国产美女在线精品免费 | 日韩国产欧美 | 国产精品视频一区二区三区 | 99久久国产精 | 啪啪网页| 国产精品无 | 亚洲精选一区二区 | 久综合 | 一区二区免费看 | 国产最新网址 | 国产不卡一区 | 精品久久久久久 | 91欧美 | h在线播放 | 日韩毛片 | 国产精品久久久久久久久免费樱桃 | 中文字幕亚洲一区 | 狠狠色狠狠色综合日日92 | 91欧美 | av免费网站在线观看 | 国产日韩精品一区 | 最新免费av网站 | 国产伦精品一区二区三区四区视频 | 欧美在线观看一区二区 | 在线视频一区二区 | 免费午夜电影 | 国产精品99久久久久久久久久久久 | 久久只有精品 | 日韩精品一区二区三区中文字幕 | 最新黄色毛片 |