找回密码
 立即注册
查看: 1126|回复: 5

STC8H系列的pwm可以输出2.4MHz的 方波吗?

[复制链接]
  • TA的每日心情
    奋斗
    2024-1-16 15:48
  • 签到天数: 1 天

    [LV.1]初来乍到

    6

    主题

    25

    回帖

    156

    积分

    注册会员

    积分
    156
    发表于 2022-12-7 11:47:34 | 显示全部楼层 |阅读模式
    如题,STC8H系列的pwm可不可以输出2.4MHz的 方波?
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-3-19 10:40
  • 签到天数: 41 天

    [LV.5]常住居民I

    10

    主题

    327

    回帖

    1435

    积分

    版主

    积分
    1435
    QQ
    发表于 2022-12-7 11:58:51 | 显示全部楼层
    当然可以,计算方法请参考我们最新资料的第21章节,如图所示,最新资料下载地址如下https://www.stcai.com/cp_stc8hxl   
    2.png
    www.STCAI.com

    该用户从未签到

    552

    主题

    9492

    回帖

    1万

    积分

    管理员

    积分
    14057
    发表于 2022-12-7 13:06:07 | 显示全部楼层
    建议用 主时钟输出功能,或 T0CLKO,  T1CLKO,  T2CLKO,  T3CLKO,  T4CLKO 的时钟输出功能,尤其主时钟输出功能/MCLKO/MCLKO_2 不占用定时器/PWM资源,其他的办法都是不认真看芯片资料的办法


    6.1.7 主时钟输出控制寄存器(MCLKOCR)

    MCLKODIV[6:0]:主时钟输出分频系数

    (注意:主时钟分频输出的时钟源是经过 CLKDIV 分频后的系统时钟)
    MCLKODIV[6:0] 系统时钟分频输出频率
    0000000 不输出时钟
    0000001 SYSClk/1
    0000010 SYSClk /2
    0000011 SYSClk /3
    ... ...
    1111110 SYSClk /126
    1111111 SYSClk /127
    MCLKO_S:系统时钟输出管脚选择
    0:系统时钟分频输出到 P5.4 口
    1:系统时钟分频输出到 P1.6 口

    该用户从未签到

    46

    主题

    3038

    回帖

    6847

    积分

    超级版主

    积分
    6847
    发表于 2022-12-7 15:38:25 | 显示全部楼层
    可以的,跑24MHz,周期为(10-1),50%占空比,输出就是2.4MHz的方波。
    用定时器或系统时钟输出更简单方便。
  • TA的每日心情
    奋斗
    2024-1-16 15:48
  • 签到天数: 1 天

    [LV.1]初来乍到

    6

    主题

    25

    回帖

    156

    积分

    注册会员

    积分
    156
     楼主| 发表于 2022-12-8 10:17:42 | 显示全部楼层
    谢谢以上各位回复,正在选型中,这个STC8H的性价比还是真高,就选他了

    该用户从未签到

    1

    主题

    2

    回帖

    11

    积分

    新手上路

    积分
    11
    发表于 2022-12-9 13:30:30 | 显示全部楼层
    如果要将PWM的频率设置为2.4Mhz,可以使用以下代码进行配置:

    PWM_CLOCK = 0x03; // 设置PWM时钟为2.4Mhz

    在这个例子中,PWM_CLOCK寄存器的值为0x03,表示将PWM时钟设置为2.4Mhz。这样,PWM模块就可以产生2.4Mhz的PWM波形了。

    注意,在配置PWM时钟时,需要根据STC8G1K08A的实际时钟频率来计算PWM_CLOCK寄存器的值。例如,如果STC8G1K08A的时钟频率为12Mhz,那么可以使用以下公式计算PWM_CLOCK寄存器的值:

    PWM_CLOCK = (12Mhz / 2.4Mhz) - 1

    在这个例子中,PWM_CLOCK寄存器的值为(12Mhz / 2.4Mhz) - 1 = 3。

    另外,在计算PWM_CLOCK寄存器的值时,还需要注意PWM时钟的最大值。在STC8G1K08A中,PWM时钟的最大值为255,因此如果计算出的PWM_CLOCK寄存器的值大于255,则需要将其设置为255。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-18 05:04 , Processed in 0.060103 second(s), 52 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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