如何输出100HZ的PWM?

[复制链接]
5973|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就可以,但我里面有浮点数的运算,时间肯定会好长,,用定时器可以做,但比较复杂,,程序比较多,
兰天白云 发表于 2011-7-22 17:22 | 显示全部楼层
如果要做浮点数的运算,那就建议你用定时器,也得分频哦
yewuyi 发表于 2011-7-25 09:08 | 显示全部楼层
100HZ,随便用个定时器做就是了。。。
a8465261 发表于 2011-8-15 20:33 | 显示全部楼层
想问下大家额小车在通电大小一样的情况下车速不是恒定吗?那调了占空比是不是只是让它一开一关的,表现出来的就是车速变了,是这样的吗?我还不知道PWM到底是怎么样的,请大家指教指教.
hncxu 发表于 2011-8-15 20:37 | 显示全部楼层
顶2楼~~
dogglove 发表于 2011-8-25 18:13 | 显示全部楼层
定时器就可以,普通IO
virtualtryon 发表于 2011-8-29 22:42 | 显示全部楼层
肯定用定时器了,PWM的占空比是多少?定时器中断周期与占空比有关系。
钻石眼泪 发表于 2011-9-9 23:04 | 显示全部楼层
我用的18F4620,输出10HZ的PWM,用电位器调节占空比,你的100HZ好弄多了,用哪一个定时器都行,不够就在软件里分频
您需要登录后才可以回帖 登录 | 注册

本版积分规则

87

主题

189

帖子

2

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