超声波测距电路方案
阿丕2006/04/26电子技术 IP:陕西

最近搞超声波测距,看了不少网页,也查了很多资料。发现很多同学都在搞这样的毕业设计时困难重重,什么跪求之类的……

我搞超声波不到两个月,一星期就可以接收到信号,半个月对射距离就达到了4米,一个月从自学到设计完成了PCB制板和调试,现在接近4月底,我一共做了三个版本。对射距离不小于6米,反射距离在3米左右(40KHZ),如果加上发射功率增幅装置,可以达到不低于15米的对射距离(反射没有试,而且还差最终调试)。我提供以下方案给大家做参考用,这是个日本人制作的电路,虽然我不太喜欢日本人,但是他们设计的电路不会出现像我查资料发现的中国人的互相抄袭现象(要命的是还有抄错的情况),有制作成功保证。之所以不提供我的方案,主要考虑到我方案还差一些最终的确认,把没有绝对把握的东西提供出来是很尴尬的。

注意了,我提供这个电路方案的目的是给电子爱好者参考的,因为这样可以帮助热衷于电子技术的同学们避免我犯的种种错误。如果是单纯的为了搞毕业设计,勉强毕业的话,那么我建议诸如有“跪求”习惯的同学还是不用往下看了,本科生是有尊严的。

来自:电子信息 / 电子技术
64
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
阿丕 作者
18年11个月前 IP:未同步
5034



超声波测量,看似简单,但是根据IC等选择的不同也会表现出非常大的差异性。此外,温度,干扰也必须仔细的考虑。超声波传感器的选择是成功的重要条件之一,那种看起来就很粗糙的传感器坚决不买,我发现加工工艺上的差别造成的性能差异非常大。减低超声波的频率可以明显提高检测距离,同时精度会降低;提高频率则反之

超声波原理图如上,同时我提供了单片机PIC16F873的16进制代码。日本人的温度修正是通过A/D转换手动调整修正。

注意了,如果出现接收信号困难或者短的情况,我建议各位参考他的接收信号放大电路部分。这部分比较关键。增加发射功率的效果远没有这样的调整效果明显。如果发现模仿的放大电路部分不能工作,那么这一定是你自己的问题,没有其他任何的解释,仔细的查看线路排布,将可能造成干扰的部分与信号线尽可能的远离。

1233_7897_646.jpg

attachment icon 1233_7897_647.zip 0.79KB ZIP 66次下载

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年11个月前 IP:未同步
5035


1233_7898_653.jpg

1233_7898_654.jpg

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
sohupusy
18年10个月前 IP:未同步
5036

精度与最大距离多少??什么外界条件可以影响它的精度???

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5037

最短距离29厘米,最大距离3.6米,因为有温度补偿A/D转换,精度根据调整而定。

外界条件影响因素有:

元件选择、元件布局、元件焊接水平、走线方式、传感器质量、测量反射面材质、空气流动状况、电磁噪声幅度、机械噪声幅度、气压、检测时的检测方式(手持还是静置等)、温度、电源状况等

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
sohupusy
18年10个月前 IP:未同步
5038
误差多少?如果有超声源是否会造成很大的干扰???
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5039
误差是由各种因素共同产生的,根据调整的不同会有不同的表现。大概在10毫米左右。超声波传感器以超声波为检测手段,所以超声波对它肯定有影响,至于干扰多大那就要看干扰有多强。但是一般情况下不容易出现干扰超声源。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5040
可以将信号放大倍数增加到2000倍,效果会更好。我在测试的时候放大倍数为10000倍,略微需要电压比较器去除噪声信号
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5041
我的方案 信号放大倍数为2200,选用MC3403,输出用电压比较控制,然后接PIC16F84A,液晶显示,超声波传感器用TCF40-16TR,发射电压为6V的条件下(标准为9V,缺电池),最大稳定反射工作距离为250厘米。 未检测发射电压为80V条件下的工作距离,但目前在宿舍里尚未找到接收不到信号的地方 注意:信号放大部分比较敏感,所以有条件最好制成PCB板,这样对检测性能有很大的帮助,同时避免使用电压波动大的电源,这对检测具有很大的破坏性
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
sohupusy
18年10个月前 IP:未同步
5042
如果用来做倒车距离显示及报警都不错的.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5043
我做好后的尺寸 60*36*30 ,打算用到机器人距离传感上
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5044

