電子技術(shù)課程設(shè)計-交通燈控制器設(shè)計_第1頁
電子技術(shù)課程設(shè)計-交通燈控制器設(shè)計_第2頁
電子技術(shù)課程設(shè)計-交通燈控制器設(shè)計_第3頁
電子技術(shù)課程設(shè)計-交通燈控制器設(shè)計_第4頁
電子技術(shù)課程設(shè)計-交通燈控制器設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 電子技術(shù)基礎(chǔ)課程設(shè)計交通燈控制器設(shè)計全套設(shè)計加扣 3346389411或3012250582院 系: 控制科學(xué)與工程系 專 業(yè): 自動化 班 級: 1104班 姓 名: 學(xué) 號: U201113616 指導(dǎo)教師: - 21 - 目 錄一、設(shè)計內(nèi)容與要求 . 3二、交通燈系統(tǒng)的設(shè)計過程 . 3三、交通燈控制系統(tǒng)的結(jié)構(gòu) . 3四、QUARTUS驗(yàn)證與仿真 4.1 運(yùn)行模塊仿真 . 7 4.2 設(shè)置模塊仿真 . 8五、管腳分配及下載 . 9六、程序代碼 . 10七、心得體會 .14 一、設(shè)計內(nèi)容與要求 設(shè)計一個十字路口交通信號燈的控制電路。要求紅、綠燈按一定的規(guī)律亮和滅,并在亮燈期間進(jìn)行倒計時,且

2、將運(yùn)行時間用數(shù)碼管顯示出來。 綠燈亮?xí)r,為該車道允許通行信號,紅燈亮?xí)r,為該車道禁止通行信號。要求主干道每次通行時間為Tx秒,支干道每次通行時間為Ty秒。每次變換運(yùn)行車道前綠燈閃爍,持續(xù)時間為5秒。即車道要由X轉(zhuǎn)換為Y時,X在通行時間只剩下5秒鐘時,綠燈閃爍顯示,Y仍為紅燈。 可以對X,Y車道上交通燈運(yùn)行的時間進(jìn)行重新設(shè)置, 20Tx99 ,10Ty39 對器件進(jìn)行在系統(tǒng)編程和實(shí)驗(yàn)驗(yàn)證。 寫出設(shè)計性實(shí)驗(yàn)報告,并打印各層次的源文件和仿真波形,然后作簡要說明。 二、交通燈系統(tǒng)的設(shè)計過程2.1 經(jīng)分析,系統(tǒng)的總體結(jié)構(gòu)可以描述為下述的方框圖:2.2 交通燈控制器的控制過程分為四個階段,對應(yīng)的輸出有四種

3、狀態(tài),分別用S0 (00), S1 (01), S2 (10)和S3 (11)表示: S0狀態(tài):主干道綠燈亮,支干道紅燈亮,在主干道綠燈亮了(Tx1-5)s后,綠燈閃爍5秒,控制器發(fā)出狀態(tài)轉(zhuǎn)換信號St,輸出從狀態(tài)S0轉(zhuǎn)換到S1;S1狀態(tài):主干道黃燈亮,支干道紅燈亮,在主干道黃燈亮了(Tx2-5)s后,黃燈閃爍5秒,控制器發(fā)出狀態(tài)轉(zhuǎn)換信號St,輸出從狀態(tài)S1轉(zhuǎn)換到狀態(tài) S2;S2狀態(tài):主干道紅燈亮,支干道綠燈亮,在支干道綠燈亮了(Ty1-5)s后,控制器發(fā)出狀態(tài)轉(zhuǎn)換信號St,輸出從狀態(tài)S2轉(zhuǎn)換到S3;S3狀態(tài):主干道紅燈亮,支干道黃燈亮,在支干道黃燈亮了(Ty2-5)s后,黃燈閃爍5秒,控制器發(fā)

