Download presentation
Presentation is loading. Please wait.
1
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆
2
目錄 1.目的 2.真值表 3.程式 4.實驗結果 5.資料來源
3
目的 ※主要是使用VHDL來設計七段顯示的電路,並燒進IC板裡測試它的結果,相較於上學期是使用繪畫電路圖的方式兩者有明顯的差異,不過得出來的結果是一樣的。
4
真值表 w x y z a b c d e f g 1 2 3 4 5 6 7 8 9 10~15 X X X X X X X
5
程式 library ieee; use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity BCD2SEG is IC內部要做的電路名稱 port( 接腳 w,x,y,z : in std_logic; w,x,y,z為輸入腳 a,b,c,d,e,f,g : out std_logic -- a,b,c,d,e,f,g為輸出腳 ); end;
6
architecture Behave of BCD2SEG is --電路內部結構
signal i : std_logic_vector(3 downto 0); --輸入訊號向下計數由3到0 signal t : std_logic_vector(6 downto 0); --輸出訊號向下計數由6到0 begin i(3)<=w; i(2)<=x; i(1)<=y; i(0)<=z; --Grouping(群組化)i(3)搬入w, i(2)搬入x, i(1)搬入y, i(0)搬入z process(i) 處理i輸入的訊號 if i=“0000” then t<=“ ”; 輸入為“0000”七段顯示就會顯示‘0’ elsif i="0001" then t<=" "; --輸入為“0001”七段顯示顯示‘1’ elsif i="0010" then t<=" "; --輸入為“0010”七段顯示顯示‘2’ elsif i="0011" then t<=" "; --輸入為“0011”七段顯示顯示‘3’ elsif i="0100" then t<=" "; --輸入為“0100”七段顯示顯示‘4’
7
elsif i="0101" then t<="0100100"; --輸入為“0101”七段顯示顯示‘5’
else t<=“XXXXXXX”; don’t care項 end if; 結束if程式 end process; 結束process程式 a<=t(6); b<=t(5); c<=t(4); d<=t(3); e<=t(2); f<=t(1); g<=t(0); Grouping(群組化)t(6)搬入a, t(5)搬入b, t(4)搬入c, t(3)搬入d, t(2)搬入e, t(1)搬入f, t(0)搬入g end Behave; 程式結束
8
實驗結果(1) ※當開關撥為”0000”的時候,七段顯示會顯示為’0’。然後當我開關撥為”0001”的時候,七段顯示就會顯示為’1’。這就是利用二進制轉七段顯示,所顯示出來的結果。
9
實驗結果(2) ※當開關撥為”0010”的時候,七段顯示會顯示為’2’。然後當開關撥為”0011”的時候,七段顯示會顯示為’3’。
10
實驗結果(3) ※當開關撥為”0100”的時候,七段顯示會顯示為’4’。然後當開關撥為”0101”的時候,七段顯示會顯示為’5’。
11
實驗結果(4) ※當開關撥為”0110”的時候,七段顯示會顯示為’6’。然後當開關撥為”0111”的時候,七段顯示會顯示為’7’。
12
實驗結果(5) ※當開關撥為”1000”的時候,七段顯示會顯示為’8’。然後當開關撥為”1001”的時候,七段顯示會顯示為’9’。
13
資料來源 ※主要的資料來源來至王志湖老師上課所教授的內容所做成的筆記及”數位邏輯”這本書。
14
END
Similar presentations