當前位置:萬佳範文網 >

工作報告 >實驗報告 >

同步計數器的設計實驗報告

同步計數器的設計實驗報告

同步計數器的設計實驗報告

篇一:實驗六 同步計數器的設計實驗報告

同步計數器的設計實驗報告

實驗六 同步計數器的設計

學號:

姓名:

一、實驗目的和要求

1.熟悉JK觸發器的邏輯功能。

2.掌握用JK觸發器設計同步計數器。

二、實驗儀器及器件

三、實驗預習

1、複習時序邏輯電路設計方法。

⑴ 邏輯抽象,得出電路的狀態轉換圖或狀態轉換表

① 分析給定的邏輯問題,確定輸入變量、輸出變量以及電路的狀態數。通常都是取原因(或條件)作為輸入邏輯變量,取結果作輸出邏輯變量。

② 定義輸入、輸出邏輯狀態和每個電路狀態的含意,並將電路狀態順序編號。

③ 按照題意列出電路的狀態轉換表或畫出電路的狀態轉換圖。 通過以上步驟將給定的邏輯問題抽象成時序邏輯函數。

⑵ 狀態化簡

① 等價狀態:在相同的輸入下有相同的輸出,並且轉換到同一次態的兩個狀態。

② 合併等價狀態,使電路的狀態數最少。

⑶ 狀態分配

① 確定觸發器的數目n。因為n個觸發器共有2n種狀態組合,所以為獲得時序電路所需的M個狀態,必須取2n1<M2n

② 給每個電路狀態規定對應的觸發器狀態組合。

⑷ 選定觸發器類型,求出電路的狀態方程、驅動方程和輸出方程

① 根據器件的供應情況與系統中觸發器種類儘量少的原則謹慎選擇使用的觸發器類型。

② 根據狀態轉換圖(或狀態轉換表)和選定的狀態編碼、觸發器的類型,即可寫出電路的狀態方程、驅動方程和輸出方程。

⑸ 根據得到的方程式畫出邏輯圖

⑹ 檢查設計的電路能否自啟動

① 電路開始工作時通過預置數將電路設置成有效狀態的一種。

② 通過修改邏輯設計加以解決。

⑺ 設計步驟簡圖

圖3 設計步驟簡圖

2、按實驗內容設計邏輯電路畫出邏輯圖。 設計思路詳情見第六部分。電路圖如下:

四、實驗原理

1.計數器的工作原理

遞增計數器----每來一個CP,觸發器的組成狀態按二進制代碼規律增加。 遞減計數器-----按二進制代碼規律減少。 雙向計數器-----可增可減,由控制端來決定。

2.集成J-K觸發器74LS73

⑴ 符號:

圖1 J-K觸發器符號

⑵ 功能:

表1 J-K觸發器功能表

⑶ 狀態轉換圖:

圖2 J-K觸發器狀態轉換圖

⑷ 特性方程:

Qn1JQnKQn

⑸ 注意事項:

① 在J-K觸發器中,凡是要求接“1”的,一定要接高電平(例如5V),否則會出現錯誤的翻轉。

③ 觸發器的兩個輸出負載不能過分懸殊,否則會出現誤翻。

④ J-K觸發器的清零輸入端在工作時一定要接高電平或連接到實驗箱的清零端子。

3.時序電路的設計步驟 內容見實驗預習。

五、實驗內容

1.用J-K觸發器和門電路設計一個特殊的12進制計數器,其十進制的狀態轉換圖為:

圖4

12進制計數器狀態轉換圖

六、實驗設計及數據與處理

⑴ 設計

在12進制同步計數器中,輸出的狀態只由前一週期的狀態決定,而與外來輸入無關,因此目標電路為Moore型。而數字電路只有0和1兩種狀態,因此目標電路要表達12種狀態需要用4個變量Q1、Q2、Q3、Q4的16種組合中的12種。現定義十進制數01~12的對應二進制數為輸出狀態,可得目標電路的狀態轉換表如下:

表2 12進制同步計數器狀態狀態轉換表

本實驗選擇J-K觸發器,根據狀態轉換表以及J-K觸發器特性方程:

Qn1JQnKQn

得到目標電路方程如下:

nnn

輸出方程:Y0nQ0n、Y1nQ1n、Y2nQ2、Y3Q3

驅動方程:Q0一個CP發生一次變化,因此J0K01。

Q1每當Q0為1時,發生變化,因此n

J1K1Q0。

Q2在Q1Q0都為1以及12(即1100的時候)發生變化,因此 J2 = K2 =Q1nQ0n+Q3nQ2n

Q3在Q2 Q1Q0都為1的時候,以及12的時候發生變化,因此 J3=K3=Q0nQ1nQ2n+Q3nQ2n。

狀態方程:Q0n1J0Q0nK0Q0n

