• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)

2024/09/19
4501
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

有需要資料的可了解一下.docx

共1個(gè)文件

功能:

超聲波測(cè)距儀,測(cè)量距離,用LCD12864顯示信息。 lcd_writestr(0,0," 超聲波測(cè)距儀 "); lcd_writestr(1,0,"********"); lcd_writestr(2,0,"當(dāng)前被測(cè)距離為:"); lcd_writestr(3,0," 厘米 ");

原理圖

/*****************************************************

* 功能:超聲波測(cè)距

******************************************************/

#include <reg52.h>

#include "intrins.h"

#include "12864LCDdriver.h"

#define uchar unsigned char

#define uint unsigned int

#define ulong unsigned long int

#define V=173

sbit CSOut=P1^7;

sbit Start=P1^4;

ulong TIME;

uchar DISTANCE;

uchar code discode[11]={'0','1','2','3','4','5','6','7','8','9',' '};

ulong data disnum[5];

bit data ReceiveOK=0;

bit data TOut;

bit data FLAG;

/*********************************************************

* 函數(shù)名稱:void delay2(uchar x)

* 功??? 能:延時(shí)函數(shù)

* 入口參數(shù):無(wú)

* 出口參數(shù):無(wú)

*********************************************************/

void delay2(uchar x)

{

uchar a,b;

for(a=0;a<x;a++)

for(b=0;b<255;b++);

}

/*********************************************************

* 函數(shù)名稱:void init(void)

* 功??? 能:初始化

* 入口參數(shù):無(wú)

* 出口參數(shù):無(wú)

*********************************************************/

void init(void)

{

lcd_init();//LCD初始化,開(kāi)機(jī)調(diào)用一次

TMOD=0x01;//T0定時(shí)器方式1

IT0=0;//INT0負(fù)邊沿觸發(fā)

IP=0x01;//INT0高優(yōu)先級(jí)

EA=1;//開(kāi)總中斷

}

/*********************************************************

* 函數(shù)名稱:

* 功??? 能:超聲波發(fā)射函數(shù)

* 入口參數(shù):無(wú)

* 出口參數(shù):無(wú)

*********************************************************/

void CCOut(void)

{

TR0=1;

//40KHz

CSOut=0;//1

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();

CSOut=1;//2

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();

CSOut=0;//3

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();

CSOut=1;//4

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();

CSOut=0;//5

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();

CSOut=1;//6

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();

CSOut=0;//7

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();

CSOut=1;//8

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();

CSOut=0;//9

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();

CSOut=1;//10

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();

CSOut=0;//11

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();

CSOut=1;//12

}

/*********************************************************

* 函數(shù)名稱:void DataProcess(void)

* 功??? 能:數(shù)據(jù)處理函數(shù)

* 入口參數(shù):無(wú)

* 出口參數(shù):無(wú)

*********************************************************/

void DataProcess(void)

{

ulong time=0;

TIME=TH0;

TIME=(TIME<<8)|TL0;

TIME*=173;//距離

TIME=TIME/10000;//單位:CM

disnum[0]=(uchar)TIME%10;??????? //個(gè)位

disnum[4]=TIME/10;

disnum[1]=(uchar)disnum[4]%10;//十位

disnum[4]=disnum[4]/10;

disnum[2]=(uchar)disnum[4]%10;//百位

disnum[4]=disnum[4]/10;

disnum[3]=(uchar)disnum[4]%10;//千位

}

/*********************************************************

* 函數(shù)名稱:void TimeOut(void) interrupt 1

* 功??? 能:超時(shí)處理函數(shù) T0

* 入口參數(shù):無(wú)

* 出口參數(shù):無(wú)

*********************************************************/

void TimeOut(void) interrupt 1

{

TR0=0;

ET0=0;

EX0=0;

ReceiveOK=0;

TOut=1;

}

 

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!