BCD計數器是一種特殊類型的數字計數器,在應用鎖定信號時可以計數到10個
我們之前看到,切換T型觸發器可以作為個體使用除以兩個計數器。如果我們將串聯鏈中的幾個觸發器觸發器連接在一起,我們就可以生成一個數字計數器,用于存儲或顯示特定計數序列發生的次數。
時鐘T型觸發器充當二進制二分頻計數器,在異步計數器中,一個計數級的輸出為下一級提供時鐘脈沖。然后觸發器計數器具有兩種可能的輸出狀態,并且通過添加更多觸發器級,我們可以進行2分頻 N 計數器。但是4位二進制計數器的問題在于它們從 0000 到 1111 。這是從0到15的十進制。
要使數字計數器從1到10計數,我們需要讓計數器只計算二進制數 0000 到 1001 。這是十進制的0到9,幸運的是,對于我們來說,計數電路很容易作為集成電路使用,其中一個這樣的電路是異步74LS90十進制計數器。
數字計數器向上計數在應用時鐘信號時從零到一些預定的計數值。一旦達到計數值,重置它們會使計數器返回到零以重新開始。
十進制計數器以十進制計數,然后在計數九之后返回到零。顯然要計算二進制值9,計數器必須在其鏈中至少有四個觸發器來表示每個十進制數字,如圖所示。
BCD計數器狀態圖

然后十年計數器有四個觸發器和16個潛在狀態,其中只有10個被使用,如果我們連接一系列計數器我們可以計算到100或1,000或我們選擇的最終計數。
計數器可以計數的總計數稱為 MODULUS 。在n計數后返回到零的計數器稱為模數計數器,例如模8(MOD-8)或模16(MOD- 16)計數器等,對于“n位計數器”,整個計數范圍從 0 到 2n-1 。
但正如我們在異步計數器教程中看到的那樣,一個計數器在十次計數之后重置,從二進制 0000 (十進制“0”)到 1001的10分頻計數序列(十進制“9”)簡稱為“二進制編碼十進制計數器”或BCD計數器,MOD-10計數器可以使用最少四個切換翻轉 - 翻牌。
它被稱為BCD計數器,因為它的十個狀態序列是BCD碼的序列,并且沒有常規模式,這與直接二進制計數器不同。然后,諸如74LS90的單級BCD計數器從十進制0到十進制9計數,因此能夠計數最多九個脈沖。另請注意,數字計數器可能會向上計數或向下計數或向上和向下計數(雙向),具體取決于輸入控制信號。
二進制編碼十進制代碼8421代碼由四個二進制數字組成。 8421指定是指所使用的四位數或位的二進制權重。例如,2 3 = 8,2 2 = 4,2 1 = 2和2 0 = 1 。 BCD代碼的主要優點是它允許在十進制和二進制數字形式之間輕松轉換。
74LS90 BCD計數器
74LS90集成電路基本上是MOD-10十年計數器,產生BCD輸出代碼。 74LS90由四個內部連接的主從JK觸發器組成,提供MOD-2(計數到2)計數器和MOD-5(計數到5)計數器。 74LS90有一個由 CLK A 輸入驅動的獨立觸發JK觸發器和三個觸發JK觸發器,形成由 CLK B 輸入驅動的異步計數器,如圖所示。
74LS90 BCD計數器

計數器四個輸出由字母符號 Q <指定/ span>,其數字下標等于BCD計數器電路代碼中相應位的二進制權重。例如, Q A , Q B , Q C 和 Q D 。 74LS90計數序列在時鐘信號的下降沿觸發,即時鐘信號 CLK 從邏輯1(高電平)變為邏輯0(低電平)。
輸入 S時,附加輸入引腳 R 1 和 R 2 是計數器“復位”引腳 1 和 S 2 是“設置”引腳。當連接到邏輯1時,復位輸入 R 1 和 R 2 將計數器復位回零,0 ( 0000 ),當設置輸入 S 1 和 S 2 時連接到邏輯1,他們將計數器設置為最大值,或9( 1001 ),無論實際計數或位置如何。
正如我們之前所說,74LS90計數器由在同一個包中的2分頻計數器和5分頻計數器。然后我們可以使用任一計數器來產生僅2分頻頻率計數器,僅使用5分頻頻率計數器或兩者一起產生我們所需的10分頻BCD計數器。
如果時鐘信號施加到輸入引腳14( CLK A )并且輸出采用4個觸發器組成5分頻計數器部分禁用從引腳12( Q A )開始,我們可以生成一個標準的2分頻二進制計數器,用于分頻電路,如圖所示。
74LS90 2分頻計數器

