PWM的周期问题

[复制链接]
5762|9
 楼主| xmrforever 发表于 2010-1-29 13:32 | 显示全部楼层 |阅读模式
PWM, pic, ic, IO, os
我用PIC16F72的PWM驱动蜂鸣器,想把频率调低一点,但是最多只能把周期做到255us,公式如下:PWM Period = [(PR2) + 1] • 4 • TOSC •
(TMR2 Prescale Value)
请问如何输出周期300或400us的PWM?
yewuyi 发表于 2010-1-29 13:34 | 显示全部楼层
降低OSC的频率或者提高TIMER的后分频比
 楼主| xmrforever 发表于 2010-1-29 13:40 | 显示全部楼层
公式中用到得是预分频,请问Postscale如何计算?
 楼主| xmrforever 发表于 2010-1-29 14:09 | 显示全部楼层
而且我改变PR2的值后占空比都变了,这是怎么回事?
yewuyi 发表于 2010-1-29 14:09 | 显示全部楼层
公式中用到得是预分频,请问Postscale如何计算?
xmrforever 发表于 2010-1-29 13:40


多谢更正,确实记混了,不是后分频,后分频决定是TIMER的中断,对PWM没有周期没有影响,需要调整的预分频比例,一般可调整的范围为1:1、1:4、1:16,具体请见T2CON这个寄存器的设置。
yewuyi 发表于 2010-1-29 14:12 | 显示全部楼层
而且我改变PR2的值后占空比都变了,这是怎么回事?
xmrforever 发表于 2010-1-29 14:09


占空比是通过调整CCPRxL和CCPxCON这两个寄存器来实现的。

具体请看对应型号的DATASHEET 。
 楼主| xmrforever 发表于 2010-1-29 15:19 | 显示全部楼层
多谢更正,确实记混了,不是后分频,后分频决定是TIMER的中断,对PWM没有周期没有影响,需要调整的预分频比例,一般可调整的范围为1:1、1:4、1:16,具体请见T2CON这个寄存器的设置。 ...
yewuyi 发表于 2010-1-29 14:09

问题解决了,表面上看预分频比例是1:4,但带入公式是4:1
zlxzlx01220122 发表于 2015-5-15 10:49 | 显示全部楼层
xmrforever 发表于 2010-1-29 14:09
而且我改变PR2的值后占空比都变了,这是怎么回事?

因为pr2是周期寄存器。周期都改了,占空比能不改吗
wszx158 发表于 2015-5-19 16:28 来自手机 | 显示全部楼层
我最近也在学习PIC16F1823,控制LED亮度,如何控制PWM,程序怎么做???求教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:忍一忍就过去了

27

主题

177

帖子

0

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