小刘咿呀 发表于 2024-2-29 15:25:00

STC8A8K64D4芯片如何同时输出三路不同频率不同占空比的硬件PWM

STC8A8K64D4芯片,目前需要同时输出三路不同频率不同占空比的硬件PWM,每路PWM可以独立调整频率和占空比,不影响其他两路PWM,
现用PCA输出了一组,增强型PWM输出了一组,还需要再开一组,请问是否还有其他办法(软件模拟PWM无法实现,所需频率较高)

神农鼎 发表于 2024-2-29 18:48:16

应该换成 STC8G2K64S4-36I-LQFP48/32
深圳国芯人工智能有限公司-产品_STC8G系列 (stcai.com)

STC8G2K64S4, 硬件能产生 【 6+1 】7种周期不同的PWM,占空比每个通道都可以自己调整
前6种周期/频率:增强型15位PWM, 分成6组不同周期的PWM,
                         共45通道PWM, 每个通道都可以自己独立调整自己的占空比
第7种周期/频率:PCA/CCP的PWM, 3通道,这3通道周期相同,3个通道,都是各自独立的占空比







神农鼎 发表于 2024-2-29 18:51:39


神农鼎 发表于 2024-2-29 20:00:56

STC8A8K64D4, 硬件只能产生 2种 周期不同的PWM, 占空比每个通道都可以自己独立调整
深圳国芯人工智能有限公司-产品_STC8A系列 (stcai.com)


第一种周期/频率:增强型15位PWM, 8通道,这8通道周期相同,8个通道,都是各自占空比独立可调
第二种周期/频率:PCA/CCP的PWM, 4通道,这4通道周期相同,4个通道,都是各自占空比独立可调

要产生第三种周期/频率,可以用16位定时器/计数器的I/O对外自动翻转对外输出时钟,
===定时器软件模拟产生PWM








神农鼎 发表于 2024-2-29 20:03:17



定时器软件模拟产生PWM的参考程序,


rip 发表于 2024-7-1 21:32:01

神农鼎 发表于 2024-2-29 20:03
定时器软件模拟产生PWM的参考程序,

PWM频率为周期的倒数。假如PWM的周期为6000, 使用24MHZ的主频,则PWM频率为4000HZ。

#define   PWM_DUTY      6000            //定义PWM的周期,数值为时钟周期数,假如使用24.576MHZ的主频,则PWM频率为6000HZ。

范例程序中对 PWM 频率的两处描述怎么不一样?

梁工 发表于 2024-7-1 22:40:19

rip 发表于 2024-7-1 21:32
范例程序中对 PWM 频率的两处描述怎么不一样?

改了定义,没改到注释。原来是:
#define   PWM_DUTY   4096   //定义PWM的周期,数值为时钟周期数,加如使用24.576MHz的主频,则PWM频率为60000Hz。
页: [1]
查看完整版本: STC8A8K64D4芯片如何同时输出三路不同频率不同占空比的硬件PWM