历史上的今天
返回首页

历史上的今天

今天是:2025年05月09日(星期五)

正在发生

2019年05月09日 | 51单片机 超声波测距组件

2019-05-09 来源:eefocus


/**

 * 超声波测距组件

 * 文件名:ultrasonic.h

 */

 

#ifndef _ULTRASONIC_H

#define _ULTRASONIC_H

 

#define somenop(); {

    _nop_();_nop_();_nop_();_nop_();_nop_();

    _nop_();_nop_();_nop_();_nop_();_nop_();

}

 

sbit TX = P1^0;  //发射引脚

sbit RX = P1^1;  //接收引脚

 

void tmr1_specialInit();

uint8_t ult_getDis();

 

#endif // _ULTRASONIC_H

 




/**

 * 超声波测距组件

 * 文件名:ultrasonic.c

 */

 

#include

#include

#include "stdint.h"

#include "ultrasonic.h"

 

/* 特殊配置定时器1,作为计时器 */

void tmr1_specialInit() {    //不要开启中断,要将溢出标志位置0,不要开始运行

    AUXR &= 0xBF;

    TMOD &= 0x0F;

    TMOD |= 0x10;

    TL1 = 0;    //!!!

    TH1 = 0;    //!!!

    TF1 = 0;    //!!!

}

//TX引脚发送40KHz方波信号驱动超声波发送探头

static void ult_sendWave() {

    uint8_t cnt = 8;  //发送8个脉冲

 

    EA = 0;    //!!!

    do {

        TX = 1;

        somenop();    //保持TX一段时间

        TX = 0;

        somenop();    //保持TX一段时间

    } while (--cnt);

    EA = 1;    //!!!

}

 

uint8_t ult_getDis() {

    uint16_t count;        //定时器1的计数值,即为时间间隔

    uint8_t distance;    //单位为cm,实测最大测量距离约为90cm

 

    RX = 1;        //!!

    ult_sendWave();  //发送方波信号

    TR1 = 1;  //启动计时

    while ((RX == 1) && (TF1 == 0));  //等待收到脉冲

    TR1 = 0;  //关闭计时

 

    if (TF1 == 1) {    //如果定时器发生溢出,则超过量程

        TF1 = 0;

        distance = 0xFF;  //无返回,距离为无穷远

    } else {

        count = TH1;

        count <<= 8;

        count |= TL1;

 

        distance = (uint8_t)((uint32_t)count * 17 / 1000);    //计算距离(cm)

    }

    TH1 = 0;    //重新复位定时器,为下次测量做好准备

    TL1 = 0;

 

    return distance;

}


推荐阅读

史海拾趣

Dynex公司的发展小趣事

以下是关于Dynex公司在电子行业中的五个发展起来的相关故事,每个故事都基于事实进行描述,避免主观褒贬:

  1. 早期发展与产品专业化

Dynex公司成立于1956年,最初专注于设计和生产双极功率半导体器件。在成立初期,公司凭借其创新技术和高品质的产品,迅速在大功率半导体领域获得了良好的声誉。随着市场需求的不断增长,Dynex不断扩展产品线,包括IGBT(绝缘栅双极型晶体管)、功率组件和专用硅蓝宝石集成电路等。这些产品在输配电、传动、航空、工业自动化和控制等领域得到广泛应用,奠定了Dynex在电子行业中的基础地位。

  1. 技术突破与市场竞争

在电子行业竞争激烈的背景下,Dynex持续进行技术研发和创新。公司通过引入先进的生产技术和设备,提升产品性能和质量。同时,Dynex还注重与高校和研究机构的合作,共同开展科研项目,推动半导体技术的突破。这些努力使Dynex在市场中保持领先地位,并赢得了客户的信任和认可。

  1. 国际化战略与市场拓展

随着全球化的发展,Dynex公司意识到必须走向国际市场以获取更广阔的发展空间。因此,公司开始实施国际化战略,积极开拓海外市场。Dynex通过参加国际展会、建立海外销售网络等方式,与全球客户建立联系。同时,公司还根据不同地区的市场需求,调整产品策略和服务模式,以满足客户的多样化需求。这些努力使Dynex在国际市场上取得了显著的成绩。

  1. 收购与整合

