基于8051單片機交通燈控制系統(tǒng)的設(shè)計_第1頁
基于8051單片機交通燈控制系統(tǒng)的設(shè)計_第2頁
基于8051單片機交通燈控制系統(tǒng)的設(shè)計_第3頁
基于8051單片機交通燈控制系統(tǒng)的設(shè)計_第4頁
基于8051單片機交通燈控制系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

徐州工程學(xué)院畢業(yè)論文PAGEPAGEI圖書分類號:密級:畢業(yè)論文基于8051單片機交通燈控制系統(tǒng)的設(shè)計Basedonthe8051microcontrollertrafficsignalcontroldesign學(xué)生學(xué)號學(xué)生姓名學(xué)院名稱信電工程學(xué)院專業(yè)名稱電子信息工程技術(shù)指導(dǎo)教師2010年5月20日摘要近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機ATSC51和可編程并行I/O接口芯片8255A為中心器件來設(shè)計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過8051芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示(交通燈信號通過PA口輸出,顯示時間直接通過8255的PC口輸出至雙位數(shù)碼管);車輛闖紅燈報警;綠燈時間可檢測車流量并可通過雙位數(shù)碼管顯示。本系統(tǒng)實用性強、操作簡單、擴展功能強。關(guān)鍵詞單片機;交通燈;8051;檢測車流量AbstractInrecentyears,withtherapiddevelopmentofscienceandtechnology,theapplicationofSCMisatthesametime,traditionaldetectiontechniquestocontrolthegrowingupdate.Inreal-timedetectionandautomaticcontrolsystemofsingle-chipapplications,oftenasasingle-chipcorecomponenttouseonlysingle-chipisnotenoughknowledge,butalsothestructureofhardwareandsoftwareinaccordancewiththespecificcombinationofhardware,tobeimproved.Crossroadsshuttlevehicles,pedestriansbustling,carlanes,thepavementandorderly.Sotoachievetheorderlywhatorder?Isthetrafficlightsontheautomaticcontrolsystem.Manytrafficlightscontrol.ThesystemusesMSC-51seriessingle-chipATSC51andprogrammableparallelI/Ointerfacechip8255A-centricdevicedesignedtocontroltrafficlights,canbeachievedinaccordancewiththeactualtrafficflowthroughtheP1port8051chipsetred,greenfuelLiangfunctionoftime;trafficlightcycle,thecountdownfivesecondsleftwhentheyellowlightflashingwarning(trafficlightsthroughthePAoutputsignalindicatesthetimedirectlythroughthePCportoutput8255todouble-digits);vehiclealarm;greentimetrafficflowcanbedetectedthroughadouble-digitaldisplay.Thesystempractical,simpleandstrongextensions.KeywordsSingle-chipdetectionoftrafficlightsredlightrunningtraffic徐州工程學(xué)院畢業(yè)論文PAGE25目錄1緒論 12單片機的發(fā)展及應(yīng)用 22.1單片機的發(fā)展 22.2單片機的應(yīng)用 23芯片簡介 43.1MCS-51芯片簡介 43.2中斷系統(tǒng) 53.3時鐘電路 53.48255芯片簡介 74系統(tǒng)硬件設(shè)計 94.1交通管理的方案論證 94.2.1系統(tǒng)總框圖如下 94.2.2交通燈硬件線路圖(見附錄2) 104.2.3系統(tǒng)工作原理 105控制器的軟件設(shè)計 115.1計數(shù)器硬件延時 115.1.1計數(shù)器初值計算 115.1.21秒的方法 115.1.3相應(yīng)程序代碼 115.2軟件延時 125.3時間及信號燈的顯示 125.3.18051并行口的擴展 125.3.2顯示原理 125.3.38255輸出信號與數(shù)碼管的連接 135.3.48255與8051的連接 135.4程序設(shè)計 146結(jié)論 16致謝 17參考文獻(xiàn) 18附錄 19附錄1 19附錄2 231緒論當(dāng)今,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進(jìn)入交叉路口。2單片機的發(fā)展及應(yīng)用2.1單片機的發(fā)展單片微型計算機是微型計算機的一個重要分支,也是一種非?;钴S和頗具有生命力的機種。單片微型計算機簡稱單片機,特別適用于工業(yè)控制領(lǐng)域,因此又稱為微控器。通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。單片機經(jīng)過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。1971年微處理器研制成功不久,就出現(xiàn)了單片微型計算機即單片機,但最早的單片機是1位的,處理能力有限。自1976年9月Intel公司推出MCS-48單片機以來,有關(guān)公司都爭相推出各自的單片機。如GI公司推出PIC1650系列單片機,Rockwell公司推出了與6502微處理器兼容的R6500系列單片機。1978年下半年Motorola公司推出M6800系列單片機,Zilog公司相繼推出Z8單片機系列。1980年Intel公司在MCS-48系列基礎(chǔ)上又推出了高性能的MCS-51系列單片機。這類單片機均帶有串行I/O口,定時器/計數(shù)器為16位,片內(nèi)存儲容量(RAM,ROM)都相應(yīng)增大,并有優(yōu)先級中斷處理功能,單片機的功能、尋址范圍都比早期的擴大了,它們是當(dāng)時單片機應(yīng)用的主流產(chǎn)品。1982年Mostek公司和Intel公司先后又推出了性能更高的16位單片機MK68200和MCS-96系列,NS公司和NEC公司也分別在原有8位單片機的基礎(chǔ)上推出了16位單片機HPC16040和μPD783××系列。1987年Intel公司又宣布了性能比8096高兩倍的CMOS型80C196,1988年推出帶EPROM的87C196單片機。由于16位單片機推出的時間較遲、價格昂貴、開發(fā)設(shè)備有限等多種原因,至今還未得到廣泛應(yīng)用。而8位單片機已能滿足大部分應(yīng)用的需要,因此,在推出16位單片機的同時,高性能的新型8位單片機也不斷問世。如:Motorola公司推出了帶A/D和多功能I/O的68MC11系列,Zilog公司推出了帶有DMA功能的Suqer8,Intel公司在1987年也推出了帶DMA和FIFO的UPI-452等。

