單次脈沖發(fā)生器電路圖設(shè)計(jì)(五)
1、按鍵消抖電路原理
為了使按鍵消抖電路模塊簡潔,移植性好,在此用計(jì)數(shù)器的方式實(shí)現(xiàn)按鍵消抖的功能。
計(jì)數(shù)器模值n根據(jù)抖動(dòng)信號(hào)的脈沖寬度和采樣脈沖信號(hào)CLK的周期大小決定。計(jì)數(shù)模值n=延時(shí)/脈沖信號(hào)采樣周期。一般按鍵抖動(dòng)時(shí)間為5~10ms,甚至更長。筆者用的開發(fā)板提供的系統(tǒng)時(shí)鐘為24MHz,按公式計(jì)算,當(dāng)計(jì)數(shù)器模值取20位,計(jì)數(shù)到219即h80000時(shí),大約延時(shí)22ms。計(jì)數(shù)期間認(rèn)為是按鍵的抖動(dòng)信號(hào),不做采樣;計(jì)數(shù)器停止計(jì)數(shù),認(rèn)為采樣信號(hào)為穩(wěn)定按鍵信號(hào)。這樣就可以把按鍵時(shí)間小于22ms的抖動(dòng)信號(hào)濾掉。
引入一個(gè)采樣脈沖信號(hào)CLK,并輸入按鍵信號(hào)KEY。KEY輸入低電平,計(jì)數(shù)器開始做加法計(jì)數(shù),當(dāng)計(jì)數(shù)到h80000即計(jì)數(shù)器中最高位Q19為1,計(jì)數(shù)器停止計(jì)數(shù),輸出Q19,作為按鍵的穩(wěn)定輸出,計(jì)數(shù)期間Q19輸出為0;KEY輸入高電平,計(jì)數(shù)器清零,Q19輸出為0。所以該電路需按鍵22ms才會(huì)得到有效信號(hào)。
2、鍵控單脈沖發(fā)生器電路原理
鍵控單脈沖發(fā)生器利用上述電路解決按鍵消抖問題,得到穩(wěn)定的信號(hào)。用兩個(gè)D觸發(fā)器和一個(gè)與門產(chǎn)生單脈沖,如圖1所示。
D觸發(fā)器U2A收到穩(wěn)定信號(hào)D1=1后被觸發(fā)。觸發(fā)器U2A中的Q1端得到與CLK同步的正向脈沖。輸出Q1到D觸發(fā)器U3A,得到比Q1延遲一個(gè)時(shí)鐘周期的的正向脈沖,將Q2端輸出取反得到一個(gè)負(fù)向脈沖。Q1與Qn2的輸出作為一個(gè)與門的輸入,會(huì)輸出一個(gè)脈寬是原時(shí)鐘周期2倍的單脈沖。
為了使得出的單脈沖脈寬與時(shí)鐘周期相等,相位與時(shí)鐘周期相同,對圖1中電路設(shè)計(jì)做了改進(jìn),如圖2所示。
圖2中時(shí)鐘送入D觸發(fā)器前加了非門,使Q1端產(chǎn)生與nCLK(CLK的反向脈沖信號(hào))同步的正向脈沖,與門輸出單脈沖與CLK差半個(gè)時(shí)鐘周期,作為D觸發(fā)器U4A的輸入D4,在CLK上升沿U4A被觸發(fā),使單脈沖脈寬與時(shí)鐘周期相同,實(shí)現(xiàn)了等脈寬。并延遲了半個(gè)時(shí)鐘周期使輸出脈沖與時(shí)鐘周期對應(yīng),實(shí)現(xiàn)了相位調(diào)整。整個(gè)單脈沖發(fā)生器的時(shí)序圖如圖3所示(圖3中的t1,t2是任意鍵按下與鍵抬起時(shí)刻)。
評(píng)論