打印

如何输出100HZ的PWM?

[复制链接]
4066|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
action99|  楼主 | 2011-7-22 16:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟想用PIC18F4520 输出一个100Hz的PWM信号,用的是12M的晶振。能否输出吗,如果不能有什么办法可做的?
沙发
兰天白云| | 2011-7-22 16:56 | 只看该作者
先来算算
1:PIC单片机是4分频的     12M/4=3M     即执行单指令的时间是1/3M     秒(不能整除),也是定时器的最小间隔
2:周期由PR2决定,脉冲宽度由CCPR决定(占空比)
3:100Hz的PWM信号周期是10ms,10ms需要的指令数=10ms÷(1÷3M)=300000
4:PR2是8位的,无法让它计数到300000,定时器可以先分频,最大可分频16,即使这样还是无法计数到300000,所以无法实现100Hz的PWM
5:只能采用降低主频的方法

使用特权

评论回复
板凳
兰天白云| | 2011-7-22 16:57 | 只看该作者
还有一个方法,但效率不高,用定时器定时可做到

使用特权

评论回复
地板
action99|  楼主 | 2011-7-22 17:14 | 只看该作者
如果反主频降到1M就可以,但我里面有浮点数的运算,时间肯定会好长,,用定时器可以做,但比较复杂,,程序比较多,

使用特权

评论回复
5
兰天白云| | 2011-7-22 17:22 | 只看该作者
如果要做浮点数的运算,那就建议你用定时器,也得分频哦

使用特权

评论回复
6
yewuyi| | 2011-7-25 09:08 | 只看该作者
100HZ,随便用个定时器做就是了。。。

使用特权

评论回复
7
a8465261| | 2011-8-15 20:33 | 只看该作者
想问下大家额小车在通电大小一样的情况下车速不是恒定吗?那调了占空比是不是只是让它一开一关的,表现出来的就是车速变了,是这样的吗?我还不知道PWM到底是怎么样的,请大家指教指教.

使用特权

评论回复
8
hncxu| | 2011-8-15 20:37 | 只看该作者
顶2楼~~

使用特权

评论回复
9
dogglove| | 2011-8-25 18:13 | 只看该作者
定时器就可以,普通IO

使用特权

评论回复
10
virtualtryon| | 2011-8-29 22:42 | 只看该作者
肯定用定时器了,PWM的占空比是多少?定时器中断周期与占空比有关系。

使用特权

评论回复
11
钻石眼泪| | 2011-9-9 23:04 | 只看该作者
我用的18F4620,输出10HZ的PWM,用电位器调节占空比,你的100HZ好弄多了,用哪一个定时器都行,不够就在软件里分频

使用特权

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

本版积分规则

87

主题

189

帖子

2

粉丝