我最近也在做超声波测距,前端驱动和放大电路调了快一个月了,还是不行,我的驱动电路是单片机输出40K方波连接一4.7K电阻直接驱动三极管,没有阿丕提供的电路中的4011和4069,超声波探头是12V驱动,我用示波器观察驱动波形,发现正脉宽有很大的波动,不平滑,这是什么原因?如果加了4011和4069会好一些吗?再有,我的接受电路,我使用的是324放大,当信号经过两极放大后会出现50K左右的干扰波,这是什么原因造成的?请各位大侠赐教!

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
LED
18年10个月前 IP:未同步
5045

楼上能把原理图帖一下吗,看样子是退耦不太好,有点自激。方波不方的话,用示波器比较一下MPU输出和驱动输出的差异,可能是耦合电路有问题造成的。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5046

“正脉宽有很大的波动,不平滑”

阻抗匹配问题,我以前碰到过,使用三极管放大效果反而降低。后来加了个电感解决。建议你按照我提供的电路搭建发射部分。

“自激”

你把电源滤波电容加大,同时注意不可以同时发射和接收超声波,加个LM393滤掉,或者用LM567

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
sohupusy
18年10个月前 IP:未同步
5047

超声波发生器的频率响应是多少???

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5048
一般是40KHZ
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5049

各位大侠,我现在按上图搭的电路,由于没有买到LM833,我用324代替了,比较器也用一路324输出代替,放大部分输出正常,但比较器输出脉宽很小,幅度也很小,只有几百毫伏,请问这是为什么?

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5050
比较器我改为使用358后,输出幅度稍微有所增加,但也就1.5V左右,我觉得应该是9V左右呀,我有些搞不懂
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5051
你把后面的逻辑部分也接上,顺便问一下,你用什么板子搭建电路?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5052

后面的逻辑部分我接了;我是用万能板搭的,放大部分都正常;为了验证比较器的好坏,正端输入我用单片机产生的40K标准方波代替,负端比较电压是2V,逻辑都是对的,但输出还是只有1V左右。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5053

电路图中RA5的状态对输出有决定作用,作者用这个方法屏蔽短距离内的信号,防止过早接收错误信号,要注意。“如果其他部分正常的话”,仔细看这部分

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5054
iss106能否用4148代替?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5055
由于没买到iss106,我用4148来代替,比较器的输入端波形有比较大的纹波(当没有接受到超声波时D1正端波形很稳,但D1负端确有纹波),这时比较器的输出逻辑也不对,当比较器正端我用低电平输入时,输出逻辑是对的,这时为什么?如何才能解决?请各位不吝赐教!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5056

我的整流用的是2AP12,建议你不要用万能板,那样的话容易使比较器处于某种微妙的状况,如果你的电路密集。

后面接74HC14,两个逻辑非并联输出信号,在看一看

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5057

我在比较器的正向输入端与地之间接了一个1M的电阻,比较器就工作正常了,我放大了10000倍,但反射探测距离也就2米左右,是不是因为我加了1M电阻的原因,但如果不加,比较器就无法正常工作

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5058

祝贺,祝贺

你把电压比较的参考量调低,然后增加发射功率

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5059

参考电压我已调为0.2V,但探测距离也只有2.5米,如何增加发射功率?我的电源电压是12V,探头驱动电压是9V,如果改为12V驱动,电源电压可能会有纹波引入。LM4069在电路中主要起什么作用?可不可以不用?

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5060

4069的作用自己分析,如果连这个都不清楚,估计也就不用考虑功率问题了。

KING ,我开始发现你不动脑筋了

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年10个月前 IP:未同步
5061

我也是刚开始接触这些东西,有些不明白,4069我觉着应该是增加它的驱动功率,但不太肯定。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年10个月前 IP:未同步
5062
你重新调整电路,优化后可以增加不少的检测距离。如果你的电路不能正常工作,把改动的部分恢复为我提供的电路
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年9个月前 IP:未同步
5063

最近做了一些新的尝试,将MC3403更换为LM324N,同时放大倍数调整为100000,发现了与KING相同的问题。

首先是逻辑上的错误,在调整了比较器以后问题解决了

其次是干扰,强度很厉害,在信号干扰抑制过程中,需要把比较电压提高很多

看来IC和放大倍数选择重要性很大

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
king
18年9个月前 IP:未同步
5064

收发分离我已调通,稳定测距可以达到2.5米。我最近将收发分离改为了收发一体,为了提高发射电压,我使用了一比四的升压变压器,发射电压是提高了,但引进了许多干扰,经过lm324的1000倍放大噪声竟然达到了两伏,我是用567进行鉴频的,回波几乎全被淹没了,请问哪位大侠做过收发一体的超声波测距?可否给个参考电路?

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年9个月前 IP:未同步
5065

