專業(yè)綜合課程設(shè)計(jì)交通燈_第1頁
專業(yè)綜合課程設(shè)計(jì)交通燈_第2頁
專業(yè)綜合課程設(shè)計(jì)交通燈_第3頁
專業(yè)綜合課程設(shè)計(jì)交通燈_第4頁
專業(yè)綜合課程設(shè)計(jì)交通燈_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

專業(yè)綜合課程設(shè)計(jì)任務(wù)書班級:計(jì)算08-2 學(xué)號: 姓名: 成績: 電子與信息工程學(xué)院計(jì)算機(jī)科學(xué)系交通燈總體設(shè)計(jì)交通燈的功能要求本設(shè)計(jì)能模擬單方向的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號發(fā)生,還能進(jìn)行計(jì)時(shí)顯示。(1)實(shí)現(xiàn)紅綠燈交替點(diǎn)亮紅綠燈是在規(guī)定的時(shí)間上進(jìn)行交互更迭的訊號,設(shè)置在交岔路口或其他特殊地點(diǎn),用以將道路通行權(quán)指定給車輛駕駛?cè)伺c行人,管制其行止及轉(zhuǎn)向之交通管制設(shè)施。指示車輛及行人停止與行進(jìn),設(shè)于交岔路口或其他必要地點(diǎn)。(2)計(jì)時(shí)顯示計(jì)時(shí)顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時(shí)間、在“停止”和“通過”兩者間作出合適的選擇。駕駛員和行人普遍都愿意選擇有計(jì)時(shí)顯示的信號控制方式,并且認(rèn)為有計(jì)時(shí)顯示的路口更安全。計(jì)時(shí)顯示是用來減少駕駛員在信號燈色改變的關(guān)鍵時(shí)刻做出復(fù)雜判斷的一種方法。(3)在綠燈要滅的前3秒鐘變成黃燈閃爍在紅、綠燈中間再加上一個(gè)黃色信號燈,提醒人們注意危險(xiǎn)。紅、黃、綠三色信號燈形成一個(gè)完整的馬路工具。用來指示車輛及行人注意。交通燈的基本構(gòu)成和原理單片機(jī)設(shè)計(jì)交通燈控制系統(tǒng),可用單片機(jī)直接控制信號燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當(dāng)然,接入LED數(shù)碼管就可以顯示計(jì)時(shí)以提醒行使者,更具人性化。圖1系統(tǒng)的總體框圖據(jù)此,本設(shè)計(jì)系統(tǒng)以單片機(jī)為控制核心,連接成最小系統(tǒng),信號燈狀態(tài)模塊,LED計(jì)時(shí)模塊。系統(tǒng)的總體框圖如上所示。單片機(jī)上電后,系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時(shí)將時(shí)間數(shù)據(jù)計(jì)時(shí)輸入到LED數(shù)碼管上實(shí)時(shí)顯示。硬件詳細(xì)設(shè)計(jì)AT89C51單片機(jī)簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。與MCS-51兼容,4K字節(jié)可編程閃爍存儲器,壽命:1000寫/擦循環(huán),數(shù)據(jù)保留時(shí)間:10年,全靜態(tài)工作:0Hz-24Hz,三級程序存儲器鎖定,128*8位內(nèi)部RAM,32可編程I/O線,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源(兩個(gè)外部中

斷源和3個(gè)內(nèi)部中斷源),可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時(shí)鐘電路。?時(shí)鐘電路:時(shí)鐘電路的作用是產(chǎn)生單片機(jī)工作所需要的時(shí)鐘脈沖序列。PO.Ij—P0.7P2.0—P2.7HHHHUACCTHF2PO.Ij—P0.7P2.0—P2.7HHHHUACCTHF2IAT89C51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖主要引腳功能:(T2)P1.C匚斗0□VCC(T2EX)P1.1□239□PC-.C-(ADD)P1.2匚330□PG.1(AD1)P1.3匚斗37□PG.2(ADE)P1.4匚536□PC.3(AD3i(MOSliP1,5E6AT89S35□PC-.4(AD4)(MISO)P1丘匚34□PG.5(ADS)(SCK)P1.7匚S33□P0.6(ADS)RSTE932□PC.7(AD7)i:RXDiP3.CE1031□□t'VPPiTKDiR3.1匚1130□ALE-PROG([NTOjR3.2L1229□PSEF](nTn-)P3.3L132日□P2.7(A15)(TO)P3.斗匚1斗27□P2.6(A14)rn:iP3.5匚152-5□P2.5(A13)(WR)P3.6L1625□P2.4(A12)(FlDiP3.7C1724□P2.3(A11)XTAL2E1823□P2.2(A10)JCTAL1匚1922□P2.1(AS)GNDE2021ZlP2.0(AS)圖3AT89C51引腳圖?VCC:電源電壓?GND:接地?P0口:P0口是一組8位雙向I/O口。P0口即可作地址/數(shù)據(jù)總線使用,又可以作為通用的I/O口使用。當(dāng)CPU訪問片外存儲器時(shí),P0口分時(shí)先作低8位地址總線,后作雙向數(shù)據(jù)總線,此時(shí),P0口就不能再作I/O口使用了。在訪問期間激活要使用上拉電阻。?P1口:Pl是一個(gè)帶內(nèi)部上拉電阻的8準(zhǔn)位雙向I/O口,P1作為通用的I/O口使用。?P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口,P2即可作為通用的I/O口使用,也可以作為片外存儲器的高8位地址總線,與P0口配合,組成16位片外存儲器單元地址。?P3口:P3口是一組帶有內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口。P3口除了作為通用的I/O口使用之外,每個(gè)引腳還具有第二功能,具體分配如表2?RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFRAUXR的DISRTO位(地址8EH)可打開或關(guān)閉該功能oDISRTO位缺省為RESET輸出高電平打開狀態(tài)。?ALE/PROG":當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè)ALE脈沖。對F1ash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條M0VX和M0VC指令A(yù)LE才會被激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無效。?1PSIN"程序儲存允許(TW)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次—SET有效,即輸出兩個(gè)脈沖。當(dāng)訪問外部數(shù)據(jù)存儲器,沒有兩次有效的"PSEF信號。?1EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時(shí),該引腳加上+12V的編程電壓Vcc。?XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。其他硬件介紹七段LED數(shù)碼管LED顯示屏作為大型顯示設(shè)備的一種,具有亮度高、價(jià)格低、壽命長、維護(hù)簡便等優(yōu)點(diǎn)。LED數(shù)碼管的結(jié)構(gòu)簡單,分為七段和八段兩種形式,也有共陽和共陰之分。以七段共陽管為例,它有7個(gè)發(fā)光二極管,每個(gè)發(fā)光二極管的陽極連在一起,要想顯示一個(gè)數(shù)值,就要分別對它們的高低電平來加以控制。表4驅(qū)動(dòng)代碼表顯示數(shù)值dp,g,f,e,d,c,b,a驅(qū)動(dòng)代碼00101000040H10111100179H20010010024H30011000030H40001100119H50001001012H60000001002H70111100078H80000000000H90001000010H相應(yīng)在程序軟件上,可以通過調(diào)用程序給定的秒值經(jīng)過特定計(jì)算算出需要顯示的個(gè)位和十位,然后有DPTR調(diào)取LEDMAP的代碼。系統(tǒng)硬件總電路構(gòu)成及原理實(shí)現(xiàn)本設(shè)計(jì)要求的具體功能,可以選用AT89C51單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng),3個(gè)發(fā)光二極管代表紅綠黃三色燈構(gòu)成信號燈指示模塊,LED構(gòu)成

計(jì)時(shí)顯示模塊。本系統(tǒng)以單片機(jī)為核心,系統(tǒng)硬件電路由狀態(tài)燈,LED顯示組成。其具體的硬件電路總圖如圖4所示。其中P0用于送LED數(shù)碼管,Pl用于控制紅綠黃發(fā)光二極管,XTAL1和XTAL2接入晶振時(shí)鐘電路(可省略)。系統(tǒng)上電之后,系統(tǒng)先顯示狀態(tài)燈及LED數(shù)碼管,將狀態(tài)碼值送顯P1口,將要顯示的時(shí)間值的個(gè)位和十位分別送顯P0口,在此同時(shí)用軟件方法計(jì)時(shí)1秒,到達(dá)ls就要將時(shí)間值減1,刷新LED數(shù)碼管。時(shí)間到達(dá)一個(gè)狀態(tài)所要全部時(shí)間,則要進(jìn)行下一狀態(tài)判斷及銜接,并裝入次狀態(tài)的相應(yīng)狀態(tài)碼值以及時(shí)間值。VDDAR11k<TEXT>D3D2D1LED-6REEN<TEXT>LED-YELLOW<TEXT>LED-RED=:TEXT>U2:CU2:BU2:A7404<TEXT>7404<TEXT>740斗<TEXTIJ.TD3D2D1LED-6REEN<TEXT>LED-YELLOW<TEXT>LED-RED=:TEXT>U2:CU2:BU2:A7404<TEXT>7404<TEXT>740斗<TEXTIJ.T3^XTAL1F'O.O/ADOP0.1/AD1P0.2/AD2F'0.4yAD4P0.5/AD5FO.0/AD6RSTPO.Z.'ALi?P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4JA12FTP2.5/A13P2.6/A14P2.7/A15P1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.8P3.8/WR189293031AT89C51■=:TEXT>483938^3?36"35^3?21—26272S10■1113■151617圖5硬件電路總圖軟件詳細(xì)設(shè)計(jì)程序主體設(shè)計(jì)流程全部控制程序?qū)嶋H上分為兩個(gè)模塊:狀態(tài)燈控制程序,LED顯示程序整個(gè)軟件程序流程圖如圖所示。

圖1系統(tǒng)總流程圖設(shè)計(jì)說明:該交通燈控制系統(tǒng)的軟件設(shè)計(jì)采用的是順序執(zhí)行并反復(fù)循環(huán)的方法。交通燈控制系統(tǒng)在正常工作的情況下,每17s循環(huán)變化一次。每個(gè)循環(huán)周期在開始7s后,正在通行路口的黃燈點(diǎn)亮,以提醒路人上的行人及車輛,交通燈即將發(fā)生變化。黃燈點(diǎn)亮3s后熄滅,改點(diǎn)亮紅燈7s,依次循環(huán)。理論基礎(chǔ)知識定時(shí)器原理定時(shí)器工作的基本原理其實(shí)就是給初值,讓它不斷加1直至減完為模值,這個(gè)初值是送到TH和TL中的。它是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值,即所要求的計(jì)數(shù)值設(shè)定為C,把計(jì)數(shù)初值設(shè)定為TC可得到如下計(jì)算通式:TC=M-C式中,M為計(jì)數(shù)器模值。計(jì)數(shù)值并不是目的,目的是時(shí)間值,設(shè)計(jì)1次的時(shí)間,即定時(shí)器計(jì)數(shù)脈沖的周期為TO,它是單片機(jī)系統(tǒng)主頻周期的12倍,設(shè)要求的時(shí)間值為T,則有C=T/T0。計(jì)算通式變?yōu)椋篢=(M-TC)TO模值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為8192;在方式1時(shí)M的值為65536;在方式2和3為256。就此可以算出各種方式的最大延時(shí)。如單片機(jī)的主脈沖頻率為12MHZ,經(jīng)過12分頻后,若采用方式0最大延時(shí)只有8.129毫秒,采用方式1最大延時(shí)也只有65.536毫秒。這就是為什么掃描周期為50ms的原因,若使用軟件則會耽擱程序流程,顯然不可行。相反,時(shí)間計(jì)時(shí)方面卻不可能只用計(jì)數(shù)器,因?yàn)轱@然1秒鐘已經(jīng)超過了計(jì)數(shù)器的最大定時(shí)間,所以我們還必須采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問題。軟件延時(shí)原理MCS-51的工作頻率為12MHZ,機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12MHZ)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定0.5秒的時(shí)間,但同時(shí)由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。源程序狀態(tài)燈控制程序:START:MOVP1,#00HSETBP1.2MOVR4,#0EHLP1:LCALLDLDJNZR4,LP1CLRP1.2SETBP1.1MOVR4,#06HLP2:LCALLDLDJNZR4,LP2MOVP1,#00HSETBP1.0MOVR4,#0EHLP3:LCALLDLDJNZR4,LP3MOVP1,#00HLJMPSTARTDL:MOVR7,#05HDL1:MOVR6,#0C8HDL2:MOVR5,#0FAHDJNZR5,$DJNZR6,DL2DJNZR7,DL1RETLED顯示程序:LED計(jì)時(shí)每1秒都要刷新1次,采用的是動(dòng)態(tài)顯示,首先將R4除以10H,整數(shù)即十位放在50H中,余數(shù)即個(gè)位放在51H中,設(shè)置7段LED顯示數(shù)據(jù)的數(shù)據(jù)表,用數(shù)據(jù)指針寄存器DPTR指向數(shù)據(jù)表的首地址,再加上A中的偏移量,就可以指向十位數(shù)字,然后顯示器即可,個(gè)位顯示同理。具體程序如下:BCD: ;將個(gè)位數(shù)送到(50H)MOVA,60H ;60H單元放的是計(jì)時(shí)值MOVB,#10HDIVABMOVA,BMOV50H,ARETDISPCLK: ;顯示部分MOVDPTR,#TABMOVA,50HMOVCA,@A+DPTRMOVP0,ALCALLDELAYRET心得體會經(jīng)過兩周的努力工作,終于完成了自己的單片機(jī)課程設(shè)計(jì)。雖說忙碌了點(diǎn),但我覺得這樣的生活充實(shí)且有成就感,當(dāng)然,也獲益匪淺。在Proteus畫電路圖的過程中,先添加每個(gè)元器件,再合理的布局,確保一切準(zhǔn)備好以后再連接電路。至于軟件設(shè)計(jì)與調(diào)試,我覺得它主要考驗(yàn)?zāi)愕乃季S邏輯能力及你對指令的熟悉程度??梢哉f在整個(gè)軟件設(shè)計(jì)過程中,我不僅學(xué)會了延時(shí),還掌握數(shù)碼管的動(dòng)態(tài)顯示方式。當(dāng)然,通過幾次反復(fù)調(diào)試過程,使得我對匯編指令有了更深刻的理解。在整個(gè)課程設(shè)計(jì)過程我還掌握了一下幾點(diǎn):(1) 掌握了電子系統(tǒng)設(shè)計(jì)的流程,熟悉了各種硬件電路以及軟件編程方法。(2) 理解了單片機(jī)的各部分組成及特性。(3) 熟練使用了各種計(jì)算機(jī)輔助設(shè)計(jì)工具完成設(shè)計(jì),充分掌握了這些工具的使用。(4)學(xué)會了利用KeiluVision3對匯編語言進(jìn)行編譯過程.更進(jìn)一步加深了對PROTEUS軟件的學(xué)習(xí)。還有,我還發(fā)現(xiàn)自身一些毛病。一,前期準(zhǔn)備工作做的不夠好,想的還算多,可就是沒落實(shí)。先說選題,就表現(xiàn)自己有畏難情緒,其實(shí)當(dāng)時(shí)找到好幾個(gè)題目,但交通燈最熟悉,所以就選了它。就這,還沒做的很理想。二,行動(dòng)起來不是很賣力,雖說動(dòng)手還算早,但每天的進(jìn)展卻不大,可以說做與玩相伴而行。通過本次的課程設(shè)計(jì),充分意識到自己所學(xué)的東西還是非常有限的,不過通過設(shè)計(jì),還是學(xué)到了一些書本上沒有學(xué)到的東西,為自己以后的學(xué)習(xí)起了很大的幫助。就我個(gè)人而言,很深刻地體會到一點(diǎn),那就是我們在設(shè)計(jì)過程中一定要有一個(gè)整體的清晰的思路,知道自己的設(shè)計(jì)的對象的基本功能和核心器件的適用及其作用,只要把握住這些主要方面,一些小問題都將圍繞著這些主要問題而逐步得到解決。同時(shí)我也懂得,在整個(gè)設(shè)計(jì)過程中,生活中也一樣,一定要意志堅(jiān)定,克服自己的畏難情緒,這樣才能將事情做好,才能干出一番成就。我覺得類似這種課程設(shè)計(jì)的實(shí)踐真的不錯(cuò),通過這些項(xiàng)目練習(xí),我自學(xué)能力,解決實(shí)際問題的能力得到提高,可以說是對綜合素質(zhì)全面提升,我想這也是我們上大學(xué)應(yīng)真正學(xué)到的。參考文獻(xiàn)邊海龍等?單片機(jī)開發(fā)與典型工程項(xiàng)目實(shí)例詳解[J].電子工業(yè)出版社,2008,(10):143-160.張鑫,華臻,陳書謙.單片機(jī)原理及應(yīng)用[J].電子工業(yè)出版社,2008(5).黃智偉.凌陽單片機(jī)課程設(shè)計(jì)指導(dǎo)[J].北京航空航天大學(xué)出版社,2007,余錫存曹國華.單片機(jī)原理及接口技術(shù)[M].陜西:西安電子科技大學(xué)出版社,2000.7雷麗文等.微機(jī)原理與接口技術(shù)[M].北京:電子工業(yè)出版社,1997.2柴鈺.單片機(jī)原理和應(yīng)用[M].西安電子科技大學(xué)出版社.張靖武.單片機(jī)系統(tǒng)的PR0TUSE設(shè)計(jì)和仿真[M].電子工業(yè)出版社.2007.唐工..51單

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論