打印

用自带的pwm模式能不能输出频率100HZ?

[复制链接]
859|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
现在晶振是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?

使用特权

评论回复
沙发
juventus9554|  楼主 | 2021-5-5 15:16 | 只看该作者

使用特权

评论回复
板凳
juventus9554|  楼主 | 2021-5-5 15:18 | 只看该作者

使用特权

评论回复
地板
xxmmi| | 2021-5-5 15:20 | 只看该作者
你的计算中默认晶振频率就是系统时钟(Fosc, Tosc),没有做分频。

使用特权

评论回复
5
supernan| | 2021-5-5 15:21 | 只看该作者
实际上可以通过设置分频寄存器,从晶振频率得到更低的系统时钟的。

使用特权

评论回复
6
wenfen| | 2021-5-5 15:25 | 只看该作者

使用特权

评论回复
7
juventus9554|  楼主 | 2021-5-5 15:27 | 只看该作者
芯片型号是pic18f45k80,系统时钟图是这样的
分频好像只能是内部时钟分频,就算分频把系统时钟降低了

使用特权

评论回复
8
juventus9554|  楼主 | 2021-5-5 15:33 | 只看该作者

使用特权

评论回复
9
juventus9554|  楼主 | 2021-5-5 15:35 | 只看该作者
但是我指令的运行速度就下降了

使用特权

评论回复
10
liliang9554| | 2021-5-5 15:36 | 只看该作者
跟降低外部晶振频率差不多的效果

使用特权

评论回复
11
juventus9554|  楼主 | 2021-5-5 15:38 | 只看该作者

使用特权

评论回复
12
huangchui| | 2021-5-5 15:40 | 只看该作者
K80系列的硬件做不到100Hz的,可以试试软件实现

使用特权

评论回复
13
juventus9554|  楼主 | 2021-5-5 15:42 | 只看该作者
现在打算不用自带的pwn模块

使用特权

评论回复
14
juventus9554|  楼主 | 2021-5-5 15:44 | 只看该作者
用一个定时器做中断,一定时间内进中断,端口置1.用做周期,用查询定时器寄存器与设定的数值做比较来产生占空比,拉低端口电平。

使用特权

评论回复
15
juventus9554|  楼主 | 2021-5-5 15:46 | 只看该作者
我再琢磨琢磨吧,多谢了哈先

使用特权

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

本版积分规则

900

主题

12190

帖子

3

粉丝