4、出狀態(tài)轉(zhuǎn)換信號St,輸出從狀態(tài)S3回到狀態(tài) S0;由上述的狀態(tài)描述可以得到如下的系統(tǒng)ASM圖及狀態(tài)轉(zhuǎn)換圖:以下是系統(tǒng)的狀態(tài)轉(zhuǎn)換圖: S0 Ty2=0Tx1=0 S3 S1Tx2=0Ty1=0 S2 交通燈控制電路狀態(tài)轉(zhuǎn)換圖輸入輸出現(xiàn)態(tài)狀態(tài)轉(zhuǎn)換條件次態(tài)狀態(tài)轉(zhuǎn)換標(biāo)志000××000001××01101×0×01001×1×11111××011011××110110×0×10010×1×001 控制器真值表三、交通燈控制系統(tǒng)的結(jié)構(gòu)此系統(tǒng)分為兩

5、個模塊:設(shè)置模塊和運(yùn)行模塊。運(yùn)行模塊負(fù)責(zé)交通燈的正常亮和滅,設(shè)置模塊負(fù)責(zé)主干道和支干道的紅綠黃燈閃亮?xí)r間的設(shè)置。3.1 運(yùn)行模塊運(yùn)行模塊系統(tǒng)輸入輸出的方框圖如下: CLKLED 頂層模塊 SW SEG0,SEG1,SEG2,SEG3 BUTON系統(tǒng)的輸入輸出描述如下:輸入:CLK:系統(tǒng)時鐘,在這里為50MHz分頻后的1HZ;SW0SW9:設(shè)置主干道黃綠燈、支干道黃綠燈顯示時間的數(shù)值;BUTON:通過按鍵的上升沿觸發(fā)時間數(shù)值的加和減;輸出:LED: 顯示主干道的紅黃綠燈和支干道的紅黃綠燈;SEG0,SEG1,SEG2,SEG3:顯示主干道支干道各色燈的持續(xù)時間; 3.2 設(shè)置模塊設(shè)置模塊系統(tǒng)輸入

6、輸出的方框圖如下: ENY1,Y2,Y3,Y4 EN1,EN2 設(shè)置模塊Tx1,Tx2,Ty1,Ty2 HEN,LEN系統(tǒng)的輸入輸出描述如下:輸入:EN:使能信號,同時是一個選擇器;EN1,EN2:使能信號,選擇設(shè)置時間的對象,即主干道綠燈、主干道黃燈、支干道綠燈、支干道黃燈;HEN,LEN:通過上升沿的觸發(fā)來設(shè)置時間;輸出:Y1,Y2,Y3,Y4: 數(shù)碼管顯示位;Tx1,Tx2,Ty1,Ty2: 主干道綠燈時間、主干道黃燈時間、支干道綠燈時間、支 干道黃燈時間;注:若需要下載時,則考慮到數(shù)碼管的顯示問題,輸出端口的說明有所不同,在這里的端口說明是仿真時的端口說明。四、QUARTUS驗(yàn)證與仿真

7、4.1 運(yùn)行模塊仿真 輸入信號仿真參數(shù)設(shè)置:CLK為秒脈沖信號仿真結(jié)果如下圖所示: 由上圖仿真結(jié)果可以看出,主干道紅黃綠燈、支干道紅黃綠燈閃爍時間正常,符合設(shè)計要求。4.2 設(shè)置模塊仿真輸入?yún)?shù)設(shè)置:其中EN信號不做改變,對于EN1、EN2兩個信號的四種設(shè)置組合進(jìn)行了四種仿真(分別為00,01,10,11),結(jié)果如下四張圖所示, 設(shè)置主干道綠燈時間:設(shè)置主干道黃燈時間:設(shè)置支干道綠燈時間設(shè)置支干道黃燈時間五、管腳分配及下載由頂層模塊可以得到如下的管腳分配表:按鍵的分配: 按鍵功能 SW0交通燈運(yùn)行信號 SW1功能轉(zhuǎn)換信號 SW2小時設(shè)置信號 SW3分鐘設(shè)置信號SW4,SW5交通燈選擇信號SW6

