问答

汇集网友智慧,解决技术难题

21ic问答首页 - 请教一下STC12H1K输出PWM的问题

占空比 pc ap 输出 PWM stc12

请教一下STC12H1K输出PWM的问题

chenczyaa2024-07-03
本帖最后由 chenczyaa 于 2024-7-3 08:49 编辑

代码如下,我的P3.5脚 没PWM输出的,好奇怪。void pwm_init()
{
        
          CCON = 0x00;                         //
    CL = 0;                                   //PCA计数器 低8位
    CH = 0;                                  //PCA计数器 高8位
    CMOD = 0x00;                       //选择时钟源为系统时钟源的1/12

    CCAPM0 = 0x42;                   //0100 0010  允许比较器,允许PWM0引脚输出
          //PCA_PWM0=0x00;                   //8位PWM
          PCA_PWM0=0x40;                   //7位PWM
          CCAP0H = CCAP0L = 0x00;           //设置占空比为 0
          PWMA_PS = 0xff;
          PWMB_PS = 0xf3;//P3.5输出PWM
        
    CR = 1;                          //启动 PCA 计数器阵列
        
}

main()
{
         uchar key1up=0,key2up=0,gear1=0,gear2=0;
        
        /*
        TMOD =0x00; //0模式16位自动重装载
        TL0=0x66;   //1ms初值
        TH0=0xfc;
        TR0=1;// 启动定时器0
        ET0=1;// 开启定时器0中断
        EA=1;// 开启整个中断系统
        */
        
        P1M0=0x00;//设置P1为准双向口
        P1M1=0x00;
        
        P3M0=0x00;//设置P3为准双向口
        P3M1=0x00;
        
        //P1=0xff;
        //P35=0;
        
        pwm_init();
        

        //PCA_PWM0=0x02;CCAP0H= CCAP0L=0xFF;   //固定输出低
        //PCA_PWM0=0x00;CCAP0H= CCAP0L=0x00;   //固定输出高

        //CCAP0L=0x20;//PWM占空比(100H-20H)/100H(87.5%)//8位PWM
        //CCAP0H=0x20;
          CR = 0;  
          //CCAP0L=0xCC;//PWM占空比(100H-CCH)/100H(20%)//8位PWM
          //CCAP0H=0xCC;
                CCAP0L=0x20;//PWM占空比(80H-20H)/80H(75%)//7位PWM
          CCAP0H=0x20;
                CR = 1;

    P34=0;
        
        while(1)
  {
                delay(4000);
                P34 = ~P34;
        }

        

回答 +关注 10
840人浏览 0人回答问题 分享 举报
0 个回答

您需要登录后才可以回复 登录 | 注册