找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1668|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

怎樣將1HZ方波信號作為一個標志位的啟動信號?MCU程序應(yīng)怎樣寫

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:143584 發(fā)表于 2022-12-1 14:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題,啟動信號為1HZ的方波,當高低電平交替時為啟動一個標志位,當為恒高電平或恒低電平時關(guān)閉標志位,單片機MCU程序應(yīng)怎樣寫,請大佬指教,謝謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2022-12-1 17:12 | 只看該作者
設(shè)標記為B_1P,再做一個輔助標記B_F,并做個1.1秒和計時器R_1100MS(用中斷計時)。
一、每次方波(上沿或下沿取其一)來時做以下三件事。
1、起動1.1秒計時器,R_1100MS開始計時。
2、判定你的需要的結(jié)果:條件:如果輔助標記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了。
這個方案,結(jié)果會延時1秒到達。如果不延時1秒,你也無法知道輸入的是電平還是脈沖。
明白這個道理,就會知道,計時器應(yīng)該設(shè)計在1-2秒之間,這里取的是1.1秒。
回復(fù)

使用道具 舉報

板凳
ID:143584 發(fā)表于 2022-12-2 09:37 | 只看該作者
yzwzfyz 發(fā)表于 2022-12-1 17:12
設(shè)標記為B_1P,再做一個輔助標記B_F,并做個1.1秒和計時器R_1100MS(用中斷計時)。
一、每次方波(上沿或 ...

謝謝,我試一下。
回復(fù)

使用道具 舉報

地板
ID:160500 發(fā)表于 2022-12-2 09:51 | 只看該作者
在上升沿和下降沿中斷,啟動就可以了,方波不是高就是低,所以判斷這兩個就可以了,除非方波不正常
回復(fù)

使用道具 舉報

5#
ID:999824 發(fā)表于 2022-12-2 11:11 | 只看該作者
利用沿指令可以試一下
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表