找回密码
 立即注册

QQ登录

只需一步,快速开始

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

怎么用单片机把外部输入的方波相位移90度

[复制链接]
跳转到指定楼层
楼主
怎么用单片机把外部输入的方波相位移90度

1.png (4.33 KB, 下载次数: 31)

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

使用道具 举报

沙发
ID:386367 发表于 2018-10-12 22:38 | 只看该作者
这个很简单,只要你懂得用GPIO,timer和ISR。
问题在於这个位移90度安如何理解。

在我理解,这就是方波的delay时间。
那你就要定义一下,这90度位移即是要delay多久。
delay多久,timer就设置多久。

简单思路:
当GPIO检测到0到1,来个ISR。
ISR Function中,启动timer计时。在 timer 的ISR中开始启动输出方波。
以上是的方法有个限制,就是你已知输出方波的频率。

如果你想做好一点,输出方波频率能根据输入方波频率改变,那就要2 个GPIO的 ISR。
一个检测0到1触发,一个检测1到0的触发。
检测到输入是上升沿,timer开始,timer时间到,输出1
检测到输入是下降沿,timer开始,timer时间到,输出0

以上是我们想要的结果,所以timer ISR中要检测输出GPIO当时是0还是1。0时就输出1,反之亦然。

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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