你好,请问51单片机产生的PWM波形占空比是否只能是50%的?然后如果是,那么用定时器产生的PWM波形可否通过

改变波形的频率实现调速?比如电机速度的控制,谢谢了!... 改变波形的频率实现调速?比如电机速度的控制,谢谢了! 展开
 我来答
法术大师巴林
2011-08-11 · TA获得超过5017个赞
知道小有建树答主
回答量:1003
采纳率:25%
帮助的人:385万
展开全部
可以产生任意占空比的,虽然51定时器本身没有PWM模式,但是可以通过交替改变初始值的方式,也就是说,中断后,写入高电平时间对应的初值,再中断后,写入低电平时间对应的初值,如此循环。

如果是驱动电机的话,PWM频率建议到5至10kHz,不要太高也不要太低。

另外注意,PWM调速时,速度不是线性的,占空比太低根本就不转。
追问
额,能否把那个交替改变初值的思路具体一点呢,这个地方我还不是很理解。辛苦了哈。。
修罗小狂神Oo
2011-08-11 · TA获得超过249个赞
知道答主
回答量:106
采纳率:37%
帮助的人:39.4万
展开全部
void TIMER0_INT() interrupt 1{ //中断服务程序
TH0=; //重置定时器初值
TL0=;
if(++time==percent)
{
port_pwm=0;
}else if(time==100){
time=0;
port_pwm=1;
}
}

注:port_pwm为自己定义的端口, 如:sbit port_pwm=P1^0;
主程序改变percent的值就能改变占空比;percent>100的话,输出恒为高电平。
更多追问追答
追问
那中断函数里面为什么要重置定时器初值呢?
追答
定时器都没用过呀,  不重置初值,溢出后不就从0开始啦, 那后面定的时间就变成65535个微秒了呀。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
larry_evants
2011-08-11 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4544
采纳率:0%
帮助的人:5403万
展开全部
占空比是可以调的。
也可以用定时器来产生pwm。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nongjianjun
2011-08-11 · TA获得超过831个赞
知道小有建树答主
回答量:3761
采纳率:0%
帮助的人:931万
展开全部
可以改变占空比的,我来帮你啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式