找回密码
 立即注册
查看: 1302|回复: 6

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-03-25 15:11:24

1

主题

0

回帖

27

积分

新手上路

积分
27
发表于 2024-2-29 15:25:00 | 显示全部楼层 |阅读模式
STC8A8K64D4芯片,目前需要同时输出三路不同频率不同占空比的硬件PWM,每路PWM可以独立调整频率和占空比,不影响其他两路PWM,
现用PCA输出了一组,增强型PWM输出了一组,还需要再开一组,请问是否还有其他办法(软件模拟PWM无法实现,所需频率较高)
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-06-17 08:13:13

733

主题

1万

回帖

1万

积分

管理员

积分
16675
发表于 2024-2-29 18:48:16 | 显示全部楼层
应该换成 STC8G2K64S4-36I-LQFP48/32
深圳国芯人工智能有限公司-产品_STC8G系列 (stcai.com)

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

截图202402291850159369.jpg

截图202402291850522468.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-06-17 08:13:13

733

主题

1万

回帖

1万

积分

管理员

积分
16675
发表于 2024-2-29 18:51:39 | 显示全部楼层
截图202402291851368999.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-06-17 08:13:13

733

主题

1万

回帖

1万

积分

管理员

积分
16675
发表于 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

截图202402291955584203.jpg

截图202402291956254644.jpg




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-06-17 08:13:13

733

主题

1万

回帖

1万

积分

管理员

积分
16675
发表于 2024-2-29 20:03:17 | 显示全部楼层
截图202402292001499482.jpg

定时器软件模拟产生PWM的参考程序
截图202402292003125828.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-04-13 03:49:09

0

主题

20

回帖

236

积分

中级会员

积分
236
发表于 2024-7-1 21:32:01 | 显示全部楼层
神*** 发表于 2024-2-29 20:03
定时器软件模拟产生PWM的参考程序,
  1. PWM频率为周期的倒数。假如PWM的周期为6000, 使用24MHZ的主频,则PWM频率为4000HZ。
复制代码
  1. #define     PWM_DUTY        6000            //定义PWM的周期,数值为时钟周期数,假如使用24.576MHZ的主频,则PWM频率为6000HZ。
复制代码


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

点评

改了定义,没改到注释。原来是: #define PWM_DUTY 4096 //定义PWM的周期,数值为时钟周期数,加如使用24.576MHz的主频,则PWM频率为60000Hz。  详情 回复 发表于 2024-7-1 22:40
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6092

回帖

1万

积分

超级版主

积分
12731
发表于 2024-7-1 22:40:19 | 显示全部楼层
ri*** 发表于 2024-7-1 21:32
范例程序中对 PWM 频率的两处描述怎么不一样?

改了定义,没改到注释。原来是:
#define   PWM_DUTY   4096     //定义PWM的周期,数值为时钟周期数,加如使用24.576MHz的主频,则PWM频率为60000Hz。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 18:50 , Processed in 0.125143 second(s), 85 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表