打印
[PIC®/AVR®/dsPIC®产品]

PIC16F170x的PWM没办法到100%

[复制链接]
1344|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lanmp|  楼主 | 2015-5-24 19:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
把PWM寄存器设置成0x3ff输出仍然不是100%,手册里面的Duty Cycle Ratio也说最大就是1023/1024。是不是就不可能实现真正100%的输出了?所有PIC16都是这样的么?
沙发
yklstudent| | 2015-5-24 22:33 | 只看该作者
肯定不是这样的

使用特权

评论回复
板凳
tdh03z| | 2015-5-24 22:51 | 只看该作者
顶楼上,这个肯定可以,自己找下问题吧

使用特权

评论回复
地板
lanmp|  楼主 | 2015-5-26 11:30 | 只看该作者
谢谢楼上两位回帖,你们试过么?有没有代码可以给我参考一下。我用MPLab生成的代码测试就是这样的。

使用特权

评论回复
5
lanmp|  楼主 | 2015-5-26 11:42 | 只看该作者
下面是我的代码
void PWM3_Initialize(void)
{
    // Set the PWM to the options selected in the MPLAB® Code Configurator.
    // PWM3EN enabled; PWM3POL active_hi;
    PWM3CON = 0x80;
   
    // PWM3DCH 255;
    PWM3DCH = 0xFF;
   
    // PWM3DCL 192;
    PWM3DCL = 0xC0;
   
   
    // Select timer
    CCPTMRSbits.P3TSEL = 0x0;
}

还有Timer2的设置
void TMR2_Initialize(void)
{
    // Set TMR2 to the options selected in the User Interface

    // TMR2ON off; T2CKPS 1:64; T2OUTPS 1:1;
    T2CON = 0x03;

    // PR2 255;
    PR2 = 0xFF;

    // TMR2 0x0;
    TMR2 = 0x00;

    // Clearing IF flag.
    PIR1bits.TMR2IF = 0;

    // Start TMR2
    TMR2_StartTimer();
}

使用特权

评论回复
6
lanmp|  楼主 | 2015-5-26 11:56 | 只看该作者
按手册里面的公式的确到不了100%,最大只能到1023/1024。https://bbs.21ic.com/forum.php?mod=attachment&aid=NDUxMTIwfGZlMmEzOGY5M2QwMTc4MDM4OWZlYzA1MzBkYWFhOTljfDE3MTUyODY2ODQ%3D&request=yes&_f=.bmp

PWM Ratio.bmp (187.89 KB )

PWM Ratio.bmp

使用特权

评论回复
7
yklstudent| | 2015-5-26 12:58 | 只看该作者
PR2为什么设置为0XFF?
你合理设置使用不就可以保证了

使用特权

评论回复
8
lanmp|  楼主 | 2015-5-26 17:22 | 只看该作者
yklstudent 发表于 2015-5-26 12:58
PR2为什么设置为0XFF?
你合理设置使用不就可以保证了

你说的对,不过我理解如果PR2不是0xff就不是10位分辨率了,不知道是不是这样。

使用特权

评论回复
9
yklstudent| | 2015-5-26 20:29 | 只看该作者

PR2

本帖最后由 yklstudent 于 2015-5-26 22:54 编辑

看手册吧,牺牲点分辨率,比如PR2为249,分辨率差不多也到10位,但一定可以确保占空比输出到100%

使用特权

评论回复
10
lanmp|  楼主 | 2015-5-26 22:00 | 只看该作者
yklstudent 发表于 2015-5-26 20:29
当然不是了,好好研究PR2跟占空比等关系吧

你说的不是是什么意思啊

使用特权

评论回复
11
lyjian| | 2015-5-31 09:58 | 只看该作者
直接IO输出高电平就是100%

使用特权

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

本版积分规则

64

主题

623

帖子

0

粉丝