前言
前两天接触了一个关于相位差测量的问题,整出来后就期待能够记录一下。
波形的相位差是指两个波形在同时刻的相位差值。相位差可以用弧度或者角度来度量,通常用于描述两个正弦波之间的相位关系。我们可以通过观察两个波形的波形图来确定它们的相位差。如果两个波形的峰值或谷值同时出现,并且它们的相位相同,那么它们的相位差为0°或0弧度。如果两个波形的峰值或谷值没有同时出现,相位差则是它们最先出现的峰值或谷值之间的相位差。本文基于AT89C51/STC32G单片机设计方波的相位差测量。
题目要求
设计一个电路,能识别两路正弦波的相位差,stc32G单片机进行处理,显示出正弦波的相位差。
题目分析
硬件电路
如图,欲将两个正弦波之间的相位差测量出来可以先将两路正弦波通过比较器,比较器输出的方波周期、相位差均为正弦波的周期和相位差。那么接下来就是使用MCU处理方波的周期和相位时间差了。
软件设计思维
1.相位差的测量此时可以通过测量两路方波相邻的上升沿与上升沿之间(或下降沿于下降沿)的时间差t,再测量得方波的周期T。那么测量的相位差结果即为:相位差 = (t / T)x 2Π
2.AT89C51的晶振为12MHz(STC32G工作为12T模式),测量两路方波的相位时间差的思维导图如下:
3.AT89C51的晶振为12MHz(STC32G工作为12T模式),测量方波的周期的思维导图如下:
4、Proteus仿真结果
第一个数据为相位差时间,第二个为相位差(Π),第三个数据外周期:
程序下载链接:https://download.csdn.net/download/weixin_49773985/88603383?spm=1001.2101.3001.9500