




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
東北石油大學課程設計課程課程EDA技術課程設計題目交通燈控制器院系電子科學學院專業(yè)班級電子信息工程學生姓名學生學號指導教師2011東北石油大學課程設計任務書課程EDA技術課程設計題目交通燈控制器專業(yè)電子信息工程姓名學號主要內容、根本要求、主要參考資料等主要內容:設計一個交通信號燈控制器,由一條主干道和一條支干道集合成十字路口,在每個入口處設置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。根本要求:1、紅、綠、黃發(fā)光二極管作信號燈,用傳感器或邏輯開關作檢測車輛是否到來的信號,實驗電路用邏輯開關代替。2、主干道處于常允許通行的狀態(tài),支干道有車來時才允許通行。主干道亮綠燈時,支干道亮紅燈;支干道亮綠燈時,主干道亮紅燈。3、主、支干道均有車時,兩者交替允許通行,主干道每次放行45秒,支干道每次放行25秒,設立45秒、25秒計時、顯示電路,選擇1HZ時鐘脈沖作為系統時鐘。4、在每次由綠燈亮到紅燈亮的轉換過程中,要亮5秒黃燈作為過渡,使行駛中的車輛有時間停到禁行線外,設立5秒計時、顯示電路。主要參考資料:[1]潘松著.EDA技術實用教程(第二版).北京:科學出版社,2005.[2]康華光主編.電子技術根底模擬局部.北京:高教出版社,2006.[3]閻石主編.數字電子技術根底.北京:高教出版社,2003.完成期限指導教師專業(yè)負責人201一、總體設計思想1.根本原理該系統主要由計數模塊、控制模塊、分頻模塊、分位模塊以及顯示電路構成。其中分頻模塊主要將系統輸入的基準時鐘信號轉換是1Hz的鼓勵信號。驅動計數模塊和控制模塊工作,控制模塊根據計數器的計數情況對交通燈的亮滅及持續(xù)時間進行控制,并通過分位電路將燈亮時間以倒計時的形式通過數碼管顯示出來。2.設計框圖CLK時鐘分頻模塊1kHZCLK時鐘分頻模塊1kHZ1HZCAR交通燈控制計時模塊支干道車輛檢測CAR交通燈控制計時模塊掃描顯示譯碼模塊1kHZ數碼管及LED信號掃描顯示譯碼模塊數碼管段碼數碼管段碼LED顯示數碼管位碼二、設計步驟和調試過程1、總體設計電路2、模塊設計和相應模塊程序《1》模塊設計〔1〕分頻器分頻器實現的是將高頻時鐘信號轉換成底頻的時鐘信號,用于觸發(fā)控制器、計數器和掃描顯示電路。該分頻器實現的是一千分頻,將一千赫茲的時鐘信號分頻成一赫茲的時鐘信號。〔2〕控制器設計控制器的作用是根據計數器的計數值控制發(fā)光二極管的亮、滅,以及輸出倒計時數值給七段數碼管的分位譯碼電路。本控制器可以有兩種設計方法,一種是利用時鐘沿的下降沿讀取前級計數器的計數值,然后作出反響;另一種則是將本模塊設計成純組合邏輯電路,不需要時鐘驅動?!?〕計數器設計這里需要的計數器的計數范圍為0-45。計到45后,下一個時鐘沿回復到0,開始下一輪計數?!?〕分位譯碼電路設計-1因為控制器輸出的到計時數值可能是1位或者2位十進制數,所以在七段數碼管的譯碼電路前要加上分位電路。與控制器一樣,分位電路同樣可以由時鐘驅動,也可以設計成純組合邏輯電路。控制器中,引入了存放器。為了讓讀者開拓眼界,分位電路就用組合邏輯電路實現?!?〕分位譯碼電路設計—2〔6〕數碼管驅動設計串行連接,即每個數碼管對應的引腳都接在一起,通過控制公共端為高電平控制相應數碼管的亮、滅〔共陰極數碼管的公共端為高電平時,LED不亮;共陽極的公共端為低電平時,LED不亮〕?!?〕下列圖為交通燈控制器的頂層文件連接圖《2》相應模塊程序〔1〕分頻器的設計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〕控制設計控制器的作用是根據計數器的計數值控制發(fā)光二極管的亮、滅,以及輸出倒計時數值給七段譯管的分譯碼電路。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〕計數器的設計這里計數器的計數范圍為0—45S。計到45后,下一個時鐘沿回復到0,開始下一輪計數。程序如下: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〕分位譯碼電路設計--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〕分位譯碼電路設計—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〕數碼管驅動設計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、仿真及仿真結果分析交通燈控制單元電路分析及仿真此單元電路主要完成控制交通燈的功能,即根據主,支干道傳感信號sm,sb以及來自時基發(fā)生電路的時鐘信號clk,發(fā)出主,支干道指示燈的控制信號,同時向各定時單元,顯示控制單元發(fā)出使能控制信號en1,en2,en3,en4。支干道無車通行時,主干道一直亮綠燈,當sb感應到支干道來車時,主干道亮45s綠燈之后,亮5s黃燈,開始亮紅燈,而支干道隨之由之前的紅燈變?yōu)榫G燈亮25s,之后亮5s黃燈,最后變?yōu)榧t燈,如此交替進行下去。4、實驗調試結果仿真后可以得到最終的結果:開始時,支干道沒有車輛行駛。主干道處于常通行狀態(tài),支干道處于禁止狀態(tài);當支干道有車來時,主干道亮綠燈,經行45秒倒計時,支干道亮紅燈,經行25秒倒計時;主干道45秒倒計時結束后跳變到黃燈,進行5秒倒計時,支干道繼續(xù)亮紅燈,進行倒計時;主干道5秒倒計時結束后跳變到紅燈,經行45秒倒計時,支干道跳變到綠燈,進行25秒倒計時;支干道25秒倒計時結束后跳變到黃燈,進行5秒倒計時,主干道繼續(xù)亮紅燈,進行倒計時;支干道5秒倒計時結束后,判斷支干道是否有車,假設有車跳變到S1狀態(tài),沒有車跳變到S0狀態(tài)驗證了設計完成了預定功能。三、結論及心得體會EDA設計我感覺程序調試最重要,試驗軟件、硬件熟悉其次。我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 無線電頻率管理匯報
- 采購合同模板大全
- 酒店預訂服務合同范本
- 企業(yè)合同風險防范:實戰(zhàn)技巧
- 2024濰坊市新航科技職業(yè)中等專業(yè)學校工作人員招聘考試及答案
- 2024江西贛州三江高級技工學校工作人員招聘考試及答案
- 2024河池市職業(yè)教育中心學校工作人員招聘考試及答案
- 建筑設備租賃合同協議
- 原地舒展運動課件
- 蔬菜種子購銷合同書
- GB/T 16895.36-2024低壓電氣裝置第 7-722 部分:特殊裝置或場所的要求電動車供電
- 人音版初中音樂 九年級上冊 中考一輪復習課件
- 草莓栽培技術(課堂PPT)課件
- 機耕橋施工方案
- 貨車掛靠協議完整
- 教學能力大賽三相異步電動機的基本控制+教案
- 二手車營銷策劃方案
- 鋼格構柱組合式塔吊方案(專家認證)
- 工程結算單(樣本)
- 校園小品劇本多人10人 校園多人小品劇本
- 完整欠條范本
評論
0/150
提交評論