OpenEdv-开源电子网

标题: 关于超声波测距且嗡鸣器实时响应的问题 [打印本页]

作者: wbxccl    时间: 2015-5-4 00:02
标题: 关于超声波测距且嗡鸣器实时响应的问题
关于超声波测距,并在不同的范围内嗡鸣器响的频率不同。我写了一个程序,但是在while循环里面,假如使用延时来让嗡鸣器响,会让影响到超声波的接受,使得数据显示迟钝。后来我就想用定时器中断来让嗡鸣器间断发声,但是也影响了超声波接受信号的时间判断。谁能告诉我解决的办法?求大神给点指导,谢谢~!
作者: guset_03    时间: 2015-5-4 00:59
给它分个优先级。。。。
作者: linxi    时间: 2015-5-4 08:39
因为你这两个都是对时间要求敏感的期间,任何一个中断都会影响到另一个。所以最好的办法是换一个带pwm的片子,好像stc15和12系列的就有。
作者: wbxccl    时间: 2015-5-6 12:32
回复【3楼】linxi:
---------------------------------
我用的就是12系列的 如何用Pwm弄?
作者: linxi    时间: 2015-5-6 13:20
这是12手册中关于pwm的示例程序,你可以参考。建议用单片机的时候最好下一份资料,虽然他家的资料写的乱,但还是有参考价值的。毕竟12系列增加了很多功能,现在的教程里都是没有的。
用法就是把蜂鸣器的驱动端口接在pwm输出端口上(此程序中pwm输出口为P1.3),只要在主程序里调整CCAP0H和CCAP0L的值,就可以实现蜂鸣器的不同频率的鸣响。从而只用外部中断0来获取超声波测距数据。 (, 下载次数: 2)