Presentation is loading. Please wait.

Presentation is loading. Please wait.

自停式向下計數器 通訊一甲 B09622048 楊穎穆.

Similar presentations


Presentation on theme: "自停式向下計數器 通訊一甲 B09622048 楊穎穆."— Presentation transcript:

1 自停式向下計數器 通訊一甲 B 楊穎穆

2 目錄 目的 設計原理 程式 實驗結果 資料來源

3 目的 使用VHDL設計一個自停式向下計數器電路,此電路有RESET功能, CLOCK輸入後向下開始計數。 將電路加以模擬
將程式燒錄到IC執行 將以上原理撰寫成PPT格式報告交出

4 設計原理 z y clock x reset 當reset=‘0’ , y 設定為 x 值,否則clock計數向下, 計數到’0’即不動。
bin2seg y clock x reset

5 設計原理 自停式計數器 : 計數到某一數值便停止不再計數下去 5 4 1 3 2 自停式向下計數器

6 程式 library ieee; use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity test is IC內部要做的電路名稱 port( 接腳 reset,clock: in std_logic; 輸入腳位reset,clock x:in std_logic_vector(3 downto 0); --輸入腳位 x z:out std_logic_vector(6 downto 0) --輸出腳位 z ); end;

7 architecture Behav of test is --電路內部結構
signal y: std_logic_vector(3 downto 0); 內部輸入訊號 begin process(reset,clock,x) 處理影響的輸入訊號 if(reset='0') then y<=x; --當reset=‘0’時,X會搬入Y,從我們設定的X值開始計數 else if(clock'event and clock='1')then --判別clock此訊號是否由'0'--->'1'的上昇緣 if(y="0000")then y<="0000"; 判別計數器輸出是否已經是‘0',則設定輸出由'0'開始 else y<=y-‘1’; 不是,則計數器輸出繼續減'1' end if; 結束if程式 end if; 結束if程式 end if; 結束if程式 end process; 結束process程式

8 process(y) --處理y輸入的訊號
begin if (y="0000") then z<=" "; 輸入為"0000"七段會顯示為'0' elsif (y="0001") then z<=" "; 輸入為"0001"七段會顯示為'1' elsif (y="0010") then z<=" "; 輸入為"0010"七段會顯示為'2' elsif (y="0011") then z<=" "; 輸入為"0011"七段會顯示為'3' elsif (y="0100") then z<=" "; 輸入為"0100"七段會顯示為'4' elsif (y="0101") then z<=" "; 輸入為"0101"七段會顯示為'5' elsif (y="0110") then z<=" "; 輸入為"0110"七段會顯示為'6' elsif (y="0111") then z<=" "; 輸入為"0111"七段會顯示為'7' elsif (y="1000") then z<=" "; 輸入為"1000"七段會顯示為'8' elsif (y="1001") then z<=" "; 輸入為"1001"七段會顯示為'9' elsif (y="1010") then z<=" "; 輸入為"1010"七段會顯示為'a' elsif (y="1011") then z<=" "; 輸入為"1011"七段會顯示為'b' elsif (y="1100") then z<=" "; 輸入為"1100"七段會顯示為'c' elsif (y="1101") then z<=" "; 輸入為"1101"七段會顯示為'd' elsif (y="1110") then z<=" "; 輸入為"1110"七段會顯示為'e' else z<=" "; 輸入為"1111"七段會顯示為'f' end if; 結束if程式 end process; 結束process程式 end Behav; 程式結束

9 實驗結果(1) 當我x輸入為“1000”時,輸出端就會顯示為8,然後我按下clock就會向下開始計數,直到0就停止不在計數下去。

10 實驗結果(2) 當我x輸入為“0100”時,輸出端就會顯示為4,然後我按下clock就會向下開始計數,直到0就停止不在計數下去。

11 資料來源 “數位邏輯”這本書。 王志湖老師上課所教授的內容。

12 END


Download ppt "自停式向下計數器 通訊一甲 B09622048 楊穎穆."

Similar presentations


Ads by Google