历史上的今天

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

正在发生

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

发布者:真诚的友谊 来源: eefocus关键字:超声波测距  HC-SR04  单片机 手机看文章 扫描二维码
随时随地手机看文章

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

HC-SR04超声波模块说明图:
0.png 

HC-SR04超声波模块电路原理图:
0.png

HC-SR04超声波模块pdf资料:
0.png0.png 

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);        


        }


}




关键字:超声波测距  HC-SR04  单片机 引用地址:超声波测距资料(HC-SR04)+原理图 单片机源程序

上一篇:谈编程风格和格式
下一篇:STM8电压表 原理图及源程序 IAR环境

推荐阅读

下一节准备将代码重定位到DDR SDRAM,所以本节先对一些基础知识进行学习一下。DDR出身自SDRAM,严格的说应该叫DDR SDRAM,DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思,所以,有很大一部分,两者是一样的,理解SDRAM,然后再来理解DDR。在SDRAM上的改进,效果应该更好一些,本文参考大神Tekkaman Ninja的博客中...
江苏南京溧水区供电公司 “三型两网”建设是顺应能源革命和数字革命融合发展新趋势的重要战略举措。国网江苏省电力有限公司始终遵循国家电网有限公司战略部署,坚持“两网”融合,注重实用实效,系统推进泛在电力物联网建设。溧水区供电公司先行先试、主动作为,全力打造涵盖输、变、配、用各环节的泛在电力物联网示范区。目前,县域示范样板建设初成...
在经济内循环与全产业链内循环的大潮下,国内机器人行业迎来利好,乘着高端制造与智能制造的东风,李群自动化凭借自主创新获得了不少关注。在前不久结束的2020第十届中国国际机器人高峰论坛上,李群自动化再受瞩目。作为“中国名片”之一,中国制造历经数十年发展,现已形成了全球最完备的产业配套体系和超大的市场规模,如今,在新的历史时期,面对不断快...
10月12日,据新莱应材发布2021年前三季度业绩预告显示,公司净利润为1.15-1.3亿元,同比暴增83.52%-107.45%,其中第三季度净利润为0.47-0.62亿元,同比大增81.7%-139.55%。对于业绩增长的原因,据新莱应材在业绩预告中表示,主要原因是公司销售收入保持稳定增长,具体变动主要原因如下:1、报告期内,受益于半导体国产化趋势,公司半导体板块业务快速增长...

史海拾趣

问答坊 | AI 解惑

“看门狗”DS1232

一直没用过狗,想试试狗,找了“看门狗”DS1232的资料,但还是不太明白,具体怎么用. 而且,找的电路图的连接都不一样.那位大哥帮帮忙,当然大姐也可以,哈哈,谢谢…

查看全部问答∨

8051单片机中DPTR的扩展设计

摘要 首先对比分析在执行大规模数据转移时,传统805l单片机和进行DPTR扩展后的805l单片机在数据转移执行效率上的差别。通过详细分析DPTR操作所涉及的因素,具体实现对DPTR的扩展,并进行实际仿真测试。 关键词 805l单片机DPTR 数据转移执行效率 ...…

查看全部问答∨

No printer Installed Altium Designer winter09 输出PDF出错

Altium Designer 有个软件自带的功能 就是能输出原理图为PDF格式文件 具体操作是 文件--智能PDF 可是我的为什么总是在输出的时候出错呢 如下图: 提示 No printer Installed 而且生成的PDF是空白,什么都没有 请问有知道怎么解决 ...…

查看全部问答∨

书籍转载--嵌入式硬件设计

书籍转载--嵌入式硬件设计 …

查看全部问答∨

新产品快递High-Side Current Monitors Simplify Measurement at High Voltage

Diodes’ High-Side Current Monitors Simplify Measurement at High Voltage Diodes Incorporated has introduced a family of 6 high reliability current monitors for 40V and 60V operation.  The ZXCT108X devices dete ...…

查看全部问答∨

evc 4.0 下 调用软件盘

在evc4.0下 如何调用软键盘       头文件里已经包含了  #include "Sipapi.h"    在Edit获得焦点,和失去焦点是这样写的 void student::OnSetfocusEdit1() {         HWND m ...…

查看全部问答∨

2440 nandflash 启动问题

从nandflash启动,RAM应该有前面4k与nand相同。可是却在ram里从200h有66个字节为FF。后面又一样了。后来烧了个大点的程序到nandflash,每隔200h就会有66个字节为FF。不知何故,求高手帮忙分析分析。…

查看全部问答∨

初学者关于串口通信的问题

#include<reg52.h> #define uc unsigned char #define ui unsigned int uc snum,flag; ui num; void main() {     TMOD=0x20;     TH1=0xf4;     TL1=0xf4;     TR1=1;   ...…

查看全部问答∨

【低功耗】不能不知道的FPGA系统设计的3原则

一.面积与速度的平衡互换原则二.硬件可实现原则三. 同步设计原则…

查看全部问答∨

MOS管 场效应管百科

  金属氧化物半导体场效应晶体管(MOSFET,MOS场效应管)是一个晶体管用于放大或开关电子信号 。 基本原则的这种晶体管是由朱利叶斯埃德加Lilienfeld在1925年首创的专利。 二十五年后,贝尔电话时,试图以专利的晶体管,他们发现Lilienfeld已 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved