MC9S12XS128实现超声波测距

发布者:Xiaochen520最新更新时间:2021-07-21 来源: eefocus关键字:MC9S12XS128  超声波  测距 手机看文章 扫描二维码
随时随地手机看文章

参考代码:


开发环境:Freescale Codewarrior 5.0


/*  

*          Authour: flyreally  

*  

*自己写的一个超声波测距的模块,用查询方式做的,  

*当然也可以用中断了  

*  

*/  

  

#include       /* common defines and macros */   

#include      /* derivative information */   

#pragma LINK_INFO DERIVATIVE "mc9s12xs128"   

    

/*可以通过更改TIMER的值来实现不同时间的定时,     

定时长为TIMER * 10us*/      

#define TIMER  1        

#define TRING  PORTA_PA0    //控制端   

#define ECHO   PORTA_PA1    //接收端    

  

ulong time = 0;   

  

/* n * 10us延时*/  

void Delay_Us(ulong n)   

{   

    time = n;   

    while (time);   

}   

  

/*IO口初始化*/  

void IO_Init(void)   

{   

    DDRA = 0x02;     //A0输出,A1输入    

}   

        

  

/*PIT初始化,实现10US定时*/      

void PIT_Init(void)       

{       

    PITCFLMT_PITE = 0;  //定时中断通道0关       

    PITCE_PCE0 = 1; //定时器通道0使能       

    PITMTLD0 = 160 - 1; //8位定时器初值设定,160分频       

    PITLD0 = TIMER - 1;   //16位定时器初值设定,TIMER*10us       

    PITINTE_PINTE0 = 1; //定时器中断通道0中断使能       

    PITCFLMT_PITE = 1;  //定时器通道0使能       

}       

      

void main(void)       

{   

    ulong t;   

    double dis;   

  

    IO_Init();        //IO初始化   

    PIT_Init();       //PIT初始化       

    EnableInterrupts; //开中断     

      

    /*等待200us使超声波模块初始化完毕*/  

    Delay_Us(20);   

  

    while (1)   

    {   

        /*给控制端一个超过10US的高电平,然后置低*/  

        TRING = 1;   

        Delay_Us(2);       

        TRING = 0;   

  

        /*等待接收端产生高电平并计时*/  

        while (!ECHO);   

        time = 0xff;   

        while (ECHO);   

        t = 0xff - time;     //计时   

        dis = 1.7 * t;       //计算距离   

        //延时10MS,这个的原因大家看时序图,不同的硬件不同   

        Delay_Us(1000);          }       

}       

      

/*PIT定时中断*/      

#pragma CODE_SEG __NEAR_SEG NON_BANKED       

void interrupt 66 PIT0(void)       

{       

    PITTF_PTF0 = 1; //清中断标志位    

    --time;      

}     

关键字:MC9S12XS128  超声波  测距 引用地址:MC9S12XS128实现超声波测距

上一篇:MC9S12G单片机的中断系统
下一篇:Freescale MC9S12G128 GPIO

推荐阅读最新更新时间:2024-11-01 11:19

51单片机超声波测距程序C调汇编
#include reg51.h #include absacc.h //绝对地址存取 #include math.h #pragma NOREGPARMS //固定单元参数传递,以减少C与汇编在寄存器Rn参数传 #define f DBYTE //cm #define g DBYTE //dm #define h DBYTE //m #define i DBYTE unsigned data a _at_ 0x32; // #define a DWORD(双字节) / DBYTE(1个字节),这两种做法都不行?定义错
[单片机]
保证外夹式超声波流量计准确测量的操作要领
外夹式超声波流量计是所有类型的流量测量仪表中,安装最简便和快捷的,用户只要在管道上选择一个合适的测量点,将测量点处的管道相关参数通过面板或是手操器输入到流量计里,同时再将探头在管道上面固定好即可进行测量。 外夹式超声波流量计在安装探头时,尽管寻找管材材料致密的部份进行,管道外面的安装区域须清理干净,管道上面的锈迹和油漆部分都需要清理掉,有条件情况下,最好用磨光机磨平磨光,然后用干净的抹布蘸丙酮或酒精擦去油污和灰尘,接下来在探头的中心部分和管壁涂上足够的耦合剂。 当管道很粗或由于液体中存在悬浮物、管内壁结垢太厚或衬里太厚,造成v法安装信号弱,机器不能正常工作时,要选用z法安装。原因是;使用z法时,超声波在管道中直接传输,
[测试测量]
保证外夹式<font color='red'>超声波</font>流量计准确测量的操作要领
基于单片机高精度工程超声波测距系统研究
  人耳最高只能感觉到大约20000 Hz的声波,频率更高的声波就是超声波了。超声波广泛地应用在多种技术中。超声波有两个特点,一个是能量大,一个是沿直线传播。它的应用就是按照这两个特点展开的。理论研究表明,在振幅相同的情况下,一个物体振动的能量跟振动频率的二次方成正比。超声波在介质中传播时,介质质点振动的频率很高,因而能量很大。在我国北方干燥的冬季,如果把超声波通入水罐中,剧烈的振动会使罐中的水破碎成许多小雾滴,再用小风扇把雾滴吹入室内,就可以增加室内空气湿度。这就是超声波加湿器的原理。对于咽喉炎、气管炎等疾病,药力很难达到患病的部位,利用加湿器的原理,把药液雾化,让病人吸入,能够增进疗效。利用超声波的巨大能量还可以把人体内的结
