历史上的今天

今天是:2024年11月09日(星期六)

2019年11月09日 | STC15F2K60S2单片机调试超声波HC-SR04测距经验

发布者:huijiazi5210 来源: 51hei关键字:STC15F2K60S2  单片机调  试超声波  HC-SR04测距 手机看文章 扫描二维码
随时随地手机看文章

经过一天的调试,终于把STC15F2K60S2单片机测量超声波HC-SR04的程序搞定,主要存在问题是:
  1、单片机时钟设置为22.1184MHz,而且采取1T模式运行时,触发信号维持10us以上时间要采用延时函数 Delay_us(250)并一定达到10us以上。
  2、等待回声接收的引脚echo要开启接收,即echo=1;
  3、触发信号发出后不能马上开启计数器计数,一定要等到有回声信号时(echo被置为高)才开启,为了防止回声信号一直不出现,增加超时退出。
  4、测量时间(echo维持高电平时间)也增加超时退出,否则程序出现死机。
  5、禁止定时计数后要软件清除一次中断标志,因是检测到echo回声停止,此时不一定出现中断(默认中断清除)
  6、为保证测量精度,TH1TL1中的计数值要减去初值并除以22,因计数22次为1us。
具体子函数如下:
/*------------------------------------------------
     超声波模块触发信号
------------------------------------------------*/
void trigger()
{
    trig=0;
          NOP(21);                             //延时  
    trig=1;
    Delay_us(250);                       //至少10us高电平
          trig=0;
}


/*------------------------------------------------
      超声波模块距离测试函数
------------------------------------------------*/
void measuring()      //晶振22.1184MHz
{  
           uint Return_time;                   //超声波返回时间
    uint Wait_time;
          TL1 = 0x33;                                      //设置定时初值         2ms定时
          TH1 = 0x53;                                      //设置定时初值
          echo=1;                             //等待回声(开启输入)
          trig=1;                             //初始状态
          Ping_count=0;                       //时间计数初值
          trigger();                          //触发
          Wait_time=0;
          while ((!echo)&(Wait_time++<10000)); //触发后等待echo出现高电平或超时不出现高电平
    TR1 = 1;                            //启动定时计数器T1
          Wait_time=0;
    while((echo)&(Wait_time++<10000));  //等待echo=0或超时不出现低电平
    TR1 = 0;                             //停止计数
          TF1 = 0;                             //因不是响应中断停止,故软件清除
    Return_time = (TH1<< 8) + TL1;
    Return_time = (Return_time - 0x5333)/22;     //多计时us部分    计数22次为1us
    Return_time = 2000*Ping_count + Return_time; //计算总时间,单位是微秒
    distance = 34.0*Return_time/200;             //计算距离为mm:(34毫米*时间/200)
}

关键字:STC15F2K60S2  单片机调  试超声波  HC-SR04测距 引用地址:STC15F2K60S2单片机调试超声波HC-SR04测距经验

上一篇:单片机点阵时钟原理图和源码
下一篇:51单片机数字温度计+灯光报警的proteus仿真+注释详细的源码

推荐阅读