目前國際市場上8位、16位單片機系列已有很多,但是,在國內(nèi)使用較多的系列是Intel公司的產(chǎn)品,其中又以MCS-51系列單片機應(yīng)用尤為廣泛,二十幾年經(jīng)久不衰,而且還在更進(jìn)一步發(fā)展完善,價格越來越低,性能越來越好。2.2單片機的應(yīng)用單片機的應(yīng)用很廣,分別在以下領(lǐng)域中得到了廣泛的應(yīng)用。工業(yè)自動化:在自動化技術(shù)中,無論是過程控制技術(shù)、數(shù)據(jù)采集技術(shù)還是測控技術(shù),都離不開單片機。在工業(yè)自動化的領(lǐng)域中,機電一體化技術(shù)將發(fā)揮愈來愈重要的作用,在這種機械、微電子和計算機技術(shù)為一體的綜合技術(shù)(例如機器人技術(shù)、數(shù)控技術(shù))中,單片機將發(fā)揮非常重要的作用特別是近些年來,隨著計算機技術(shù)的發(fā)展,工業(yè)自動化也發(fā)展到了一個新的高度,出現(xiàn)了無人工廠、機器人作業(yè)、網(wǎng)絡(luò)化工廠等,不僅將人從繁重、重復(fù)和危險的工業(yè)現(xiàn)場解放出來,還大大提高了生產(chǎn)效率,降低了生產(chǎn)成本。儀器儀表:目前對儀器儀表的自動化和智能化要求越來越高。在自動化測量儀器中,單片機應(yīng)用十分普及。單片機的使用有助于提高儀器儀表的精度和準(zhǔn)確度,簡化結(jié)構(gòu),減小體積,易于攜帶和使用,加速儀器儀表向數(shù)字化、智能化和多功能化方向發(fā)展。消費類電子產(chǎn)品:該應(yīng)用主要反映在家電領(lǐng)域。目前家電產(chǎn)品的一個重要發(fā)展趨勢是不斷提高其智能化程度。例如,電子游戲、照相機、洗衣機、電冰箱、空調(diào)、電視機、微波爐、手機、IC卡、汽車電子設(shè)備等。在這些設(shè)備中使用了單片機后,其功能和性能大大提高,并實現(xiàn)了智能化、最優(yōu)化控制信方面:較高檔的單片機都具有通信接口,因而為單片機在通信設(shè)備中的應(yīng)用創(chuàng)造了很好的條件。例如,在微波通信、短波通信、載波通信、光纖通信、程控交換等通信設(shè)備和儀器中都能找到單片機的應(yīng)用。武器裝備:在現(xiàn)代化的武器裝備中,如飛機、軍艦、坦克、導(dǎo)單、魚雷制導(dǎo)、智能武器設(shè)備、航天飛機導(dǎo)航系統(tǒng),都有單片機在其中發(fā)揮重要作用。終端及外部設(shè)備控制:計算機網(wǎng)絡(luò)終端設(shè)備,如銀行終端,以及計算機外部設(shè)備如打印機、硬盤驅(qū)動器、繪圖機、傳真機、復(fù)印機等,在這些設(shè)備中都使用了單片機。近年來隨著科技的飛速發(fā)展,同時帶動自動控制系統(tǒng)日新月異更新,單片機的應(yīng)用正在不斷地走向深入。3芯片簡介3.1MCS-51芯片簡介MCS-51單片機內(nèi)部結(jié)構(gòu)8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進(jìn)行系統(tǒng)的講解。