8、,7,8,9十字路口分區(qū)選擇信號BUTTON0主干道、支干道黃燈時間設(shè)置BUTTON1主干道、支干道綠燈時間設(shè)置BUTTON2復(fù)位信號LED燈分配:LED燈功能LEDG0支干道紅燈顯示LEDG1支干道黃燈顯示LEDG2支干道綠燈顯示LEDG3主干道紅燈顯示LEDG4主干道黃燈顯示LEDG5主干道綠燈顯示數(shù)碼管分配:位數(shù)功能數(shù)碼管2 HEX1_D SEG17支干道倒計時十位數(shù)碼管1 HEX0_D SEG07支干道倒計時個位數(shù)碼管4 HEX3_D SEG37主干道倒計時十位數(shù)碼管3 HEX2_D SEG27主干道倒計時個位六、程序代碼6.1 TxTy_set.v /主干道、支干道紅黃綠燈時間設(shè)置m

9、odule TxTy_set(EN,EN1,EN2,HEN,LEN,Y1,Y2,Y3,Y4,Tx1,Tx2,Ty1,Ty2);input EN,EN1,EN2,HEN,LEN;output 7:0Tx1,Tx2,Ty1,Ty2;output 7:0Y1,Y2,Y3,Y4;reg 7:0Tx1,Tx2,Ty1,Ty2;reg 7:0T1,T2;always (posedge HEN )beginif(EN)beginif(EN1 && EN2)beginTx1<=Tx1+1; endelse if(EN1 && EN2) beginTy1<=Ty1+1

10、;endendend always (posedge LEN ) beginif(EN)beginif(EN1 && EN2)beginTx2<=Tx2+1; endelse if(EN1 && EN2)begin Ty2<=Ty2+1;endendendalways (Tx1 or Tx2 or Ty1 or Ty2)beginif(EN)beginif(EN1&&EN2)beginT1<=Tx1;T2<=Tx2;endelse if(EN1&&EN2)beginT1<=Ty1;T2<=Ty2

11、;endendendB_BCD A3( T1, Y4,Y3);B_BCD A4( T2, Y2,Y1); Endmodule6.2 traffic.v /交通燈的四種模式及其變換 module traffic(EN,CLK,Tx1,Tx2,Ty1,Ty2,Y1,Y2,Y3,Y4,LED); input CLK,EN; input 7:0Tx1,Tx2,Ty1,Ty2; output 5:0LED; output 7:0Y1,Y2,Y3,Y4; /output 3:0 b1,b2,b3,b4; reg 5:0LED; wire 7:0Tx1,Tx2,Ty1,Ty2; reg 2:0State;

12、wire 3:0b1,b2,b3,b4; reg7:0T1,T2; parameter S0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11; always (posedge CLK )beginif(EN)beginState<=S0;T1<=Tx1;T2<=Tx1+Tx2;endelsebeginif(State=S0&&T1=0)beginState<=S1;T1<=Tx2;endelse if(State=S1&&T2=0)beginState<=S2;T2<=T

13、y1;T1<=Ty1+Ty2;endelse if(State=S2&&T2=0)beginState<=S3;T2<=Ty2;endelse if(State=S3&&T1=0)beginState<=S0;T1<=Tx1;T2<=Tx1+Tx2;endelse beginT1<=T1-1;T2<=T2-1;endendendalways (posedge CLK )begin case (State) S0:beginif(T1>5)LED <=6'b100001;elsebeginLED&

14、lt;=LED&6'b100001;LED<=LED6'b100000;end end S1:beginif(T2>5)LED <=6'b010001;elsebeginLED<=LED&6'b010001;LED<=LED6'b010000;end end S2:beginif(T2>5)LED <=6'b001100;elsebeginLED<=LED&6'b001100;LED<=LED6'b000100;end end S3:beginif(T1

15、>5)LED <=6'b001010;elsebeginLED<=LED&6'b001010;LED<=LED6'b000010;end end endcase end B_BCD A1( T1, Y4,Y3); B_BCD A2( T2, Y2,Y1); endmodule6.3 digital.v /數(shù)碼管顯示module digital(Y,Q); /LED xianshiinput3:0 Q;output6:0 Y;reg6:0 Y;always (Q )begin case(Q)4'b0000:Y<=7'b