在发展过程中,Dynex通过收购和整合其他公司来扩大业务规模和市场份额。例如,在2009年,Dynex收购了某知名半导体公司,将其纳入旗下。这次收购不仅使Dynex获得了更多的技术和产品资源,还增强了公司的竞争实力。此外,Dynex还通过与其他公司的合作和联合开发,共同推动半导体技术的进步和应用。

  1. 智能城市与区块链技术的融合

近年来,随着智能城市的快速发展和区块链技术的兴起,Dynex开始探索将半导体技术与这些领域进行融合。公司利用自身在半导体技术方面的优势,为智能城市的建设提供高效、可靠的半导体解决方案。同时,Dynex还积极研究区块链技术在医疗保健、供应链管理等领域的应用,为客户提供更加安全、便捷的服务。这些努力使Dynex在电子行业中保持了领先地位,并为公司的未来发展注入了新的动力。

Fluke公司的发展小趣事

福禄克(Fluke)公司在电子行业中的发展历程充满了创新与突破,以下是五个与福禄克公司发展相关的故事:

1. 创立与初期发展

1948年,John Fluke先生在美国康涅狄格州的家中地下室创立了福禄克公司,并亲自设计了公司的第一款产品——VAW Meter(伏特、安培、瓦数表)。这一创举标志着福禄克在电子测试测量领域的初步探索与尝试。随着产品的不断推出和市场认可度的提升,福禄克逐渐在电子行业中站稳了脚跟。

2. 技术创新与市场拓展

多年来,福禄克公司一直致力于技术创新和产品升级。例如,福禄克推出的手持式电流表、接地阻抗测量仪表等产品,凭借其高精度和可靠性,在电力、通信、工业控制等多个领域得到了广泛应用。同时,福禄克还不断拓展其销售和服务网络,覆盖全球多个国家和地区,为全球客户提供优质的测试测量解决方案。

3. 新能源汽车领域的涉足

随着新能源汽车产业的快速发展,福禄克公司也积极涉足这一领域。新能源汽车中的锂电池、光纤等关键部件需要在使用过程中进行连续的温度监测。福禄克凭借其可靠的耐用性,为多家新能源汽车企业提供了安全可靠的测试测量产品及解决方案。这一举措不仅拓展了福禄克的市场领域,也进一步巩固了其在电子测试测量行业的领先地位。

4. 应对国际计量系统变革

当前国际计量系统正在经历历史性变革,福禄克公司密切关注这一世界热议话题。作为全球知名的电子测试仪器公司,福禄克已做好准备随时对应调整,以应对计量单位量子化等挑战。福禄克的这一举措体现了其作为行业领导者的前瞻性和应变能力。

5. 智能化与网络化发展

近年来,福禄克公司不断推动产品的智能化和网络化发展。例如,福禄克推出的在线式红外热像仪、带有Fieldsense技术的钳表等产品,不仅提高了测试测量的精度和效率,还实现了数据的实时传输和分析。这些创新产品满足了客户对智能化、网络化测试测量解决方案的需求,进一步推动了福禄克在电子行业中的发展。

以上五个故事展示了福禄克公司在电子行业中的发展历程和成就。从创立初期的艰难探索到如今的行业领导者地位,福禄克始终秉持着创新、质量和服务的理念不断前行。

Array Microsystems Inc公司的发展小趣事

Array Microsystems Inc公司自创立之初,便专注于阵列传感器技术的研发。在成立初期,公司面临资金短缺和技术瓶颈的双重挑战。然而,通过不懈的努力和持续的技术创新,Array Microsystems Inc成功研发出了一款高灵敏度、低功耗的阵列传感器。这一突破性的技术不仅填补了市场的空白,还为公司带来了可观的利润。随着产品的推广和应用,Array Microsystems Inc逐渐在电子行业中崭露头角。

FEI Microwave Inc公司的发展小趣事