人类的耳朵只能分辨频率为20至2万赫兹的声音,频率比人的听频范围高的声波就叫做超声波。不同的动物可听到的声波频率范围不尽相同。超声波对于蝙蝠更为重要,这种动物是靠超声波来“看”世界! 蝙蝠先会发出一连串超声的尖叫声,声波遇到障碍物便会反射,就像我们向山谷拍手会听到回声一样。由于超声波的频率高,相对较少出现绕射现象,所以回声十分清晰。蝙蝠分析回声的方向和回传时间,便可以知道环境的精确图像。人们根据蝙蝠“看”事物的原理,发明了声纳探测器,用来测量水深。船只上的发射器先向海底发射超声波,再由另一些仪器接收和分析反射回来的信息,从而得到整个海床的面貌。

同样的道理,可以更改频率获得能在空气中传播的超声波,这样的声波遇到障碍物的时候返回,因此,通过分析时间间隔的大小可以获得本体与障碍物间的距离,这样的检测称为无接触测量技术,有广泛的运用场合,采用超声波检测距离的特点在于:

1. 超声波在均匀介质中沿直线传播,当遇到不同的物质时,发生反射和折射现象,因此可以运用这种现象来获得反射物体存在的空间参数;

2. 超声波的指向性很好,特别是在高频率或者高发射功率的情况下;

3. 超声波传播能量由各种因素决定,传播距离越远,由于介质吸收等因素造成的能量损耗越明显,特别是在高的传播频率和低的介质密度条件下;

4. 超声波在人耳听不到的声波频率范围内,避免了超声波的装置工作时,产生的噪声对人体的损害;

5. 超声波波长越短,其检测精度越高。

因此超声波装置尤其适用于存在/非存在监测、精确距离监测,或其它类型传感技术不能很好的发挥作用的应用领域,如监测透明或发光物体、充满雾气或尘埃的空气,或是喷射状液体,而且随着性能的提升,可以进一步取代其他的检测方式,以其便捷性和精度高等优势成为一种理想和被推荐的检测,有更广的应用前景。

目前,人们已经制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气

流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。

压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器

内部有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。

超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为<st1:chmetcnv w:st=\"on\" TCSC=\"0\" NumberType=\"1\" Negative=\"False\" HasSpace=\"False\" SourceValue=\"340\" UnitName=\"m\">340m</st1:chmetcnv>/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 ,这就是所谓的时间差测距法。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年9个月前 IP:未同步
5066

从我论文上截取的,还有问题的话尽管问

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年9个月前 IP:未同步
5067

全部发上来的话,会被教授打PP,所以不好意思,不可以这么做。但是各位如果有问题的话,我会尽力解答的

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年7个月前 IP:未同步
5068

补充说明一下

我提供电路方案的目的是帮助解决制作过程中可能碰到的细节问题,并不是直接提供代码、论文等完整设计方案的。所以希望大家以后不要询问了。

坦白的讲,提供全部资料对大家的成长没有任何好处

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cqcclt2004
18年6个月前 IP:未同步
5069

请问阿坯,你接收到的信号幅值上下波动吗?

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年6个月前 IP:未同步
5070

你采用的超声波传感器频率比较高,所以总的来讲,对单片机检测提出了比较高的要求。我一般发射10个脉冲,然后间隔一段时间开始检测信号接收,这是40KHZ的情况。

你将检测到的信号(10个左右的脉冲),一般为正弦波,整流后提供给单片机。就比较容易得到稳定的低电平或者高电平信号了。10个脉冲的时间远大于单片机的工作周期,这样信号判别会容易点。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
HK007
18年6个月前 IP:未同步
5071

可以在接受器后面加一个LC谐振器(注意要考虑接受器的等效电容和等效阻抗),频率为40K,然后用倍压检波,这样利用LC谐振的原理,可以过滤杂波,并且提高接受灵敏度.

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
gliht
18年5个月前 IP:未同步
5072

请版主发个有关超声波测距电路和代码给我吧,谢谢了

gliht@XXXXXXX

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shuihe
18年4个月前 IP:未同步
5073

我最近做了一个超声波测距,不过不知道在那出了问题,数据乱跳,想各位高人指导.

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shuihe
18年4个月前 IP:未同步
5074

 请各位帮我分析一下电路,我是程序发出40KHZ,用9013接12V驱动发射探头,接受时用3个UA741放大,然后接LM567,不知道是程序问题还是电路问题,数据乱跳,请高人知道,不胜感激!!

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shuihe
18年4个月前 IP:未同步
5075

下面是我的程序:请个老师指导一下,是不是程序问题!

