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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求解51單片機(jī)串口輸出問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:642152 發(fā)表于 2019-12-6 21:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#include "dht11.h"
#include "delay.h"
#include"baojing.h"
float DHT11_temp,DHT11_hum;
char receive()       //讀取一個字節(jié)
{   
         int i,respond;
         // ST=0;
         char com_data=0,temp;
          for(i=0;i<=7;i++)   
         {
                    respond=1;
                    while((!TRH)&&respond++);
                    delay_us();
                    delay_us();
                    delay_us();
                    if(TRH)
                    {
                              temp=1;
                              respond=3;
                              while((TRH)&&respond++);
                    }
                    else
                              temp=0;
                    com_data<<=1;
                    com_data|=temp;   
          }
          return(com_data);  
}
/****************************************************************************/

/****************************************************************************/
//濕度讀取子程序
//溫度高8位== TH_data
//溫度低8位== TL_data
//濕度高8位== RH_data
//濕度低8位== RL_data
//校驗 8位 == CK_data
//調(diào)用的程序有 delay();, Delay_5us();,RECEIVE();
/***************************************************************************/
void read_TRH()
{ int respond;
char TH_temp,TL_temp,RH_temp,RL_temp,CK_temp,ST,untemp;
          //主機(jī)拉低18ms
          TRH=0;
         delay_ms(18);
         TRH=1;
          //DATA總線由上拉電阻拉高 主機(jī)延時20us
         delay_us();
         delay_us();
         delay_us();
         delay_us();
          //delay_us();
          //delay_us();delay_us();delay_us();delay_us();
          //主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號
             TRH=1;
          //判斷DHT11是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運行   
         if(!TRH)   
         {
                  respond=3;
                  //判斷DHT11發(fā)出 80us 的低電平響應(yīng)信號是否結(jié)束
                   while((!TRH)&& respond++);
                 respond=3;
                 //判斷從機(jī)是否發(fā)出 80us 的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài)
                while(TRH && respond++);
               //數(shù)據(jù)接收狀態(tài)   
                RH_temp = receive();
                RL_temp = receive();
                TH_temp = receive();
                TL_temp = receive();
                CK_temp = receive();
                TRH=1;ST=1;     
                 //數(shù)據(jù)校驗
                 untemp=(RH_temp+RL_temp+TH_temp+TL_temp);
                 if(untemp==CK_temp)
                 {
//                          RH_ = RH_temp;
//                          RL_data = RL_temp;
//                         TH_data = TH_temp;
//                          TL_data = TL_temp;
//                          CK_data = CK_temp;
                                                DHT11_hum=RH_temp;
                                        //        DHT11_hum=((DHT11_hum)|(RL_temp));
                                                DHT11_temp=RH_temp;
                                        //        DHT11_temp=((DHT11_temp)|(RL_temp))        ;
                }
        }
}
#include <reg52.h>
#include"uart.h"
void Uart_init(void)
{
PCON &=0x7F;
SCON =0x50;
TMOD &=0x0F;
TMOD |=0x20;
TL1=0xFD;
TH1=0xFD;
ET1=0;
TR1=1;

}
void hai_uart_putchar(char i)
{
ES=0;
TI=0;
SBUF=i;
while(TI==0);
TI=0;
ES=1;
}


char putchar(char  c)
{
hai_uart_putchar(c);
return c;
}
          #include "dht11.h"
        #include"delay.h"
        #include"uart.h"
        #include "stdio.h"
        #include  "reg52.h"
        #include "baojing.h"
        extern float DHT11_temp,DHT11_hum;
        

          void main(){
                   read_TRH();
                 Uart_init();
                        
                  while(1){
                  printf("temp is  溫度%f \n",DHT11_temp);
                  printf("temp is  濕度 %f \n",DHT11_hum);
                  hwjiance();
                   ywjiance();
                   wdjiance();
                  delay_ms(1000);
                                     }
          }

為什么串口輸出不了變化的溫度呢  具體代碼在壓縮包里

用電監(jiān)控系統(tǒng).zip

51.74 KB, 下載次數(shù): 12

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

使用道具 舉報

沙發(fā)
ID:94031 發(fā)表于 2019-12-7 10:00 | 只看該作者
回復(fù)

使用道具 舉報

板凳
ID:658104 發(fā)表于 2019-12-7 12:27 | 只看該作者
read_TRH();Uart_init();這兩個函數(shù)應(yīng)該放在while(1)循環(huán)體里面,而不是外面
回復(fù)

使用道具 舉報

地板
ID:658104 發(fā)表于 2019-12-7 12:27 | 只看該作者
read_TRH();Uart_init();這兩個函數(shù)應(yīng)該放在while(1)循環(huán)體里面,而不是外面
回復(fù)

使用道具 舉報

5#
ID:658145 發(fā)表于 2019-12-7 13:40 | 只看該作者

read_TRH();Uart_init();這兩個函數(shù)應(yīng)該放在while(1)循環(huán)體里面,而不是外面
回復(fù)

使用道具 舉報

6#
ID:642152 發(fā)表于 2019-12-10 16:00 | 只看該作者
zaw1234567890 發(fā)表于 2019-12-7 12:27
read_TRH();Uart_init();這兩個函數(shù)應(yīng)該放在while(1)循環(huán)體里面,而不是外面

感謝大佬
回復(fù)

使用道具 舉報

7#
ID:642152 發(fā)表于 2019-12-10 16:00 | 只看該作者
liuqingshan943 發(fā)表于 2019-12-7 13:40
read_TRH();Uart_init();這兩個函數(shù)應(yīng)該放在while(1)循環(huán)體里面,而不是外面

懂了  謝謝大佬
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲高清在线视频 | 黄色片在线免费看 | 区一区二在线观看 | 久久久91 | 亚洲视频中文 | 午夜性色a√在线视频观看9 | 午夜爽爽爽男女免费观看影院 | 成年人视频免费在线观看 | 国产亚洲精品a | 一区二区日韩 | 日韩在线不卡视频 | 日韩午夜影院 | 天天插天天射天天干 | 国产午夜精品一区二区三区嫩草 | 日本一二三区在线观看 | 中文字幕在线播放第一页 | 国产精品久久久久久久一区探花 | 亚洲视频在线看 | 欧美另类视频 | 国产日韩电影 | 在线免费观看黄色 | 精品国产免费一区二区三区演员表 | 亚洲精品久久久一区二区三区 | 日本午夜一区二区三区 | 久久免费视频在线 | 91久久北条麻妃一区二区三区 | 国产 日韩 欧美 中文 在线播放 | 亚洲 中文 欧美 日韩 在线观看 | 日韩av一区二区在线观看 | 羞羞色影院 | 色久五月 | a在线观看 | 日韩成人在线播放 | 污片在线免费观看 | 黄色一级特级片 | 国产精品久久久久一区二区三区 | av男人的天堂在线 | 亚洲啪啪| 高清视频一区二区三区 | 亚洲视频在线观看 | 国产男人的天堂 |