標(biāo)題: 超聲波測(cè)距顯示的距離一直為0.07 [打印本頁]

作者: zjjmw    時(shí)間: 2018-2-19 15:33
標(biāo)題: 超聲波測(cè)距顯示的距離一直為0.07
/*******************************************************************************
* 實(shí)驗(yàn)名                           : 1602顯示紅外線值實(shí)驗(yàn)
* 使用的IO             : 電機(jī)用P1口,鍵盤使用P3.0、P3.1、P3.2、P3.3
* 實(shí)驗(yàn)效果       : LCD1602顯示出讀取到的紅外線的值
*        注意                                         :
*******************************************************************************/                                                                                  

#include<reg51.h>
#include"lcd.h"
#include"control.h"
#include"Ir.h"
#include"UT.h"
#include"DHT11.h"
unsigned int TIM;



/*******************************************************************************
* 函數(shù)名         : main
* 函數(shù)功能                   : 主函數(shù)
* 輸入           : 無
* 輸出                  : 無
*******************************************************************************/
void delay(unsigned int k)
{while(--k);
}

void IrInit()
{
        IT0=1;//下降沿觸發(fā)
        EX0=1;//打開中斷0允許
        EA=1;        //打開總中斷
        IRIN=1;//初始化端口
}


void main()
{   TMOD=0x11;
    TH0=0x00;
        TL0=0x00;
        ET0=1;
        ET1=1;
        TR0=0;
        TR1=1;
        EA=1;
        IrInit();       
        InitLcd1602();                         
        while(1)
        {
          StartModule();
           while(!Echo)
           TR0=1;
           while(Echo)
           TR0=0;
           Count();
          DHT11_receive();
          delay(80);
         
        }

}                                                                         
/*******************************************************************************
* 函數(shù)名         : DelayMs()
* 函數(shù)功能                   : 延時(shí)
* 輸入           : x
* 輸出                  : 無
*******************************************************************************/


/*******************************************************************************
* 函數(shù)名         : IrInit()
* 函數(shù)功能                   : 初始化紅外線接收
* 輸入           : 無
* 輸出                  : 無
*******************************************************************************/
void RG() interrupt 0
{       
   ReadIr();
}
void zd() interrupt 3
{TH1=0xf8;
TL1=0x30;


}



作者: zjjmw    時(shí)間: 2018-2-19 15:34
#include"UT.h"
void Count()
        {unsigned int time,flag;
         unsigned long S;
         unsigned char code ASCII[15] ={'0','1','2','3','4','5','6','7','8','9','.','-','M'};
         unsigned char disbuff[4]={0,0,0,0};
         time=TH0*256+TL0;
         TH0=0x00;
         TL0=0x00;
       
         S=(time*1.7)/100;     //算出來是CM
         if((S>=700)||flag==1) //超出測(cè)量范圍顯示“-”
         {         
          flag=0;
         
          DisplayOneChar(0, 0, ASCII[11]);
          DisplayOneChar(1, 0, ASCII[10]);        //顯示點(diǎn)
          DisplayOneChar(2, 0, ASCII[11]);
          DisplayOneChar(3, 0, ASCII[11]);
          DisplayOneChar(4, 0, ASCII[12]);        //顯示M
         }
         else
         {
          disbuff[0]=S%1000/100;
          disbuff[1]=S%1000%100/10;
          disbuff[2]=S%1000%10 %10;
          DisplayOneChar(0, 0, ASCII[disbuff[0]]);
          DisplayOneChar(1, 0, ASCII[10]);        //顯示點(diǎn)
          DisplayOneChar(2, 0, ASCII[disbuff[1]]);
          DisplayOneChar(3, 0, ASCII[disbuff[2]]);
          DisplayOneChar(4, 0, ASCII[12]);        //顯示M
         }
        }


void  StartModule()                          //啟動(dòng)模塊
  {
          Trig=1;                                             //啟動(dòng)一次模塊
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          Trig=0;
  }


作者: zjjmw    時(shí)間: 2018-2-19 15:35
超聲波的和主函數(shù)分開寫的




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1