wt418995874 发表于 2024-1-8 21:33:26

stc8g1k08a PCA PWM波形异常,如图 | 已解决

如图波形异常,目前刚写完软件测试PWM波形,但是有这样的现象,请问有什么问题影响?
程序只有上电时进行配置,如下

    CCON = 0x00;
    CMOD = 0x00;                              //PCA时钟为系统时钟/12
    CL = 0x00;
    CH = 0x00;


    CCAPM1 = 0x42;                              //PCA模块1为PWM工作模式
    PCA_PWM1 = 0x00;                            //PCA模块1输出8位PWM
    CCAP1L = 0x20;                              //PWM占空比为87.5%[(100H-20H)/100H]
    CCAP1H = 0x20;

    CR = 1;


乘风飞扬 发表于 2024-1-9 19:10:19

烧录例程到芯片里试试看输出信号是否正常

wt418995874 发表于 2024-1-9 21:13:41

乘风飞扬 发表于 2024-1-9 19:10
烧录例程到芯片里试试看输出信号是否正常

感谢,测试了一下,这是正常的。
检查看了一下程序,发现是调用了一个没有定义,但是声明了的函数,导致复位
很奇怪,没有报错,但是有告警,没有注意

阿白凌坤 发表于 2025-4-18 18:02:44

我想请教一下
    CCAP0L = 0x20;                              //PWM占空比为50%[(40H-20H)/40H]
    CCAP0H = 0x20;

   这个:PWM占空比为50%[(40H-20H)/40H]中的40H20H都是哪里来的 (如何知道)我看了好久的手册都没有找到
而且 6、7、8位的都是 CCAP0L = 0x20;      
                              CCAP0H = 0x20;         
         占空比结果都不一样,困扰!      
   

阿白凌坤 发表于 2025-4-18 18:37:01

想明白了:6位最大值64   、7位最大值128、 8位最大值256 、 10位最大值1024    0x20转为十进制就是32
(64-32)/64*100 =50%   (128-32)/128*100=75%   (256-32)/256*100=87.8%       (1024 -32)/1024*100=96.875%

所以设置占空比只需要调整 CCAP0L      
                                       CCAP0H    的值就能得到相应的占空比。
如果不对还请前辈们指导谢谢!         
页: [1]
查看完整版本: stc8g1k08a PCA PWM波形异常,如图 | 已解决