碧波液压网 欢迎你,游客。 登录 注册

8254在提高超声波测距系统精度中的应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 前 言

  目前大多数的超声波测距系统都是采用单片机作为控制核心,利用超声波传感器发出超声波信号,超声波碰到障碍物后反射回来,传感器接收到回波,单片机通过对发射波和回波的查询,或利用发射波与回波触发中断,来开关定时器测出发射波和接收到回波的时间差 t,从而计算出定点离障碍物的距离 S=Ct/2,式中的 C 为超声波波速。超声波的波速 C 与温度有关,表 1 是超声波在不同环境温度下的波速关系

  

  由此可见,超声波在空气中的传播速度很快,均在 300m/s 以上。由于一般的单片机时间分辨率不是很高(晶振频率为12MHz时,时间分辨率为1μs),加之单片机查询发射波与回波,或利用发射波与回波触发中断再通过程序启停内部定时器均需要一定的时间[1],所以这种类型的测距系统的误差都较大,导致其性能在某些场合下不能满足要求。 引入专用的定时/计数器 8254 进行计时,可在很大程度上提高测距系统的准确性。

  2 定时/计数器 8254

  8254 是专用的定时器芯片,有 3 个独立的 16位可编程计数器,每个计数器可按二进制或 BCD (二—十进制)编程,实现减法计数,使用非常灵活,功能非常强大。 8254 通过对加在其 CLK 输入引脚的脉冲进行计数,脉冲最高频率可以达到 10MHz,并且可以利用硬件或软件的办法任意启动或停止计数,利用8254 进行计时,时间分辨率更高,如输入 4MHz的计数脉冲,其时间分辨率可达到 0.25μs。

       8254 是 NMOS 器件,采用双列直插式 24 脚封装,它的输入和输出都与TTL电平兼容。其引脚排列见图 1。

  

  254 的每个定时器都有一个控制口 GATE,可利用发射波与回波直接启停该定时器,而不必把发射波与回波接至单片机,通过查询或中断再启停定时器,这样即可提高测距系统的响应速度,减少了系统自身的误差,提高准确度。

  3 硬件结构

  假设超声波测距系统采用 8031 单片机为控制核心,使用 8254 的 0#定时器记数,CLK0 信号由外部电路提供准确的 4MHz 脉冲信号(可通过74LS390 等分频器分频获得),利用一个 JK 触发器的输出作为 8254 0#定时器的门控信号 GATE0,回波信号同时作为单片机 INT 0的中断响应信号。初始化时,由 8031 单片机的 P1.0 口对JK触发器清 0,8254 的 T0 不计时;发射波产生后,JK 触发器翻转,T0 开始工作,计数初值不断减 1;超声波传感器收到回波后,使 JK 触发器再次翻转,8254 的 T0 停止工作,回波信号同时触发单片机中断,在中断服务子程序读出计数器计数初值中所剩余的值,然后计算出距离,通过显示电路即可将测出的距离显示出来。硬件结构如图 2 所示

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论