单片机怎么检测两个同频率、同幅度的正弦波的相位差?

2020-01-19 19:41发布

用单片机怎么检测两个频率,幅值相同的正弦波?
查过一些资料,说用过零检测电路来将正弦波转变成方波。
但具体不知道怎么计算,程序怎么写?思路有点乱。
还请知道的网友提醒,建议下。。。谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
51条回答
alias
2020-01-24 13:10
本帖最后由 alias 于 2014-4-5 17:52 编辑

我上面提到的是AVR上单一个的捕获寄存器,其它有多个捕获寄存器的 MCU 可能更好做。

先确定要测量方波的周期,假设周期 = Timer4 的 2345 个计数,我的做法如下:

1. 禁止通道2捕获中断
2. 使能通道1捕获中断
.
.
3. 通道1捕获中断出现及进入Handler
4. ReadValue[0]
5. 禁止通道1捕获中断
6. 使能通道2捕获中断
7. 中断返回
.
.
8. 通道2捕获中断出现及进入Handler
9.  ReadValue[1]
10. 禁止通道2捕获中断
11. Result=ReadValue[1]-ReadValue[0]. If Result >= 2345 then Result = Result - 2345
12. 中断返回

一周热门 更多>