Q1n1J1Q1nK1Q1n

篇二:計數器實驗報告

實驗4 計數器及其應用

一、實驗目的

1、學習用集成觸發器構成計數器的方法2、掌握中規模集成計數器的使用及功能測試方法二、實驗原理

計數器是一個用以實現計數功能的時序部件,它不僅可用來計脈衝數,還常用作數字系統的定時、分頻和執行數字運算以及其它特定的邏輯功能。

計數器種類很多。按構成計數器中的各觸發器是否使用一個時鐘脈衝源來分,有同步計數器和異步計數器。根據計數制的不同,分為二進制計數器,十進制計數器和任意進制計數器。根據計數的增減趨勢,又分為加法、減法和可逆計數器。還有可預置數和可編程序功能計數器等等。目前,無論是TTL還是CMOS集成電路,都有品種較齊全的中規模集成計數器。使用者只要藉助於器件手冊提供的功能表和工作波形圖以及引出端的排列,就能正確地運用這些器件。

1、中規模十進制計數器

CC40192是同步十進制可逆計數器,具有雙時鐘輸入,並具有清除和置數等功能,其引腳排列及邏輯符號如圖5-9-1所示。

圖5-

9-1 CC40192引腳排列及邏輯符號

圖中 LD—置數端CPU—加計數端CPD —減計數端CO—非同步進位輸出端 BO—非同步借位輸出端

D0、D1、D2、D3 —計數器輸入端

Q0、Q1、Q2、Q3 —數據輸出端CR—清除端

CC40192的功能如表5-9-1,説明如下:表5-9-1

當清除端CR為高電平“1”時,計數器直接清零;CR置低電平則執行其它功能。 當CR為低電平,置數端LD也為低電平時,數據直接從置數端D0、D1、D2、D3 置入計數器。

當CR為低電平,LD為高電平時,執行計數功能。執行加計數時,減計數端CPD 接高電平,計數脈衝由CPU 輸入;在計數脈衝上升沿進行 8421 碼十進制加法計數。執行減計數時,加計數端CPU接高電平,計數脈衝由減計數端CPD 輸入,表5-9-2為8421

碼十進制加、減計數器的狀態轉換表。加法計數 表5-9-

減計數

2、計數器的級聯使用

一個十進制計數器只能表示0~9十個數,為了擴大計數器範圍,常用多個十進制計數器級聯使用。

同步計數器往往設有進位(或借位)輸出端,故可選用其進位(或借位)輸出信號驅動下一級計數器。

圖5-9-2是由CC40192利用進位輸出CO控制高一位的CPU端構成的加數級聯圖。

圖5-9-2 CC40192級聯電路

3、實現任意進制計數

(1) 用復位法獲得任意進制計數器

假定已有N進制計數器,而需要得到一個M進制計數器時,只要M<N,用復位法使計數器計數到M時置“0”,即獲得M進制計數器。如圖5-9-4所示為一個由CC40192十進制計數器接成的6進制計數器。

(2) 利用預置功能獲M進制計數器

圖5-9-5為用三個CC40192組成的421進制計數器。

外加的由與非門構成的鎖存器可以克服器件計數速度的離散性,保證在反饋置“0”信號作用下計數器可靠置“0”。

圖5-9-3 六進制計數器

圖5-9-4是一個特殊12進制的計數器電路方案。在數字鐘裏,對時位的計數序列是1、2、11,12、1、是12進制的,且無0數。如圖所示,當計數到13時,通過與非門產生一個復位信號,使CC40192(2)〔時十位〕直接置成0000,而CC40192(1),即時的個位直接置成0001,從而實現了5-5-1-12計數。

圖5-9-4 特殊12進制計數器

三、實驗設備與器件

1、 +5V直流電源

2、 雙蹤示波器

3、 連續脈衝源

4、 單次脈衝源

5、 邏輯電平開關

6、 邏輯電平顯示器

7、 譯碼顯示器

8、 CC40192×3 CC4011(74LS00)

CC4012(74LS20)

四、實驗內容

1、測試CC40192同步十進制可逆計數器的邏輯功能

計數脈衝由單次脈衝源提供,清除端CR、置數端LD、數據輸入端D3 、D2、D1、D0 分別接邏輯開關,輸出端 Q3、Q2、Q1、Q0接實驗設備的一個譯碼顯示輸入相應插口A、B、C、D;

CO和BO接邏輯電平顯示插口。按表5-9-1逐項測試並判斷該集成塊的功能是否正常。

(1) 清除

令CR=1,其它輸入為任意態,這時Q3Q2Q1Q0=0000,譯碼數字顯示為0。清除功能完成後,置CR=0

(2) 置數