要生成標準的5分頻計數器,我們可以禁用上面的第一個觸發器,將時鐘輸入信號直接施加到引腳1( CLK B ),輸出信號取自引腳11( Q D )如圖所示。
74LS90 5分頻計數器

請注意,使用5分頻計數器配置時,輸出波形不對稱但具有4:1標記空間比。即四個輸入時鐘信號產生一個LOW或邏輯“0”輸出,第五個輸入時鐘信號產生一個HIGH或邏輯“1”輸出。
產生一個10分頻BCD十進制計數器,使用兩個內部計數器電路,給出2倍的5分頻值。由于觸發器“A”的第一個輸出 Q A 沒有內部連接到后續級,因此可以通過以下方式擴展計數器以形成4位BCD計數器:將此 Q A 輸出連接到 CLK B 輸入,如圖所示。
74LS90 Divide -by-10 Counter

然后我們可以看到BCD計數器是從算起的二進制計數器0000 到 1001 然后重置,因為它能夠在第九次計數后清除所有觸發器。如果我們將按鈕開關( SW 1 )連接到時鐘輸入 CLK A ,每次按鈕開關是釋放柜臺將算一個。如果我們將發光二極管(LED)連接到輸出端子, Q A , Q B , Q C 和 Q D ,如圖所示,我們可以查看二進制編碼的十進制計數。
74LS90 BCD十年計數器

按鈕開關的連續應用, SW 1 將計數增加到9,1001。在第十次應用中輸出 ABCD 將重置為零以啟動新的計數序列。使用這樣的MOD-10輪數脈沖,我們可以使用十進制計數器來驅動數字顯示。
如果我們想要使用七段顯示器顯示計數序列,BCD輸出需要是在顯示之前適當解碼。可以解碼74LS90 BCD計數器的四個輸出并點亮所需顯示段的數字電路稱為解碼器。
駕駛顯示器
對我們來說幸運的是,某人已經設計并開發了一個BCD到7段顯示解碼器IC,例如74LS47就可以做到這一點。 74LS47有四個輸入,用于BCD數字 A , B , C 和 D 以及每個輸入的輸出七段顯示器的各個部分。
請注意,標準7段LED顯示屏通常有八個輸入連接,一個用于每個LED段,另一個用作所有內部顯示器的公共端子或連接段。某些顯示器還有一個小數點(DP)選項。
74LS47 BCD到7段驅動程序

74LS47顯示解碼器接收BCD碼并產生必要的信號以激活適當的LED段,負責顯示所施加的脈沖數。由于74LS47解碼器設計用于驅動共陽極顯示器,因此LOW(邏輯0)輸出將照亮LED段,而HIGH(邏輯1)輸出將其“關閉”。正常運行時, LT (燈測試), BI / RBO (消隱輸入/紋波消隱輸出)和 RBI (紋波消隱輸入)必須全部打開或連接到邏輯1(高電平)。
請注意,雖然74LS47具有低電平有效輸出,旨在解碼共陽極7段LED顯示,74LS48解碼器/驅動器IC除了具有用于解碼共陰極7段顯示器的有效HIGH輸出之外,它們完全相同。因此,根據7段LED顯示器的類型,您可能需要74LS47或74LS48解碼器IC。
74LS47二進制編碼的十進制輸入可以連接到74LS90 BCD計數器的相應輸出每次按下 SW1 按鈕時,顯示7段顯示屏上的計數序列。通過改變按鈕和10kΩ電阻的位置,可以在按鈕開關的激活或釋放時改變計數, SW1 。
最終的4位BCD計數器電路

