c语言单片机超声波测距可以不使用定时器和外部中断口吗

c语言单片机超声波测距可以不使用定时器和外部中断口吗,第1张

不可以啊,你可以一直不断的发送超声波,然后通过查询接收到,但是你用查询 *** 作至少要好几个时钟周期才能查询一次,你不可能保证查询到的一瞬间正好是超声波返回的时间,误差很大,定时器是必须要用的,用来计算超声波从发出到接收的时间。

time=TH0256+TL0;

TH0=0;

TL0=0;

S=(time17)/100; //算出来是CM

if((S>=700)||flag==1) //超出测量范围显示“-”

这一段时测速的。 外面加入th0 tl0这样的,定时器开始计时,外面程序看不到。应该是和超声波反馈时间, 加上音速,得到距离,中间这个,都是显示用的。

最好外面程序装载数的也放一下

超声波测距学习板,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在027~400m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。超声波测距原理

超声波发生器内部结构有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波本时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。超声测距大致有以下方法:① 取输出脉冲的平均值电压,该电压 (其幅值基本固定 )与距离成正比,测量电压即可测得距离;② 测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔 t,故被测距离为 S=1/2vt。本测量电路采用第二种方案。由于超 声波 的声速 与温度有关,如果温度变化不大,则可认为声速基本不变 。如果测距精度要求很高,则应通 过温度补偿 的方法加以校正。超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为33145米/秒,由单片机负责计时,单片机使用120M晶振,所以此系统的测量精度理论上可以达到毫米级。

采用AT89C51或AT89S51单片机,晶振:12M,单片机用P10口输出超声波换能器所需的40K方波信号,利用外中断0口监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,断码用74LS244,位码用8550驱动

超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米(15℃时)。X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=003S,则有340m×003S=102m。由于在这102m的时间里,超声波发出到遇到返射物返回的距离。

硬件部分采用AT89C51或AT89S51单片机,晶振:12M,单片机用P10口输出超声波换能器所需的40K方波信号,利用外中断0口监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,断码用74LS244,位码用8550驱动 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P10引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。

1单片机系统及显示电路

单片机采用89S51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。

单片机用P10端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。单片机系统及显示电路如下图所示

使用CX20106A集成电路对接收探头受到的信号进行放大、滤波。其总放大增益80db。以下是CX20106A的引脚注释。

1脚:超声信号输入端,该脚的输入阻抗约为40kΩ。

2脚:该脚与地之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R1或减小C1,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C1的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R1=47Ω,C1=1μF。

3脚:该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为33μf。

4脚:接地端。

5脚:该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。例如,取R=200kΩ时,f0≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz。

6脚: 该脚与地之间接一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。

7脚:遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22kΩ,没有接受信号是该端输出为高电平,有信号时则产生下降。 8脚:电源正极,45~5V。

软硬件调试及性能

超声波测距仪的制作和调试,其中超声波发射和接收采用Φ16的超声波换能器TCT40-16F1(T发射)和TCT40-16S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C4的大小,以获得合适的接收灵敏度和抗干扰能力。

硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为007~55m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。后续工作需实验后才能验证 根据参考电路和集成的电路器件测距范围有限10m以内为好。

以上就是关于c语言单片机超声波测距可以不使用定时器和外部中断口吗全部的内容,包括:c语言单片机超声波测距可以不使用定时器和外部中断口吗、哪个学单片机的大侠理解这段程序超声波测距的,不理解定时器的工作情况。、单片机超声波测距系统原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9422805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存