超声波测距系统电路设计

[09-13 21:17:03]   来源:http://www.88dzw.com  电子制作   阅读:8853

文章摘要:前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如下: receive1:push psw push acc clr ex1 ;关外部中断1 jnb p1.1, right ;P1.1引脚为0,转至右测距电路中断服务程序jnb p1.2, left ;P1.2引脚为0,转至左测距电路中断服务程序 return:SETB EX1;开外部中断1 pop? acc pop? psw reti right: ...?

超声波测距系统电路设计,标签:电子制作网,http://www.88dzw.com
前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如下:
receive1:push psw
push acc
clr ex1 ;关外部中断1
jnb p1.1, right ;P1.1引脚为0,转至右测距电路中断服务程序
jnb p1.2, left ;P1.2引脚为0,转至左测距电路中断服务程序
return:SETB EX1;开外部中断1
pop? acc
pop? psw
reti
right: ...? ;右测距电路中断服务程序入口
? ajmp? return
left:... ;左测距电路中断服务程序入口
? ajmp? return
3、计算超声波传播时间
在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如下:
RECEIVE0:PUSH PSW
PUSH ACC
CLR EX0 ;关外部中断0
? MOV R7, TH0 ;读取时间值
MOV R6, TL0?
CLR C
MOV A, R6
SUBB A, #0BBH;计算时间差
MOV 31H, A ;存储结果
MOV A, R7
SUBB A, #3CH
MOV 30H, A?
SETB EX0 ;开外部中断0
POP ACC
POP PSW
RETI
四、超声波测距系统的软件设计 
 
        软件分为两部分,主程序和中断服务程序,如图3(a)(b)(c) 所示。主程序完成初始化工作、各路超声波发射和接收顺序的控制。
定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。
五、结论
        对所要求测量范围30cm~200cm内的平面物体做了多次测量发现,其最大误差为0.5cm,且重复性好。可见基于单片机设计的超声波测距系统具有硬件结构简单、工作可靠、测量误差小等特点。因此,它不仅可用于移动机器人,还可用在其它检测系统中。

上一页  [1] [2] 


Tag:电子制作电子制作网电子制作 - 电子制作

《超声波测距系统电路设计》相关文章