1 問題的提出
研制測量儀表及電子儀器的過程中,常常遇到按鍵抖動的問題,即雖然只是按下按鍵一次然后放掉,結(jié)果在按鍵信號穩(wěn)定前后,竟出現(xiàn)了一些不該存在的噪聲,這樣就會引起電路的誤動作。在很多應(yīng)用按鍵的場合,要求具有消抖措施,即對于噪聲信號消抖電路輸出信號為零(消抖電路屏蔽了噪聲信號,表示按鍵沒有動作),只有當(dāng)按鍵信號K穩(wěn)定下來甚至經(jīng)過一定的時間消抖電路才產(chǎn)生輸出信號Y。按鍵信號K消除,消抖電路輸出信號Y隨之消失。
根據(jù)某用戶的具體要求設(shè)計了具有高抗噪聲特性的、延時時間精密可控的消抖動電路,其按鍵信號K、輸出信號Y之間的關(guān)系如圖1所示。
2 電路組成及工作原理
延時時間精密可控的消抖動電路的原理圖如圖2所示。該電路由4塊CMOS集成芯片和若干電阻、電容組成。
其中555定時器組成多諧振蕩器用來給計數(shù)器提供時鐘脈沖;1塊CC40161型四位同步二進(jìn)制計數(shù)器用來設(shè)定消抖動電路輸出信號Y的延遲脈沖個數(shù)。1塊CC4043四R/S鎖存器(只用了1組,其余3組未用)和1塊CC4011四2輸入與非門用來實現(xiàn)信號的鎖存和控制。
當(dāng)按鍵信號K由低電平變?yōu)楦唠娖綍r,電阻尺3和電容C3組成的微分電路使V點產(chǎn)生一個正脈沖,該正脈沖一路經(jīng)與非門G2反相后加到計數(shù)器CC40161的CR端使其清零;另一路加到鎖存器CC4043的1R端(此時由于計數(shù)器沒有進(jìn)位輸出,CO端為低電平,即lS端為低電平),使鎖存器輸出端1Q為低電子。與此同時,按鍵信號K已加到了與非門G1的輸入端使G1門開門,那么,由555定時器組成的時鐘信號發(fā)生器3端輸出的時鐘脈沖通過與非門G1加到計數(shù)器的CP端,計數(shù)器開始計數(shù)。計到15個脈沖,計數(shù)器產(chǎn)生進(jìn)位信號,其CO端輸出高電平,使鎖存器的1Q端變?yōu)楦唠娖剑撔盘柤拥脚c非門G3的一個輸入端(與非門G3的另一個輸入端為K,已為高電平),則與非門G4的輸出Y端為高電平;只有當(dāng)按鍵信號K由高電平為低電平時,Y端才隨之變?yōu)榈碗娖健?另一方面,由于按鍵信號K變?yōu)榈碗娖剑怄i了G1門,時鐘脈沖不能通過G1門到達(dá)計數(shù)器的CP端,計數(shù)停止。
當(dāng)出現(xiàn)干擾脈沖時,計數(shù)器也計數(shù),但只要干擾沖的寬度小于15個CP脈沖寬度,計數(shù)器的進(jìn)位輸陸號CO端就保持低電平,那么Y信號為低電平,即際脈沖的影響不會出現(xiàn)在Y端。
可以用置數(shù)法或復(fù)位法將十六進(jìn)制計數(shù)器CC40161接成任意進(jìn)制計數(shù)器,然后通過任意進(jìn)位信號控制1S端的電位,來調(diào)整消抖動電路輸出信號Y的延遲時間。
3 數(shù)據(jù)計算
555定時器組成的時鐘信號發(fā)生器產(chǎn)生的CP脈沖的周期為:
T1=ln(R1+2R2)C1
CP脈沖的占空比為:
q=( R1+ R2)/(R1+2 R2)
按圖中所給參數(shù)計算,CP脈沖的周期T1=0.1s,CP脈沖的占空比為:
q=2/3。
消抖動電路輸出信號Y的延遲時間為:
Td=15Tl=151n2(Rl+2R2)C1
按圖中參數(shù)計算Td=1.5s
4 電路特點
(1)該電路由CMOS集成芯片組成,功耗低,抗干擾能力強(qiáng)。
(2)從按鍵信號K到消抖電路產(chǎn)生穩(wěn)定的輸出信號Y的延遲時間Td穩(wěn)定、可調(diào)。
(3)每當(dāng)按鍵信號K到來(由低電平變?yōu)楦唠娖剑詣邮褂嫈?shù)器清零,不需另外加入復(fù)位脈沖。
(4)按鍵信號K消除,計數(shù)器自動停止計數(shù),不需另外設(shè)置開關(guān)。 該電路除用于消除按鍵的抖動外,還可用于需要產(chǎn)生一定延時控制的任何電路中。該電路為利用單片機(jī)和CPLD(Complex Programmable Logic Device)實現(xiàn)軟件消抖提供了設(shè)計思想。
責(zé)任編輯:gt
-
單片機(jī)
+關(guān)注
關(guān)注
6043文章
44621瀏覽量
638575 -
cpld
+關(guān)注
關(guān)注
32文章
1257瀏覽量
169636 -
振蕩器
+關(guān)注
關(guān)注
28文章
3847瀏覽量
139364
發(fā)布評論請先 登錄
相關(guān)推薦
實現(xiàn)一個ns級的延時函數(shù),延時時間不可控的原因?
單片機(jī)延時程序的延時時間怎么算的?
有哪幾種方法可以實現(xiàn)單片機(jī)程序的硬件消抖呢
STM32單片機(jī)按鍵消抖和FPGA按鍵消抖的相關(guān)資料分享
單片機(jī)+CPLD結(jié)構(gòu)體系在電子設(shè)計中的應(yīng)用
基于單片機(jī)和CPLD的頻率測量研究
基于單片機(jī)+CPLD的多路精確延時控制系統(tǒng)設(shè)計
去抖動延時可調(diào)鍵盤電路的設(shè)計
![去<b class='flag-5'>抖動</b><b class='flag-5'>延時</b>可調(diào)鍵盤<b class='flag-5'>電路</b>的設(shè)計](https://file.elecfans.com/web2/M00/48/D2/pYYBAGKhtCeATjCyAAAKddcT6S4623.jpg)
利用單片機(jī)和CPLD實現(xiàn)直接數(shù)字頻率合成
STM單片機(jī)中的按鍵消抖和FPGA消抖
單片機(jī)延時問題20問
![<b class='flag-5'>單片機(jī)</b><b class='flag-5'>延時</b>問題20問](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
單片機(jī)復(fù)位后為什么要對sp重新賦值_自學(xué)單片機(jī)第二十二篇:延時消抖|延時|key|單片機(jī)|消抖...
![<b class='flag-5'>單片機(jī)</b>復(fù)位后為什么要對sp重新賦值_自學(xué)<b class='flag-5'>單片機(jī)</b>第二十二篇:<b class='flag-5'>延時</b><b class='flag-5'>消</b>抖|<b class='flag-5'>延時</b>|key|<b class='flag-5'>單片機(jī)</b>|<b class='flag-5'>消</b>抖...](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論