[51单片机] pca频率输出是如何计算的

[复制链接]
1512|3
 楼主| chuandaoxy 发表于 2021-4-21 14:21 | 显示全部楼层 |阅读模式
在使用c8051f的pca,demo程序有个说明如下,这个4K-1m是如何算出来的

我的外部晶振是22.1184,倍频到88.476M,单周期0.0113us,想精准计算

如果我想使用倍频后的晶振做PCA时钟,输出10K-1HZ如何设置?pwm输出

/ The PCA time base in this example is configured to use SYSCLK / 12.
// The frequency range that can be generated using this example is ~4 kHz to
// ~1 MHz when the processor clock is 24.5 MHz.  Using different PCA clock
// sources or a different processor clock will generate different frequency
// ranges.
lyjian 发表于 2021-4-23 20:36 | 显示全部楼层
DEMO程序用的是PCA的频率输出模式(Fout=PCAclk/(2*PCA0CPH)),不是PWM输出模式。
C8051F系列没有周期寄存器,PWM输出频率由PCA时钟频率及分辨率决定,不能变化。
PWM频率=PCAclk/2^n,例如PCAclk=24MHz.,n=8,输出频率是93.75KHz。
另外,外部PCA时钟频率不能大于系统频率的1/4。
 楼主| chuandaoxy 发表于 2021-4-24 10:54 | 显示全部楼层
lyjian 发表于 2021-4-23 20:36
DEMO程序用的是PCA的频率输出模式(Fout=PCAclk/(2*PCA0CPH)),不是PWM输出模式。
C8051F系列没有周期寄存 ...

现在我的需求是这样,既要改变频率,也要改变占空比,现在用pca做软定时器,频率可调,但是占空比如何处理?
lyjian 发表于 2021-4-24 11:25 | 显示全部楼层
可以用PCA的高速输出模式+软件方式来做
输出频率做不了太高。
或者用T0溢出做PCA时钟来做。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

856

主题

1046

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部