资料编号:176 下面是实物功能视频演示:
176-基于51单片机的超声波测距仿真倒车雷达系统设计
功能讲解:
本设计介绍了基于单片机控制的超声测距仪的原理:由51单片机控制定时计时,以HC-SR04超声波模块发射,接收,并计算超声波自发射至接收的往返时间,从而得到实测距离。并且在数据处理中采用了温度补偿的调整,用LCD1602液晶显示模块显示距离和温度。
整个硬件电路由超声波发射接收电路、电源电路、显示电路等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图,给出了系统构成、电路原理及程序设计。此系统具有易控制、工作可靠、测距准确度高、可读性强和流程清晰等优点。实现后的作品可用于需要测量距离参数的各种应用场合。
下面是相关程序展示:

void DelayMs(unsigned char t) //大致延时1mS
{
while(t--)
{
DelayUs2x(245);
DelayUs2x(245);
}
}
/*------------------------------------------------
这里使用晶振12M,精确延时请使用汇编,大致延时
长度如下 T=tx2+5 uS uS延时函数,含有输入参
数 unsigned char t,无返回值 unsigned char
是定义无符号字符变量,其值的范围是
0~255
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{
while(--t);
}
/*------------------------------------------------
18b20初始化
------------------------------------------------*/
/*------------------------------------------------
读取一个字节
------------------------------------------------*/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
DelayUs2x(25);
}
return(dat);
}
bit Init_DS18B20(void)
{
bit dat=0;
DQ = 1; //DQ 复 位
DelayUs2x(5); // 稍做延时
DQ = 0; //单片机将 DQ 拉低
DelayUs2x(200); //精确延时大于480us小于960us
DelayUs2x(200);
DQ = 1; //拉高总线
DelayUs2x(50); //15~60us 后接收60-240us的存在脉冲
dat=DQ; //如果x=0则初始化成功, x=1则初始化失败
DelayUs2x(25); //稍作延时返回
return dat;
}
下面是仿真图展示:

下面是原理图展示:

下面是PCB展示:

下面是资料分享下载链接: