基于单片机频率相位表相位差设计
1452下载地址 https://docs.qq.com/doc/DWEpnR2pOWU91b3p4?pub=1&dver=2.1.0
1.2.1测量方波频率的原理
定时/计数器工作在方式1,每产生一次定时器0中断,计数65536个脉冲,此时的脉冲来自自振荡器的12分频后的脉冲,其周期为1uS。根据产生外部中断0时,定时器0中断的次数u,以及此时定时/计数器0计数寄存器的数值X,即可求得待测方波的周期为:T=65536*u+X 微秒。取其倒数即可求得待测方波的频率,小数点后保留两位,即可使得频率精度为0.1HZ。
1.2.2相位差的测量原理
将两路同频不同相的方波信号异或后得到的脉冲宽度t与方波信号的周期T的比值(占空比),即对应为两信号的相位差,,此时相位差 。其中,脉冲宽度的测量方法与方波周期的测量方法相同。异或测量相位差的原理图
#include <reg51.h>
#include "LCD1602.h"
//短延时函数:ShortDelay()
void ShortDelay(uchar i)
{
for(;i>0;i--) ;
}
/*
//长延时函数:LongDelay()
void LongDelay(uint i)
{
uint j;
for(;i>0;i--)
{ for(j=1000;j>0;j--);}
} */
//寄存器选择信号:SetRS()
void SetRS(bit i)
{
if(i==1) PinRS = 1;
else PinRS = 0;
}
//读写操作控制信号:SetRW()
void SetRW(bit i)
{
if(i==1) PinRW = 1;
else PinRW = 0;
}



浙公网安备 33010602011771号