8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線。中央處理器中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。 圖3-18051單片機內(nèi)部結(jié)構(gòu)程序存儲器(ROM)8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM)8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口8051共有4組8位I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。3.2中斷系統(tǒng)8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。3.3時鐘電路8051內(nèi)置最高頻率達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。下圖是MCS-51系列單片機的內(nèi)部結(jié)構(gòu)示意圖3-2。圖3-2MCS-51系列單片機內(nèi)部結(jié)構(gòu)示意圖MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明:如圖3-3圖3-3MCS-51引腳說明Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見圖3-4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。 圖3-48051的復(fù)位方式Pin30:ALE/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。在編程時,EA/Vpp腳還需加上21V的編程電壓。3.48255芯片簡介8255可編程并行接口芯片簡介:8255可編程并行接口芯片有三個輸入輸出端口,即A口、B口和C口,對應(yīng)于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個端口包含一個4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。8255可編程并行接口芯片方式控制字格式說明:8255有兩種控制命令字;一個是方式選擇控制字;另一個是C口按位置位/復(fù)位控制字。其中C口按位置位/復(fù)位控制字方式使用較為繁難,說明也較冗長,故在此不作敘述,需要時用戶可自行查找有關(guān)資料。D7:設(shè)定工作方式標(biāo)志,1有效。D6、D5:A口方式選擇00—方式001—方式11×—方式2D4:A口功能(1=輸入,0=輸出)D3:C口高4位功能(1=輸入,0=輸出)D2:B口方式選擇(0=方式0,1=方式1)D1:B口功能(1=輸入,0=輸出)D0:C口低4位功能(1=輸入,0=輸出)8255可編程并行接口芯片工作方式說明:方式0:基本輸入/輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。方式1:選通輸入/輸出方式。這時A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號和中斷請求信號。方式2:雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時C口的5條線用作通訊聯(lián)絡(luò)信號和中斷請求信號。74LS373簡介74LS373是一種帶三態(tài)門的8D鎖存器,其管腳示意圖如3-5示:其中:1D-8D為8個輸入端。1Q-8Q為8個輸出端。LE為數(shù)據(jù)打入端:當(dāng)LE為“1”狀態(tài)同輸入狀態(tài);當(dāng)LE由“1”變“0打入鎖存器OE為輸出允許端:當(dāng)OE=0時,三態(tài)門打開;當(dāng)OE=1時,三態(tài)門關(guān)閉,輸出高阻。圖3-5三態(tài)門鎖存器管腳示意圖4系統(tǒng)硬件設(shè)計4.1交通管理的方案論證東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時間。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案如表3-1。表3-1指示燈亮滅方案60S5S80S5S東西道紅燈亮黃燈亮綠燈亮黃燈亮南北道綠燈亮黃燈亮紅燈亮黃燈亮表3-1說明:(1)當(dāng)東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。時間為60秒。(2)黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。(3)當(dāng)東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通過,行人通行。時間為80秒。東西方向車流大通行時間長。(4)這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。(5)此表可根據(jù)車流量動態(tài)設(shè)定紅綠燈初始值。4.2系統(tǒng)硬件設(shè)計選用設(shè)備8051單片機一片選用設(shè)備:8031彈片機一片,8255并行通用接口芯片一片,74LS07兩片,MAX692‘看門狗’一片,共陰極的七段數(shù)碼管兩個雙向晶閘管若干,7805三端穩(wěn)壓電源一個,紅、黃、綠交通燈各兩個,開關(guān)鍵盤、連線若干。4.2.1系統(tǒng)總框圖如圖4-1:圖4-1系統(tǒng)框圖4.2.2交通燈硬件線路圖(見附錄2)4.2.3系統(tǒng)工作原理(1)開關(guān)鍵盤輸入交通燈初始時間,通過8051單片機P1輸入到系統(tǒng)(2)由8051單片機的定時器每秒鐘通過P0口向8255的數(shù)據(jù)口送信息,由8255的PA口顯示紅、綠、黃燈的燃亮情況;由8255的PC口顯示每個燈的燃亮?xí)r間。(3)8051通過設(shè)置各個信號等的燃亮?xí)r間、通過8031設(shè)置,綠、紅時間分別為60秒、80秒循環(huán)由8051的P0口向8255的數(shù)據(jù)口輸出。(4)通過8051單片機的P3.0位來控制系統(tǒng)是工作或設(shè)置初值,當(dāng).牌位0就對系統(tǒng)進(jìn)行初始化,為1系統(tǒng)就開始工作。(5)紅燈倒計時時間,當(dāng)有車輛闖紅燈時,啟動蜂鳴器進(jìn)行報警,3S后然后恢復(fù)正常。(6)增加每次綠燈時間車流量檢測的功能,并且通過查詢P2.0端口的電平是否為低,開關(guān)按下為低電平,雙位數(shù)碼管顯示車流量,直到下一次綠燈時間重新記入。(7)綠燈時間倒計時完畢,重新循環(huán)。5控制器的軟件設(shè)計5.1計數(shù)器硬件延時5.1.1計數(shù)器初值計算定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC可得到如下計算通式:TC=M-C式中,M為計數(shù)器摸值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為213;在方式1時M的值為216;在方式2和3為285.1.21秒的方法我們采用在主程序中設(shè)定一個初值為20的軟件計數(shù)器和使T0定時50毫秒.這樣每當(dāng)T0到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時間顯示程序。5.1.3相應(yīng)程序代碼1)主程序定時器需定時50毫秒,故T0工作于方式1。初值:TC=M-T/T計數(shù)=216-50ms/1us=15536=3CBOHORG1000HSTART:MOVTMOD,#01H;令T0為定時器方式1MOVTH0,#3CH;裝入定時器初值MOVTL0,#BOH;MOVIE,#82H;開T0中斷SEBTTRO;啟動T0計數(shù)器MOVRO,#14H;軟件計數(shù)器賦初值LOOP:SJMP$;等待中斷(2)中斷服務(wù)子程序ORG000BHAGMPBRT0ORG00BHBRT0:DJNZR0,NEXTAJMPTIME跳轉(zhuǎn)到時間及信號燈顯示子程序DJNZ:MOVR0,#14H;恢復(fù)R0值MOVTH0,#3CH;重裝入定時器初值MOVTL0,#BOH;MOVIE,#82HRET1END5.2軟件延時MCS-51的工作頻率為2-12MHZ,我們選用的8031單片機的工作頻率為6MHZ。機器周期與主頻有關(guān),機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。具體的延時程序分析:DELAY:MOVR4,#08H延時1秒子程序DE2:LCALLDELAY1DJNZR4,DE2RETDELAY1:MOVR6,#0延時125ms子程序MOVR5,#0DE1:DJNZR5,$DJNZR6,DE1RETMOVRN,#DATA字節(jié)數(shù)數(shù)為2機器周期數(shù)為1所以此指令的執(zhí)行時間為2msDELAY1為一個雙重循壞循環(huán)次數(shù)為256*256=65536所以延時時間=65536*2=131072us約為125usDELAYR4設(shè)置的初值為8主延時程序循環(huán)8次,所以125us*8=1秒由于單片機的運行速度很快其他的指令執(zhí)行時間可以忽略不計。5.3時間及信號燈的顯示5.3.18051并行口的擴展8051雖然有4個8位I/O端口,但真正能提供借用的只有P1口,因為P2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8031通常需要擴展。由于我們用外部輸入設(shè)定紅綠燈倒計時初值、數(shù)碼管的輸出顯示、紅綠黃信號燈的顯示都要用到一個I/O端口,顯然8031的端口是不夠,需要擴展。擴展的方法有兩種:(1)借用外部RAM地址來擴展I/O端口;(2)采用I/O接口新片來擴充。我們用8255并行接口信片來擴展I/O端口。5.3.2顯示原理當(dāng)定時器定時為1秒,時程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數(shù)器賦初值,重新進(jìn)入循環(huán)。5.3.38255輸出信號與數(shù)碼管的連接LED燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點量而顯示不同的字形如SP,g,f,e,d,c,b,a管角上加上7FH所以SP上為0伏,不亮其余為TTL高電平,全亮則顯示為8采用共陰級連接:其中PC0\PB0-a,PC1\PB1-b,PC2\PB2-c,PC3\PB3-d,PC4\PB4-e,PC5\PB5-f,PC6\PB6-gPC7\PB7-SP接地、表5-1驅(qū)動代碼表顯示數(shù)值dopgfedcba驅(qū)動代碼(16進(jìn)制)0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011006DH6011111007DH70000011107H8011111117FH5.3.48255與8051的連接:用8051的P0口的p0.7連接8255的片選信號cs我們用8031的地址采用全譯碼方式,當(dāng)p0.7=0時片選有效,其他無效,p0.1p0.1用于選擇8255端口P0.7p0.6p0.5p0.4p0.3p0.2P0.1P0.0A7A6A1XXXXX0000H為8255的PA口1XXXXX0101H為8255的PB口1XXXXX1002H為8255的PC口1XXXXX1103H為8255的控制口由于8051是分時對8255和儲存器進(jìn)行訪問所以8051的P0口不會發(fā)生沖突5.4程序設(shè)計開始開始初始化初始化等待鍵盤事件等待鍵盤事件顯示程序處理鍵盤事件處理顯示程序處理鍵盤事件處理 圖5-1程序設(shè)計流程圖圖5-2程序流程圖6結(jié)論本系統(tǒng)就是充分利用了8051和8255芯片的I/O引腳。系統(tǒng)統(tǒng)采用MSC-51系列單片機Intel8051和可編程并行I/O接口芯片8255A為中心器件來設(shè)計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過8031芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示(交通燈信號通過PA口輸出,顯示時間直接通過8255的PC口輸出至雙位數(shù)碼管);車輛闖紅燈報警;綠燈時間可檢測車流量并可通過雙位數(shù)碼管顯示。。系統(tǒng)不足之處不能控制車的左、右轉(zhuǎn)、以及自動根據(jù)車流改變紅綠燈時間等。這是由于本身地理位子以及車流量情況所定,如果有需要可以設(shè)計擴充原系統(tǒng)來實現(xiàn)。通過這次畢業(yè)設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機的基本原理、單片機應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。致謝在本次論文設(shè)計過程中,田秀玲老師對該論文從選題,構(gòu)思到最后定稿的各個環(huán)節(jié)給予細(xì)心指引與教導(dǎo),使我得以最終完成畢業(yè)論文設(shè)計。在學(xué)習(xí)中,老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、豐富淵博的知識、敏銳的學(xué)術(shù)思維、精益求精的工作態(tài)度以及侮人不倦的師者風(fēng)范是我終生學(xué)習(xí)的楷模,導(dǎo)師們的高深精湛的造詣與嚴(yán)謹(jǐn)求實的治學(xué)精神,將永遠(yuǎn)激勵著我。這三年中還得到眾多老師的關(guān)心支持和幫助。在此,謹(jǐn)向老師們致以衷心的感謝和崇高的敬意!在本論文的設(shè)計中,我也參考了大量的著作和文章,許多作者的科研成果及設(shè)計給我很大的啟發(fā)。在此我向這些學(xué)者們表示由衷的感謝,感謝我的同學(xué)和朋友對我的大力支持,他們的無私奉獻(xiàn)、關(guān)愛和支持是我能夠繼續(xù)追求我的理想,感謝所有幫助和關(guān)心我的人。最后,我要向百忙之中抽時間對本文進(jìn)行審閱,評議和參與本人論文答辯的各位老師表示感謝。參考文獻(xiàn)[1]張毅坤.單片微型計算機原理及應(yīng)用,西安電子科技大學(xué)出版社1998[2]余錫存曹國華.單片機原理及接口技術(shù)[M].陜西:西安電子科技大學(xué)出版社,2000.7[3]雷麗文等.微機原理與接口技術(shù)[M].北京:電子工業(yè)出版社,1997.2[4]張友德,趙志英,涂時亮。單片機微型機原理、應(yīng)用與實驗(第三版)。上海:復(fù)旦大學(xué)出版社,2000[5]劉樂善,歐陽星明,劉學(xué)清。微型計算機接口技術(shù)及應(yīng)用。華中理工大學(xué)出版社,2003[6]張善德。微型計算機系統(tǒng)的設(shè)計方法和接口技術(shù)。北京:人民郵電出版社,2001[7]沈美明,溫冬嬋。IBM-PC匯編語言程序設(shè)計。北京:清華大學(xué)出版社,2001[8]胡漢才。單片機原理及其接口技術(shù)。北京:清華大學(xué)出版社,2000附錄附錄1程序源代碼ORG0000H;主程序的入口地址LJMPMAIN;跳轉(zhuǎn)到主程序的開始處ORG0003H;外部中斷0的中斷程序入口地址ORG000BH;定時器0的中斷程序入口地址LJMPT0_INT;跳轉(zhuǎn)到中斷服務(wù)程序處ORG0013H;外部中斷1的中斷程序入口地址MAIN:MOVSP,#50HMOVIE,#8EH;CPU開中斷,允許T0中斷,T1中斷和外部中斷1中斷MOVTMOD,#51H;設(shè)置T1為計數(shù)方式,T0為定時方式,且都工作于模式1MOVTH1,#00H;T1計數(shù)器清零MOVTL1,#00HSETBTR1;啟動T1計時器SETBEX1;允許INT1中斷SETBIT1;選擇邊沿觸發(fā)方式MOVDPTR,#0003HMOVA,#80H;給8255賦初值,8255工作于方式0MOVX@DPTR,AAGAIN:JBP3.1,N0;判斷是否要設(shè)定東西方向紅綠燈時間的初值,若P3.1為1則跳轉(zhuǎn)MOVA,P1JBP1.7,RED;判斷P1.7是否為1,若為1則設(shè)定紅燈時間,否則設(shè)定綠燈時間MOVR0,#00H;R0清零MOVR0,A;存入東西方向綠燈初始時間MOVR3,ALCALLDISP1LCALLDELAYAJMPAGAINRED:MOVA,P1ANLA,#7FH;P1.7置0MOVR7,#00H;R7清零MOVR7,A;存入東西方向紅燈初始時間MOVR3,ALCALLDISP1LCALLDELAYAJMPAGAIN;N0:SETBTR0;啟動T0計時器MOV76H,R7;紅燈時間存入76HN00:MOVA,76H;東西方向禁止,南北方向通行MOVR3,AMOVDPTR,#0000H;置8255A口,東西方向紅燈亮,南北方向綠燈亮MOVA,#0DDHMOVX@DPTR,AN01:JBP2.0,B0N02:SETBP3.0CJNER3,#00H,N01;比較R3中的值是否為0,不為0轉(zhuǎn)到當(dāng)前指令處執(zhí)行;黃燈閃爍5秒程序N1:SETBP3.0MOVR3,#05HMOVDPTR,#0000H;置8255A口,東西,南北方向黃燈亮MOVA,#0D4HMOVX@DPTR,AN11:MOVR4,#00HN12:CJNER4,#7DH,$;黃燈持續(xù)亮0.5秒N13:MOVDPTR,#0000H;置8255A口,南北方向黃燈滅MOVA,#0DDHMOVX@DPTR,AN14:MOVR4,#00HCJNER4,#7DH,$;黃燈持續(xù)滅0.5秒CJNER3,#00H,N1;閃爍時間達(dá)5秒則退出;N2:MOVR7,#00HMOVA,R0;東西通行,南北禁止MOVR3,AMOVDPTR,#0000H;置8255A口,東西方向綠燈亮,南北方向紅燈亮MOVA,#0EBHMOVX@DPTR,AN21:JBP2.0,T03N22:CJNER3,#00H,N21;黃燈閃爍5秒程序N3:MOVR3,#05HMOVDPTR,#0000H;置8255A口,東西,南北方向黃燈亮MOVA,#0E2HMOVX@DPTR,AN31:MOVR4,#00HCJNER4,#7DH,$;黃燈持續(xù)亮0.5秒N32:MOVDPTR,#0000H;置8255A口,南北方向黃燈滅MOVA,#0EBHMOVX@DPTR,AN33:MOVR4,#00HCJNER4,#7DH,$;黃燈持續(xù)滅0.5秒CJNER3,#00H,N3;閃爍時間達(dá)5秒則退出SJMPN00;闖紅燈報警程序B0:MOVR2,#03H;報警持續(xù)時間3秒B01:MOVA,R3JZN1;若倒計時完畢,不再報警CLRP3.0;報警CJNER2,#00H,B01;判斷3秒是否結(jié)束SJMPN02;1秒延時子程序N7:RETIT0_INT:MOVTL0,#9AH;給定時器T0送定時10ms的初值MOVTH0,#0F1HINCR4INCR5CJNER5,#0FAH,T01;判斷延時是否夠一秒,不夠則調(diào)用顯示子程序MOVR5,#00H;R5清零DECR3;倒計時初值減一DECR2;報警初值減一T01:ACALLDISP;調(diào)用顯示子程序RETI;中斷返回;顯示子程序DISP:JNBP2.4,T02DISP1:MOVB,#0AHMOVA,R3;R3中值二轉(zhuǎn)十顯示轉(zhuǎn)換DIVABMOV79H,AMOV7AH,BDIS:MOVA,79H;顯示十位MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0002HMOVX@DPTR,AMOVDPTR,#0001HMOVA,#0F7HMOVX@DPTR,ALCALLDELAYDS2:MOVA,7AH;顯示個位MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0002HMOVX@DPTR,AMOVDPTR,#0001HMOVA,#0FBHMOVX@DPTR,ARET;東西方向車流量檢測程序T03:MOVA,R3SUBBA,#00H;若綠燈倒計時完畢,不再檢測車流量JZN3JBP2.0,T03INCR7CJNER7,#64H,E1MOVR7,#00H;中斷到100次則清零E1:SJMPN22;東西方向車流量顯示程序T02:MOVB,#0AHMOVA,R7;R7中值二轉(zhuǎn)十顯示轉(zhuǎn)換DIVABMOV79H,AMOV7AH,BDIS3:MOVA,79H;顯示十位MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0002HMOVX@DPTR,AMOVDPTR,#0001HMOVA,#0F7HMOVX@DPTR,ALCALLDELAYDS4:MOVA,7AH;顯示個位MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0002HMOVX@DPTR,AMOVDPTR,#0001HMOVA,#0FBHMOVX@DPTR,ALJMPN7;延時4MS子程序DELAY:MOVR1,#0AHLOOP:MOVR6,#64HNOPLOOP1:DJNZR6,LOOP1DJNZR1,LOOPRET;字符表TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND附錄2交通燈硬件線路圖基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究目錄1緒論 12單片機的發(fā)展及

溫馨提示

  • 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

提交評論