王長江
(四川職業技術學院 電子電氣工程系,四川 遂寧 629000)
計數器不僅可以用來計數,而且還可以用來實現定時、分頻、測量和控制等功能,例如,計算機的時序發生器、分頻器、指令計數器等。在集成計數器中,常用的二進制和十進制計數器的進制一般都是固定的,如74LS190為10進制,74LS193為16進制。在實際中應用中,如數字鐘電路中,卻需要24進制和60進制計數器,因此,這就要利用現有的固定進制計數器來設計需要的N進制計數器。
Multisim是美國國家儀器(National Instruments,NI)公司推出的一款電路仿真分析與設計軟件,該軟件能夠激發電子設計愛好者的設計靈感,廣泛用于電子技術教學、設計和科研中。下面以集成同步十進制可逆計數器74LS192為基礎,基于Multisim軟件實現大容量N進制計數器的設計與仿真。
74LS192是雙時鐘輸入的同步十進制可逆計數器,其邏輯符號如圖1所示。圖中,UP為加計數時鐘輸入端,DOWN為減計數時鐘輸入端,CLR為清零端(高電平有效),~LOAD為預置數端(低電平有效),~CO為進位輸出端(1001狀態后負脈沖輸出),~BO為借位輸出端(0000狀態后負脈沖輸出),A~D為并行數據輸入端,QA~QD為計數器狀態輸出端(計數狀態為0000~1001)。
74LS192的邏輯功能如圖2所示,表明它具有如下主要的邏輯功能:
(1)異步清零。當CLR=1時,計數器立即清零,即 QDQCQBQA=0000。
(2)異步置數。當~LOAD=0,且CLR=0時,將A~D并行輸入端的輸入數據置入計數器,即QAQBQCQD=ABCD。
(3) 加法計數 。當 CLR=0,~LOAD=1,且DOWN=1時,UP端輸入計數脈沖,計數器實現十進制遞加計數。
(4)減法計數。當CLR=0,~LOAD=1,且 UP=1時,DOWN端輸入計數脈沖,計數器實現十進制遞減計數。

圖1 邏輯符號

圖2 邏輯功能
設現有M進制計數器,要設計一個N進制計數器。如果N小于M,需要用一片M進制計數器就可以實現N進制計數器的設計;如果N大于M,需要用多片M進制計數器來實現大容量N進制計數器的設計。
級聯法是指先將大容量計數器模N分解為多個因數相乘(每個因數小于單片計數器模的最大值),即 N=N1·N2·N3…Nn,再用 n片計數器分別組成模值為N1、N2、…、Nn的計數器,最后采用串聯進位或并行進位方式級聯起來從而實現N進制計數器。
例如,用兩片74LS192設計一個60進制加法計數器。
要設計的60進制計數器模N=6×10,個位片U1組成十進制計數器(第一片低位);十位片U2組成6進制計數器(第二片高位),采用串行進位級聯方式將兩片級聯起來,即將低位片計數器U1進位端~CO的輸出信號作為高位片計數器U2的計數輸入脈沖。當十位片計數器U2計到6時,異步置數端~LOAD=0,計數器被置數到0,從而實現了60進制計數。
根據上述設計原理,利用Multisim 11軟件創建的設計仿真電路如圖3所示。運行仿真開關,觀察到計數器從0開始計數,計到59時開始循環,實現60進制加法計數功能。

圖3 60進制計數器仿真電路
整體清零法是指先將多片M進制計數器級聯成大于N進制計數器,然后利用計數器的輸出狀態SN(同步清零為SN-1)譯碼輸出產生清零信號,同時加到多片計數器的清零端,使多片計數器同時清零,從而實現N進制計數器。
例如,用兩片74LS192設計一個24進制加法計數器。
現在需要設計24進制計數器,應先將兩片74LS192用串行進位方式級聯構成100進制計數器;再將100進制計數器采用整體清零法構成24進制計數器。
24進制計數器對應的二進制代碼
反饋置零函數

計數器狀態S24經非門輸出的高電平信號同時送到兩片計數器的清零端,使兩片計數器同時清零,從而實現24進制計數。
根據以上設計原理,利用Multisim 11軟件創建的設計仿真電路如圖4所示。運行仿真開關,觀察計數器從0到23計數,計到23時開始循環計數,實現24進制加法計數器功能。

圖4 24進制加法計數器仿真電路
整體置數法是指先將多片M進制計數器級聯成大于N進制計數器,然后根據設計選定的N進制計數器狀態,確定計數器預置數狀態,計數器從預置數狀態開始計數,計滿N個狀態后譯碼產生置數信號,同時加到多片計數器的置數端,使計數器返回到預置數狀態,跳過剩余的不用狀態,從而實現N進制計數器。
例如,用兩片74LS192設計一個殊12進制加法計數器。
在數字鐘里,對時位的計數序列是1、2、…11,12、1、…是12進制的,且無0數。當計數器計數到13時,計數狀態QU2DQU2CQU2BQU2AQU1DQU1CQU1BQU1A=001001001產生置數信號,使計數器返回到計1,從而實現1-12計數。所以,計數器預置數狀態00000001,即十位片U2直接置0000,個位片U1直接置0001,計數器的反饋置數函數為

根據上述設計原理,利用Multisim 11軟件創建的設計仿真電路如圖5所示。運行仿真開關,觀察計數器從1到12計數,當計到13時回到1,開始循環計數,實現12進制加法計數器功能。

圖5 特殊12進制加法計數器仿真電路
在此設計案例中,置數信號~LOAD=0由計數器狀態經過譯碼產生,有時也可以由進位輸出端~CO(加計數)或借位輸出端~BO(減計數)輸出信號產生。
例如,用兩片74LS192設計一個30遞減計數器。
需設計30遞減計數器,應先將兩片74LS192級聯構成100進制遞減計數器;再將100進制遞減計數器構成30遞減計數器。
計數器從30開始遞減計數,預設置數應為30,相應的計數狀態為00110000,即個位片U1置數0000,十位片U2置數0011。個位計數器U1(從9減計數到0時),~BO端(發出低電平信號,平時為高電平)發出一個負脈沖作為十位計數器U2減計數時鐘信號,十位計數器U2減1計數;當十位計數器U2和個位計數器U1都處于全0時,十位計數器U2的~BO=~LOAD=0,計數器完成置數作用,此后~BO=~LOAD=1,計數器在減計數脈沖作用下,進入下一輪30遞減計數。
根據此設計原理,利用Multisim 11軟件創建的設計仿真電路如圖6所示。運行仿真開關,觀察計數器從30到00遞減計數,當計到00時計數器置30,重新開始減計數,實現30倒計數功能。

圖6 30進制遞減計數器仿真電路
大容量N進制計數器的設計可以采用級聯法、整體清零法和整體置數法。Multisim軟件具有直觀的圖形界面、龐大的元器件庫、豐富的測試儀器和完備的分析工具,它能夠激發電子設計愛好者的設計靈感,是現代電子電路設計的有效方法。基于Multisim實現大容量N進制計數器的設計與仿真,操作簡單,搭接電路方便,仿真結果清晰表明設計的計數器能夠實現所要求的N進制計數功能。