16、1000000;/0000001;/1111110;/04'b0001:Y<=7'b1111001;/1001111;/0110000;/14'b0010:Y<=7'b0100100;/0010010;/1101101;/24'b0011:Y<=7'b0110000;/0000110;/1111001;/34'b0100:Y<=7'b0011001;/1001100;/0110011;/44'b0101:Y<=7'b0010010;/0100100;/1011011;/54'b

17、0110:Y<=7'b0000011;/1100000;/0011111;/64'b0111:Y<=7'b1111000;/0001111;/1110000;/74'b1000:Y<=7'b0000000;/0000000;/1111111;/84'b1001:Y<=7'b0011000;/0001100;/1110011;/9default:Y=7'b1111111;/0000000;endcaseendendmodule6.4 divide.v /分頻,產(chǎn)生0.5HZ脈沖module divide(cl

18、k1s,cp); /分頻 input cp;output clk1s;reg clk1s;reg24:0count;always(posedge cp)beginif(count>=25'h002FFFFFF)beginclk1s<=clk1s;count<=25'h0000000;endelsecount<=count+1'b1;endEndmodule6.5 B_BCD.v /二進(jìn)制轉(zhuǎn)換成BCD碼module B_BCD ( binary, bcdH,bcdL ); input binary; output bcdL,bcdH; wire 7

19、: 0 binary; reg 7: 0 bin; reg 3: 0 bcdL,bcdH; reg 11: 0 result;always( binary ) begin bin = binary; result = 0; begin repeat (7) begin result0 = bin7; if ( result3 : 0 > 4 ) result3 : 0 = result3 : 0 + 4'd3; if ( result7 : 4 > 4 ) result7 : 4 = result7 : 4 + 4'd3; if ( result11 : 8 >

20、; 4 ) result11 : 8 = result11 : 8 + 4'd3; result = result << 1; bin = bin << 1; end result0 = bin7; bcdL <= result3:0; bcdH <= result7:4; end end Endmodule6.6 counter.v /六進(jìn)制、十進(jìn)制、二十四進(jìn)制、六十進(jìn)制計數(shù)器module counter6(Q, nCR, EN, CP); input CP, nCR, EN; output 3:0 Q; reg 3:0 Q; always (po

21、sedge CP or negedge nCR) begin if(nCR) Q <= 4'b0000; / nCR0,計數(shù)器被異步清零 else if(EN) Q <= Q; /EN=0,暫停計數(shù) else if(Q = 4'b0101) Q <= 4'b0000; /EN=1,開始計數(shù) else Q <= Q + 1'b1; /計數(shù)器增1計數(shù) endendmodule module counter10(Q, nCR, EN, CP); input CP, nCR, EN; output 3:0Q; reg 3:0 Q; always

22、(posedge CP or negedge nCR) begin if(nCR) Q <= 4'b0000; / nCR0,計數(shù)器被異步清零 else if(EN) Q <= Q; /EN=0,暫停計數(shù) else if(Q = 4'b1001) Q <= 4'b0000; /EN=1,開始計數(shù) else Q <= Q + 1'b1; /計數(shù)器增1計數(shù) endendmodule module counter24(CntH, CntL, nCR, EN, CP);input CP, nCR, EN;output 3:0 CntH, CntL

23、;reg 3:0 CntH, CntL;/24進(jìn)制(023)always (posedge CP or negedge nCR)beginif(nCR) CntH,CntL<=8'h00; / nCR0,計數(shù)器被異步清零else if(EN) CntH,CntL<=CntH,CntL; /EN=0,暫停計數(shù)else if(CntH>2)|(CntL>9)|(CntH=2)&&(CntL>=3) /異常情況清零CntH,CntL <= 8'h00; /計數(shù)至23清零else if(CntL = 9)begin CntH<=

24、 CntH+1'b1;CntL <= 4'b0000;endelsebegin CntH <= CntH;CntL <= CntL+1'b1;endendendmodule/60進(jìn)制計數(shù)器:調(diào)用10進(jìn)制和6進(jìn)制底層模塊構(gòu)成module counter60(Cnt, nCR, EN, CP); input CP, nCR, EN; output 7:0 Cnt; /模60計數(shù)器的輸出信號,輸出為8421 BCD碼 wire 7:0 Cnt; /輸出變量類型 wire ENP; /計數(shù)器十位的使能信號(中間變量) counter10 UC0(Cnt3:0,

