基於5221碼的同步十進位制加法計數器

2022-09-17 20:39:21 字數 1764 閱讀 1727

(1)首先進行邏輯抽象。

計數器的工作特點是在時鐘訊號作用下自動地依次從乙個狀態轉為下乙個狀態,所以它沒有輸入邏輯變數,只有進製輸出訊號。因此,計數器是屬於穆爾型的一種簡單時序電路。

取進製符號為輸出邏輯變數c,同時規定有進製輸出時c=1,無進製輸出時c=0

十進位制計數器應當有是10個計數狀態,分別用 s0、s1 、s2 、s3 、s4 、s5 、s6 、s7 、s8 、s9 表示,根據題意可畫出如下圖所示的狀態轉換圖。(word 做出來的圖,大家將就著看吧)

由於需要10種狀態 23

<10<24 ,所以至少要用4位d觸發器,將10種狀態列出可得到狀態轉換表。

(2)由於電路的次態 q3n+1

q2n+1

q1n+1

q0n+1 

和進製輸出c唯一地取決於電路現態q3q2 q1 q0的取值,可根據狀態轉換表畫出表示次態邏輯函式和進製輸出函式的卡諾圖,如下圖所示,因為計數器正常工作時有6種無效狀態,將這6種狀態作約束項處理,在卡諾圖中用x表示。

(3)將上面的卡諾圖分為五個卡諾圖分別來表示 q3n+1

q2n+1

q1n+1

q0n+1

和c五個邏輯函式,並由這些卡諾圖得到電路的狀態方程。

從這些卡諾圖可以得出電路的狀態方程

電路的輸出方程   c=q3q1

選用d觸發器組成這個電路,將上面的狀態方程變換成d觸發器的特性方程的標準形式,qn+1=d可以得到驅動方程

(4)驗證一下電路的邏輯功能,將0000作為初始狀態代入狀態方程依次計算次態值,所得結果與狀態轉換表相同。

(5)檢查電路能否自啟動。將0100、0101、1111、1000、1011、1010分別代入狀態方程計算次態,可以得到下面的狀態轉換圖,由圖可知,每個無效狀態最終都能回到有效狀態,所以該電路具有自啟動的能力。

(6)用quartus**的電路圖和波形檔案截圖

第一次寫部落格,不太熟,大家先湊合著看哈。

BCD碼 十六進製制 十進位制 互轉

include include 功能 二進位製取反 輸入 const unsigned char src 二進位制資料 int length 待轉換的二進位制資料長度 輸出 unsigned char dst 取反後的二進位制資料 返回 0 success int convert unsigned ...

BCD碼與十進位制轉化

bcd碼 binary coded decimal 用4位二進位制數來表示1位十進位制數中的0 9這10個數碼,是一種二進位制的數字編碼形式,用二進位制編碼的十進位制 bcd碼這種編碼形式利用了四個位元來儲存乙個十進位制的數碼,使二進位制和十進位制之間的轉化得以快捷的進行。bcd碼可分為有權碼和無權...

十進位制轉格雷碼

公式表示 g i b i b i 1 g 格雷碼,b 二進位製碼 也就是第i位格雷碼等於當前二進位制位和前面更高為的異或。那怎麼實現讓當前位和更高位異或呢?第一種方法是先把所有的向左移,在把所有位同時異或。假入我們要求10110 b 的格雷碼,我們可以通過先將它向左移1位,也就是先把高位降1位,這樣...