[单片机]
基于单片机高精度工程<font color='red'>超声波</font><font color='red'>测距</font>系统研究
基于51单片机的超声波测距系统的设计
O 引言 超声波是指频率大于20 kHz的在弹性介质中产生的机械震荡波。由于超声波频率较高,穿透力强,指向性强,传输过程中衰减少,能量消耗缓慢,在介质中传播的距离较远,遇到杂质或分界面时会产生反射波,因此常被用于非接触式测距。并且超声波对光线、色彩和电磁场不敏感,因此超声波测距对环境有较好的适应能力。广泛应用于汽车倒车、机器人避障、工业测井、水库液位测量、管道长度测量等需要自动进行非接触测距的场合。 1 超声波测距原理 Pellarn和Galt于1946年提出了脉冲回波法,其工作原理是:用超声脉冲激励超声探头向外辐射超声波,同时接收从被测物体反射回来的超声波(简称回波),通过检测或估计从发射超声波至接收回波所经历的射程时
[单片机]
基于51单片机的<font color='red'>超声波</font><font color='red'>测距</font>系统的设计
超声波探伤仪概念及优点
  运用超声 检测 的方法来检测的 仪器 称之为超声波探伤仪。它的原理是:超声波在被检测材料中传播时,材料的声学特性和内部组织的变化对超声波的传播产生一定的影响,通过对超声波受影响程度和状况的探测了解材料性能和结构变化的技术称为超声检测。超声检测方法通常有穿透法、脉冲反射法、串列法等   超声波探伤是利用超声能透入金属材料的深处,并由一截面进入另一截面时,在界面边缘发生反射的特点来检查零件缺陷的一种方法,当超声波束自零件表面由探头通至金属内部,遇到缺陷与零件底面时就分别发生反射波来,在荧光屏上形成脉冲波形,根据这些脉冲波形来判断缺陷位置和大小。   利用材料及其缺陷的声学性能差异对超声波传播的影响来检验材料内部缺陷的无损检验方法。
[测试测量]
可精确测距的低成本超声子系统
  超声测距原理   超声传感器电路比较简单,在系统中负责发送超声脉冲流,然后采集回波信号。器件发出的脉冲信号在空气中传输,直到碰到一个目标物体并在此处产生反射回波。超声传感器通过检测这些回波,并计算出发射脉冲与接收脉冲之间的时间差,从而确定脉冲波形的传输距离。发射脉冲的频率范围为40~200kHz,多数情况下使用40~50kHz频率范围的脉冲。   用于发射脉冲信号并检测回波信号的硬件电路称为超声传感器。有两种类型的超声传感器:静电超声传感器和压电超声传感器。静电型类似于一个电容器,由固定极板和移动极板组成。固定极板通常采用铝,移动极板则采用带有一层较薄镀金层的聚酰亚胺。聚酰亚胺的作用类似于一个绝缘层,当信号(典型频率为
[嵌入式]
手持激光测距仪选择必读
在购买手持激光测距仪选购时,需要关注两个问题,才能确定您能购买到自己想要的机器: 1、用于室内还是室外?或者更偏向于室内还是室外。 2、测量时,实测的距离是多少? 主要分为30米、60米、80米和80米以上到200米 室内:如果是纯室内应用的情况,不牵扯光线的问题,测量距离在60米以内,要求质量好的,可以选择:徕卡的A2、喜利得的PD4手持激光测距仪和博世的DLE50;要经济型的可以选择:进口品牌的普瑞测二代、国产的大有和苏一光的DL300;; 60米以上可以选择;徕卡的D3(可以测角度、测水平更直接和准确)、喜利得PD40手持激光测距仪 室内室外兼用:如果您是室内室外都应用的情况,室外(白天) 60米以内,可以选择:徕卡的D
[测试测量]
何小鹏用9块9传感器干翻激光雷达:探测距离200米,支持纯视觉端到端,上车最新P7+
何小鹏「大胆」挑战业界成规和用户认知:20万级中高端车型,抛弃 激光雷达 。 最新旗舰轿车P7+,上车纯视觉端到端智驾系统。 这么贵、这么大、这么堆料、这么科技的品牌旗舰车型,放在其他品牌3个激光雷达可能都嫌少。 小鹏一个都不给,理由是啥? 不给激光雷达的城市NOA,安全吗? 20万级不给激光雷达,凭啥 P7+的智驾 硬件 方案是这样: 底层双Orin,508TOPS, 传感器 具体的配置没透露,悬念留在了一个月后的正式上市。 但功能上其实早就预告了,P7+的纯视觉端到端智驾和之前已经爆单的MONA 03同架构:AI鹰眼视觉方案: 能够实现不限城市、道路、路况的门到门智驾体验。 不知道大家注
[汽车电子]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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