gjl 发表于 2023-8-23 11:07:48

STC8G1K08使用10位PWM输出

STC8G1K08使用10位PWM输出。运行中修改占空比,先PCA_PWM0,后CCAP0H。输出占空比不能线性。什么原因?

梁工 发表于 2023-8-23 12:29:26

请详细描述什么叫“输出占空比不能线性”?

gjl 发表于 2023-8-23 14:21:12

输出占空比不是连续变化。输入0-5v。应该输出0%-100%。实际上输入0-2V,输出%0-20%;输入2-4v,输出又%5-20%反复。
应该是重载值高位PCA_PWM0出错。CH,CL的值有3FF变为00溢出时,修改高位PCA_PWM0造成的?

gjl 发表于 2023-8-23 14:22:55

CH,CL的值有3FF变为00溢出时瞬间,不能修改CH,CL的值?软件上有什么办法?

梁工 发表于 2023-8-23 16:40:40

gjl 发表于 2023-8-23 14:21
输出占空比不是连续变化。输入0-5v。应该输出0%-100%。实际上输入0-2V,输出%0-20%;输入2-4v,输出又%5-20 ...

PWM输出占空比与输入多少V无关。
PWM是一个数字外设,设置占空比是数字的,不会有任何误差。
比如10位PWM,占空比值为0~1023,则低电平占空比为 0~1023/1024,步进为1/1024。

gjl 发表于 2023-8-25 14:32:52

0-5vAD采样转化为0-1023。一边AD采样,一边同时修改PWM占空比(先PCA_PWM0,后CCAP0H), 希望pwn输出占空比值为0~1023。
但实际上PWM不是这样输出。输出%0-20%,5%-20,一直这样。什么原因?

神农鼎 发表于 2023-8-25 14:35:23

你用仿真器仿真看下你的程序和寄存器的变化



用 STC-USB Link1D 仿真 STC8 系列 MCU - 编译器/仿真器/ISP下载/做自己的ISP - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

gjl 发表于 2023-8-25 14:35:35

0-5v  AD采样转化为0-1023(ADH:ADL)。一边AD采样,一边把AD采样值(400H-ADH:ADL)先PCA_PWM0,后CCAP0H放入,修改PWM占空比,。希望pwn输出占空比值为0~1023。
但实际上PWM不是这样输出。输出%0-20%,5%-20,一直这样。什么原因?

梁工 发表于 2023-8-25 14:56:07

gjl 发表于 2023-8-25 14:35
0-5v  AD采样转化为0-1023(ADH:ADL)。一边AD采样,一边把AD采样值(400H-ADH:ADL)先PCA_PWM0,后CCAP0 ...

那你先监控ADC的读数是多少。
页: [1]
查看完整版本: STC8G1K08使用10位PWM输出