找回密码
 立即注册

QQ登录

只需一步,快速开始

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

如何用一个单片机定时器控制三个超声波(另一个定时器我用来做pwm输出了)

[复制链接]
跳转到指定楼层
楼主
ID:474097 发表于 2019-3-2 12:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新人求助各位大神,应该怎么做。谢谢

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:303383 发表于 2019-3-2 16:37 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

板凳
ID:164602 发表于 2019-3-2 20:54 | 只看该作者
不知道你用的是什么单片机,以一般的STC89C52系列为例:
它有三个定时器,够用了:我用两个定时器控制超声波,另一个定时器让无源蜂鸣器演奏音乐。
如果你要用两个定时器控制三个超声波的话,我想到的办法就是一次一个,这个收到数据后,再控制下一个,不能同时控制三个发波和接收。再说三个同时发,容易让接收出现问题嘛。
回复

使用道具 举报

地板
ID:454000 发表于 2019-3-2 22:08 | 只看该作者
一个定时器就能解决,别说3个了,N个也不是个事!
回复

使用道具 举报

5#
ID:483509 发表于 2019-3-3 00:20 | 只看该作者
一个定时器就够了,你用标志位,每个超声波一个标志位。然后发送超声波的时候标志位致一,记录定时器当前计数,等收到反馈之后就再取出定时器计数,计算时间间隔就好了
回复

使用道具 举报

6#
ID:480013 发表于 2019-3-6 22:14 来自手机 | 只看该作者
ZhAwen 发表于 2019-3-3 00:20
一个定时器就够了,你用标志位,每个超声波一个标志位。然后发送超声波的时候标志位致一,记录定时器当前计 ...

不太懂,老哥能用程序大概表达一下吗,我也需要这个方面的知识
回复

使用道具 举报

7#
ID:472242 发表于 2019-3-7 03:06 | 只看该作者
ZhAwen 发表于 2019-3-3 00:20
一个定时器就够了,你用标志位,每个超声波一个标志位。然后发送超声波的时候标志位致一,记录定时器当前计 ...

很对!定时器玩的精的就是这样,PWM就是其中一个标识位变量变化而己
回复

使用道具 举报

8#
ID:472242 发表于 2019-3-7 03:13 | 只看该作者
本帖最后由 shuisheng60 于 2019-3-7 09:16 编辑
不成佛便成魔 发表于 2019-3-6 22:14
不太懂,老哥能用程序大概表达一下吗,我也需要这个方面的知识

比如你在定时器内设了三个标识变量 ts1,ts2,ts3
定时器内分别 ts1++,,ts2++, ts3++ 。  三个不同波就是:比如 if(ts1==20), if(ts2==35),if(ts3==58),内部放要控制的I/O口,PWM就是将变量再分,再判断

评分

参与人数 1黑币 +16 收起 理由
areyouok + 16 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

9#
ID:480013 发表于 2019-3-7 20:45 来自手机 | 只看该作者
shuisheng60 发表于 2019-3-7 03:13
比如你在定时器内设了三个标识变量 ts1,ts2,ts3
定时器内分别 ts1++,,ts2++, ts3++ 。  三个不同波就是 ...

谢谢了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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