資源描述:
《eda實驗1:七段數碼顯示譯碼器設計》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、電子設計自動化實驗報告姓名:路傳濤學號:201215728時間11-12第四大節(jié)地點S-5B208七段數碼顯示譯碼器設計1.實驗目的:學習7段數碼顯示譯碼器設計,學習VHDL的多層次設計方法。2.實驗原理:七段數碼管由8個(a,b,c,d,e,f,g,dp)按照一定位置排列的發(fā)光二極管構成,通常采取共陰極或者共陽極的設計,將8個二極管的同一極接在一起,通過分別控制另外的8個電極的電平,使二極管導通(發(fā)光)或截止(不發(fā)光)。七段數碼顯示譯碼器的功能就是根據需要顯示的字符,輸出能夠控制七段數碼管顯示出
2、該字符的編碼。3.實驗儀器:EDA6000通用實驗開發(fā)系統(tǒng),P4電腦4.實驗內容:1)用VHDL設計7段數碼管顯示譯碼電路,并在VHDL描述的測試平臺下對譯碼器進行功能仿真,給出仿真的波形。---------------------------------------------------------------------程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSMGISPORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0
3、);LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0));電子設計自動化實驗報告姓名:路傳濤學號:201215728時間11-12第四大節(jié)地點S-5B208END;ARCHITECTUREONEOFSMGISBEGINPROCESS(A)BEGINCASEAISWHEN"0000"=>LED7S<="0111111";WHEN"0001"=>LED7S<="0000110";WHEN"0010"=>LED7S<="1011011";WHEN"0011"=>LED7S<="100
4、1111";WHEN"0100"=>LED7S<="1100110";WHEN"0101"=>LED7S<="1101101";WHEN"0110"=>LED7S<="1111101";WHEN"0111"=>LED7S<="0000111";WHEN"1000"=>LED7S<="1111111";WHEN"1001"=>LED7S<="1101111";WHEN"1010"=>LED7S<="1110111";WHEN"1011"=>LED7S<="1111100";WHEN"1100"=>L
5、ED7S<="0111001";WHEN"1101"=>LED7S<="1011110";WHEN"1110"=>LED7S<="1111001";WHEN"1111"=>LED7S<="1110001";WHENOTHERS=>NULL;ENDCASE;仿真波形:電子設計自動化實驗報告姓名:路傳濤學號:201215728時間11-12第四大節(jié)地點S-5B2081)數碼管顯示電路設計利用以上設計的譯碼器模塊,設計一個8位的顯示電路。利用時分復用的方式快速輪流點亮8個數碼管,在視覺上形成8個數碼管同
6、時顯示的效果(盡管實際上同一時間只有一個數碼管被點亮)。要實現以上功能,就必須按照一定時鐘節(jié)拍,輪流使譯碼器輸出所需要字符的編碼;同時控制數碼管的公共電極電平,輪流點亮數碼管。備注:在新試驗箱中可酌情減少位數實現,新試驗箱中管腳查閱教材中附錄。程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYVHDL42ISPORT(CLK:INSTD_LOGIC;S:OUTSTD_LOGIC_VECTOR
7、(2DOWNTO0);D:INSTD_LOGIC_VECTOR(3DOWNTO0);A:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDVHDL42;電子設計自動化實驗報告姓名:路傳濤學號:201215728時間11-12第四大節(jié)地點S-5B208ARCHITECTUREONEOFVHDL42ISSIGNALC:STD_LOGIC_VECTOR(2DOWNTO0);BEGINP1:PROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFC<"11
8、1"THENC<=C+1;ELSEC<="000";ENDIF;ENDIF;S<=C;ENDPROCESSP1;P2:PROCESS(D)BEGINCASEDISWHEN"0000"=>A<="0111111";WHEN"0001"=>A<="0000110";WHEN"0010"=>A<="1011011";WHEN"0011"=>A<="1001111";WHEN"0100"=>A<="1100110";WHEN"0101"=>A<="1101101";WHEN"0110"=>