25、 nCR, EN, CP); /計數(shù)器的個位assign ENP = (Cnt3:0 = 4'h9); /產(chǎn)生計數(shù)器十位的使能信號counter6 UC1(Cnt7:4, nCR, ENP, CP); /計數(shù)器的十位endmodule 6.7 top_traffic.v /頂層文件 module top_traffic(CLOCK_50,SW,BTN,LED,SEG0,SEG1,SEG2,SEG3);input CLOCK_50;input 9:0 SW;input 2:0 BTN;output 5:0 LED;output 6:0 SEG0,SEG1,SEG2,SEG3;wire E

26、N1,EN2,EN3,EN4;wire CP;wire 6:0 SEG0,SEG1,SEG2,SEG3;wire 3:0 A_T1,A_T2,A_T3,A_T4,B_T1,B_T2,B_T3,B_T4,C_T1,C_T2,C_T3,C_T4,D_T1,D_T2,D_T3,D_T4;reg 3:0 z1,z2,z3,z4;wire 3:0 Y1,Y2,Y3,Y4;wire 3:0 y1,y2,y3,y4;wire 7:0A_Tx1,A_Tx2,A_Ty1,A_Ty2,B_Tx1,B_Tx2,B_Ty1,B_Ty2,C_Tx1,C_Tx2,C_Ty1,C_Ty2,D_Tx1,D_Tx2,D_Ty1

27、,D_Ty2;reg 7:0 Tx1,Tx2,Ty1,Ty2;wire 7:0 Hour, Minute;divide U0(CP,CLOCK_50);top_clock U1(Hour, Minute, CP, BTN2, SW2,SW3,Y1,Y2,Y3,Y4);TxTy_setU2(SW6,SW4,SW5,BTN1,BTN0,A_T1,A_T2,A_T3,A_T4,A_Tx1,A_Tx2,A_Ty1,A_Ty2);TxTy_setU3(SW7,SW4,SW5,BTN1,BTN0,B_T1,B_T2,B_T3,B_T4,B_Tx1,B_Tx2,B_Ty1,B_Ty2);TxTy_setU4

28、(SW8,SW4,SW5,BTN1,BTN0,C_T1,C_T2,C_T3,C_T4,C_Tx1,C_Tx2,C_Ty1,C_Ty2);TxTy_setU5(SW9,SW4,SW5,BTN1,BTN0,D_T1,D_T2,D_T3,D_T4,D_Tx1,D_Tx2,D_Ty1,D_Ty2);always (posedge CP)beginif(Hour>=8'h0 && Hour<8'h6 )beginTx1=B_Tx1;Tx2=B_Tx2;Ty1=B_Ty1;Ty2=B_Ty2;endelse if(Hour>= 8'h8&&

29、amp; Hour<8'b00010001)beginTx1=C_Tx1;Tx2=C_Tx2;Ty1=C_Ty1;Ty2=C_Ty2;endelse if(Hour>=8'b00010100&& Hour<8'b00011000)beginTx1=D_Tx1;Tx2=D_Tx2;Ty1=D_Ty1;6.8 top_clock.v /數(shù)字鐘module top_clock(Hour,Minute,CP,nCR,setEN1,setEN2,Y1,Y2,Y3,Y4);/數(shù)字鐘主體電路 input CP, nCR ;/輸入端口變量 /外部校時按鍵input setEN1,setEN2;output 7:0 Hour, Minute;output 3:0 Y1,Y2,Y3,Y4;/輸出端口變量/output 13:0 SEG_Hour, SEG_Minute;/譯碼輸出變量wire 3:0 Y1,Y2,Y3,Y4;wire 7:0 Hour, Minute,Second; /輸出變量類型wire Hour_EN,MinH_EN,MinL_EN; /中間變量類型supply1 Vdd;counter60 U0(Second, nCR, Vdd, CP);assign MinL_EN=setEN2?Vdd:(Second=8'

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論