新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 計數器原理分析及應用實例

        計數器原理分析及應用實例

        作者: 時間:2012-06-01 來源:網絡 收藏

        除了計數功能外,產品還有一些附加功能,如異步復位、預置數(注意,有同步預置數和異步預置數兩種。前者受時鐘脈沖控制,后者不受時鐘脈沖控制)、保持(注意,有保持進位和不保持進位兩種)。雖然產品一般只有二進制和十進制兩種,有了這些附加功能,我們就可以方便地用我們可以得到的來構成任意進制的計數器。下面我們舉兩個例子。在這兩個例子中,我們分別用同步十進制加法計數器74LS160構成一個六進制計數器和一個一百進制計數器。

        本文引用地址:http://www.104case.com/article/186305.htm

        因為六進制計數器的有效狀態有六個,而十進制計數器的有效狀態有十個,所以用十進制計數器構成六進制計數器時,我們只需保留十進制計數器的六個狀態即可。74LS160的十個有效狀態是BCD編碼的,即0000、0001、0010、0011、0100、0101、0110、0111、1000、1001[圖5-1]。

        圖5-1

        我們保留哪六個狀態呢?理論上,我們保留哪六個狀態都行。然而,為了使電路最簡單,保留哪六個狀態還是有一點講究的。一般情況下,我們總是保留0000和1001兩個狀態。因為74LS160從1001變化到0000時,將在進位輸出端產生一個進位脈沖,所以我們保留了0000和1001這兩個狀態后,我們就可以利用74LS160的進位輸出端作為六進制計數器的進位輸出端了。于是,六進制計數器的狀態循環可以是0000、0001、0010、0011、0100和1001,也可以是0000、0101、0110、0111、1000和1001。我們不妨采用0000、0001、0010、0011、0100和1001這六個狀態。

        如何讓74LS160從0100狀態跳到1001狀態呢?我們用一個混合邏輯與非門構成一個譯碼器[圖5.3.37b],當74LS160的狀態為0100時,與非門輸出低電平,這個低電平使74LS160工作在預置數狀態,當下一個時鐘脈沖到來時,由于等于1001,74LS160就會預置成1001,從而我們實現了狀態跳躍。

        圖5.3.37b 用置數法將74160接成六進制計數器(置入1001)

        比這個方案稍微繁瑣一點的是利用74LS160的異步復位端。下面這個電路中[圖5.3.34],也有一個由混合邏輯與非門構成的譯碼器。

        圖5.3.34 用置零法將74LS160接成六進制計數器

        不過,這個譯碼器當輸入為0110時才輸出低電平,使74LS160異步復位,進入0000這個狀態。從0000狀態開始,隨著時鐘脈沖的不斷到來,74LS160依次變為0001、0010、0011、0100、0101、和0110狀態[圖5-2]。可能有人說:“不對!這個電路總共有七個狀態,應該是七進制計數器呀!”我們說,這個電路雖然要經歷七個狀態,但是只需六個脈沖就完成一個計數循環,因此它仍是六進制計數器。

        圖5-2

        我們仔細一下。假設74LS160的初始狀態為0000,第一個時鐘脈沖到達后,它的狀態變為0001,第二個時鐘脈沖到達后,它的狀態變為0010,……,第五個時鐘脈沖到達后,它的狀態變為0101,第六個時鐘脈沖到達后,它的狀態變為0110。當74LS160處于0110這個狀態時,譯碼器輸出低電平,使74LS160異步復位,進入0000這個狀態。這段話里,“異步復位”是一個關鍵詞。與同步復位不同,異步復位不受時鐘脈沖的控制。于是,譯碼器的輸出剛變成低電平,74LS160的狀態就變成了0000。理想情況下,74LS160在第六個時鐘周期內首先在0110狀態停留片刻,然后就穩定地停留在0000狀態。我們知道,計數器的工作對象是時鐘脈沖。計數,就是計時鐘脈沖的個數。在我們這個例子中,74LS160從0000狀態出發,經過六個(而不是七個)時鐘周期又回到了0000狀態,也就是說,每六個(而不是七個)時鐘脈沖就使74LS160的狀態循環一次。因此,這個電路是一個六進制計數器。計數循環中包括0000、0001、0010、0011、0100和0101這六個穩定狀態。可能有人說:“唔,聽你這么一解釋,我也覺得它是六進制計數器。不過,把七個狀態算成六個總是有點兒別扭。唉,只要它能工作,我就不計較它是經歷六個狀態還是七個狀態了。”我說:“對,我也這樣想。然而,事與愿違呀!不改進的話,這個電路還真不能工作。”為什么呢?我們知道,計數器的狀態是觸發器記憶的。74LS160有四個觸發器,分別記憶。這四個觸發器的工作速度是有差異的。在74LS160從0110變成0000的過程中,的狀態不變,的狀態要從1變成0。我們假設快,那么剛剛從1變0時,仍然處于1狀態。這時,譯碼器的輸出就不是低電平了,74LS160的異步復位信號就消失了。在異步復位信號持續時間過短的情況下,將保持1狀態不變。于是74LS160將停留在0010狀態,而不是我們期望的0000狀態。顯然,這是一種競爭冒險現象,因為74LS160是否能夠從0110變成0000取決于的競爭結果。怎樣使異步復位信號持續足夠長的時間呢?我們來看看這個電路[圖5.3.36]。

        塵埃粒子計數器相關文章:塵埃粒子計數器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 自治县| 长宁区| 加查县| 丰原市| 兴化市| 泸西县| 库伦旗| 甘肃省| 永吉县| 潮州市| 麦盖提县| 五常市| 汝城县| 郑州市| 长汀县| 长岛县| 栖霞市| 十堰市| 桦南县| 鄂尔多斯市| 台州市| 将乐县| 搜索| 马尔康县| 东安县| 徐州市| 陕西省| 东明县| 祁连县| 渑池县| 专栏| 宜春市| 遵义县| 太和县| 瑞丽市| 平定县| 分宜县| 微山县| 仙桃市| 万盛区| 屯昌县|