找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

超聲波測(cè)距hc-sr04

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:720241 發(fā)表于 2020-4-1 15:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "common.h"
#include "HC-SR04.h"
#include "timer.h"


typedef unsigned int u16;          //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;



unsigned long S = 0;                //距離緩存變量
unsigned long time = 0;                //時(shí)間緩存變量

//函數(shù)聲明
void count(void);                        //計(jì)算距離

  sbit LED1=P3^0;
   sbit LED2=P3^2;

   void delay(u16 i)
{
        while(i--);       
}

/* 主函數(shù) */
void main(void)
{
        InitTimer0();                //定時(shí)器0初始化

        while(1)
        {
                count();                //測(cè)距

                if(S>=10 && S<=40)                //如果在10CM~40CM范圍,led1動(dòng)作
                {
                LED1=1;
                LED2=0;
                delay(50000);
               
                }
                else                                                //如果超出10CM~40CM范圍,led2動(dòng)作
        {LED1=0;
          LED2=1;
       
                delay(50000); }
        }
}
/* 計(jì)算測(cè)距 */
void count(void)
{
        start_ranging();        //啟動(dòng)一次超聲波
        while(!Echo);                //等待超聲波模塊輸出IO拉高
        TR0 = 1;                        //開啟定時(shí)器計(jì)時(shí)
        while(Echo);                //等待超聲波模塊輸出IO拉低
        TR0 = 0;                         //關(guān)閉定時(shí)器計(jì)時(shí)
       
        /* 計(jì)算距離 */
        time = TH0 * 256 + TL0;        //得到的時(shí)間
        TH0 = 0;                                //定時(shí)計(jì)數(shù)器清零       
        TL0 = 0;
       
        S =(time * 1.87) / 100;        //算出來是CM                               
}















                  


超聲波測(cè)距.zip

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

超聲波測(cè)距

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表