为了进一步增强自身的实力,FEI Microwave Inc公司积极寻求并购其他具有竞争力的企业。在经过一系列的考察和谈判后,FEI Microwave Inc公司成功收购了某家在微波滤波器领域具有领先技术的公司。这次并购不仅使FEI Microwave Inc公司在技术上得到了极大的补充,也为其在微波通信领域的发展奠定了更加坚实的基础。

Hoffman_Enclosures__Inc.公司的发展小趣事

Hoffman始终将技术创新视为企业发展的核心驱动力。公司不断投入研发资源,致力于开发更加高效、节能、环保的电气机柜和温控产品。其中,数据中心液体冷却技术的推出,更是引领了行业潮流。Hoffman还积极参与国际标准的制定工作,通过遵循和践行全球行业标准,确保产品的通用性和高质量。这些努力不仅提升了公司的技术实力,也进一步巩固了其在行业内的领先地位。

Delkin Devices公司的发展小趣事

Delkin Devices公司成立于1986年,总部设在美国加利福尼亚州的圣迭戈市。公司由一群富有远见和创造力的工程师和企业家创立,他们看到了未来数据存储技术的巨大潜力。在创立初期,Delkin Devices专注于研发和生产高质量的闪存存储设备,以满足当时市场对数据存储不断增长的需求。通过不断的技术创新和优质的客户服务,Delkin Devices逐渐在电子行业中崭露头角。

问答坊 | AI 解惑

数字万用表故障排除的一般方法

数字万用表是利用模/数转换原理,将被测量转化为数字量,并将测量结果以数字形式显示出来的一种测量仪表。数字万用表与指针式万用表相比,具有精度高、速度快、输入阻抗大、数字显示、读数准确、抗干扰能力强,测量自动化程度高等优点而被广泛应用 ...…

查看全部问答>

keil 3.8使用j-link的问题

keil3.8想要使用j-link进行在线仿真调试的话需要怎么设置,望得到大家的帮助…

查看全部问答>

请求帮忙,需要Borland C++ V4.51

各位大侠,请问谁有Borland C++ V4.51,我正在学 MicroC/OS,需要用Borland C++ V4.51进行编译,一直没有找到安装程序,找到一个BC45,但是我不会用,请教一下各位,谢谢!…

查看全部问答>

WINCE,视频抓取问题

WINCE中IMediaDet 接口用不了,还有其他接口吗?大家是怎么抓取视频文件中的图像帧的,有什么好的办法。。。…

查看全部问答>

编译的时候出现如下错误

corelibc.lib(pegwmain.obj) : error LNK2019: unresolved external symbol WinMain referenced in function WinMainCRTStartup ARMV4IRel/test_t.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. 请高手赐教 ...…

查看全部问答>

请问:STM32能支持从机模式下的SSP通信吗?

                                 请问:STM32 能支持从机模式下的 SSP通信吗? 一定要用硬件的,因为是从机,要用中断方式…

查看全部问答>

stm32ucosisr

各位 我的 ucos 中断一直进不去   static void BSP_IntHandler (CPU_DATA int_id) { #if (CPU_CFG_CRITICAL_METHOD == CPU_CRITICAL_METHOD_STATUS_LOCAL) CPU_SR cpu_sr; #endif CPU_FNCT_VOID isr; CPU ...…

查看全部问答>

【求助】斑竹帮看下RAM的问题

我用的是F123,使用汇编语言编程AQ430开发; 跟踪调试发现02F4H~02FFH(RAM最后10 个空间)的发生变化,而我未对该空间进行任何操作 这是什么原因造成的…

查看全部问答>

ew430v210.exe

我的机子里面装 过了ew430v210.exe。就是用来给430仿真用的软件,现在我要重新安一个。可以系统提示不能安了。有什么方法可以把原来的那个软件?载干净?谢谢了。…

查看全部问答>

主攻“高频无线电类”赛题方向的同学注意了--南华大学黄智伟系列

本帖最后由 paulhyde 于 2014-9-15 03:38 编辑 1. “高频无线电类赛题”每届都有 在9届电子设计竞赛中,“高频无线电类赛题” 除了1994年外,每届都有:简易无线电遥控系统(1995年C题) 调幅广播收音机(1997年D题) 短波调频接收机(1999年D题 ...…

查看全部问答>