打印

请教各位关于PWM模块的问题

[复制链接]
2396|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jackxn|  楼主 | 2010-3-13 15:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用的单片机型号是PIC18F4520,现在想让单片机的CPP1(RC2)发出一路PWM脉冲,自己参照数据手册和16F877写了如下程序,编译可以通过,但示波器检测不到波形,不知道错误在哪里,请高人指点。
#include<htc.h>
void pwm_init()
{
      PR2=0xff;
      CCPR1L=0x7f;
      DC1B1=1;
      DC1B0=1;
//   GIE=1;
//   CCP1IE=1;
      TRISC=0;
      T2CON=0x04;
      CCP1M3=1;
      CCP1M2=1;
}

void main()
{
   while(1)
   {
        TRISC=0;
        PORTC^=0xff;
        pwm_init();
   }
}
沙发
XIEYUANBIN| | 2010-3-13 15:41 | 只看该作者
ccp1con有没有设置?

        PR2=0x9B;//====PWM周期:400HZ
        CCPR1L=0;//初始化为0,最大数157=100%
        T2CON=0x06;//T2 ON ,PRESCALE 1,POSTSCALE 16
        CCP1CON=0xf;//设定CCP1为pwm mode

使用特权

评论回复
板凳
jackxn|  楼主 | 2010-3-13 15:47 | 只看该作者
ccp1con设置如下
DC1B1=1;
DC1B0=1;   
这两个是10位占空比低两位  
CCP1M3=1;
CCP1M2=1;
这两个是配置ccp1工作于pwm模式
CCPR1L=0那么占空比不就为0了吗?是要让占空比缓慢增加吗?
T2CON=0x06 为什么这里需要16预分频呢?
请指教。

使用特权

评论回复
地板
jackxn|  楼主 | 2010-3-16 09:52 | 只看该作者
怎么没有人进来回答了?

使用特权

评论回复
5
jackxn|  楼主 | 2010-3-29 10:53 | 只看该作者
到底有没有人过来回答?想咨询一个问题就这么费劲吗?几天不上来了,刚进来就看见吵架的,21ic还想好好做吗?现在真的对坛子有点失望

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:STC16F2407

16

主题

136

帖子

0

粉丝