EN EQU P2.0
RW EQU P2.1
RS EQU P2.2


ORG 0000H
jmp start
org 0003h
jmp exa
;org 0100h
start: MOV A,#38H
LCALL WR_INST
MOV A,#08H
LCALL WR_INST
MOV A,#01H
LCALL WR_INST
MOV A,#0FH
LCALL WR_INST
MOV A,#06H
LCALL WR_INST
MOV TL0,#00H
MOV TH0,#00H
MOV R0,#0BH
MOV R1,#0BH
MOV R3,#19H
MOV 30H,#44H
MOV 31H,#69H
MOV 32H,#73H
MOV 33H,#74H
MOV 34H,#61H
MOV 35H,#6EH
MOV 36H,#63H
MOV 37H,#65H
MOV 38H,#20H
MOV 39H,#20H
MOV 3EH,#6DH
MOV 3FH,#6DH

MOV 50H,#54H
MOV 51H,#69H
MOV 52H,#6DH
MOV 53H,#65H
MOV 54H,#20H
MOV 55H,#20H
MOV 56H,#20H
MOV 57H,#48H
MOV 58H,#3AH
MOV 59H,#20H
MOV 5AH,#20H
MOV 5BH,#4DH
MOV 5CH,#3AH
MOV 5DH,#20H
MOV 5EH,#20H
MOV 5FH,#53H
MOV 70H,#00h
MOV 71H,#00h
MOV 74H,#00h
MOV 73H,#00h

SS: MOV IE,#81H ;开总中断,允许INT0中断
MOV IP,#01H
MOV TCON,#01H
MOV TMOD,#01H ;定时器工作方式选择
MOV 16H,#32H
MOV 15H,#0C8H
;MOV 17H,#90H
MOV TL0,#00H
MOV TH0,#00H
here: ;输出40kHz方波
CPL p3.0
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R3,HERE
setb tr0
DJNZ 15H,HERE
DJNZ 16H,HERE
JMP SS
ZZ: ;读取计时时间
MOV R2,71H
MOV R3,70H
MOV R6,#11H ;22H为十进制17
MOV R7,#00H
ACALL MULD ;双字节十六进制乘法 乘以34
mov R6,#64H ;除以100
mov R7,#00H
ACALL DIVD ;双字节十六进制乘法
MOV 73H,R2
MOV 74H,R3
MOV R6,73H
MOV R7,74H
ACALL HB2 ;;BCD码转换
ACALL NUM2ASCII ;转换成ASCII
ACALL WR_STRING1;调显示
;ACALL WR_STRING
RET
;-----------------------------------------------
exa: push ACC
PUSH PSW
CLR TR0
clr EA
MOV 70H,TL0
MOV 71H,TH0
ACALL ZZ
SETB EA
POP PSW
POP ACC
RETI
WR_STRING1: ;第1行
MOV A,#80H
LCALL WR_INST
MOV R2,#16H
MOV R0,#30H
NEXT4: MOV A,@R0
ACALL WR_DATA1
INC R0
DJNZ R2,NEXT4
;第2行
MOV A,#0C0H
ACALL WR_INST
MOV R2,#16H
MOV R0,#50H
NEXT0: MOV A,@R0
ACALL WR_DATA1
INC R0
DJNZ R2,NEXT0
RET
NUM2ASCII: ;; 转换
MOV A,R5 ;低位转换,结果在3DH,3CH
ACALL K
MOV 3DH,A
INC R0
XCHD A,@R0
MOV 3CH,A
MOV A,R4 ;高位转换,结果在3BH,3AH
ACALL K
MOV 3BH,A
INC R0
XCHD A,@R0
MOV 3AH,A
k: MOV R0,#25H
MOV @R0,A
SWAP A
INC R0
MOV @R0,A
MOV A,#30H
MOV R0,#25H
XCHD A,@R0
RET
;-----------------------------------------------

