交通信號燈設(shè)計_第1頁
交通信號燈設(shè)計_第2頁
交通信號燈設(shè)計_第3頁
交通信號燈設(shè)計_第4頁
交通信號燈設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

寧夏理工學院課程設(shè)計報告-5-一.設(shè)計的基本思路及要求1、設(shè)計要求(1)設(shè)計一個交通信號燈控制器,由一條主干道和一條支干道匯合成十字路口,在每個入口處設(shè)置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。

(2)主干道處于常允許通行的狀態(tài),支干道有車來時才允許通行。主干道亮綠燈時,支干道亮紅燈;支干道亮綠燈時,主干道亮紅燈。

(3)主、支干道均有車時,兩者交替允許通行,主干道每次放行30秒,支干道每次放行20秒,設(shè)立30秒、20秒計時、顯示電路。

(4)在每次由綠燈亮到紅燈亮的轉(zhuǎn)換過程中,要亮5秒黃燈作為過渡,使行駛中的車輛有時間停到禁行線外,設(shè)立5秒計時、顯示電路。2、具體設(shè)計思路.利用80c5單片機控制交通燈系統(tǒng)工作。其中P0口接數(shù)據(jù)輸出口,與外部數(shù)碼管連接,P2口與數(shù)碼管的COM口連接,用于選擇數(shù)據(jù)輸出的地址,這樣就可以實現(xiàn)時間的動態(tài)顯示,并且節(jié)省了端口數(shù)。P1口作為紅黃綠燈的控制口,通過上拉電阻將紅黃綠燈的正極接高電平,負極接在P1口上,我們可以利用控制單片機的P1口的輸出數(shù)據(jù)控制紅黃綠燈的亮滅。調(diào)時可以利用外部中斷INT0申請中斷。當有外部中斷的時候,單片機的PC指向INT0的中斷入口地址,從而轉(zhuǎn)向中斷服務程序。這是我們可以通過判斷外部開關(guān)量的狀態(tài)來對紅黃綠燈的顯示時間進行修改。同時當INT0為低電平時,東西南北方向的都送紅燈亮,實現(xiàn)緊急情況下禁止通行。然后通過判斷INT0的狀態(tài)來決定中斷是否返回,當INT0為低電平時,說明開關(guān)又一次按下,這是退出中斷服務程序,繼續(xù)執(zhí)行主程序。3、交通燈控制系統(tǒng)狀態(tài)表狀態(tài)主干道支干道時間s0綠燈亮,允許通行紅燈亮,禁止通行45秒s1黃燈亮,停車紅燈亮,禁止通行5秒s2紅燈亮,禁止通行綠燈亮,允許通行25秒s3紅燈亮,禁止通行黃燈亮,停車5秒二.控制系統(tǒng)的總體設(shè)計方案和工作原理圖總體設(shè)計方案共有五個部分組成,分別是:單片機89C52、發(fā)光二極管電路、LED數(shù)顯電路及驅(qū)動電路、晶振及復位控制電路、控制與調(diào)時開關(guān)電路。該設(shè)計的設(shè)計方框圖如圖1所示,圖1三、交通燈各部分功能分析及各邏輯器件描述1.時鐘定時控制部件由于80C51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,此放大器的輸入和輸出端分別是引腳XTAL1和XTAL2,在XTAL1和XTAL2上外接時鐘源即可構(gòu)成時鐘電路,該電路采用的是內(nèi)部方式,如圖2所示:圖2在XTAL1和XTAL2的兩端接石英晶體振蕩器,與內(nèi)部反向器構(gòu)成穩(wěn)定的自激振蕩器,發(fā)出的時鐘脈沖直接進入片內(nèi)定時定時控制部件。用以提供交通燈時鐘信號。在該電路的設(shè)計過程中,C1、C2的選取對頻率有微調(diào)作用,選取值是20pF。為了減少寄生電容,保證振蕩器穩(wěn)定和可靠的工作,在接線時將晶振和電容的管腳接在單片機最近的地方。2.LED數(shù)字顯示電路圖3如上圖3所示為其管腳配置,該電路選用的LED顯示器是共陽極,采用動態(tài)顯示。3.80C51單片機其管腳如圖4所示圖44.上電加按鈕電平復位電路如下圖5所示:我們采用上電+按鈕復位的方式。當開關(guān)打開時,RST通過電阻接地,當有開關(guān)閉合時由于電容的作用使電源VCC通過電阻施加在單片機復位端RST上,實現(xiàn)單片機復位。VCCVCCRST/VPD圖55.紅黃綠燈顯示電路紅黃綠燈顯示電路如下圖6所示。二極管的正極通過上拉電阻接+5v的電源VCC,負極分別接80C51單片機的外部接口P1.0、P1.1、P1.2、P1.3、P1.4、P1.5口,我們可以通過控制單片機P1口的數(shù)據(jù)輸出來控制二極管的亮滅。例如為P1口送值為#0DEH,則南北紅燈亮禁止通行,東西綠燈亮允許通行。南北南北VCCP1.0P1.1P1.2P1.3P1.4P1.5東西圖6當系統(tǒng)上電時,實驗電路開始工作。七段數(shù)碼管開始30秒倒計時,計時起始信號由主控電路給出,定時結(jié)束信號也輸入到主控芯片,由主控芯片啟、閉三色信號燈或啟動另一計時電路。在這里正確的程序是核心,應該完成一個時序電路的工作。其狀態(tài)表(1)為:狀態(tài)南北干道東西主干道時間1紅燈亮,禁止通行綠燈亮,允許通行30秒2紅燈亮,禁止通行黃燈亮,停車5秒3綠燈亮,允許通行紅燈亮,禁止通行20秒4黃燈亮,停車紅燈亮,禁止通行5秒表1四.元件列表名稱數(shù)量元件說明單片機一個80C51型單片機發(fā)光二極管12個紅色、黃色、綠色各四個LED數(shù)字顯示器四個分段式數(shù)字顯示器(共陽極)石英晶體振蕩器一個12兆振蕩頻率電阻18個510歐16個,5.1K2個電容3個20pF2個,20uF1個開關(guān)2個五、系統(tǒng)程序流程圖(1)主程序流程圖主程序開始剩余時間是否為5秒主程序開始剩余時間是否為5秒程序初始化南北紅燈東西綠燈N南北紅燈東西黃燈剩余時間N南北綠燈東西紅燈剩余時間是否為5秒南北黃燈東西紅燈剩余時間是否為0秒NN七.系統(tǒng)調(diào)試1、硬件調(diào)試:按照已經(jīng)設(shè)計好的電路設(shè)計圖,在萬能印刷電路板上焊接各個元件。電路板制作完成以后,利用萬用表檢查硬件是否焊接正常以及是否出現(xiàn)短路和斷路的情況,并修改焊接中的錯誤,直到硬件電路可以正常工作為止。在第一次進行檢測時發(fā)現(xiàn)顯示管不會顯示數(shù)據(jù),經(jīng)過進一步檢查才發(fā)現(xiàn)是電源線沒有焊接。如此反復操作,直到硬件可以正常運行。2、軟件調(diào)試:程序編好以后,先自己檢查是否有邏輯錯誤,保證正確后利用偉福仿真軟件對所編寫的程序進行編譯,檢查是否有語法錯誤,出現(xiàn)錯誤時偉福系統(tǒng)會自動提示有錯誤產(chǎn)生,并會指定錯誤的語句,這時我們需要認真檢查程序,修改編譯中出現(xiàn)的錯誤。程序修改無誤后,利用仿真軟件,我們可以監(jiān)視程序PC指針、P0、P1、P2口的變化、以及存儲單元的值的變化來檢查程序是否運行正常,是否能夠?qū)崿F(xiàn)預定的控制功能。八.心得體會通過這次課程設(shè)計,加強了我的動手、思考和解決問題的能力。電路原理,連接和芯片上的選擇,也略懂。并且鞏固了數(shù)字邏輯電路的理論知識,并對芯片有了新的認識,懂得它的功能和與其它芯片替換的方法等.更重要的是如何將邏輯電路靈活運用于實際生活。我做這課程設(shè)計同時也是對課本知識的鞏固和加強,平時看課本時,有時問題老是弄不懂,做完課程設(shè)計,那些問題也就迎刃而解了。而且還可以記住很多東西。比如一些芯片的功能,平時看課本,這次看了,下次就忘了,主要是因為沒有動手實踐過吧!認識來源于實踐,實踐是認識的動力和最終目的,實踐是檢驗真理的唯一標準。故這一個小小的課程設(shè)計,對我的作用是如此之大。參考文獻李明,畢萬新.單片機原理與接口技術(shù).大連:大連理工大學出版社,2009張靖武,周靈彬.單片機系統(tǒng)的Proteus設(shè)計與仿真.北京:電子工業(yè)出版社,2008.【3】周堅.單片機項目教程.北京:北京航空航天大學出版社,2008.【4】胡健.單片機原理與接口技術(shù)實踐教程.北京:機械工業(yè)出版社,2004.【5】胡漢才.單片機原理及系統(tǒng)設(shè)計.北京:清華大學出版社,2002.【6】侯玉寶等.基于Proteus8051系列單片機設(shè)計與仿真.北京:電子工業(yè)出版2006.【7】周潤景.PEOTEUS在MCS-51&ARM7系統(tǒng)中的應用百例[M].北京:電子工業(yè)出版社,2006.【8】朱承高.電工及電子技術(shù)手冊[M].北京:高等教育出版社,1990.【9】姜武中.單片機原理與接口技術(shù).大連:大連理工大學出版社,2002

