基于MSP430单片机控制的超声波测距仪软件系统设计
2015-03-07虞新军邓玉良
虞新军,邓玉良
1.金山职业技术学院,江苏镇江 212200 2.江苏省金坛中等专业学校,江苏金坛 212300
基于MSP430单片机控制的超声波测距仪软件系统设计
虞新军1,邓玉良2
1.金山职业技术学院,江苏镇江212200 2.江苏省金坛中等专业学校,江苏金坛212300
摘要本设计是一种基MSP430单片机的超声波测距器。该测距器采用MSP430F123电路,通过主程序设计、中断程序设计、测温程序和测距程序设计,实现发射电路的控制和接收数据的处理。利用超声波检测可以快速、简便、容易做到实时控制,具有很强的实用推广价值。
关键词超声波传感器;测距仪;MSP430F123
下图1可以简单说明超声波测距的工作过程,即超声波发生器(T)在某一时间发出超声波信号,当这个信号遇到被测物体后立刻反射回来,就被超声波接收器(R)接收到。只要计算出从发射出超声波信号到接收到返回超声波信号所用的时间差,就可以算出超声波发生器和被测物体之间的距离了。
该距离计算公式表示为:d=s/2=(vt)/2
其中:其中距离d就是被测物体到测距仪之间的距离,s就是超声波往返经过的距离,v就是超声波在介质当中的传播速度,t就是超声波开始发射到接收时所用时间。
1 主程序设计
主程序完成单片机初始化,经过延时再判断是否中断,若是则进行测量数据的处理;若否则跳转回延时再判断是否中断,重复判断。数据处理后将处理过后的数据即测量的距离显示在数码显示管上。其主程序流程图如图2。
2 中断设计
上述主程序是利用外中断0检测到返回超声波信号的,一旦接收成功返回超声波信号,就立即进入了中断程序。进入中断程序后就会立即关闭计时器T0,同时停止计时,并可以将测距成功标志字赋值为1。如果计时器溢出时候还没有检测到超声波的返回信号,那么定时器T0的溢出中断将会外中断0立即关闭,同时将测距成功标志字赋值2,表示此次测距失败。中断设计流程图如图3。
3 测温程序
每一个DS18B20在它的内存ROM中都存在其唯一的48位序列号,出厂前都已写入内存ROM中。操作主机前,进入时必须用读取ROM(33H)命令将该DS18B20的序列号一一读出。
图4所示为测温程序流程图。
4 测距程序
主程序首先应该对系统环境进行初始化,设置系统定时器T0的工作模式为16位定时计数器模式,置位总的中断允许位为EA,并同时给显示端口P0口和P2口清0。紧接着立即送出一个超声波脉冲,为了避免超声波产生的直接波触发,则需要延迟0.1ms后,才可以打开外部
中断0接收到的返回超声波信号。
其测距流程图如图5所示。
5 结论
本次设计的超声波测距仪具有准双向测距的功能,稳定性很高、较灵敏,盲区范围很小,分辨率<0.2m,被测量的目标不需要直接垂直于测距仪,测量的角度可以保持在正负30°,还有一个优点就是被测的目标表面可以不平坦。但是缺点还是比较多的,比如测量的距离较小,大概在5米以内;测量时的可靠性还要加强,后续很多地方还要进行改进。
参考文献
[1]张谦琳.超声波检测原理和方法[M].北京:中国科技大学出版社,1993.
[2]周立功.RAM嵌入式系统基础教育[M].北京:航空航天大学出版社,2005.
[3]楼然苗,李光飞.单片机课程设计知道[M].北京:航空航天大学出版社,2007.
中图分类号TP39
文献标识码A
文章编号1674-6708(2015)139-0161-01