用定时器实现16位PWM的话,也挺纠结的。
如果要用同用定时器实现的话,得需要两个定时器吧?一个控制占空比,一个控制周期。
STC12就2个通用定时器,T0当作串口通信用,T1用作AD采集定时积分用。
还有个PCA的计时器,PCA模组当定时器用可以产生中断,控制占空比,PCA计时器计时溢出产生中断来控制周期。
可是我这里还需要额外一路4K左右PWM波,用来产生负压,给运放提供负偏置。
之前是用PCA的8位硬件PWM产生,用了两路,一路是占空比可变,用来产生DA,另一路是固定方波,来产生这个负压。
现在DA如用用PCA的16位定时器功能来实现的话,产生负压这路PWM就麻烦了。如果仍按一个周期反转一次的话,频率太低了。 |