找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5452|回复: 7
打印 上一主题 下一主题
收起左侧

为什么单片机pwm要用定时器实现?直接io不是也行吗 何必搞得那么麻烦呢

[复制链接]
跳转到指定楼层
楼主
ID:299872 发表于 2018-4-13 18:17 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问一个关于pwm的问题
为什么pwm要用定时器?

直接用单片机的io口控制下面这样也能实现啊
p1_1=1
延时1ns
p1_1=0
延时1ns

然后修改延时时间来控制速度,可以吗?

为什么要用定时器,那么麻烦??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:195836 发表于 2018-4-13 18:56 | 只看该作者
修改延时时间也要通过编程实现,也要占用时间啊。所以这样占空比就会比你设计得小得多吧
回复

使用道具 举报

板凳
ID:68847 发表于 2018-4-13 20:00 | 只看该作者
好像是驱动电流不够吧
回复

使用道具 举报

地板
ID:213173 发表于 2018-4-13 20:35 | 只看该作者
你是高手,你写一个1ns延时程序试试。
回复

使用道具 举报

5#
ID:123289 发表于 2018-4-13 21:37 | 只看该作者
有此一问,说明楼主是有主见的人,敢于怀疑“书本”,赞一个!
同意你的说法!
不过,如果单片机有许多事件要处理时,你打算如何处理PWM呢?如同时需要处理“键盘”、多个LED“显示”、多路AD量测、驱动多路开关……
回复

使用道具 举报

6#
ID:299872 发表于 2018-4-14 05:18 来自手机 | 只看该作者
明白了,本身是可行的。问题是时间受程序影响,所以要用不受程序影响时间的pwm。谢谢各位了。我是个文科毕业的,对这些很感兴趣,基本功很差,所以有些问题让大家见笑了!!
回复

使用道具 举报

7#
ID:307802 发表于 2018-4-14 10:12 | 只看该作者
如果用程序直接处理,单片机就不能做其他事情了,一旦做其他事情,就会延误时间,而定时器是独立运行的,一旦参数设置好,就可以不用程序干预准时执行动作,实际上pwm也可以采用定时器中断里加上IO控制指令来完成,这样可以指定任意输出口做pwm的输出。
回复

使用道具 举报

8#
ID:307794 发表于 2018-4-14 10:17 | 只看该作者
使用指令实现PWM的话CPU就不能去做其它事情了,其中如果发生中断,PWM波也会不准确。用定时器计数器的话可以实现多线程的效果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表