交通燈控制器設(shè)計(jì)-EDA課程設(shè)計(jì)_第1頁(yè)
交通燈控制器設(shè)計(jì)-EDA課程設(shè)計(jì)_第2頁(yè)
交通燈控制器設(shè)計(jì)-EDA課程設(shè)計(jì)_第3頁(yè)
交通燈控制器設(shè)計(jì)-EDA課程設(shè)計(jì)_第4頁(yè)
交通燈控制器設(shè)計(jì)-EDA課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

東北石油大學(xué)課程設(shè)計(jì)課程課程EDA技術(shù)課程設(shè)計(jì)題目交通燈控制器院系電子科學(xué)學(xué)院專業(yè)班級(jí)電子信息工程學(xué)生姓名學(xué)生學(xué)號(hào)指導(dǎo)教師2011東北石油大學(xué)課程設(shè)計(jì)任務(wù)書(shū)課程EDA技術(shù)課程設(shè)計(jì)題目交通燈控制器專業(yè)電子信息工程姓名學(xué)號(hào)主要內(nèi)容、根本要求、主要參考資料等主要內(nèi)容:設(shè)計(jì)一個(gè)交通信號(hào)燈控制器,由一條主干道和一條支干道集合成十字路口,在每個(gè)入口處設(shè)置紅、綠、黃三色信號(hào)燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時(shí)間停在禁行線外。根本要求:1、紅、綠、黃發(fā)光二極管作信號(hào)燈,用傳感器或邏輯開(kāi)關(guān)作檢測(cè)車輛是否到來(lái)的信號(hào),實(shí)驗(yàn)電路用邏輯開(kāi)關(guān)代替。2、主干道處于常允許通行的狀態(tài),支干道有車來(lái)時(shí)才允許通行。主干道亮綠燈時(shí),支干道亮紅燈;支干道亮綠燈時(shí),主干道亮紅燈。3、主、支干道均有車時(shí),兩者交替允許通行,主干道每次放行45秒,支干道每次放行25秒,設(shè)立45秒、25秒計(jì)時(shí)、顯示電路,選擇1HZ時(shí)鐘脈沖作為系統(tǒng)時(shí)鐘。4、在每次由綠燈亮到紅燈亮的轉(zhuǎn)換過(guò)程中,要亮5秒黃燈作為過(guò)渡,使行駛中的車輛有時(shí)間停到禁行線外,設(shè)立5秒計(jì)時(shí)、顯示電路。主要參考資料:[1]潘松著.EDA技術(shù)實(shí)用教程(第二版).北京:科學(xué)出版社,2005.[2]康華光主編.電子技術(shù)根底模擬局部.北京:高教出版社,2006.[3]閻石主編.數(shù)字電子技術(shù)根底.北京:高教出版社,2003.完成期限指導(dǎo)教師專業(yè)負(fù)責(zé)人201一、總體設(shè)計(jì)思想1.根本原理該系統(tǒng)主要由計(jì)數(shù)模塊、控制模塊、分頻模塊、分位模塊以及顯示電路構(gòu)成。其中分頻模塊主要將系統(tǒng)輸入的基準(zhǔn)時(shí)鐘信號(hào)轉(zhuǎn)換是1Hz的鼓勵(lì)信號(hào)。驅(qū)動(dòng)計(jì)數(shù)模塊和控制模塊工作,控制模塊根據(jù)計(jì)數(shù)器的計(jì)數(shù)情況對(duì)交通燈的亮滅及持續(xù)時(shí)間進(jìn)行控制,并通過(guò)分位電路將燈亮?xí)r間以倒計(jì)時(shí)的形式通過(guò)數(shù)碼管顯示出來(lái)。2.設(shè)計(jì)框圖CLK時(shí)鐘分頻模塊1kHZCLK時(shí)鐘分頻模塊1kHZ1HZCAR交通燈控制計(jì)時(shí)模塊支干道車輛檢測(cè)CAR交通燈控制計(jì)時(shí)模塊掃描顯示譯碼模塊1kHZ數(shù)碼管及LED信號(hào)掃描顯示譯碼模塊數(shù)碼管段碼數(shù)碼管段碼LED顯示數(shù)碼管位碼二、設(shè)計(jì)步驟和調(diào)試過(guò)程1、總體設(shè)計(jì)電路2、模塊設(shè)計(jì)和相應(yīng)模塊程序《1》模塊設(shè)計(jì)〔1〕分頻器分頻器實(shí)現(xiàn)的是將高頻時(shí)鐘信號(hào)轉(zhuǎn)換成底頻的時(shí)鐘信號(hào),用于觸發(fā)控制器、計(jì)數(shù)器和掃描顯示電路。該分頻器實(shí)現(xiàn)的是一千分頻,將一千赫茲的時(shí)鐘信號(hào)分頻成一赫茲的時(shí)鐘信號(hào)。〔2〕控制器設(shè)計(jì)控制器的作用是根據(jù)計(jì)數(shù)器的計(jì)數(shù)值控制發(fā)光二極管的亮、滅,以及輸出倒計(jì)時(shí)數(shù)值給七段數(shù)碼管的分位譯碼電路。本控制器可以有兩種設(shè)計(jì)方法,一種是利用時(shí)鐘沿的下降沿讀取前級(jí)計(jì)數(shù)器的計(jì)數(shù)值,然后作出反響;另一種則是將本模塊設(shè)計(jì)成純組合邏輯電路,不需要時(shí)鐘驅(qū)動(dòng)。〔3〕計(jì)數(shù)器設(shè)計(jì)這里需要的計(jì)數(shù)器的計(jì)數(shù)范圍為0-45。計(jì)到45后,下一個(gè)時(shí)鐘沿回復(fù)到0,開(kāi)始下一輪計(jì)數(shù)?!?〕分位譯碼電路設(shè)計(jì)-1因?yàn)榭刂破鬏敵龅牡接?jì)時(shí)數(shù)值可能是1位或者2位十進(jìn)制數(shù),所以在七段數(shù)碼管的譯碼電路前要加上分位電路。與控制器一樣,分位電路同樣可以由時(shí)鐘驅(qū)動(dòng),也可以設(shè)計(jì)成純組合邏輯電路??刂破髦校肓舜娣牌?。為了讓讀者開(kāi)拓眼界,分位電路就用組合邏輯電路實(shí)現(xiàn)?!?〕分位譯碼電路設(shè)計(jì)—2〔6〕數(shù)碼管驅(qū)動(dòng)設(shè)計(jì)串行連接,即每個(gè)數(shù)碼管對(duì)應(yīng)的引腳都接在一起,通過(guò)控制公共端為高電平控制相應(yīng)數(shù)碼管的亮、滅〔共陰極數(shù)碼管的公共端為高電平時(shí),LED不亮;共陽(yáng)極的公共端為低電平時(shí),LED不亮〕?!?〕下列圖為交通燈控制器的頂層文件連接圖《2》相應(yīng)模塊程序〔1〕分頻器的設(shè)計(jì)LIBRARYIEEE;USEIEEE.Std_Logic_1164.ALL;ENTITYFreDeviderISPORT(Clkin:INStd_Logic;Clkout:OUTStd_Logic);END;ARCHITECTUREDeviderOFFreDeviderISCONSTANTN:Integer:=499;signalcounter:Integerrange0toN;signalClk:Std_Logic;BEGINPROCESS(Clkin)beginIFrising_edge(Clkin)THENIFCounter=Nthencounter<=0;Clk<=notclk;elsecounter<=counter+1;endif;endif;endprocess;clkout<=clk;end;〔2〕控制設(shè)計(jì)控制器的作用是根據(jù)計(jì)數(shù)器的計(jì)數(shù)值控制發(fā)光二極管的亮、滅,以及輸出倒計(jì)時(shí)數(shù)值給七段譯管的分譯碼電路。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcountrollerISPORT(Clock:INSTD_LOGIC;Hold:instd_logic;CountNum:inINTEGERRANGE0TO89;NumA,NumB:outINTEGERRANGE0TO45;RedA,GreenA,YellowA:outstd_logic;RedB,GreenB,YellowB:outstd_logic);END;ARCHITECTUREbehaviorOFCountrollerISBEGINprocess(Clock)BEGINIFfalling_edge(Clock)THENIFHold='1'THENRedA<='1';RedB<='1';GreenA<='0';GreenA<='0';YellowA<='0';YellowB<='0';ELSIFCountNum<=39THENNumA<=40-CountNum;RedA<='0';GreenA<='1';YellowA<='0';ELSIFCountNum<=44THENNumA<=45-CountNum;RedA<='0';GreenA<='0';YellowA<='1';ELSENumA<=90-CountNum;RedA<='1';GreenA<='0';YellowA<='0';ENDIF;IFCountNum<=44THENNumB<=45-CountNum;RedB<='1';GreenB<='0';YellowB<='0';ELSIFCountNum<=84THENNumB<=85-CountNum;RedB<='0';GreenB<='1';YellowB<='0';ELSeNumB<=90-CountNum;RedB<='0';GreenB<='0';YellowB<='1';ENDIF;ENDIF;ENDPROCESS;END;〔3〕計(jì)數(shù)器的設(shè)計(jì)這里計(jì)數(shù)器的計(jì)數(shù)范圍為0—45S。計(jì)到45后,下一個(gè)時(shí)鐘沿回復(fù)到0,開(kāi)始下一輪計(jì)數(shù)。程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcounterISPORT(clock:INSTD_LOGIC;reset:instd_logic;Hold:instd_logic;countNum:BuFFeRINTEGERRANGE0TO90);END;ARCHITECTUREbehaviorOFcounterISBEGINprocess(reset,Clock)BEGINIFReset='1'THENcountNum<=0;ELSIFrising_edge(Clock)THENIFHold='1'thencountNum<=countNum;ELSEIFcountNum=90THENcountNum<=0;ELSEcountNum<=countNum+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;END;〔4〕分位譯碼電路設(shè)計(jì)--1LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYFenweiISPORT(Numin:INintegerRANGE0TO45;NumA,NumB:OUTIntegerRANGE0to9);END;ARCHITECTUREbehaviorOFFenweiISBEGINprocess(Numin)BEGINIFNumin>=40THENNumA<=4;NumB<=Numin-40;ELSIFNumin>=30THENNumA<=3;NumB<=Numin-30;ELSIFNumin>=20THENNumA<=2;NumB<=Numin-20;ELSIFNumin>=10THENNumA<=1;NumB<=Numin-10;ELSENumA<=0;NumB<=Numin;ENDIF;ENDPROCESS;END;〔5〕分位譯碼電路設(shè)計(jì)—2USEIEEE.STD_LOGIC_1164.ALL;ENTITYFenwei2ISPORT(Numin:INintegerRANGE0TO45;NumC,NumD:OUTIntegerRANGE0to9);END;ARCHITECTUREbehaviorOFFenwei2ISBEGINprocess(Numin)BEGINIFNumin>=40THENNumC<=4;NumD<=Numin-40;ELSIFNumin>=30THENNumC<=3;NumD<=Numin-30;ELSIFNumin>=20THENNumC<=2;NumD<=Numin-20;ELSIFNumin>=10THENNumC<=1;NumD<=Numin-10;ELSENumC<=0;NumD<=Numin;ENDIF;ENDPROCESS;END;〔6〕數(shù)碼管驅(qū)動(dòng)設(shè)計(jì)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYbcd_dataISPORT(bcd_data:inSTD_LOGIC_VECTOR(3downto0);segout:outSTD_LOGIC_VECTOR(6downto0));END;ARCHITECTUREbehaviorOFbcd_dataISBEGINprocess(bcd_data)BEGINcasebcd_dataiswhen"0000"=>segout<="1111110";when"0001"=>segout<="0110000";when"0010"=>segout<="1101101";when"0011"=>segout<="1111001";when"0100"=>segout<="0110011";when"0101"=>segout<="1011011";when"0110"=>segout<="0011111";when"0111"=>segout<="1110000";when"1000"=>segout<="1111111";when"1001"=>segout<="1110011";whenothers=>null;ENDCASE;ENDPROCESS;END;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYdtsmISPORT(clk:inSTD_LOGIC;NumA,NumB,NumC,NumD:inSTD_LOGIC_VECTOR(3downto0);segout1:outSTD_LOGIC_VECTOR(6downto0);led_sel:outSTD_LOGIC_VECTOR(3downto0));ENDdtsm;architecturebhvofdtsmiscomponentbcd_dataisport(bcd_data:inSTD_LOGIC_VECTOR(3downto0);segout:outSTD_LOGIC_VECTOR(6downto0));endcomponent;signalx:STD_LOGIC_VECTOR(3downto0);signalq:STD_LOGIC_VECTOR(1downto0);beginp1:process(clk)beginifclk'eventandclk='1'thenQ<=Q+'1';endif;endprocess;p2:process(Q)begincaseQiswhen"00"=>led_sel<="1110";x<=NumD;when"01"=>led_sel<="1101";x<=NumC;when"10"=>led_sel<="1011";x<=NumB;when"11"=>led_sel<="0111";x<=NumA;whenothers=>null;endcase;endprocess;u1:bcd_dataPORTmap(bcd_data=>x,segout=>segout1);end;3、仿真及仿真結(jié)果分析交通燈控制單元電路分析及仿真此單元電路主要完成控制交通燈的功能,即根據(jù)主,支干道傳感信號(hào)sm,sb以及來(lái)自時(shí)基發(fā)生電路的時(shí)鐘信號(hào)clk,發(fā)出主,支干道指示燈的控制信號(hào),同時(shí)向各定時(shí)單元,顯示控制單元發(fā)出使能控制信號(hào)en1,en2,en3,en4。支干道無(wú)車通行時(shí),主干道一直亮綠燈,當(dāng)sb感應(yīng)到支干道來(lái)車時(shí),主干道亮45s綠燈之后,亮5s黃燈,開(kāi)始亮紅燈,而支干道隨之由之前的紅燈變?yōu)榫G燈亮25s,之后亮5s黃燈,最后變?yōu)榧t燈,如此交替進(jìn)行下去。4、實(shí)驗(yàn)調(diào)試結(jié)果仿真后可以得到最終的結(jié)果:開(kāi)始時(shí),支干道沒(méi)有車輛行駛。主干道處于常通行狀態(tài),支干道處于禁止?fàn)顟B(tài);當(dāng)支干道有車來(lái)時(shí),主干道亮綠燈,經(jīng)行45秒倒計(jì)時(shí),支干道亮紅燈,經(jīng)行25秒倒計(jì)時(shí);主干道45秒倒計(jì)時(shí)結(jié)束后跳變到黃燈,進(jìn)行5秒倒計(jì)時(shí),支干道繼續(xù)亮紅燈,進(jìn)行倒計(jì)時(shí);主干道5秒倒計(jì)時(shí)結(jié)束后跳變到紅燈,經(jīng)行45秒倒計(jì)時(shí),支干道跳變到綠燈,進(jìn)行25秒倒計(jì)時(shí);支干道25秒倒計(jì)時(shí)結(jié)束后跳變到黃燈,進(jìn)行5秒倒計(jì)時(shí),主干道繼續(xù)亮紅燈,進(jìn)行倒計(jì)時(shí);支干道5秒倒計(jì)時(shí)結(jié)束后,判斷支干道是否有車,假設(shè)有車跳變到S1狀態(tài),沒(méi)有車跳變到S0狀態(tài)驗(yàn)證了設(shè)計(jì)完成了預(yù)定功能。三、結(jié)論及心得體會(huì)EDA設(shè)計(jì)我感覺(jué)程序調(diào)試最重要,試驗(yàn)軟件、硬件熟悉其次。我

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論