11月7日,广州市黑格智造信息科技有限公司(以下简称“黑格科技”)发布了桌面级别的3D打印机Ultracraft D-OS(以下简称“D-OS”),与D-OS同时亮相的还有Ultracraft A2-OS(以下简称“A2-OS”)。A2-OS可以看做是黑格科技在2016年发布的第一款DLP(DLP,全称是Digital Light Processing,译作“数字光处理”)工业级3D打印机Ultracraft A2(以下简称...
  涡轮流量计安装直管段要求  正确地选择安装点和正确安装流量计都是非常重要的环节,若安装环节失误轻者影响测量精度,重者会影响流量计的使用寿命,甚至会损坏流量计。  涡轮流量计安装对直管段的要求是非常重要的。它的详细要求如下:  1、流量计对安装点上的上下游直管段一定的要求,否则会影响测量精度。  2、若流量计安装点上的上游有渐缩...
2020年10月,大众汽车与恩智浦围绕电动汽车(EV)的电子器件展开合作,将恩智浦电池管理系统(BMS)用于大众创新MEB平台,以帮助优化续航里程、延长使用寿命并提高安全性。预计2029年前,大众将基于该平台向市场推出多达75种全电动车型。过去这一年,无论是中国的双积分政策还是欧洲对二氧化碳排放的规定,都没有因为疫情的影响而放松。今年10月27日,中国...
广告摘要声明广告撰文 | 潘敏瑶协作机器人的概念大约在2000年被提出来,最早是作为工业机器人的补充,适应中小企业(SME)自动化改造的需求。2009年,以丹麦UR、德国KUKA为代表的国外机器人企业率先推出协作机器人产品。但直到2015年之前,协作机器人仍处于小规模应用推广阶段。在这期间的2012年,北京航空航天大学教授魏洪兴带领团队率先研发了一款协作...

史海拾趣

问答坊 | AI 解惑

基于语音芯片ISd4003的程序设计!

c语言编写!编译连接成功!…

查看全部问答∨

《谁说手机天线没有技术含量?》理论?实践?

有位研究生网友提出,就是没觉得手机天线行业有什么技术含量,理由是这个行业用不到公式。 在此,我想有必要就此进行一些陈述,这也是长久以来自己的一些想法。 百闻不如一见,在学校里做东西,和在公司里做东西,是有差异的,这个差异有的时候还 ...…

查看全部问答∨

动手拆卸电子设备,如何预防被电?

有时因为没有电路图,但是自己所从事的行业好歹与电子沾边,于是总喜欢拆开来看看或者动手调调。 有的时候,不小心就被某个地方电一下。 哎,现在有点怕了。 请大家说说你们是否被电过?如何预防?…

查看全部问答∨

我要找硬件开发兼职人员(在杭州)急

我要找硬件开发兼职人员(在杭州)急 联系qq 33938019 msn:zhubin@zhubin.net 邮箱:zhubin@zhubin.net …

查看全部问答∨

好多小工具及资料

这几天逛了论坛100多页找来的,整理了一下,需要的就下载咯....…

查看全部问答∨

关于未使用的XT2(IN、OUT)的处理

我用MSP430F135做项目,XT2不使用,如何正确的处理XT2IN、XT2OUT引脚? 是不是可以将XT2IN接地,XT2OUT悬空?…

查看全部问答∨

刚学VHDL的新手求教一段程序

有a,b,c,d四个输入数据,首先让A0=0,A1=0时输出y<=a,然后使WR置0(写输入有效,送出y), 接着再进行计数延时(计数十次,确保数据接收完整),延时完成后使WR置0(关闭通道);再接着让A0=0,A1=1,输出y<=b,用上述流程完成四个数据的依次接收 ...…

查看全部问答∨

dsp新手

各位高手好:                   小弟現在系統架構 是外部訊號經由\"訊號截取卡\"傳送至pc給matlab進行運\算處理 然後輸出,     而matlab ...…

查看全部问答∨

凌阳61单片机超声波测距与电机驱动中断发生冲突怎么解决,求教!

本帖最后由 paulhyde 于 2014-9-15 04:06 编辑 我们在做电赛的智能往返小车的题目,用到的中断有优先级,电机驱动的优先级低一点,超声波测距用到的中断优先级高,进行测距的时候电机就不转了,不知道怎么解决了,下面是用到的中断服务程序: voi ...…

查看全部问答∨

Ubuntu手机系统稳定版来了 附下载地址

近7个月的等待后,现在Ubuntu手机OS稳定版已经跟大家见面,不过它目前支持的设备只有Nexus 4和Galaxy Nexus。刷入稳定版Ubuntu手机OS后,Nexus 4和Galaxy Nexus能够进在GSM下正常的通讯功能(通讯、短信),并且可以使用Wi-Fi、摄像头等。最重要 ...…

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

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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