




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
信息工程專業(yè)2009級《可編程邏輯器件及應用》課程設計實踐報告設計題目交通燈控制器設計TOC\o"1-5"\h\z專業(yè)班級—_信息工程091___學號_2009018295___姓名____完成時間__20120528___可編程邏輯器件及應用》課程設計實踐報告設計題目交通燈控制器的設計設計要求利用VHDL語言和原理圖混合的方法設計一個設計一個由一條主干道和一條支干道的匯合點形成的十字交叉路口的交通燈控制器,具體要求如下:主、支干道各設有一個綠、黃、紅指示燈,兩個顯示數(shù)碼管。主干道處于常允許通行狀態(tài),而支干道有車來才允許通行。當主、支道均有車時,兩者交替允許通行,主干道每次放行45s,支干道每次放行25s,在每次由亮綠燈變成亮紅燈的轉換過程中,要亮5s的黃燈作為過渡,并進行減計時顯示。設計方案根據(jù)交通燈控制器功能設計要求,本系統(tǒng)可由以下6個模塊組成:45S計時模塊CNT45S;25S計時模塊CNT25S;05S計時模塊CNT05S;交通燈控制模塊JTDKZ;顯示子模塊XSKZ;譯碼器模塊YMQ。具體實現(xiàn)(根據(jù)不同的方法進行描述,給出具體實現(xiàn)步驟,包括程序)在D盤建立七個文件夾,JTDKZ、CNT45S、CNT25S、CNT05S、XSKZ、YMQ、JTDKZQSJ。運行QuartusII軟件,選擇File..NewProjectWizard菜單建立一個新工程。工程名稱及頂層文件名稱為JTDKZ,器件設置對話框中選擇EPM240T100C5芯片,完成新工程的建立。選擇File..New菜單,創(chuàng)建VHDL描述語言設計文件,打開文本編輯器界面。選擇File..SaveAs菜單,將創(chuàng)建的VHDL設計文件保存為JTDKZ.VHD。在文本編輯器界面中編寫VHDL程序,代碼如下:--JTDKZ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYJTDKZISPORT(CLK,SM,SB:INSTD_LOGIC;MR,MY,MG,BR,BY,BG:OUTSTD_LOGIC);ENDENTITYJTDKZ;ARCHITECTUREARTOFJTDKZISTYPESTATE_TYPEIS(A,B,C,D);SIGNALSTATE:STATE_TYPE;BEGINCNT:PROCESS(CLK)ISVARIABLES:INTEGERRANGE0TO45;VARIABLECLR,EN:BIT;BEGINIF(CLK'EVENTANDCLK='1')THENIFCLR='0'THENS:=0;ELSIFEN='0'THENS:=S;ELSES:=S+1;ENDIF;CASESTATEISWHENA=>MR<='0';MY<='0';MG<='1';BR<='1';BY<='0';BG<='0';IF(SBANDSM)='1'THENIFS=45THENSTATE<=B;CLR:='0';EN:='0';ELSESTATE<=A;CLR:='1';EN:='1';ENDIF;ELSIF(SBAND(NOTSM))='1'THENSTATE<=B;CLR:='0';EN:='0';ELSESTATE<=A;CLR:='1';EN:='1';ENDIF;WHENB=>MR<='0';MY<='1';MG<='0';BR<='1';BY<='0';BG<='0';IFS=5THENSTATE<=C;CLR:='0';EN:='0';ELSESTATE<=B;CLR:='1';EN:='1';ENDIF;WHENC=>MR<='1';MY<='0';MG<='0';BR<='0';BY<='0';BG<='1';IF(SMANDSB)='1'THENIFS=25THENSTATE<=D;CLR:='0';EN:='0';ELSESTATE<=C;CLR:='1';EN:='1';ENDIF;ELSIFSB='0'THENSTATE<=D;CLR:='0';EN:='0';ELSESTATE<=C;CLR:='1';EN:='1';ENDIF;WHEND=>MR<='1';MY<='0';MG<='0';BR<='0';BY<='1';BG<='0';IFS=5THENSTATE<=A;CLR:='0';EN:='0';ELSESTATE<=D;CLR:='1';EN:='1';ENDIF;ENDCASE;ENDIF;ENDPROCESSCNT;ENDARCHITECTUREART;選擇Tools..CompilerTool菜單,編譯JTDKZ.VHD源文件。(可選項:編譯無誤后建立仿真波形文件JTDKZ.VWF。選擇Tools..SimulatorTool菜單進行仿真)。選擇File..Create/Update..CreateSymbolFileforCurrentFile菜單,為當前工程生成一個符號文件JTDKZ.BSF文件。選擇File..CloseProject菜單關閉工程JTDKZ。重復上面的過程,建立CNT45S,最后為當前工程生成一個符號文件CNT45S?BSF文件。--CNT45S.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT45SISPORT(SB,CLK,EN45:INSTD_LOGIC;DOUT45M,DOUT45B:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYCNT45S;ARCHITECTUREARTOFCNT45SISSIGNALCNT6B:STD_LOGIC_VECTOR(5DOWNTO0);BEGINPROCESS(SB,CLK,EN45)ISBEGINIFSB='0'THENCNT6B<=CNT6B-CNT6B-1;ELSIF(CLK'EVENTANDCLK='1')THENIFEN45='1'THENCNT6B<=CNT6B+1;ELSIFEN45='0'THENCNT6B<=CNT6B-CNT6B-1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CNT6B)ISBEGINCASECNT6BISWHEN"000000"=>DOUT45M<="01000101";DOUT45B<="01010000";WHEN"000001"=>DOUT45M<="01000100";DOUT45B<="01001001";WHEN"000010"=>DOUT45M<="01000011";DOUT45B<="01001000";WHEN"000011"=>DOUT45M<="01000010";DOUT45B<="01000111";WHEN"000100"=>DOUT45M<="01000001";DOUT45B<="01000110";WHEN"000101"=>DOUT45M<="01000000";DOUT45B<="01000101";WHEN"000110"=>DOUT45M<="00111001";DOUT45B<="01000100";WHEN"000111"=>DOUT45M<="00111000";DOUT45B<="01000011";WHEN"001000"=>DOUT45M<="00110111";DOUT45B<="01000010";WHEN"001001"=>DOUT45M<="00110110";DOUT45B<="01000001";WHEN"001010"=>DOUT45M<="00110101";DOUT45B<="01000000";WHEN"001011"=>DOUT45M<="00110100";DOUT45B<="01101001";WHEN"001100"=>DOUT45M<="00110011";DOUT45B<="00111000";WHEN"001101"=>DOUT45M<="00110010";DOUT45B<="00110111";WHEN"001110"=>DOUT45M<="00110001";DOUT45B<="00110110";WHEN"001111"=>DOUT45M<="00110000";DOUT45B<="00110101";WHEN"010000"=>DOUT45M<="00101001";DOUT45B<="00110100";WHEN"010001"=>DOUT45M<="00101000";DOUT45B<="00110011";WHEN"010010"=>DOUT45M<="00100111";DOUT45B<="00110010";WHEN"010011"=>DOUT45M<="00100110";DOUT45B<="00110001";WHEN"010100"=>DOUT45M<="00100101";DOUT45B<="00110000";WHEN"010101"=>DOUT45M<="00100100";DOUT45B<="00101001";WHEN"010110"=>DOUT45M<="00100011";DOUT45B<="00101000";WHEN"010111"=>DOUT45M<="00100010";DOUT45B<="00100111";WHEN"011000"=>DOUT45M<="00100001";DOUT45B<="00100110";WHEN"011001"=>DOUT45M<="00100000";DOUT45B<="00100101";WHEN"011010"=>DOUT45M<="00011001";DOUT45B<="00100100";WHEN"011011"=>DOUT45M<="00011000";DOUT45B<="00100011";WHEN"011100"=>DOUT45M<="00010111";DOUT45B<="00100010";WHEN"011101"=>DOUT45M<="00010110";DOUT45B<="00100001";WHEN"011110"=>DOUT45M<="00010101";DOUT45B<="00100000";WHEN"011111"=>DOUT45M<="00010100";DOUT45B<="00011001";WHEN"100000"=>DOUT45M<="00010011";DOUT45B<="00011000";WHEN"100001"=>DOUT45M<="00010010";DOUT45B<="00010111";WHEN"100010"=>DOUT45M<="00010001";DOUT45B<="00010110";WHEN"100011"=>DOUT45M<="00010000";DOUT45B<="00010101";WHEN"100100"=>DOUT45M<="00001001";DOUT45B<="00010100";WHEN"100101"=>DOUT45M<="00001000";DOUT45B<="00010011";WHEN"100110"=>DOUT45M<="00000111";DOUT45B<="00010010";WHEN"100111"=>DOUT45M<="00000110";DOUT45B<="00010001";WHEN"101000"=>DOUT45M<="00000101";DOUT45B<="00010000";WHEN"101001"=>DOUT45M<="00000100";DOUT45B<="00001001";WHEN"101010"=>DOUT45M<="00000011";DOUT45B<="00001000";WHEN"101011"=>DOUT45M<="00000010";DOUT45B<="00000111";WHEN"101100"=>DOUT45M<="00000001";DOUT45B<="00000110";WHENOTHERS=>DOUT45M<="00000000";DOUT45B<="00000000";ENDCASE;ENDPROCESS;ENDARCHITECTUREART;重復上面的過程,建立CNT25S,最后為當前工程生成一個符號文件CNT25S?BSF文件。--CNT25S.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT25SISPORT(SB,SM,CLK,EN25:INSTD_LOGIC;DOUT25M,DOUT25B:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYCNT25S;ARCHITECTUREARTOFCNT25SISSIGNALCNT5B:STD_LOGIC_VECTOR(4DOWNTO0);BEGINPROCESS(SB,SM,CLK,EN25)ISBEGINIFSB='0'ORSM='0'THENCNT5B<=CNT5B-CNT5B-1;ELSIF(CLK'EVENTANDCLK='1')THENIFEN25='1'THENCNT5B<=CNT5B+1;ELSIFEN25='0'THENCNT5B<=CNT5B-CNT5B-1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CNT5B)ISBEGINCASECNT5BISWHEN"00000"=>DOUT25B<="00100101";DOUT25M<="00110000";WHEN"00001"=>DOUT25B<="00100100";DOUT25M<="00101001";WHEN"00010"=>DOUT25B<="00100011";DOUT25M<="00101000";WHEN"00011"=>DOUT25B<="00100010";DOUT25M<="00100111";WHEN"00100"=>DOUT25B<="00100001";DOUT25M<="00100110";WHEN"00101"=>DOUT25B<="00100000";DOUT25M<="00100101";WHEN"00110"=>DOUT25B<="00011001";DOUT25M<="00100100";WHEN"00111"=>DOUT25B<="00011000";DOUT25M<="00100011";WHEN"01000"=>DOUT25B<="00010111";DOUT25M<="00100010";WHEN"01001"=>DOUT25B<="00010110";DOUT25M<="00100001";WHEN"01010"=>DOUT25B<="00010101";DOUT25M<="00100000";WHEN"01011"=>DOUT25B<="00010100";DOUT25M<="00011001";WHEN"01100"=>DOUT25B<="00010011";DOUT25M<="00011000";WHEN"01101"=>DOUT25B<="00010010";DOUT25M<="00010111";WHEN"01110"=>DOUT25B<="00010001";DOUT25M<="00010110";WHEN"01111"=>DOUT25B<="00010000";DOUT25M<="00010101";WHEN"10000"=>DOUT25B<="00001001";DOUT25M<="00010100";WHEN"10001"=>DOUT25B<="00001000";DOUT25M<="00010011";WHEN"10010"=>DOUT25B<="00000111";DOUT25M<="00010010";WHEN"10011"=>DOUT25B<="00000110";DOUT25M<="00010001";WHEN"10100"=>DOUT25B<="00000101";DOUT25M<="00010000";WHEN"10101"=>DOUT25B<="00000100";DOUT25M<="00001001";WHEN"10110"=>DOUT25B<="00000011";DOUT25M<="00001000";WHEN"10111"=>DOUT25B<="00000010";DOUT25M<="00000111";WHEN"11000"=>DOUT25B<="00000001";DOUT25M<="00000110";WHENOTHERS=>DOUT25B<="00000000";DOUT25M<="00000000";ENDCASE;ENDPROCESS;ENDARCHITECTUREART;重復上面的過程,建立CNT05S,最后為當前工程生成一個符號文件CNT05S?BSF文件。--CNT05S?VHDLIBRARYIEEE;USEIEEE?STD_LOGIC_1164?ALL;USEIEEE?STD_LOGIC_UNSIGNED?ALL;ENTITYCNT05SISPORT(CLK,EN05M,EN05B:INSTD_LOGIC;DOUT5:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYCNT05S;ARCHITECTUREARTOFCNT05SISSIGNALCNT3B:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(CLK,EN05M,EN05B)ISBEGINIF(CLK'EVENTANDCLK='1')THENIFEN05M='1'OREN05B='1'THENCNT3B<=CNT3B+1;ELSECNT3B<="000";ENDIF;ENDIF;ENDPROCESS;PROCESS(CNT3B)ISBEGINCASECNT3BISWHEN"000"=>DOUT5<="00000101";WHEN"001"=>DOUT5<="00000100";WHEN"010"=>DOUT5<="00000011";WHEN"011"=>DOUT5<="00000010";WHEN"100"=>DOUT5<="00000001";WHENOTHERS=>--DOUT5<="00000000";ENDCASE;ENDPROCESS;ENDARCHITECTUREART;重復上面的過程,建立XSKZ,最后為當前工程生成一個符號文件XSKZ.BSF文件。--XSKZ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYXSKZISPORT(EN45,EN25,EN05M,EN05B:INSTD_LOGIC;AIN45M,AIN45B:INSTD_LOGIC_VECTOR(7DOWNTO0);AIN25M,AIN25B,AIN05:INSTD_LOGIC_VECTOR(7DOWNTO0);DOUTM,DOUTB:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYXSKZ;ARCHITECTUREARTOFXSKZISBEGINPROCESS(EN45,EN25,EN05M,EN05B)ISBEGINIFEN45='1'THENDOUTM<=AIN45M(7DOWNTO0);DOUTB<=AIN45B(7DOWNTO0);ELSIFEN05M='1'THENDOUTM<=AIN05(7DOWNTO0);DOUTB<=AIN05(7DOWNTO0);ELSIFEN25='1'THENDOUTM<=AIN25M(7DOWNTO0);DOUTB<=AIN25B(7DOWNTO0);ELSIFEN05B='1'THENDOUTM<=AIN05(7DOWNTO0);DOUTB<=AIN05(7DOWNTO0);ENDIF;ENDPROCESS;ENDARCHITECTUREART;重復上面的過程,建立YMQ,最后為當前工程生成一個符號文件YMQ.BSF文件。--YMQ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYYMQISPORT(AIN4:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT7:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDENTITYYMQ;ARCHITECTUREARTOFYMQISBEGINPROCESS(AIN4)ISBEGINCASEAIN4ISWHEN"0000"=>DOUT7<="0111111";WHEN"0001"=>DOUT7<="0000110";WHEN"0010"=>DOUT7<="1011011";WHEN"0011"=>DOUT7<="1001111";WHEN"0100"=>DOUT7<="1100110";WHEN"0101"=>DOUT7<="1101101";WHEN"0110"=>DOUT7<="1111101";WHEN"0111"=>DOUT7<="0000111";WHEN"1000"=>DOUT7<="1111111";WHEN"1001"=>DOUT7<="1101111";WHENOTHERS=>DOUT7<="0000000";ENDCASE;ENDPROCESS;ENDARCHITECTUREART;完成上述步驟之后,然后按照下面的步驟進行:選擇File..NewProjectWizard菜單建立一個新工程。工程名稱及頂層文件名稱為JTDKZQSJ,器件設置對話框中選擇EPM240T100C5芯片,完成新工程的建立。
將上述六個工程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人群結構分析報告范文
- 侵權事實調查報告范文
- 2025年度餐飲行業(yè)品牌推廣個人勞動合同
- 二零二五年度房地產(chǎn)代銷代建與品牌推廣合同
- 二零二五年度新能源汽車租賃公司與個人節(jié)能補貼協(xié)議
- 二零二五年度養(yǎng)老機構租賃合同終止及服務質量保證協(xié)議
- 二零二五年度金融產(chǎn)品代理合同終止條件及風險控制
- 2025年度軌道交通工程設計合同
- 二零二五年度股東借款給公司數(shù)字化轉型及升級服務合同
- 二零二五年度農村房屋未登記產(chǎn)權過戶協(xié)議
- 日內交易策略(TBQ版)
- 家校共育之道
- 部編版九年級道德與法治上冊《第二課創(chuàng)新驅動發(fā)展》同步測試題(附答案)
- DeepSeek入門寶典培訓課件
- 充電樁投放合同范本
- 西安2025年陜西西安音樂學院專職輔導員招聘2人筆試歷年參考題庫附帶答案詳解
- 《作文中間技巧》課件
- 廣東省2025年中考物理仿真模擬卷(深圳)附答案
- 2025屆八省聯(lián)考 新高考適應性聯(lián)考英語試題(原卷版)
- 新蘇教版一年級下冊數(shù)學第1單元第3課時《8、7加幾》作業(yè)
- 2024年山東電力高等專科學校高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
評論
0/150
提交評論