[PIC®/AVR®/dsPIC®产品] 求助 pic pwm 周期与预分频设置。

[复制链接]
1598|4
 楼主| luochangqing112 发表于 2020-1-7 21:35 | 显示全部楼层 |阅读模式
现在晶振是16M,需要输出pwm频率100HZ,根据手册公式,算出来PR2 与TMR2预分频值超出范围了。1、手册公式:PWM 周期 = [(PR2) + 1] • 4 • TOSC •(TMR2 预分频值)

2、取PR2最大值255计算TMR2预分频值则到    1/100=(255+1)*4*TMR2预分频值/16M
3、得到TMR2预分频值=156.25. 而预分频值就只能选(1,4,16)。
4、根据公式 算除能输出的最小频率=16M/(256*4*16)=976.5HZ
像这种情况,不改变晶振频率的情况下,用自带的pwm模式能不能输出频率100HZ?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
oxygenzz 发表于 2020-1-8 10:43 | 显示全部楼层
你的计算中默认晶振频率就是系统时钟(Fosc, Tosc),没有做分频。
实际上可以通过设置分频寄存器,从晶振频率得到更低的系统时钟的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| luochangqing112 发表于 2020-1-8 16:38 | 显示全部楼层
oxygenzz 发表于 2020-1-8 10:43
你的计算中默认晶振频率就是系统时钟(Fosc, Tosc),没有做分频。
实际上可以通过设置分频寄存器,从晶振频 ...

我的芯片型号是pic18f45k80,系统时钟图是这样的
分频好像只能是内部时钟分频,就算分频把系统时钟降低了,但是我指令的运行速度就下降了,这样跟降低外部晶振频率差不多的效果吧?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
cdyyabc 发表于 2020-1-9 14:33 | 显示全部楼层
K80系列的硬件做不到100Hz的,可以试试软件实现
 楼主| luochangqing112 发表于 2020-1-9 23:45 来自手机 | 显示全部楼层
cdyyabc 发表于 2020-1-9 14:33
K80系列的硬件做不到100Hz的,可以试试软件实现

现在打算不用自带的pwn模块,用一个定时器做中断,一定时间内进中断,端口置1.用做周期,用查询定时器寄存器与设定的数值做比较来产生占空比,拉低端口电平。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

390

帖子

3

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