导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→那位大虾帮帮小弟,超声波测距程序设计(mc51汇编)附电路图[hnpy2003]

 *第22225篇: 那位大虾帮帮小弟,超声波测距程序设计(mc51汇编)附电路图,谢谢!

  
楼 主:hnpy2003 2004年5月23日20:49
 那位大虾帮帮小弟,超声波测距程序设计(mc51汇编)附电路图,谢谢!
  
2楼:guest 2004年5月23日22:47
 我知道那里有这个设计
我知道那里有这个设计你去看看保证有收获。
  
3楼:明明 2006年9月19日23:24
 jeje
1、40khz 脉冲的产生与超声波发射 

测距系统中的超声波传感器采用ucm40的压电陶瓷传感器,它的工作电压是40khz的脉冲信号,这由单片机执行下面程序来产生。 

puzel: mov 14h, #12h;超声波发射持续200ms 

here: cpl p1.0 ;输出40khz方波 

nop ; 

nop ; 

nop ; 

djnz 14h,here; 

ret 

前方测距电路的输入端接单片机p1.0端口,单片机执行上面的程序后,在p1.0 端口输出一?0khz的脉冲信号,经过三极管t放大,驱动超声波发射头ucm40t,发出40khz的脉冲超声波,且持续发射200ms。右侧和左侧测距电路的输入端分别接p1.1和p1.2端口,工作原理与前方测距电路相同。 

2、超声波的接收与处理 

接收头采用与发射头配对的ucm40r,将超声波调制脉冲变为交变电压信号,经运算放大器ic1a和ic1b两极放大后加至ic2。ic2是带有锁定环的音频译码集成块lm567,内部的压控振荡器的中心频率f0=1/1.1r8c3,电容c4决定其锁定带宽。调节r8在发射的载频上,则lm567输入信号大于25mv,输出端8脚由高电平跃变为低电平,作为中断请求信号,送至单片机处理。 

前方测距电路的输出端接单片机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 

  
4楼:hetian123 2009年6月3日10:15
 gan jue 不错看不到全部
看不到全部怎么办啊!?

>>>>>>对该主题发表你的看法

本主题贴数4,分页: [第1页]


[上一篇主题]:小妹还有一个问题想请教,拜托各位大虾了 请看内容!!!!!1

[下一篇主题]:请教哪位大侠用51点亮过等离子显示屏呀?