[PIC®/AVR®/dsPIC®产品] PWM脉宽调制

[复制链接]
1701|5
 楼主| 892953881 发表于 2015-3-26 20:54 | 显示全部楼层 |阅读模式
用PIC单片机调制PWM,占空比有10位和8位之分,我无法分清处,比如我设置输出1KHZ的波形占空比33.3%
我这样设置
PR2 = 0b01111100 ;                //124周期
T2CON = 0b00000101 ;           //开定时器    设置预分频为1:4
CCPR1L = 0b00101001 ;           //设置占空比高8位 41
CCP1CON = 0b00001100 ;        //设置PWM模式,占空比低2位设置为0
我这样是用的几位分辨率的,用另一个的是怎么设置的。
 楼主| 892953881 发表于 2015-3-26 21:03 | 显示全部楼层
这个是10位,那个是不是把占空比低两位置1是8位的?
jimmy817 发表于 2015-3-27 14:26 | 显示全部楼层
PWM都是10位输出的,

Tpwm = (PR2+1) *4 *Tosc *分频比
T脉宽  = (CCP1RL:CCP1CON<5:4>) *Tosc *分频比

看PIC资料上公式 , 显然PWM周期相对脉宽时间 已经乘以4了, 你低二位设置为0, 所以计算时间时  就看 PR2 与 CCP1RL
yklstudent 发表于 2015-3-27 16:26 | 显示全部楼层
10,不代表你就可以用到10位
 楼主| 892953881 发表于 2015-3-28 22:14 | 显示全部楼层
jimmy817 发表于 2015-3-27 14:26
PWM都是10位输出的,

Tpwm = (PR2+1) *4 *Tosc *分频比

谢谢!!!
 楼主| 892953881 发表于 2015-3-28 22:15 | 显示全部楼层
yklstudent 发表于 2015-3-27 16:26
10,不代表你就可以用到10位

了解了,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

42

帖子

2

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