[PIC®/AVR®/dsPIC®产品] 请问为啥输出不了pwm波

[复制链接]
2770|6
 楼主| 戌首齋 发表于 2017-10-19 17:02 | 显示全部楼层 |阅读模式
小白一枚,想使用16F1459输出一个占空比50%的pwm,但就是不行。代码如下,请教各位大佬
#include <PIC16F1459.h>
void pwminit()
{
    TRISCbits.TRISC5=1;
    PWM1CON=0;
    PWM1DCH=0;
    PWM1DCL=0;
    PIR1=0;
    T2CON=0x04;
    PWM1CON=0xe0;
    PIR1=02;
    TRISCbits.TRISC5=0;
    PWM1CON=0xe0;
}
void pwm()
{
    PIR2=0xff;
    PWM1DCH=0x40;
    PWM1DCL=0x00;
}
void main()
{
    pwminit();
    while(1)
    {
        pwm();
    }
}
xyz549040622 发表于 2017-10-19 19:59 | 显示全部楼层
官方有例程的吧,按照例程来。找个例程参考看看就好了。
渔夫的烟斗 发表于 2017-10-20 09:11 | 显示全部楼层
while(1)
    {
        pwm();
    }
PWM();是不是应写在WHILE()外?
hopewise 发表于 2017-10-20 12:00 | 显示全部楼层
INTE = 0;         //禁止INT外部中断
          IOCIE = 0;        //禁止电平变化中断
      OPTION_REG =0X02; //将预分频器分配给Timer0(8分频),内部指令周期时钟
      TMR0=6;
      OSCCON = 0XF0;    //开PLL,系统工作频率为32MHZ
          TMR0IE = 1;       //Timer0溢出中断允许
          TMR0IF = 0;       //Timer0溢出中断标志清零
          GIE = 1;          //全局中断允许*/

      TRISB|=1<<2;      //将PWM输出(P1B)配置为输入
      TRISC|=1<<2;      //将PWM输出(P1A)配置为输入
      TRISB|=1<<1;      //将PWM输出(P1C)配置为输入
      TRISB|=1<<4;      //将PWM输出(P1D)配置为输入

      PSTR1CON =0X1F;    //P1B引脚的PWM波形极性受CCP1M<1:0>控制
      CCPTMRS0=0x00;     //选择Timer2作为周期定时器
      PR2=199;           //设置PWM周期=100us,即10K
      CCP1CON=0x0C;      //单输出PWM模式
      //CCPR1L=0x00;       //装载 CCPR1L寄存器的8个最高有效位(0.25dutycycle)
      CCPR1L=0xC8;
      //CCP1CON|=1<<4;   //装载CCP1CON寄存器DC<1:0>位的低两位
      //CCP1CON|=1<<5;   //注:这两位是PWM占空比的低2位,高8位在CCPRxL中
      CCP1CON&=~(1<<4);  //装载CCP1CON寄存器DC<1:0>位的低两位
      CCP1CON&=~(1<<5);; //注:这两位是PWM占空比的低2位,高8位在CCPRxL中
      
      //PWM1CON =0X80    //半桥输出模式,将相应的值装入PWM1CON寄存器的P1DC<6:0>位设置死区延时
      T2CON=0x05;        //TMR2预分频值=1:4,启动Timer2
      TRISB&=~(1<<2);   //将PWM输出(P1B)配置为输出
      TRISC&=~(1<<2);   //将PWM输出(P1A)配置为输出
      TRISB&=~(1<<1);   //将PWM输出(P1C)配置为输出
      TRISB&=~(1<<4);   //将PWM输出(P1D)配置为输出

      //PWM1CON|=1<<7;   //使用关断自动重启
hopewise 发表于 2017-10-20 12:00 | 显示全部楼层
我用的是PIC16F1938
wym3515400 发表于 2017-10-20 16:27 | 显示全部楼层
楼主能不能配上注释啊
mcumail 发表于 2017-10-25 07:51 | 显示全部楼层
我以前用pic18系列弄过,记得当时是因为配置字没设置对导致不能正常输出的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部