huangxiaolpbany 发表于 2014-4-19 14:05:39

MEGA16使用SRF-94超声波测距

需要MEGA16采集SRF-04超声波模块的距离,输出模拟量,有几个问题想不明白,请教

1、超声波是TRIG输出至少10us高电平,模块开始工作

这个没有问题

2、等待ECHO输出高电平,高电平的持续时间即代表距离(L=时长/340/2)

准备实现方法如下:

a、以定时器T0计时
b、ECHO接到外部中断0,配置为“任意逻辑电平变化均产生中断”

c、TRIG输出时启动检测时设置一个标志位,在ECHO由0转为1时进入外部中断0的中断程序,启动T0测量
d、在ECHO由1转为0时,清除之前设置的标志位,停止计时器T0运行,并且将T0的当前值赋给一个全局变量

e、计算时长,计算距离

3、由于MEGA16没有DA功能,准备尝试使用PWM加RC的方法实现DA的功能,请问RC如何选择
设计是10ms输出一次



请教:

1、按照2的方法是否可以读到超声波输出高电平的时间?

2、PWM+RC实现DA的RC选择?

huangxiaolpbany 发表于 2014-4-19 17:25:12

自己顶自己,我将外部中断0设为电平变化就触发,可以在上升沿和下降沿都执行中断服务程序
页: [1]
查看完整版本: MEGA16使用SRF-94超声波测距