STC8H系列的pwm可以输出2.4MHz的 方波吗?
如题,STC8H系列的pwm可不可以输出2.4MHz的 方波? 当然可以,计算方法请参考我们最新资料的第21章节,如图所示,最新资料下载地址如下https://www.stcai.com/cp_stc8hxl 建议用 主时钟输出功能,或 T0CLKO,T1CLKO,T2CLKO,T3CLKO,T4CLKO 的时钟输出功能,尤其主时钟输出功能/MCLKO/MCLKO_2 不占用定时器/PWM资源,其他的办法都是不认真看芯片资料的办法6.1.7 主时钟输出控制寄存器(MCLKOCR)
MCLKODIV:主时钟输出分频系数
(注意:主时钟分频输出的时钟源是经过 CLKDIV 分频后的系统时钟)
MCLKODIV 系统时钟分频输出频率
0000000 不输出时钟
0000001 SYSClk/1
0000010 SYSClk /2
0000011 SYSClk /3
... ...
1111110 SYSClk /126
1111111 SYSClk /127
MCLKO_S:系统时钟输出管脚选择
0:系统时钟分频输出到 P5.4 口
1:系统时钟分频输出到 P1.6 口
可以的,跑24MHz,周期为(10-1),50%占空比,输出就是2.4MHz的方波。
用定时器或系统时钟输出更简单方便。 谢谢以上各位回复,正在选型中,这个STC8H的性价比还是真高,就选他了 如果要将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。
页:
[1]