PWM 发射程序函数声名:void Pwm_Emit(uchar path,uchar pwm_count,uchar duty_rate);
由该声明可知,该函数拥有三个输入参数,即 path、pwm_count、duty_rate。其中 Path 参数
包含换能器方向和发射频率两个信息。当输入为 MIDDLE_200K 的时候,程序就会向中间换
能器发射 200KHz 的 PWM 波。PWM 发射的源程序如下所示:
void Pwm_Emit(uchar path,uchar pwm_count,uchar duty_rate)
{
if(path==MIDDLE_76K||path==LEFT_76K||path==RIGHT_76K)
P1TPER=FCY/76000-1;
else
P1TPER=FCY/200000-1;
if(path==MIDDLE_200K||path==MIDDLE_76K)
{
P1DC1=2*duty_rate*(P1TPER+1)/100;
P1DC2=0;
P1DC3=0;
}
else if(path==LEFT_200K||path==LEFT_76K)
{
P1DC1=0;
P1DC2=2*duty_rate*(P1TPER+1)/100;
P1DC3=0;
}
else if(path==RIGHT_200K||path==RIGHT_76K)
{
P1DC1=0;
P1DC2=0;
P1DC3=2*duty_rate*(P1TPER+1)/100;
}
P1TCONbits.PTOPS = pwm_count-1;
P1TCONbits.PTEN = 1;
}
|