如何使用可編程邏輯為按鈕輸入消抖
可編程邏輯具有傳統(tǒng)分立 IC 無(wú)法提供的靈活性。 借助現(xiàn)成的開(kāi)發(fā)工具,可輕松使用現(xiàn)場(chǎng)可編程門陣列和復(fù)雜可編程邏輯器件創(chuàng)建應(yīng)用特定型功能。 按鈕開(kāi)關(guān)輸入消抖便是此類功能的一個(gè)例子。
本文引用地址:http://m.butianyuan.cn/article/201807/383894.htm下圖 1 說(shuō)明了一個(gè)有效的消抖邏輯電路。 此電路持續(xù)將按鈕的邏輯電平記錄到 FF1 然后記錄到 FF2,使得 FF1 和 FF2 始終存儲(chǔ)此按鈕的最后兩個(gè)邏輯電平。 當(dāng)這兩個(gè)值在指定的時(shí)間內(nèi)保持相等時(shí),啟用 FF3,并通過(guò)它將穩(wěn)定值記錄到結(jié)果輸出。
圖 1: 邏輯電路消抖
XOR 門和 N 位計(jì)數(shù)器完成定時(shí)。 如果按鈕的電平發(fā)生變化,則 FF1 和 FF2 的值在一個(gè)時(shí)鐘周期內(nèi)不同,從而通過(guò) XOR 門清零 N 位計(jì)數(shù)器。 如果按鈕的電平不變(即,如果 FF1 和 FF2 處于相同的邏輯電平),則 XOR 門會(huì)釋放計(jì)數(shù)器的同步清零功能,并且計(jì)數(shù)器開(kāi)始計(jì)數(shù)。 計(jì)數(shù)器持續(xù)按此方式遞增,直至其 (1) 達(dá)到指定的時(shí)間并啟用輸出寄存器,或 (2) 因按鈕的邏輯電平尚未穩(wěn)定而被 XOR 門中斷并清零。
計(jì)數(shù)器的大小決定了驗(yàn)證按鈕穩(wěn)定性所需的時(shí)間。 當(dāng)計(jì)數(shù)器遞增至其進(jìn)位輸出位被斷言時(shí),將會(huì)自行停止遞增并啟用輸出寄存器 FF3。 電流將保持此狀態(tài),直至另一個(gè)按鈕值被記錄到 FF1,從而通過(guò) XOR 門清零計(jì)數(shù)器。
評(píng)論