陳圣濤
(銅陵職業(yè)技術學院 機電工程系,安徽 銅陵 244000)
定時器是數(shù)字系統(tǒng)中不可或缺的一部分,其不但可以用來計數(shù)、定時、分頻,而且還常常被用作測量脈沖頻率和各種脈沖的寬度,進而構成生活中各種各樣的電路.定時器在一定的特定條件下的一些功能用途的實現(xiàn)有著極大的開發(fā)前景,這種集多功能于一體的特點,給人們帶來了非常大的方便,滿足科研工業(yè)上的需要.因此,任意進制的定時器的研究與開發(fā)擁有廣闊的市場與科研價值[1].
中規(guī)模集成計數(shù)器(MSI)中雖然有各種不同進制的模塊,但是一個計數(shù)器的功能塊的進制很少,而且需要復雜的過程才能進行進制,這樣就嚴重影響性能.對此,利用中規(guī)模集成計數(shù)器進行適當?shù)倪B接則可實現(xiàn)任意進制計數(shù)器[2],因此本文的研究具有重要意義.
中規(guī)模集成計數(shù)器構成任意進制計數(shù)器的原理[3]如下:通過數(shù)據(jù)比較器進行預制計數(shù)長度A和計數(shù)器輸出B的比較,然后通過數(shù)據(jù)比較器輸出一個脈沖,此脈沖直接輸送到計數(shù)器,可以實現(xiàn)計數(shù)器的清零和置位功能.由于A表示預制的計算長度,則通過改變其長度,可以實現(xiàn)任意進制計數(shù)器的改變,其基本原理[4]見圖1.
本文首先對74LS90的功能進行簡要分析,其主要作為二進制計數(shù)器或者五進制計數(shù)器,在特殊情況下,可以轉變?yōu)槭M制計數(shù)器.該計數(shù)器具有普遍計數(shù)器均存在的功能清零和置位.圖2中的R表示對計數(shù)器進行清零,而S表示對計數(shù)器進行置位功能,下面將分別對其功能進行介紹[5-6].
圖1 計數(shù)器基本原理圖
圖2 74LS90引腳圖示
當圖2中的兩個具有清零功能R都是高電平的時候,而且此時保證置位功能的兩個S至少存在一個低電平時,此時對輸入狀態(tài)沒有任何限制,這個時候的計數(shù)器的四個輸出Q均為0,這種稱為清零或者復位[7].
如圖3所示,采用復位法可以實現(xiàn)七進制計數(shù)器.即當計數(shù)器計數(shù)到7的時候,計數(shù)器會自動清零,此時該計數(shù)器含有七個有效的獨立運行的計數(shù)器狀態(tài),按照十進制計數(shù)器要求,應該含有十個有效的獨立運行的計數(shù)器狀態(tài),而7進制則說明,必須有3個無效的運行狀態(tài),即(0111-1001),使其跳過該無效狀態(tài),當?shù)?個脈沖過來時,要求此時計數(shù)器不是返回0111,而是直接達到復位狀態(tài).即到0000狀態(tài),但是一般此時不能滿足這個狀態(tài),其計數(shù)器狀態(tài)是從0110轉到0111,而不能達到0000狀態(tài).此時采用置位方法,使其強迫的達到0000狀態(tài).當計數(shù)器達到0111的時候,通過邏輯與門,使其具有清零的功能,這個時候計數(shù)器能夠迅速達到0000狀態(tài),而0111這種狀態(tài)是一個非常非常短的一個過渡狀態(tài),只是稍微閃了一下,一般看不到,就自動清零了.因此,復位法的使用,使得計數(shù)器的實際狀態(tài)變成0000-0110這7個實際的狀態(tài),即可達到七進制計數(shù)器的實現(xiàn)功能[8].
2.2.1 置入最大值法
當保證具有置位功能的兩個S全部為高電平的時候,兩個具有清零功能R至少有一個低電平時,此時對輸入狀態(tài)沒有任何限制,這個時候的計數(shù)器的4個輸出Q為1001,這種稱為置入最大值法.
2.2.2 置入最小值法
當具有置位功能的兩個S和具有清零功能R不全為高電位時候,當有計數(shù)脈沖輸入時,此時開始計數(shù),當計數(shù)器的4個輸出Q為0001時,這種稱為置入最小值法.其主要包括以下幾種方式:
1)二進制計數(shù)器
如圖4所示,把一個輸入脈沖從計數(shù)器74LS90的CP0輸入時候,在輸出端只要一個Q0輸出時,此時可以把計數(shù)器74LS90看做是二進制計數(shù)器.
圖3 七進制計數(shù)器的實現(xiàn)
圖4 二進制計數(shù)器的實現(xiàn)
2)五進制計數(shù)器
如圖5所示,把一個輸入脈沖從計數(shù)器74LS90的CP1輸入時候,在輸出端除了Q0沒有輸出外,其他3個具有輸出時,此時可以把計數(shù)器74LS90看做是五進制計數(shù)器.
3)十進制計數(shù)器
如圖6所示,把一個輸入脈沖從計數(shù)器74LS90的CP0輸入時候,且保證CP1和Q0直接相連接,在輸出端具有4個輸出時,此時可以把計數(shù)器74LS90看做是十進制計數(shù)器.
圖5 五進制計數(shù)器的實現(xiàn)
圖6 十進制計數(shù)器的實現(xiàn)
綜上,單片74LS90可以構成N(N≤10)進制計數(shù)器,這個時候,只需要把屬于BCD碼中的高電平的輸出端進行邏輯與運算,其結果放在計數(shù)器的R端,此時方可實現(xiàn)對N(N≤10)進制計數(shù)器的設計.
當N進制中的N取值較大的時候,此時N應大于10小于100,此時可以通過級聯(lián)的方式進行N進制的設計.比如,可以用兩個計數(shù)器74LS90就可以實現(xiàn)100進制的設計,此時兩個計數(shù)器分別為個位和十位.
設計N>10的進制計數(shù)器是因為在日常生活中,往往不能僅僅靠十進制內的計數(shù)器完成任務,像生活中常見的鐘表,常常需要的就是六十進制和二十四進制的計數(shù)器,類似的還有計件工廠對于產品數(shù)目的計算,一般以十二進制為主,輪數(shù)到十二個的時候增加一等.因此,在生產生活中任意進制的計數(shù)器的作用是非常大的.本文主要介紹生活中常用的二十四進制和六十進制的設計,由于已經超過了十進制,通過級聯(lián)方法來增加整個設計的計數(shù)進制值,就需要多片芯片完成設計[9].
二十四將其分開來看主要由個位和十位組成,這樣就需要兩個芯片組成,通過片選信號進行個位十位的選擇,由于采用標準的十進制進行設計就要滿足“逢十進一”的規(guī)則.由于74LS90芯片的邏輯功能,將選擇連接成十進制形式.整個設計過程則為:個位上的數(shù)因為脈沖數(shù)的不斷輸入進行計數(shù),直至計算到十,則個位最高位的則向十位的脈沖輸入端發(fā)一個脈沖信號,此時十位進行數(shù)字加一,連接如圖7所示.
如圖7所示,芯片分為個位和十位分開計數(shù),當個位的CP0得到脈沖信號后,個位開始計數(shù),當計數(shù)值達到10后,Q3輸出信號給十位,十位進值為1,當Q3第二次輸出信號時,十位得到信號計數(shù)值變成2,由于是二十四進制,即拆分成2進制數(shù)則用BCD碼表示為“00100100”也就是當個位的Q2與十位的Q1同時為1時,達到二十四,通過“與”門,將兩個信號相應輸出到十位的R01和R02中,完成一整個進制的循環(huán),即對信號進行重新計數(shù)輸出,完成整個二十四進制的設計.
圖7 二十四進制計數(shù)器的實現(xiàn)
六十進制的設計與二十四進制設計類似,也是將六十分為兩個部分,即個位和十位,同樣的也是通過兩個芯片組合完成,再通過片選信號去選擇計數(shù)值的個位和十位,仍舊采用標準的十進制進行六十進制的設計.由于74LS90芯片的邏輯功能,根據(jù)前面的介紹,將選擇連接成十進制形式,整個設計過程則為:個位上的數(shù)因為脈沖數(shù)的不斷輸入進行計數(shù),直至計算到十,則個位最高位的則向十位的脈沖輸入端發(fā)一個脈沖信號,此時十位進行數(shù)字加一,也滿足“逢十進一”的規(guī)則.連接如圖8所示.
圖8 六十進制計數(shù)器的實現(xiàn)
如圖8所示,兩個芯片仍然分為個位和十位分開計數(shù),由于個位仍按照十進制進行設計,個位的CP0得到脈沖信號后,個位開始累計計數(shù),計數(shù)值達到10后,此時Q3位為高電平,直接將高電平信號輸出發(fā)送到十位芯片上,十位計數(shù)值則變成1,如此循環(huán),當Q3第六次輸出信號時,十位得到信號計數(shù)值變成6.根據(jù)六十進制的設置,拆分成二進制數(shù)則用BCD碼表示為“01100000”,即個位的Q3和Q2同時為1時,達到六十進制的最大值,將兩個信號直接輸出到清零位的R10和R20上,數(shù)據(jù)清零后完成六十進制的一次循環(huán),下次得到外部脈沖再對信號開始重新計數(shù)輸出,完成六十進制的設計.
通過上面的介紹分析,可以總結反饋清零法、反饋置數(shù)法和級聯(lián)法這3種算法的優(yōu)缺點.
反饋清零法通過七進制的分析可知,因為在清零信號的負脈沖有可能會隨著計數(shù)器的清零而發(fā)生消失的情況.在這種情況下,會出現(xiàn)負脈沖的時間僅僅具有很短的保存.但是當清零的時候,如果觸發(fā)器不是同步進行,那么所需要的時間就會產生差異,進而會導致由于時間的延時觸發(fā)器沒有真正的進入清空狀態(tài),這個時候信號已經沒有了,最終導致結果的不成功產生出錯.所以反饋清零法雖然實現(xiàn)簡單,但是可靠性比較差.
反饋置數(shù)法在負脈沖的處理上,給予一個帶有寬度的信號,進而會使得計數(shù)器的可靠性比反饋清零法高.
級聯(lián)法主要是先級聯(lián)去擴大進而根據(jù)清零和置位用來獲得任意進制,雖然其應用比較廣泛,但可靠性不如反饋置數(shù)法.
圖9為60 s減法定時器的設計原理圖.其設計原理為:時鐘振蕩器采用555多普振蕩器或門電路構成的多譜振蕩器實現(xiàn),其主要用來產生時間的標準信號,其精確程度取決于時間的標準信號的頻率和穩(wěn)定性,用555定時器實現(xiàn)“秒”信號的產生器;計數(shù)器由74LS90采用“清零”方法組成六十進制的“秒”計數(shù)器,且用BCD碼表示;清零方法主要是適用于有異步置零輸入端的集成計數(shù)器.其基本原理是不管它的輸出是一個什么狀態(tài),只要在輸入的端口加入一個有效的電平電壓,那么輸出就會立刻從之前的狀態(tài)回到“0000”狀態(tài);譯碼驅動電路將計數(shù)器輸出的8421BCD碼轉換為數(shù)碼管需要的邏輯狀態(tài),而且為七段數(shù)碼管的正常穩(wěn)定提供正常的工作電壓和電流,譯碼器采用74LS48為驅動芯片,共陰極七段數(shù)碼管作為文中的顯示器.
圖10為60 s倒計時定時器的程序流程圖.流程圖主要包括開始、顯示60 s電路、中斷50 s溢出電路、跳轉到loop1,倒計時開始和結束.其中,中斷50 s溢出電路中,當符合條件的時候進行循環(huán)執(zhí)行20次,當?shù)褂嫊r到0之后則返回主程序,進而進行余下的程序到最終結束.
圖9 60 s減法定時器設計原理圖
圖10 60 s倒計時定時器的程序流程圖
本文介紹了利用數(shù)字中規(guī)模集成電路的控制端功能實現(xiàn)任意進制計數(shù)器的方法.首先,針對中規(guī)模集成電路的原理進行分析總結;進而,引入本文的重點——芯片的選擇,即計數(shù)器74LS90,通過研究其引腳的功能,來實現(xiàn)反饋清零法、反饋置數(shù)法和級聯(lián)法,并在其中應用各種實例進行驗證分析;最終,對反饋清零法、反饋置數(shù)法和級聯(lián)法的優(yōu)缺點進行描述,得出反饋置數(shù)法的可靠性能比較良好.本文得到一個利用集成計數(shù)器的清零端和置位端實現(xiàn)歸零,從而構成按自然態(tài)序進行計數(shù)的N進制計數(shù)器的方法.