STC8G1K08使用10位PWM输出
STC8G1K08使用10位PWM输出。运行中修改占空比,先PCA_PWM0,后CCAP0H。输出占空比不能线性。什么原因?请详细描述什么叫“输出占空比不能线性”? 输出占空比不是连续变化。输入0-5v。应该输出0%-100%。实际上输入0-2V,输出%0-20%;输入2-4v,输出又%5-20%反复。
应该是重载值高位PCA_PWM0出错。CH,CL的值有3FF变为00溢出时,修改高位PCA_PWM0造成的? CH,CL的值有3FF变为00溢出时瞬间,不能修改CH,CL的值?软件上有什么办法?
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。 0-5vAD采样转化为0-1023。一边AD采样,一边同时修改PWM占空比(先PCA_PWM0,后CCAP0H), 希望pwn输出占空比值为0~1023。
但实际上PWM不是这样输出。输出%0-20%,5%-20,一直这样。什么原因?
你用仿真器仿真看下你的程序和寄存器的变化
用 STC-USB Link1D 仿真 STC8 系列 MCU - 编译器/仿真器/ISP下载/做自己的ISP - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
0-5v AD采样转化为0-1023(ADH:ADL)。一边AD采样,一边把AD采样值(400H-ADH:ADL)先PCA_PWM0,后CCAP0H放入,修改PWM占空比,。希望pwn输出占空比值为0~1023。
但实际上PWM不是这样输出。输出%0-20%,5%-20,一直这样。什么原因? gjl 发表于 2023-8-25 14:35
0-5v AD采样转化为0-1023(ADH:ADL)。一边AD采样,一边把AD采样值(400H-ADH:ADL)先PCA_PWM0,后CCAP0 ...
那你先监控ADC的读数是多少。
页:
[1]