基于51单片机的超声波测距仿真倒车雷达系统设计

发布于:2022-11-04 ⋅ 阅读:(655) ⋅ 点赞:(0)

资料编号: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展示: 

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

https://pan.baidu.com/s/1WpNn4RnALV2NeTltV1s9SA?pwd=0kgy 


网站公告

今日签到

点亮在社区的每一天
去签到