版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
一、設(shè)計要求 --------------------------------------------------------------------------------二、設(shè)計目的 --------------------------------------------------------------------------------三、設(shè)計方案 --------------------------------------------------------------------------------b5E2RGbCAP四、設(shè)計程序 ---------------------------------------------------------------------------------p1EanqFDPw五、管腳分配 ---------------------------------------------------------------------------------DXDiTa9E3d六、硬件下載實現(xiàn)現(xiàn)象描述 ------------------------------------------RTCrpUDGiT七、體會、對設(shè)計工作的總結(jié)與展 -------------------------------------------5PCzVD7HxA一、設(shè)計要求:① 在十字路口的兩個方向上各設(shè)一組紅、綠、黃燈,顯示順序為其中一方向 <東西方向)是綠燈、黃燈、紅燈;另一方向 <南北方向)是紅燈、綠燈、黃燈。 jLBHrnAILg②設(shè)置一組數(shù)碼管,以倒計時的方式顯示允許通行或禁止通行的時間,其中綠燈、黃燈、紅燈的持續(xù)時間分別是 20s、5s和25s。xHAQX74J0X1/21③當(dāng)各條路上任意一條上出現(xiàn)特殊情況時,如當(dāng)消防車、救護(hù)車或其他需要優(yōu)先放行的車輛通過時,各方向上均是紅燈亮,倒計時停止,且顯示數(shù)字在閃爍。當(dāng)特殊運(yùn)行狀態(tài)結(jié)束后,控制器恢復(fù)原來狀態(tài),繼續(xù)正常運(yùn)行。 LDAYtRyKfE二、設(shè)計方案:計數(shù)器的計數(shù)值與交通燈亮滅的關(guān)系如圖 1所示。0192449綠燈亮黃燈亮紅燈亮東西方向計數(shù)值(時間)南北方向紅燈亮綠燈亮黃燈亮0244449圖1計數(shù)值與交通燈亮滅的關(guān)系顯然,本課題的核心是一個計數(shù)范圍為 0~49<共50s)的計數(shù)器和一個根據(jù)計數(shù)值做出規(guī)定反應(yīng)的控制器。另外,所用實驗箱配備的晶振為 20MH z,因此還需要一個分頻電路。最后,要驅(qū)動七段數(shù)碼管,顯然還需要一個譯碼電路。 Zzz6ZB2Ltk根據(jù)上面的分析,可以畫出如圖 2所示的系統(tǒng)框圖。2/21hold計數(shù)值紅、黃、綠reset計數(shù)器控制器發(fā)光二極管倒計時數(shù)字及“閃爍控制信號”Clk1Hz20MHz分頻電路CLK10Hz分位譯碼電路七段數(shù)碼管CPLD/FPGA圖2交通燈控制器系統(tǒng)框圖2、計數(shù)器的設(shè)計這里需要的計數(shù)器的計數(shù)范圍為 0~49。計到 49后,下一個時鐘沿回復(fù)到 0,開始下一輪計數(shù)。此外,當(dāng)檢測到特殊情況 <Hold=’1’)發(fā)生時,計數(shù)器暫停計數(shù),而系統(tǒng)復(fù)位信號Reset則使計數(shù)器異步清 0。dvzfvkwMI13、控制器的設(shè)計控制器的作用是根據(jù)計數(shù)器的計數(shù)值控制發(fā)光二極管的亮、滅,以及輸出倒計時數(shù)值給七段數(shù)譯管的分位譯碼電路。此外,當(dāng)檢測倒特殊情況 <Hold=’1’)發(fā)生時,無條件點亮紅色的發(fā)光二級管。 rqyn14ZNXI由于控制器要對計數(shù)值進(jìn)行判斷,很容易想到用 IF語句來實現(xiàn)。本控制器可以有兩種設(shè)計方法,一種是利用時鐘沿的下降沿讀取前級計數(shù)器的計數(shù)值,然后做出反應(yīng);另一種則是將本模塊設(shè)計成純組合邏輯電路,不需要時鐘驅(qū)動。這兩種方法各有所長,必須根據(jù)所用器件的特性進(jìn)行選擇:比如有些 FPGA有豐富的寄存器資源,而且可用于組合邏輯的資源則相對較少,那么使用第 1種方法會比較節(jié)省資源;而有些 CPLD的組合邏輯資源則相對較多,用第 2種方法可能會更好。大家可嘗試兩種方法,比較一下哪種方法所用資源較少,然后在最后的方案中采用這個方法。 EmxvxOtOco4、分位譯碼電路的設(shè)計因為控制器輸出的倒計時數(shù)值可能是1位或者2位十進(jìn)制數(shù),所以在七段數(shù)碼管的譯碼電路前要加上分位電路<即將其分為2個1位十進(jìn)制數(shù),如25分為2和5,7分為0和3/217)。SixE2yXPq5與控制器一樣,分位電路同樣可以由時鐘驅(qū)動,也可以設(shè)計成純組合邏輯電路??刂破髦?,引入了寄存器。三、程序語言:-----------交通燈帶有點陣顯示 ---------------------LIBRARYIEEE 。USEIEEE.STD_LOGIC_1164.ALL 。USEIEEE.STD_LOGIC_UNSIGNED.ALL 。USEIEEE.STD_LOGIC_ARITH.ALL 。ENTITYjtdISPORT(duan:OUT STD_LOGIC_VECTOR(7 DOWNTO0>。 --數(shù)碼管顯示bcd碼from100to916ewMyirQFLhang,lie:outstd_logic_vector(7downto0>。 -點陣行輸出和列輸出kavU42VRUsled,light_cs : OUT STD_LOGIC_VECTOR(3DOWNTO0>。 --數(shù)碼管和燈掃描 led6521 || light66676869y6v3ALoS89led_no:OUTSTD_LOGIC_VECTOR(1DOWNTO0> 。 --43light:OUTSTD_LOGIC_VECTOR(2DOWNTO0>。--燈724/2171M2ub6vSTnPB1eep:OUTSTD_LOGIC。 --7clk,jinji:INSTD_LOGIC--頻率輸入和緊急處理端 -----0YujCfmUCw>。ENDjtd。ARCHITECTUREoneOFjtdISSIGNALclk_1k,clk_1:STD_LOGIC 。SIGNALcnt4:INTEGERRANGE0TO3 。------------用于計數(shù)--------------eUts8ZQVRdSIGNALnum,num1,num2,num3,num4:INTEGERRANGETO9。sQsAEJkW5TSIGNALL1,L2:STD_LOGIC_VECTOR(2DOWNTO0> 。---------燈顯示---------------GMsIasNXkASIGNALtime1,time2:INTEGERRANGE0TO25。--------------時間顯示--------------TIrRGchYzgsignalt:std_logic_vector(2downto0>。-----點陣信號傳輸signalq:std_logic_vector(1downto0>。---------點陣輸出顯示信號--------7EqZcWLZNXBEGINled_no<="11"。------------把數(shù)碼管第三第四位屏蔽 ------------lzq7IGf02E5/21------1KHz頻率輸出--------------------------process(clk>variablecnt1:integerrange0to250。variablecnt2:integerrange0to100。Beginifclk'eventandclk='1'thenifcnt1=250thencnt1:=0。ifcnt2=100thencnt2:=0。clk_1k<=notclk_1k。elsecnt2:=cnt2+1。endif。elsecnt1:=cnt1+1。endif。endif。endprocess。-----------------點陣掃描-----------process(clk_1k>variablecount:integerrange0to8。6/21beginifclk_1k'eventandclk_1k='1'thenifcount<=8then ------count數(shù)用于循環(huán)掃描行用ifcount=8thencount:=0。endif。casecountiswhen0=>hang<="00000001"。t<="000"。------掃描第一行,并把 t賦予000由于信號t的變化觸發(fā)下一個進(jìn)程zvpgeqJ1hkwhen1=>hang<="00000010"。t<="001"。------掃描第二行when2=>hang<="00000100"。t<="010"。------掃描第三行when3=>hang<="00001000"。t<="011"。when4=>hang<="00010000"。t<="100"。when5=>hang<="00100000"。t<="101"。when6=>hang<="01000000"。t<="110"。when7=>hang<="10000000"。t<="111"。when others =>hang<="00000000" 。t<="000"。endcase。7/21count:=count+1。endif。endif。endprocess。----------------------------process(t>variableshu:integerrange0to7。begincasetis-----根據(jù)t的值去查表when"000"=>shu:=0。when"001"=>shu:=1。----變量的賦值是立即發(fā)生的when"010"=>shu:=2。when"011"=>shu:=3。when"100"=>shu:=4。when"101"=>shu:=5。when"110"=>shu:=6。when"111"=>shu:=7。whenothers=>null。endcase。caseqis-----再根據(jù)相應(yīng)的值送到列上去when"01"=>caseshuis8/21when0=>lie<="11111111"。when1=>lie<="11111111"。when2=>lie<="11111111"。when3=>lie<="10111101"。when4=>lie<="00000000"。when5=>lie<="10111101"。when6=>lie<="11111111"。when7=>lie<="11111111"。whenothers=>lie<="11111111"。ENDCASE。when"10"=>caseshuiswhen0=>lie<="11101111"。when1=>lie<="11000111"。when2=>lie<="10000011"。when3=>lie<="11101111"。when4=>lie<="11101111"。when5=>lie<="10000011"。when6=>lie<="11000111"。when7=>lie<="11101111"。whenothers=>lie<="11111111"。ENDCASE。when"11"=>caseshuis9/21when0=>lie<="00111100"。when1=>lie<="00111100"。when2=>lie<="11011011"。when3=>lie<="11100111"。when4=>lie<="11100111"。when5=>lie<="11011011"。when6=>lie<="00111100"。when7=>lie<="00111100"。whenothers=>lie<="11111111"。ENDCASE。whenothers=>null。endcase。endprocess。-------------1s分頻加計數(shù)-------------------PROCESS(clk_1k>VARIABLEcount_1k:INTEGERRANGE0TO499 。BEGINIFclk_1k'EVENTANDclk_1k='1'THENIFcnt4=3THENcnt4<=0。ELSEcnt4<=cnt4+1。10/21ENDIF。IFcount_1k=499THENcount_1k:=0。clk_1<=NOTclk_1。ELSEcount_1k:=count_1k+1。ENDIF。ENDIF。ENDPROCESS。-----------------倒計時和燈顯示-----------------------PROCESS(cnt4,L1,L2,time1,time2>BEGINCASEtime1IS -------------輸出時間1------------NrpoJac3v1WHEN0TO9=>num1<=0。WHEN10TO19=>num1<=1。WHEN20TO25=>num1<=2。WHENOTHERS=>num1<=0 。ENDCASE。num2<=time1REM10。 ------------取余----1nowfTG4KICASEtime2ISWHEN0TO9=>num3<=0。11/21WHEN10TO19=>num3<=1。WHEN20TO25=>num3<=2。WHENOTHERS=>num3<=0 。ENDCASE。num4<=time2REM10。CASEcnt4ISWHEN0=>led<="1110"。 -------------動態(tài)掃描數(shù)碼管<從右到左)--------fjnFLDa5Zonum<=num1。light_cs<="1110"。light<=L1。WHEN1=>led<="1101"。num<=num2。light_cs<="1101"。light<=L2。WHEN2=>led<="1011"。num<=num3。light_cs<="1011"。12/21light<=L1。WHEN3=>led<="0111"。num<=num4。light_cs<="0111"。light<=L2。WHENOTHERS=>led<="1111"。light_cs<="1111"。ENDCASE。ENDPROCESS。--------------------譯碼------------------------PROCESS(num>BEGINCASEnumISWHEN0=>duan<="00111111"。 ------0到9-------------tfnNhnE6e5WHEN1=>duan<="00000110"。WHEN2=>duan<="01011011"。WHEN3=>duan<="01001111"。WHEN4=>duan<="01100110"。13/21WHEN5=>duan<="01101101"。WHEN6=>duan<="01111101"。WHEN7=>duan<="00000111"。WHEN8=>duan<="01111111"。WHEN9=>duan<="01101111"。WHENOTHERS=>duan<="00000000" 。ENDCASE。ENDPROCESS。--------------------------------------PROCESS(clk_1>VARIABLEi,j:INTEGERRANGE0TO2:=0 。VARIABLEw:INTEGERRANGE0TO1:=0 。BEGINIFclk_1'EVENTANDclk_1='1'THENIFjinji='0'then---------------- 判斷是否要緊急制動 ------------HbmVN777sLIFtime1=0THENIFi=2THENi:=0。14/21ELSEi:=i+1。ENDIF。CASEiISWHEN1=>time1<=20。L1<="001"。B1eep<='0'。WHEN2=>time1<=5。L1<="010"。B1eep<='1'。WHEN0=>time1<=25。L1<="100"。B1eep<='0'。q<="01"。 --------------點陣顯示前進(jìn)方向-----------V7l4jRB8HsWHENOTHERS=>time1<=24。ENDCASE。ELSE15/21time1<=time1-1。ENDIF。IFtime2=0THENIFj=2THENj:=0。ELSEj:=j+1。ENDIF。CASEjISWHEN1=>time2<=25。L2<="100"。B1eep<='0'。q<="10"。 ----------點陣顯示前進(jìn)方向-----------83lcPA59W9WHEN2=>time2<=20。L2<="001"。B1eep<='0'。WHEN0=>t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年綠色建筑材料交易合同規(guī)范匯編3篇
- 2025版微粒貸逾期8萬元債權(quán)轉(zhuǎn)讓服務(wù)合同3篇
- 2025版外債借款合同匯率風(fēng)險與應(yīng)對措施3篇
- 二零二五年度菜鳥驛站快遞業(yè)務(wù)數(shù)據(jù)分析合同3篇
- 二零二五年度多功能木方模板設(shè)計與制造服務(wù)合同4篇
- 2025年學(xué)生就業(yè)實習(xí)合同
- 2025年名譽(yù)權(quán)質(zhì)押合同
- 2025年合作加盟代理合資經(jīng)營合同
- 二零二五版國際貨物檢驗鑒定服務(wù)合同(木材)3篇
- 2025年家居中介代理協(xié)議
- 化學(xué)-河南省TOP二十名校2025屆高三調(diào)研考試(三)試題和答案
- 智慧農(nóng)貿(mào)批發(fā)市場平臺規(guī)劃建設(shè)方案
- 林下野雞養(yǎng)殖建設(shè)項目可行性研究報告
- 2023年水利部黃河水利委員會招聘考試真題
- Python編程基礎(chǔ)(項目式微課版)教案22
- 01J925-1壓型鋼板、夾芯板屋面及墻體建筑構(gòu)造
- 近五年重慶中考物理試題及答案2023
- 乳腺導(dǎo)管原位癌
- 冷庫管道應(yīng)急預(yù)案
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(共250余題)
- 網(wǎng)易云音樂用戶情感畫像研究
評論
0/150
提交評論