附錄:程序設(shè)計(1)源程序代碼SECOND1EQU30HSECOND2EQU31HDBUFEQU40HTEMPEQU44HLED_G1BITP1.0LED_Y1BITP1.1LED_R1BITP1.2LED_G2BITP1.5LED_Y2BITP1.6LED_R2BITP1.7ORG0000HLJMPSTARTORG0003HLJMPINTOORG0013HLJMPINT1ORG0100HSTART:MOVTMOD,#01HMOVTH0,#3CHMOVTLO,#0B0HCLRTFOSETBTROSETBEX0SETBPX0SETBEALOOP:MOVR2,#20MOVR3,#20MOVSECOND1,#30MOVSECOND2,#20LCALLDISPLAYLCALLSTATE1WAIT1:JNBTF0,WAIT1CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR2,WAIT1MOVR2,#20DECSECIND1DECSECOND2LCALLDISPLAYDJNZR3,WAIT1MOVR2,#5MOVR3,#3MOVR4,#4MOVSECOND1,#5MOVSECOND2,#5LCALLDISPLAYWAIT2:LCALLSTATE2JNBTF0,WAIT2CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR4,WAIT2CPLLED_G1MOVR4,#4DJNZR2,WAIT2MOVR2,#5DECSECOND1DECSECOND2LCALLDISPLAYDJNZR3,WAIT2MOVR2,#20MOVR3,#2MOVSECOND1,#2MOVSECOND2,#2LCALLDISPLAYWAIT3:LCALLSTATE3JNBTF0,#3CHCLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR2,WAIT3MOVR2,#20DECSECOND1DECSECOND2LCALLDISPLAYDJNZR3,WAIT3MOVR2,#20MOVR3,#20MOVSECOND1,#25MOVSECOND2,#25LCALLDISPLAYWAIT4:LCALLSTATE4JNBTF0,WAIT4CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR2,WAIT4MOVR2,#20DECSECOND1DECSECOND2LCALLDISPLAYDJNZR3,WAIT4MOVR2,#5MOVR3,#4MOVR3,#3MOVSECOND1,#25MOVSECOND2,#25LCALLDISPLAYWAIT5:LCALLSTATE5JNBTF0,WAIT5CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR4,WAIT5CPLLED_G2MOVR4,#4DJNZR2,WAIT5MOVR2,#5DECSECOND1DECSECOND2LCALLDISPLAYDJNZR3,WAIT5MOVR2,#20MOVR3,#20MOVSECOND1,#25MOVSECOND2,#25LCALLDISPLAYWAIT6:LCALLSTATE6JNBTF0,WAIT6CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR2,WAIT6MOVR2,#20DECSECOND1DECSECOND2LCALLDISPLAYDJNZR3,WAIT6LJMPLOOPSTATE1:SETBLED_G1CLRLED_Y1CLRLED_R1CLRLED_G2CLRLED_Y2SETBLED_R2RETSTATE2:CLRLED_Y1CLRLED_R1CLRLED_G2CLRLED_Y2SETBLED_R2RETSTATE3:CLRLED_G1CLRLED_R1CLRLED_G2CLRLED_Y2SETBLED_R2SETBLED_Y1RETSTATE4:CLRLED_G1CLRLED_Y1SETBLED_R1SETBLED_G2CLRLED_Y2CLRLED_R2RETSTATE5:CLRLED_G1CLRLED_R1SETBLED_R1CLRLED_Y2CLRLED_R2RETSTATE6:CLRLED_G1CLRLED_Y1SETBLED_R1CLRLED_G2CLRLED_R2SETBLED_Y2RETDISPLAY:MOVA,SECOND1MOVB,#10DIVABMOVDBUF+3,AMOVA,BMOVDBUF+2,A;MOVA,SECOND2MOVB,#10DIVABMOVDBUF+1,AMOVA,BMOVDBUF,AMOVR0,#DBUFMOVR1,#TEMPMOVR7,#4DP10:MOVDPOTR,#LEDMAPMOVA,@R0MOVCA,@A+DPTRMOV@R1,AINCR0INCR1DJNZR7,DP10MOVR0,#TEMPMOVR1,#4DP12:MOVR7,#8MOVA,@R0DP13:RLCAMOVP3.0,CCLRP3.1SETBP3.1DJNZR7,DP13INCR0DJNZR1,DP12RETLENMAP:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FHORG0200HINTO0:PUSHPSWPUSHACCSETBLED_R1SETBLED_R2CLRLED_G1CLRLED_Y1CLRLED_G2CLRLED_Y2POPPSWPOPACCRETIEND(2)#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharcodedispcode[]={0x88,0xdb,0x94,0x91,0xc3,0xa1,0xa0,0x9b,0x80,0x81};ucharsecond[]={45,5,25,5};ucharcodetable[]={0xf3,0xf5,0xde,0xee};sbitP20=P2^0;sbitP21=P2^1;sbitP22=P2^2;sbitP23=P2^3;unsignedchartcount;unsignedchartime;unsignedcharorder;voiddelay(uintms)//毫秒級延時(AT89C52@11.0592MHz){uintti;while(ms--){for(ti=0;ti<112;ti++){}//112}}voidmain(void){P0=0xff;P1=0xff;P2=0xff;P3=0xff;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;order=0;tcount=0;time=second[order];P1=table[0];P2.0=1;P2.1=0;P2.2=0;P2.3=0;P0=dispcode[time/10];delay(8);P0=0xff;P2.0=0;P2.1=1;P2.2=0;P2.3=0;P0=dispcode[time%10];delay(8);P0=0xff;P2.0=0;P2.1=0;P2.2=1;P2.3=0;P0=dispcode[(time+5)/10];delay(8);P0=0xff;P2.0=0;P2.1=0;P2.2=0;P2.3=1;P0=dispcode[(time+5)%10];delay(8);P0=0xff;while(1){switch(order){case0:P1=table[0];P2.0=1;P2.1=0;P2.2=0;P2.3=0;P0=dispcode[time/10];delay(8);P0=0xff;P2.0=0;P2.1=1;P2.2=0;P2.3=0; P0=dispcode[time%10];delay(8);P0=0xff;P2.0=0;P2.1=0;P2.2=1;P2.3=0;P0=dispcode[(time+5)/10];delay(8);P0=0xff;P2.0=0;P2.1=0;P2.2=0;P2.3=1;

溫馨提示

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

評論

0/150

提交評論