AT89C51单片机P1.0口产生PWM波的C语言程序怎么编写?求大神(不要太复杂啊) 20

 我来答
百度网友eff8e75
2013-05-23 · 超过31用户采纳过TA的回答
知道答主
回答量:140
采纳率:0%
帮助的人:66.2万
展开全部
根据你自己的需要,PWM分级,PWM周期10ms,分100级,那么定时器中断100us,另外一个寄存器中断里计数,和你要的占空比寄存器比较,如果当前占空比50%,那么计数器比较是否大于5ms,大于则PWMP1.0输出高,小于则PWMP1.0输出低,最后判断计数是否到10ms,然后清零,从新开始!就可以了啊,很简单,如需改变占空比那么在一个PWM周期完成后改变即可,如果是调速,那么直接增加或者减少占空比,不需要等下个周期
追问
谢谢,你说的我也理解。但能不能烦劳给试着编个程序呀,我对单片机和C语言的实现不太了解。麻烦啦!!!
追答
自己硬着头皮写,不然你怎么进步!原理懂了,你慢慢写总会写出来,比给你源代码好的不知多少倍!真的,逼下自己!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GUEL86
2013-05-23 · TA获得超过5856个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2733万
展开全部

三路可调 PWM 仿真实例,供参考

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式