微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一款液晶显示的超声波测距板

一款液晶显示的超声波测距板

时间:11-30 来源:互联网 点击:

Sum=(nCount>

void DisplayResult()

{

float temp=0;

char String[10];

//算出当前温度

temp=TempInt+TempDot/10000.0;

//显示当前温度

sprintf(String,"%0.2f",temp);

DisplayEnglish(33,0,String);

//算出当前声速

temp=332+0.607*temp;

//显示当前声速

sprintf(String,"%0.1fm",temp);

DisplayEnglish(33,2,String);

if(Success==1) //测距成功,显示“成功”,并显示距离

{

temp=nCount*temp/2000+0.5; // 算出距离

//显示远、近距离测量的结果

if(Mode==0)

{

nResult=(0.9723*temp-14.803)+0.5; //此式由拟合得到

DisplayEnglish(0,4,"N");

}

else

{

nResult=0.9648*temp-5.7716+0.5; //此式由拟合得到

DisplayEnglish(0,4,"F");

}

sprintf(String,"%5u cm",nResult); //将整数转换为字符串

//拼凑显示最终结果“xxx.xcm”

DisplayEnglish(8,4,String);

DisplayEnglish(40,4,".");

String[5]=;

DisplayEnglish(48,4,&String[4]);

Delay_ms(50);

}

else //测距失败,显示“失败”提示

{

DisplayEnglish(0,4," --Fail-- ");

}

if(nResult>500)

{

Mode=1;

}

else

{

Mode=0;

}

}

void Delay_ms(uint x) //12M环境下延时1ms

{

uchar j;

while(x--)

{

for(j=0;j<125;j++);

}

}

void Delay_us(uint i) //微秒级延时:T=7+2*(X-1) us

{

while(--i);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top