@wangdhong
C8051F好像没有PWM口吧
每个PCA0模块都可以工作在16位PWM方式在该方式下16位捕捉/比较模块定义PWM
信号低电平时间的PCA0时钟数当PCA0计数器与模块的值匹配时CEXn的输出被置1
当计数器溢出时CEXn输出被置为低电平为了输出一个占空比可变的波形新值的写入应
与PCA0 CCFn匹配中断同步置1 PCA0CPMn寄存器中的ECOMn PWMn和PWM16n位
将允许16位脉冲宽度调制器方式为了输出一个占空比可变的波形应将CCFn设置为逻辑1
以允许匹配中断16位PWM方式的占空比由方程23.3给出
关于捕捉/比较寄存器的重要注意事项当向PCA0的捕捉/比较寄存器写入一个16位数值
时应先写低字节向PCA0CPLn的写入操作将清0 ECOMn位向PCA0CPHn写入时将置
1 ECOMn位
方程23.3 16位PWM的占空比
( )
65536
65536 − PCA0CPn
占空比=
由方程23.3可知最大占空比为100% PCA0CPn = 0 最小占空比为0.0015% PCA0CPn
= 0xFFFF 可以通过清0 ECOMn位产生0%的占空比