找回密码
 立即注册

QQ登录

只需一步,快速开始

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

怎样将1HZ方波信号作为一个标志位的启动信号?MCU程序应怎样写

[复制链接]
跳转到指定楼层
楼主
ID:143584 发表于 2022-12-1 14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,启动信号为1HZ的方波,当高低电平交替时为启动一个标志位,当为恒高电平或恒低电平时关闭标志位,单片机MCU程序应怎样写,请大佬指教,谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2022-12-1 17:12 | 只看该作者
设标记为B_1P,再做一个辅助标记B_F,并做个1.1秒和计时器R_1100MS(用中断计时)。
一、每次方波(上沿或下沿取其一)来时做以下三件事。
1、起动1.1秒计时器,R_1100MS开始计时。
2、判定你的需要的结果:条件:如果辅助标记B_F=1,就表示脉冲输入,置B_1P=1。反之是电平。
3、置辅助标记B_F=1。
二、当1.1秒计时器R_1100MS计满时,清除辅助标记B_F=0。

如此,每个脉冲来时,B_F被置1,1秒后如果脉冲又来了,由于B_F=1,B_1P就被置1了。
如果,第二个脉冲没有来(是电平),则1.1后B_F被清0,则再来脉冲,由于B_F=0,B_1P就不会被置1了。
这个方案,结果会延时1秒到达。如果不延时1秒,你也无法知道输入的是电平还是脉冲。
明白这个道理,就会知道,计时器应该设计在1-2秒之间,这里取的是1.1秒。
回复

使用道具 举报

板凳
ID:143584 发表于 2022-12-2 09:37 | 只看该作者
yzwzfyz 发表于 2022-12-1 17:12
设标记为B_1P,再做一个辅助标记B_F,并做个1.1秒和计时器R_1100MS(用中断计时)。
一、每次方波(上沿或 ...

谢谢,我试一下。
回复

使用道具 举报

地板
ID:160500 发表于 2022-12-2 09:51 | 只看该作者
在上升沿和下降沿中断,启动就可以了,方波不是高就是低,所以判断这两个就可以了,除非方波不正常
回复

使用道具 举报

5#
ID:999824 发表于 2022-12-2 11:11 | 只看该作者
利用沿指令可以试一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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