历史上的今天
返回首页

历史上的今天

今天是:2024年10月14日(星期一)

正在发生

2019年10月14日 | 超声波测距资料(HC-SR04)+原理图 单片机源程序

2019-10-14 来源:eefocus

超声波避障HC-SR04资料介绍

HC-SR04超声波模块说明图:
0.png?imageView2/2/w/550 

HC-SR04超声波模块电路原理图:
0.png?imageView2/2/w/550

HC-SR04超声波模块pdf资料:
0.png?imageView2/2/w/5500.png?imageView2/2/w/550 

HC-SR04超声波测距串口显示单片机程序源码(串口显示,这只是资料包中的一个程序,还有lcd12864 lcd1602和数码管显示的程序都有):

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

//HC-SR04 超声波测距模块 DEMO 程序

//晶振:11。0592

//接线:模块模块 TRIG接 P1.2  ECH0 接P1.1  VCC接单片供电正极5V,GND接单片系统板的GND

//串口波特率9600

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

        #include   

        #include   

    #include   


    #define uchar unsigned  char

    #define uint  unsigned   int  

        #define  RX  P1_1

    #define  TX  P1_2

  


        unsigned int  time=0;

        unsigned int  timer=0;

        float         S=0;

    bit           flag =0;

        


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

    void Conut(void)

        {

         time=TH0*256+TL0;

         TH0=0;

         TL0=0;

         S=(time*1.87)/100;     //算出来是CM

         if((S>=420)||flag==1)                    //超出测量

         {

          flag=0;

          printf("S=-----CMn"); 

         }

          else

          {

           printf("S=%fCMn",S);                       

          }

          

        }

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

void delayms(unsigned int ms)

{

        unsigned char i=60,j;

        for(;ms;ms--)

        {

                while(--i)

                {

                        j=10;

                        while(--j);

                }

        }

}

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

     void zd0() interrupt 1                  //T0中断用来计数器溢出,超过测距范围

  {

    flag=1;                                                         //中断溢出标志

  }

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

   void  StartModule()                          //T1中断用来扫描数码管和计800MS启动模块

  {

          TX=1;                                         //800MS  启动一次模块

          _nop_(); 

          _nop_(); 

          _nop_(); 

          _nop_(); 

          _nop_(); 

          _nop_();

          _nop_(); 

          _nop_(); 

          _nop_();          

         

          TX=0;

  }

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

void main(void)

{  

    TMOD=0x21;                   //设T0为方式1,GATE=1;

        SCON=0x50;

        TH1=0xFD;

        TL1=0xFD;

        TH0=0;

        TL0=0; 

        TR0=0;  

        ET0=1;             //允许T0中断

        TR1=1;                           //开启定时器

        TI=1;

        EA=1;                           //开启总中断

    delayms(100);                

        printf("超声波串口测量系统n"); 


        delayms(100);        

        while(1)

        {        

         StartModule();

         while(!RX);                //当RX为零时等待

         TR0=1;                            //开启计数

         while(RX);                        //当RX为1计数并等待

         TR0=0;                                //关闭计数

     Conut();                        //计算

         delayms(50);        


        }


}




推荐阅读

史海拾趣

问答坊 | AI 解惑

D类放大器原理详解及应用设计指南(完整版)

D类放大器首次提出于1958年,近些年已逐渐流行起来。那么,什么是D类放大器?它们与其它类型的放大器相比如何? 为什么D类放大器对于音频应用很有意义?设计一个“优质”D类音频放大器需要考虑哪些因素? 美国模拟器件公司(简称ADI公司)D类放大器产品 ...…

查看全部问答>

硬件设计工程师招聘信息

本公司根据产品的需要,高薪诚聘有经验的硬件设计工程师/产品设计经理 公司名称:北京天宇威视科技有限公司 岗位职责: 1、根据新产品目标,提出新产品功能要求及硬件结构设计可行性方案; 2、综合考虑功能、成本、稳定性、工艺性等因素,提出 ...…

查看全部问答>

急!急!急!请教一个关于udp通信的问题

我想在一个多任务程序中用udp方式实现任务之间的通信,应该属于在本地机上实现通信,不知道怎么做啊,把ip设成一样的127.0.0.1就可以了吗?…

查看全部问答>

LM358电路分析

请各位大侠帮小弟分析分析上图两个LM358的输出为什么不同。谢谢师傅赐教…

查看全部问答>

430F1232几种型号的区别

今天突然发现,430F1232竟然还有很多种型号,后缀名有很多种,恕小弟愚昧,看了资料半天似乎也没发现太大区别,这里请问一下用430的高手,同样是1232的片子后缀名不同区别在哪里呢?比如  MSP430F1232IDW 与 MSP430F1232IPW 有什么区别?…

查看全部问答>

FPGA IO 电平标准 不同时,FPGA IO 的差别

1,FPGA IO 电平标准选择不同时,IO内部的区别是什么?比如设置成3.3V的IO和1.8的IO,FPGA内部的不同是什么?, 2,FPGA内部改变了什么,使FPGA IO 可以设置成不同的电平标准?3,我在配置管脚时,配置的电平的标准是3.3V;但实际的电路是1.8V的(i ...…

查看全部问答>

齐纳二极管调整器设计

齐纳二极管调整器设计 作者:Ron Mancini -- EDNIC参考很受电路设计者的欢迎,因为它们不仅精确而且飘移很小。在我今后的一些专栏文章中,将陆续讨论三种IC参考:埋入式齐纳二极管、带隙及XFET。当您用齐纳二极管进行参考设计时,由于齐纳二极管 ...…

查看全部问答>

高手进来,看看这块陶瓷天线是什么型号的。。怎么查到它。

天线是从地磁传感器上拆下来的。增益估计是比较大的,估计要4DBI左右。 我量了一下,尺寸大概是 :38*38*5 上面的标识是C1.8.0. 高手们能给点指示吗?网上搜不到这个尺寸的陶瓷天线啊。。。。 小弟很急。。。…

查看全部问答>