【正文】
END IF。 END CASE。 END IF。 END PROCESS。 c1=39。139。WHEN next_state=s0 else 39。039。 c2=39。139。WHEN next_state=s1 else39。039。 c3=39。139。WHEN next_state=s2 else39。039。 END。 27 元件圖 (控制模塊 2 的元件圖) 仿真圖 (控制模塊 2 的仿真圖) 28 電路圖 (控制模塊 2 的 RTL 電路圖) 29 流程圖 (控制模塊流程圖 ) 開始 定義參數(shù) State=S0? Rest=1? 系統(tǒng)變回零狀態(tài) 綠燈亮 Y Y N N State=S2? 紅燈亮 黃燈亮 Y N N State=S1? 結束 Y 30 顯示模塊 源代碼 LIBRARY IEEE。 USE 。 USE 。 ENTITY XIANSHI IS PORT( b1,b2,b3,b4,b5,b6:IN STD_LOGIC。 Q0:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q1:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q2:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q3:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q4:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q5:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q6:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q7:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q8:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q9:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 CLK:IN STD_LOGIC。 SG:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)。 BT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。 END。 ARCHITECTURE one OF XIANSHI IS SIGNAL CN:INTEGER RANGE 0 to 2。 SIGNAL CN1:INTEGER RANGE 0 to 2。 SIGNAL CNT2:STD_LOGIC_VECTOR(1 DOWNTO 0)。 SIGNAL A:STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN P1:PROCESS(CN) BEGIN IF(b1=39。139。)THEN CN=0。END IF。 IF(b2=39。139。)THEN CN=1。END IF。 IF(b3=39。139。)THEN CN=2。END IF。 IF(b4=39。139。)THEN CN1=0。END IF。 IF(b5=39。139。)THEN CN1=1。END IF。 IF(b6=39。139。)THEN CN1=2。END IF。 31 CASE CN IS WHEN 0= CASE CNT2 IS WHEN 00=BT=00000001。A=Q0。 WHEN 01=BT=00000010。A=Q1。 WHEN OTHERS=NULL。 END CASE。 WHEN 1=BT=00000001。A=Q2。 WHEN 2= CASE CNT2 IS WHEN 00=BT=00000001。A=Q3。 WHEN 01=BT=00000010。A=Q4。 WHEN OTHERS=NULL。 END CASE。 WHEN OTHERS =NULL。 END CASE。 CASE CN1 IS WHEN 0= CASE CNT2 IS WHEN 00=BT=00000100。A=Q5。 WHEN 01=BT=00001000。A=Q6。 WHEN OTHERS=NULL。 END CASE。 WHEN 1= CASE CNT2 IS WHEN 00=BT=00000100。A=Q7。 WHEN 01=BT=00001000。A=Q8。 WHEN OTHERS=NULL。 END CASE。 WHEN 2=BT=00000100。A=Q9。 WHEN OTHERS=NULL。 END CASE。 END PROCESS P1。 P2:PROCESS(A) BEGIN CASE A IS WHEN 0000=SG=0111111。WHEN0001=SG=0000110。 32 WHEN 0010=SG=1011011。WHEN0011=SG=1001111。 WHEN 0100=SG=1100110。WHEN0101=SG=1101101。 WHEN 0110=SG=1111101。WHEN0111=SG=0000111。 WHEN 1000=SG=1111111。WHEN1001=SG=1101111。 WHEN OTHERS=NULL。 END CASE。 END PROCESS P2。 P3:PROCESS(CLK) BEGIN IF(CLK39。EVENT AND CLK=39。139。)THEN CNT2=CNT2+1。 END IF。 END PROCESS P3。 END。 元件圖 (顯示模塊的元件圖) 33 電路圖 34 流程圖 (顯示模塊流程圖) 35 總電路圖 36 總仿真圖 (總設計圖的仿真圖) 第四章 調試 將程序進行編譯后,把管腳綁定后把程序下載到實驗箱上進行調試。 管腳綁定如下: 37 CLK0 綁定時鐘 1KHZ; rest 綁定 DK4 Rb 綁定 LED6; 支干道紅燈; Yb 綁定 LED7; 支干道黃燈 Gb 綁定 LED8; 支干道綠燈; Ra 綁定 LED1; 主干道紅燈 Ya 綁定 LED2; 主干道黃燈; Ga 綁定 LED3; 主干道綠燈 S_G[0]綁定 G8; S_G[1]綁定 F8; S_G[2]綁定 E8; S_G[3]綁定 D8; S_GG[4]綁定 C8; S_G[5]綁定 B8; S_G[6]綁定 A8; 第五章 實驗現(xiàn)象 LED 主干道亮綠燈,主干道數(shù)碼管顯示 25秒, LED支干道亮紅燈,數(shù)碼管顯示 30秒。 25 秒過后,主干道,通過 5 秒黃燈過渡到紅燈,數(shù)碼管顯示 20 秒。同時,支干道 LED 亮綠燈,數(shù)碼管顯 示 15 秒。當給 DK4 一個高電平,系統(tǒng)恢復到初始狀態(tài),即:主干道亮綠燈,支干道亮紅燈。 38 第六章 總結 通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。在設計中遇到了很多專業(yè)知識問題 ,最后在老師的辛勤指導下,終于游逆而解。此次課程設計,學到了很多課內學不到的東西,比如獨立思考解決問題,出現(xiàn)差錯的隨機應變,和與人合作共同提高,都受益非淺。同時,在賀老師的身上我們學也到很多實用的知識,在此我們表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝!