标题: 请教stc15f2k60s单片机设置PWM 不用定时器作用晶振源 不知怎么弄 [打印本页]

作者: WCM1998    时间: 2023-3-19 16:18
标题: 请教stc15f2k60s单片机设置PWM 不用定时器作用晶振源 不知怎么弄
用STC15F2K60设置频率为6150HZ占空可调PWM、不能用定时器作用晶振源、不知怎么弄、请指教
作者: wulin    时间: 2023-3-19 16:52
这是某实际应用的PWM初始化函数,应该能看明白。
  1. void PWM_Init(void)
  2. {
  3.         CCON = 0;                                //初始化PCA控制寄存器
  4.         CL = 0;                 //复位PCA寄存器
  5.         CH = 0;                 //复位PCA寄存器
  6. //        CMOD = 0x00;                         //设置PCA时钟源,PWM频率=11.0592MHZ/12/256=3.600KHZ 278us
  7. //        CMOD = 0x02;                         //设置PCA时钟源,PWM频率=11.0592MHZ/2/256=21.600KHZ 46us
  8. //        CMOD = 0x04;                         //设置PCA时钟源,PWM频率= 定时器溢出11.0592MHZ/1~65536/256=43.200KHZ~0.659HZ
  9. //        CMOD = 0x06;                         //设置PCA时钟源,PWM频率= 外部时钟/1/256
  10. //        CMOD = 0x08;                         //设置PCA时钟源,PWM频率=11.0592MHZ/1/256=43.200KHZ 23us
  11. //        CMOD = 0x0A;                         //设置PCA时钟源,PWM频率=11.0592MHZ/4/256=10.800KHZ 93us
  12. //        CMOD = 0x0C;                         //设置PCA时钟源,PWM频率=11.0592MHZ/6/256=7.200KHZ 139us
  13.         CMOD = 0x0E;                         //设置PCA时钟源,PWM频率=11.0592MHZ/8/256=5.400KHZ 185us
  14.         PCA_PWM0 = 0x00;        //PCA模块0工作于8位PWM
  15.         PCA_PWM1 = 0x00;        //PCA模块1工作于8位PWM
  16.         CCAP0H = CCAP0L = 0xFF; //PWM0的占空比为0%
  17.         CCAP1H = CCAP1L = 0xFF; //PWM1的占空比为0%       
  18.         CCAPM0 = 0x42;                        //允许CCP0脚用作脉宽调节输出
  19.         CCAPM1 = 0x42;          //允许CCP1脚用作脉宽调节输出
  20.         CR = 1;                 //PCA定时器开始工作
  21. }
复制代码

作者: WCM1998    时间: 2023-3-19 19:03
wulin 发表于 2023-3-19 16:52
这是某实际应用的PWM初始化函数,应该能看明白。

谢谢、
还是不是我想设置的、
频率=晶振频率/256/分频、
怎么选择都达不到6.15K




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1