WR_INST: ;液晶屏写指令
ACALL C_BF
CLR RS
CLR RW
SETB EN
MOV P1,A
CLR EN
RET
;-----------------------------------------------
C_BF: PUSH ACC ;液晶屏查忙
BUSY: CLR RS
SETB RW
SETB EN
MOV A,P1
CLR EN
JB ACC.7,BUSY
ACALL DELAY
POP ACC
RET
;---------------------------------------------------
WR_DATA1: ;液晶屏写数据
ACALL C_BF
SETB RS
CLR RW
SETB EN
MOV p1,A
CLR EN
RET
;---------------------------------------------------

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 双字节十六进制乘法 结果在R2R3中
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MULD:
MOV A,R3 ; 计算R3乘R7
MOV B,R7
MUL AB
MOV R4,B ;暂存部分积
MOV R5,A
MOV A,R3 ;计算R3乘R6
MOV B,R6
MUL AB
ADD A,R4 ;累加部分积
MOV R4,A
CLR A
ADDC A,B
MOV R3,A
MOV A,R2 ;计算R2乘R7
MOV B,R7
MUL AB
ADD A,R4 ;累加部分积
MOV R4,A
MOV A,R3
ADDC A,B
MOV R3,A
CLR A
RLC A
XCH A,R2 ;计算R2乘R6
MOV B,R6
MUL AB
ADD A,R3 ;累加部分积
MOV R3,A
MOV A,R2
ADDC A,B
MOV R2,A
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 双字节十六进制除法 结果在R3R4R5中
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DIVD:
CLR C
MOV A,R3
SUBB A,R7
MOV A,R2
SUBB A,R6
JC DVD1
SETB OV
RET
DVD1: MOV B,#10H
DVD2: CLR C
MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV A,R3
RLC A
MOV R3,A
XCH A,R2
RLC A
XCH A,R2
MOV F0,C
CLR C
SUBB A,R7
MOV R1,A
MOV A,R2
SUBB A,R6
ANL C,/F0
JC DVD3
MOV R2,A
MOV A,R1
MOV R3,A
INC R5
DVD3: DJNZ B,DVD2
MOV A,R4
MOV R2,A
MOV A,R5
MOV R3,A
CLR OV
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 双字节十六进制BCD转换 ;; 高位在R4,低位在R5
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HB2: CLR A ;BCD码初始化
MOV R3,A
MOV R4,A
MOV R5,A
MOV R2,#10H ;转换双字节十六进制整数
HB3: MOV A,R7 ;从高端移出待转换数的一位到CY中
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5 ;BCD码带进位自身相加,相当于乘2
ADDC A,R5
DA A ;十进制调整
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3 ;双字节十六进制数的万位数不超过6,不用调整
MOV R3,A
DJNZ R2,HB3
RET
;---------------------------------------------------
DELAY: MOV R6,#23 ;延时
D1: MOV R7,#200
DJNZ R7,$
DJNZ R6,D1
RET
DELAY1:MOV R5,#2
D0: MOV R6,#255
D2: MOV R7,#200
D3: NOP
NOP
DJNZ R7,D3
DJNZ R6,D2
DJNZ R5,D0
RET
DELAY2: MOV R6,#200
QQ: MOV R5,#20
QQ1: NOP ;延时
DJNZ R5,QQ1
RET
;---------------------------------------------------
END

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年4个月前 IP:未同步
5076

首先建议查找出对应采用的放大器的频率范围

其次建议不要采用LM567,采用LM393,我在使用LM567时也发现了一些问题

再次建议探测间隔时间长一点

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shuihe
18年4个月前 IP:未同步
5077
首先谢谢阿丕工程师,LM567频率范围是0.1HZ到500MHZ,范围肯定是够的,我在LM567的1脚接2.2UF,2脚接105,5,6脚间接10K电阻,5脚再接103接到地,用12V或5V电源.我用信号发生器察看输出频率,可以看到38-41KHZ频率,不怎么稳定!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shuihe
18年4个月前 IP:未同步
5078
UA741的频率是没有问题的
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年4个月前 IP:未同步
5079

那么接下来就做硬件方面的一些调整,比如发射和接收探头位置,线路布局等。也可以更换超声波探头试一试

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕作者
18年4个月前 IP:未同步
5080

补充说明一下:

你提供的程序我没有分析,一般情况下,程序结果出现错误的可能性决定于是否启用了,比如WATCH DOG等附带功能.另外如果是连续检测的话,建议适当调整检测间隔时间.

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shuihe
18年4个月前 IP:未同步
5081
我用的是89CS51,INT0中断,P3.0发射,电路我改成成LM324,频率特性没有问题的,发射是用9013驱动的,其中一个运放作为比较器,可是仍然没有用,急死人了.你帮我分析一下程序吧,请你多指教啊!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shuihe
18年4个月前 IP:未同步
5082
是89C51,不是上面的89CS51,写错了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shuihe
18年4个月前 IP:未同步
5083
程序的前面是液晶屏的显示初始化,就看一下发射,中断处理,数据处理是否有问题,我是4位显示,程序中可以看出来的,谢谢了!!!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
阿丕
学者 笔友
文章
108
回复
880
学术分
35
2005/09/09注册,9个月9天前活动

心静自然凉

主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}