請注意,7段顯示器由7個獨立的發光二極管組成,以形成顯示。限制通過七段顯示器的電流的最佳方法是使用與七個LED中的每一個串聯的限流電阻器,如圖所示。但我們可以通過兩種方式實現這一目標。
限流電阻

單電阻- 使用單個串聯限流電阻, R 。如果您不是特別關注恒定的顯示亮度,那么這是控制7段顯示的最簡單和最簡單的選擇。
LED發出的光量隨著通過設備的電流而變化。流過電阻器的電流在多個顯示段之間共享。那么顯示器的亮度現在取決于同時照亮多少段。

多個電阻器- 每個段都有自己的限流電阻,如上面的簡單BCD計數器電路所示。
通常,7段顯示器需要大約12到20毫安來照亮這些段,因此選擇限流電阻器的電阻值(全部將是相同的)以將電流限制在這些值內。請注意,如果以40mA及以上的電流驅動,有些顯示器可能會被破壞。
這里的優點是特定LED段的亮度不依賴于其他六個LED的狀態,使顯示器的亮度恒定。可以選擇限流電阻的值以提供正確的亮度,因為環境光量也將決定所需的LED強度。
我們的電路顯示了一個簡單的0到9數字計數器使用74LS90 BCD計數器和74LS47 7段顯示驅動程序。為了計算10以上并產生2位數的十進制計數器和顯示器,我們需要將兩個獨立的十分計數器級聯在一起。一個2位BCD計數器將從00到99(0000 0000到1001 1001)以十進制計數,然后重置回00.請注意,盡管它是一個2位計數器,但值代表來自 A <的十六進制數字/ span>到 F 在此代碼中無效。
同樣,如果我們想從0到999(0000 0000 0000到1001 1001 1001)計數,那么三級聯十年計數器是必需的。實際上,可以簡單地通過將各個BCD計數器電路級聯在一起來構建多十個計數器,每個十年一個,如圖所示。
2位BCD計數器從00到99

BCD計數器摘要
在本教程中,我們看到BCD計數器是一個經歷十個狀態序列的設備當它被計時并在計數9之后返回0.在上面的簡單示例中,輸入時鐘脈沖來自按鈕開關,但計數器可用于計算許多真實世界事件,例如計算移動物體。
然而,可能需要合適的電路來為每個要計數的事件生成電脈沖,因為這些事件可能以離散的時間間隔發生,或者它們可能是完全隨機的。
在許多數字電子中電路和應用,數字計數器使用Toggle觸發器或任何其他類型的觸發器實現,可以連接以提供所需的切換功能,或與使用專用計數IC,如74LS90。二進制計數器是通過二進制序列的計數器,n位二進制計數器由“n”個觸發器組成,從0到2n-1計數。
BCD計數器遵循十個序列使用 0000 到 1001 的BCD編號進行狀態和計數,然后返回 0000 并重復。這樣的計數器必須至少有四個觸發器來表示每個十進制數字,因為十進制數字由二進制代碼表示,至少有4位給出MOD-10計數。
我們也見過可以使用四個LED或數字顯示器顯示BCD編碼輸出。但要顯示0到9之間的每個數字需要一個解碼器電路,它將二進制編碼數字表示轉換為每個顯示段上的適當邏輯電平。
顯示解碼器電路可以由組合邏輯元件構成市場上有許多專用集成電路來執行這項功能,例如74LS47 BCD到7段解碼器/驅動器IC。
大多數7段顯示器通常用于多位數計數應用,所以通過將更多BCD計數器級聯在一起,可以構建4位計數器,最大讀數為9999。
74LS90 BCD計數器是一種非常靈活的計數電路,可用作分頻器或制造通過將適當的輸出反饋回IC的復位和置位輸入,將任何整數計數從2分為9。
-
計數器
+關注
關注
32文章
2316瀏覽量
98181 -
BCD
+關注
關注
1文章
99瀏覽量
32153
發布評論請先 登錄
【FPGA開源教程連載】第五章 BCD計數器設計與應用
雙BCD遞增計數器CD74HC4520數據手冊
同步計數器和異步計數器是什么 同步計數器和異步計數器的主要區別?
BCD計數器電路分析
評論