CR=0,CPU,CPD 任意,數據輸入端輸入任意一組二進制數,令LD= 0,觀察計數譯碼顯示輸出,予置功能是否完成,此後置LD=1。

(3) 加計數

CR=0,LD=CPD =1,CPU 接單次脈衝源。清零後送入10個單次脈衝,觀察譯碼數字顯示是否按8421碼十進制狀態轉換表進行;輸出狀態變化是否發生在CPU 的上升沿。

(4) 減計數

CR=0,LD=CPU =1,CPD 接單次脈衝 源。參照3)進行實驗。

由內容可做實驗得, 計數端接單次脈衝源,清除端CR、置數端LD、數據輸入端

D3D2D1D0分別接邏輯開關,Q3Q2Q1Q0接實驗設備的一個譯碼顯示輸入相應端口ABCD,CO、BO接邏輯電平顯示插口,按表5-9-1測試,其結果與表5-9-1相一致。

2、圖5-9-2所示,用兩片CC40192組成兩位十進制減法計數器,輸入1Hz連續計數脈衝,進行由00—99遞減計數,記錄之。

由內容可做實驗得,按圖5-9-2連接電纜,其中(1)片CPCR1=0 LD1=1 D接連續脈衝源,兩片Q3CPU1=1,BO1接2片CPD2 CR2=0 LD2=1 CPU2=1 BO2為借位端。譯碼顯示器,顯示器數值由00開始遞減。

3、將兩位十進制減法計數器改為兩位十進制加法計數器,實現由99—00累加計數,記錄之。

由內容可做實驗得,接圖5-9-2電路,顯示器由00開始遞增

4、設計一個數字鍾移位60進 制計數器並進行實驗。

由內容可做實驗得,將實驗3中(2)片接法改為圖5-9-3,即得到特殊12進制計數器 5、按圖5-9-4進行實驗,記錄之。

由內容可做實驗得,按圖5-9-4連接電路,得到特殊12進制計數器。

六、實驗心得

在整個設計的過程中,關鍵在於時序電路的連接及電路的細節設計上,連接時要特別注意分清各個管腳,要分析原理以及可行的原因,是整個電路可穩定工作。從中我感覺到每個實驗都是要反覆實踐,其過程可能相當繁瑣,但總會有所收穫的。

Q0分別接

篇三:計數器設計實驗報告

實 驗 報 告

實驗:

班級:

姓名:

學號:

一、實驗目的

1.熟悉硬件描述語言軟件的使用。 2.數序計數器的工作原理和邏輯功能。 3.掌握計數器的設計方法。

二、實驗原理

計數器是數字系統中使用最多的時序邏輯電路,其應用範圍非常廣泛。計數器不僅能用於時鐘脈衝技術,而且還用於定時、分頻、產生節拍脈衝和脈衝序列以及進行數字運算等。

三、實驗內容

1.設計一個具有僅為輸出信號的十進制加法計數器,要求有異步清零功能及同步使能控制端。

(1)代碼library ieee;

use _logic_;use _logic_;entity cnt10 is

port (clk,rst,en,load:in std_logic;data:in std_logic_vector(3 downto 0);dout:out std_logic_vector(3 downto 0);cout:out std_logic);end cnt10;

architecture behav of cnt10 isbegin

process(clk,rst,en,load)

variable q:std_logic_vector(3 downto 0);begin

if rst='0' then q:=(others=>'0');elsif clk'event and clk='1' thenif en='1' then

if (load='0') then q:=data; elseif q<9 then="" q:="(others=">'0');end if;end if;end if;end if;

if q="1001" then cout<='1';else cout<='0';end if;dout<=q;end process;end behav;

(2)編譯完成

(3)波形

(4)網表

RTL傳輸層

映射

2.設計一個具有進位輸出信號的六進制加法計數器,要求具有異步清零功能及同步使能控制端。

(1)代碼

library ieee;

use _logic_; use _logic_; entity CNT6 is

port (clk,rst,en,load:in std_logic; data:in std_logic_vector(3 downto 0); dout:out std_logic_vector(3 downto 0); cout:out std_logic); end CNT6;

architecture behav of CNT6 is begin

process(clk,rst,en,load)

variable q:std_logic_vector(3 downto 0); begin

if rst='0' then q:=(others=>'0'); elsif clk'event and clk='1' then if en='1' then

if (load='0') then q:=data; else if q<5 then="" q:="(others=" else="">'0'); end if; end if; end if; end if;

if q="0101" then cout<='1'; else cout<='0'; end if; dout<=q; end process; end behav;

(2)編譯完成

(3)波形

(4)網表

RTL傳輸層

映射

四、分析

十進制加法計數器和六進制加法計數器的仿真波形與真值表一致。

  • 文章版權屬於文章作者所有,轉載請註明 https://wjfww.com/baogao/shiyan/lzwmm.html
專題