交通燈單片機程序設(shè)計_第1頁
交通燈單片機程序設(shè)計_第2頁
交通燈單片機程序設(shè)計_第3頁
交通燈單片機程序設(shè)計_第4頁
交通燈單片機程序設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-z.學(xué)校代碼:學(xué)號:20103550職業(yè)技術(shù)學(xué)院畢業(yè)論文〔設(shè)計〕論文題目:交通燈單片機程序設(shè)計學(xué)科專業(yè):機電一體化____波______________指導(dǎo)教師:______靜__________________完成時間:2013.5.1-z.選題背景由于我國經(jīng)濟的快速開展從而導(dǎo)致了汽車數(shù)量的猛增,大中型城市的城市交通,正面臨著嚴(yán)峻的考驗,從而導(dǎo)致交通問題日益嚴(yán)重,其主要表現(xiàn)如下:交通事故頻發(fā),對人類生命平安造成極大威脅;交通擁堵嚴(yán)重,導(dǎo)致出行時間增加,能源消耗加大;空氣污染和噪聲污染程度日益加深等。日常的交通堵塞成為人們司空見慣而又不得不忍受的問題。在這種背景下,結(jié)合我國城市道路交通的實際情況,開發(fā)出真正適合我們自身特點的智能信號燈控制系統(tǒng)已經(jīng)成為當(dāng)前的主要任務(wù)。對穿插口實行科學(xué)的管理與控制是交通控制工程的重要研究課題,是保障穿插口的交通平安和充分發(fā)揮穿插口的通行能力的重要措施,是解決城市交通問題的有效途徑。所以,改變和完善我國現(xiàn)有的交通系統(tǒng)已成為當(dāng)務(wù)之急。交通燈信號燈的出現(xiàn)是人類歷史上的一次重大改革,使人類的聚居生活,產(chǎn)生了深遠的影響。使交通得以有效管制,對于疏導(dǎo)交通流量,提高道路通行能力,減少交通事故有明顯效果。如何采用適宜的控制方法,最大限度利用好消耗巨資修建的城市高速道路,緩解主干道與匝道、城區(qū)同周邊地區(qū)的交通擁堵狀況,越來越成為交通運輸管理和城市規(guī)劃部門亟待解決的主要問題。隨著電子技術(shù)的開展,利用單片機技術(shù)對交通燈進展智能化管理,已成為目前廣泛采用的方法畢業(yè)論文進度安排:查找資料、選定參考方案確定方案、系統(tǒng)硬件和軟件電路的設(shè)計、檢查調(diào)試仿真、完成設(shè)計報告指導(dǎo)教師意見:指導(dǎo)教師簽名:年月日畢業(yè)論文〔設(shè)計〕寫作提綱一、論文題目交通燈單片機程序設(shè)計二、論題觀點來源:單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能〔可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路〕集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領(lǐng)域的廣泛應(yīng)用。從上世紀(jì)80年代,由當(dāng)時的4位、8位單片機,開展到現(xiàn)在的32位300M的高速單片機三、根本觀點:采用51單片機作為系統(tǒng)的MCU,根本完成控制兩組交通指示燈交替亮四、論文構(gòu)造:論文題目中文摘要前言2交通管理方案論證2.1設(shè)計任務(wù)2.2方案介紹3交通燈系統(tǒng)硬件設(shè)計3.1硬件設(shè)計4交通燈軟件設(shè)計4.1程序設(shè)計流程圖4.2延時的設(shè)定4.2.1計數(shù)器初值計算4.2.2相應(yīng)程序代碼4.3程序的主控制循環(huán)調(diào)用4.4對現(xiàn)有程序的擴大5實驗平臺5.1實驗平臺5.2實驗步驟5.2.1編寫程序代碼5.2.1編寫程序代碼5.2.2按照系統(tǒng)硬件連線圖連接好系統(tǒng)并調(diào)試結(jié)論參考文獻畢業(yè)論文〔設(shè)計〕工作中期檢查表系別:自動化控制系班級:機電〔2〕班學(xué)生波**20103550指導(dǎo)教師靜職稱講師論文〔設(shè)計〕題目交通燈單片機程序設(shè)計選題是否有變化否如有,請?zhí)顚懺蚴欠褚蝗艘活}是是否進展了選題背景、及寫作提綱是是否進展了文獻調(diào)研是本論文擬解決的關(guān)鍵問題教師填寫局部論文〔設(shè)計〕進度情況:提前完成正常進展延期滯后〔請寫出原因〕工作態(tài)度情況〔學(xué)生對畢業(yè)論文〔設(shè)計〕的認(rèn)真程度、完成指導(dǎo)教師布置任務(wù)情況〕:認(rèn)真較認(rèn)真一般不認(rèn)真中期質(zhì)量評價〔學(xué)生已完成局部的工作質(zhì)量情況〕:好中差存在的問題與建議:指導(dǎo)教師〔簽名〕:年月日系畢業(yè)論文〔設(shè)計〕工作領(lǐng)導(dǎo)小組意見〔如被查學(xué)生為差的,請系畢業(yè)論文〈設(shè)計〉領(lǐng)導(dǎo)小組寫出處理意見〕:領(lǐng)導(dǎo)小組組長〔簽名〕:年月日-z.目錄論文題目1中文摘要1前言22交通管理方案論證32.1設(shè)計任務(wù)32.2方案介紹33交通燈系統(tǒng)硬件設(shè)計63.1硬件設(shè)計64交通燈軟件設(shè)計94.1程序設(shè)計流程圖94.2延時的設(shè)定114.2.1計數(shù)器初值計算114.2.2相應(yīng)程序代碼114.3程序的主控制循環(huán)調(diào)用134.4對現(xiàn)有程序的擴大135實驗平臺145.1實驗平臺145.2實驗步驟155.2.1編寫程序代碼155.2.2按照系統(tǒng)硬件連線圖連接好系統(tǒng)并調(diào)試15結(jié)論17參考文獻18-z.論文題目中文摘要近年來隨著科技的飛速開展,一個以微電子技術(shù)、計算機技術(shù)和通信技術(shù)為先導(dǎo)的信息革命正在蓬勃開展。計算機技術(shù)作為三者之一,怎樣與實際應(yīng)用更有效的結(jié)合并發(fā)揮其作用。單片機作為計算機技術(shù)的一個分支,正在不斷的應(yīng)用到實際生活中,同時帶動傳統(tǒng)控制檢測的更新。在實時檢測和自動控制的應(yīng)用系統(tǒng)中,單片機往往是作為一個核心部件使用,針對具體應(yīng)用對象的特點,配以其它器件來加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。則靠什么來實現(xiàn)交通的井然秩序呢?靠的是交通信號燈的自動指揮系統(tǒng),來實現(xiàn)交通的井然有序。交通信號燈控制方式很多。本系統(tǒng)采用美國ATMEL公司生產(chǎn)的單片機AT89S51,以及其它芯片來設(shè)計交通燈控制。實現(xiàn)了通過AT89S51芯片的P1口設(shè)置紅、綠燈點亮的功能,通過AT89S51芯片的R*D、T*D輸入、輸出設(shè)置顯示時間。交通燈的點亮采用發(fā)光二極管實現(xiàn),時間的顯示采用七段數(shù)碼管實現(xiàn)。單片機系統(tǒng)采用的直流供電。為了系統(tǒng)穩(wěn)定可靠,系統(tǒng)集成了“看門狗〞芯片,防止了系統(tǒng)因為死機而停頓工作的情況發(fā)生。系統(tǒng)實用性強、操作簡單、擴展性好。關(guān)鍵詞:單片機、MC-51、交通燈、紅綠燈前言今天,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了?!?858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩塊以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停頓〞,綠色表示“注意〞。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。〞“1914年,電氣啟動的紅綠燈出現(xiàn)在美國。這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號大街的一座高塔上。紅燈亮表示“停頓〞,綠燈亮表示“通行〞。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,當(dāng)車輛接近時,紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下喇叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能發(fā)覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國?道路交通和道路標(biāo)志信號協(xié)定?對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志制止*一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在穿插路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能平安停車時可以進入穿插路口。隨著經(jīng)濟的開展,交通運輸中出現(xiàn)了一些傳統(tǒng)方法難以解決的問題。道路擁擠現(xiàn)象日趨嚴(yán)重,造成的經(jīng)濟損失越來越大,并一直保持大比例的增長。現(xiàn)在交通系統(tǒng)已不能滿足經(jīng)濟開展的需求。由于生活水平的提高,人們對交通運輸?shù)钠桨残约靶谒教岢隽烁叩囊?。在交通中管理引入單片機交通燈控制代替交管人員在穿插路口效勞,有助于提高交通運輸?shù)钠桨残?、提高交通管理的效勞質(zhì)量。并在一定程度上盡可能的降低由道路擁擠造成的經(jīng)濟損失,同時也減小了工作人員的勞動強度。中國車輛數(shù)量不斷增加,交通控制在未來的交通管理中起著越來越重要的作用。智能交通燈的管理比重修一條馬路無論在經(jīng)濟、交通運行速率上都有很好的效益、更加節(jié)約資源。使交管人員有更多的精力投入到管理整個城市交通控制,帶來更大的經(jīng)濟和社會效益,為創(chuàng)造美好的城市交通形象發(fā)揮更多的作用。2交通管理方案論證2.1設(shè)計任務(wù)東西〔A〕、南北〔B〕兩干道交于一個十字路口,各干道有一組紅、左轉(zhuǎn)綠、綠三個指示燈,指揮車輛和行人平安通行。紅燈亮制止通行,綠燈亮允許通行。紅燈的設(shè)計時間為40秒,綠燈及左轉(zhuǎn)綠燈各為20秒。設(shè)A道和B道的車流量一樣。2.2方案介紹把設(shè)計任務(wù)細化為四個狀態(tài),其對應(yīng)狀態(tài):如圖1A道為40秒紅燈,B道綠燈20秒A道為40秒紅燈,B道綠燈20秒A道為20秒紅燈,B道左轉(zhuǎn)20秒綠燈A道為20秒紅燈,B道左轉(zhuǎn)20秒綠燈A道為20秒綠燈,B道為40秒紅燈A道為20秒綠燈,B道為40秒紅燈A道左轉(zhuǎn)20秒綠燈,B道為20秒紅燈A道左轉(zhuǎn)20秒綠燈,B道為20秒紅燈圖1狀態(tài)轉(zhuǎn)換圖整個交通燈控制由四個狀態(tài)組成,可以用程序設(shè)計實現(xiàn),也可用時序邏輯實現(xiàn).以下方案就是分別用了這兩種方法。方案1設(shè)計思想:于每一個模塊的計數(shù)多不是一樣,這里的各模塊是以預(yù)置數(shù)和計數(shù)器計采用分模塊設(shè)計的思想,程序設(shè)計實現(xiàn)的根本思想是一個計數(shù)器,選擇一個單片機,其部為一個計數(shù),是十六進制計數(shù)器,模塊化后,通過設(shè)置或程序去除來實現(xiàn)狀態(tài)的轉(zhuǎn)換,由數(shù)共同來實現(xiàn)的,所以要考慮增加一個置數(shù)模塊,其主要功能細分為,對不同的狀態(tài)輸入要產(chǎn)生相應(yīng)狀態(tài)的下一個狀態(tài)的預(yù)置數(shù),如圖中A道和B道,分別為次干道的置數(shù)選擇和主干道的置數(shù)選擇。以主干道為例,簡述其設(shè)計思想。如前分析,已經(jīng)確定該系統(tǒng)有四個狀態(tài),而置數(shù)子模塊可定要將下一狀態(tài)的預(yù)置數(shù)準(zhǔn)備好,所以很容易得到主干道的置數(shù)表如:表1狀態(tài)主干道預(yù)置數(shù)次干道預(yù)置數(shù)004020012020〔左轉(zhuǎn)〕1020401120〔左轉(zhuǎn)〕20表1置數(shù)表由該表,就可以通過程序循環(huán)的方法設(shè)計該模塊,主要思想是通過數(shù)據(jù)判斷指令、跳轉(zhuǎn)指令實現(xiàn),由主控制器計時和中斷產(chǎn)生的四個狀態(tài)去譯碼,從而得到不同的輸出,即預(yù)置數(shù),由上分析可用一個計數(shù)器和跳轉(zhuǎn)指令去完成的預(yù)置數(shù)。而紅綠燈的顯示也是一樣,由狀態(tài)分析可以得出紅綠燈的變化表如:表2狀態(tài)主干道燈顯示次干道燈顯示00紅燈綠燈01紅燈左轉(zhuǎn)綠燈10綠燈紅燈11左轉(zhuǎn)綠燈紅燈表2紅綠燈變化表通過這表就可以用組合電路實現(xiàn)該功能了,可以用數(shù)據(jù)選擇器的思想,在本系統(tǒng)中,直接通過門電路的譯碼,接下來就是計數(shù)模塊了,其主要的功能細分為,要從預(yù)置數(shù)開場遞減計數(shù),一個狀態(tài)完畢,通過判斷,通知主控制模塊,使之進入下一模塊。還有一個必須考慮到的就是,預(yù)置數(shù)必須在下一個狀態(tài)來之前準(zhǔn)備好,而紅綠燈的狀態(tài)變化,必須和計數(shù)狀態(tài)同步,于是引起預(yù)置數(shù)變化的程序要超前于系統(tǒng)本身的狀態(tài)變化,所以,系統(tǒng)中的兩個狀態(tài)轉(zhuǎn)換時,在上一狀態(tài)完畢時設(shè)置預(yù)置數(shù),而控制紅綠燈的是隨著系統(tǒng)本身狀態(tài)的變化而變化,表達在本子電路中就是有兩組電路去判斷符合的狀態(tài)。方案2設(shè)計思想:狀態(tài)轉(zhuǎn)換表如:表3狀態(tài)主干道燈顯示次干道燈顯示00(15S)紅燈綠燈01(05S)紅燈黃燈10(15S)綠燈紅燈11(05S)黃燈紅燈表3狀態(tài)轉(zhuǎn)換表本方案分三步:〔1〕要建立三路信號燈的控制系統(tǒng),本設(shè)計采用7408芯片通過組合邏輯控制三路燈的顯示關(guān)系?!?〕建立顯示控制系統(tǒng),本設(shè)計采用74190芯片倒計時控制,每個方向用兩片相連實現(xiàn),另外用74153芯片,因為分析中設(shè)置的時間末位均為5,所以只要用一片74153對高位置位,將低位的初值預(yù)置鎖定為5,而高位則根據(jù)需要由反應(yīng)局部提供預(yù)置值?!?〕建立反應(yīng)和細節(jié)連接局部,本局部主要解決顯示和燈控的同步問題本系統(tǒng)采用倒計時系統(tǒng)減為0,如當(dāng)系統(tǒng)減為0時通過兩個D觸發(fā)器得到兩個變量,即為開頭分析中的狀態(tài),通過它的變化得到不同的邏輯關(guān)系,驅(qū)動74153控制哪組燈亮〔對應(yīng)關(guān)系如表所示〕,另外他還要同步反應(yīng)到顯示系統(tǒng)的置數(shù)環(huán)節(jié)。注意:本實驗中假設(shè)采用更復(fù)雜的四片74190控制主干道的兩組燈,再用八片74153分別對74190置數(shù)可實現(xiàn)任意數(shù)值的交通燈系統(tǒng)。另外對7408片子的控制紅燈的端口用一個與門將一端再接一個頻率一定的方波,使一邊為黃燈時,另一邊的紅燈在閃爍。方案比擬:方案1〔以下稱1〕用了模塊設(shè)計,而方案2〔以下稱2〕采用的是一般設(shè)計,相比之下1有較強的可讀性和較強的可修改性,而2則在設(shè)計上顯得較簡單,設(shè)計純樸,便于測試,它的優(yōu)勢則在于提供了一條較為便捷的解決方案。2首先將許多邏輯關(guān)系簡化到極點,而后將其一起集成用較少的芯片去完成所需功能。我們從中可以得出的是,我們最終的設(shè)計應(yīng)該盡量使用模塊化設(shè)計。對工程設(shè)計人員來說,將來的產(chǎn)品無論從修改還是升級考慮對有好處,但另外我們又需將設(shè)計簡單化,因此我覺得在設(shè)計初期盡可能的簡單化設(shè)計,而一旦設(shè)計的各項測試通過了,在有可能的條件下將設(shè)計模塊化,所以本設(shè)計以第一方案為主進展。3交通燈系統(tǒng)硬件設(shè)計3.1硬件設(shè)計本系統(tǒng)主要由單片機控制系統(tǒng)、按鍵模塊、串口通信模塊、LED顯示模塊、交通燈顯示模塊等組成,如圖4所示。其中,單片機系統(tǒng)為系統(tǒng)的主控制器,用以控制其他模塊協(xié)調(diào)工作;按鍵模塊采用外部中斷INT0的方式;串口通信模塊采用RS—485接口;LED顯示模塊用以顯示交通燈控制參數(shù);交通燈顯示模塊用以顯示各車道的通行情況。圖2系統(tǒng)硬件(1)單片機控制系統(tǒng)及根本電路本系統(tǒng)采用AT89C52芯片作為核心控制器件。它的P0、P2口用于數(shù)碼管顯示控制,P1口用于交通燈顯示控制,按鍵處理主要用中斷的方式進展,特別參加了“看門狗〞電路以保證該系統(tǒng)的穩(wěn)定性。單片機根本外圍電路如圖5所示。(2)按鍵控制模塊按鍵控制模塊由AT89C52芯片的P3口控制,電路如圖5所示。當(dāng)*個鍵按下時,產(chǎn)生的負(fù)脈沖通過編碼器74LS148的GS致使INT0中斷,單片機響應(yīng)這個中斷,并讀入74LS148的編碼信息,從而根據(jù)按下不同鍵進展相應(yīng)處理。(3)LED顯示模塊LED顯示模塊包括控制參數(shù)調(diào)整顯示模塊和穿插口倒計時顯示模塊2局部,此2局部的8位LED均采用動態(tài)顯示方式,即將所有數(shù)碼管的段碼線相應(yīng)段并聯(lián)在一起,接到P0口,用P2口的各位對各個LED進展控制,從而實現(xiàn)對LED的定時選通。(4)交通燈顯示模塊交通燈顯示模塊由單片機的P1口進展控制,用32個發(fā)光二極管模擬此穿插口的車道交通燈〔穿插口4個方向的直行綠燈、左轉(zhuǎn)綠燈、紅燈和黃燈〕,以及各路口人行道的交通燈。(5)串口通信模塊在該模塊中,采用RS—485接口完成上位機或相鄰交通燈控制系統(tǒng)與單片機的通信,從而實現(xiàn)該系統(tǒng)的控制、調(diào)試與報警。RS—485接口具有良好的抗噪聲干擾性,較長的傳輸距離和多站能力,其串行口電路圖如圖6所示。圖3串行口電路圖4單片機根本電路及按鍵控制電路4交通燈軟件設(shè)計4.1程序設(shè)計流程圖(1)程序設(shè)計總框圖:如圖4開始鍵盤事件處理開始鍵盤事件處理等待鍵盤事件初始化顯示程序處理圖5程序設(shè)計框圖(2)程序詳細流程圖:如圖開場開場設(shè)置定時器開中斷賦初值F0=1R0,R1分別送A。調(diào)用計時程序并調(diào)用延時R2=011Flag0=1跳到SECR2=021Flag1=1跳到THR,F0=1R2=03Flag1=1跳到FOUR2=04標(biāo)志位清0,跳到FIRR0=00R2加1,跳到DIAOYR1,R0分別送A。調(diào)用計時程序并調(diào)用延時R1,R0分別送A。調(diào)用計時程序并調(diào)用延時圖6程序詳細流程圖流程圖說明:圖中定時器在每50ms中斷一下,設(shè)置為循環(huán)20次〔此時為1秒〕,每1秒以后,R0,R1自動減1。程序中的判斷在相等情況下從右邊出,不一樣的情況往下4.2延時的設(shè)定延時方法可以有兩種一種是利用AT89C51部定時器的溢出中斷來確定1秒的時間,另一種是采用軟件延時的方法。4.2.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為28;算法公式:T=〔M-TC〕T計數(shù)或TC=M-T/T計數(shù)T計數(shù)是單片機時鐘周期TCLK的12倍;TC為定時初值如單片機的主脈沖頻率為TCLK12MHZ,經(jīng)過12分頻方式0TMA*=213×1微秒=8.192毫秒方式1TMA*=216×1微秒=65.536毫秒顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的方法才能解決這個問題.實現(xiàn)1秒的方法:我們采用在主程序中設(shè)定一個初值為20的軟件計數(shù)器和使T1定時50毫秒。這樣每當(dāng)T1到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進入他的中斷效勞子程序。在中斷效勞子程序中,CPU先使軟件計數(shù)器減1,然后判斷它是否為零。為0表示1秒已到可以返回到輸出時間顯示程序。4.2.2相應(yīng)程序代碼〔1〕定時器的設(shè)置定時器需定時50毫秒,故T1工作于方式1。初值計算:TC=M-T/T計數(shù)=216-50ms/1us=15536=3CBOHSTART:MOVTMOD,#10H;令TO為定時器方式1MOVTH0,#3CH;裝入定時器初值MOVTL0,#0BOHSETBEA;翻開總中斷SETBET1;開T1中斷SETBER;啟動T1計數(shù)器CLRFLAG1CLRFLAG2CLRFLAG3MOVR3,#20H;軟件計數(shù)器賦初值〔2〕相應(yīng)中斷效勞子程序ORG001BHLJMPDSDORG0030HDSD:INCR3MOVTH0,#3CH;重裝入定時器初值MOVTL0,#BOHCJNER3,#20,F(xiàn)HDECR0DECR1MOVR3,#00HFH:RETI程序的軟件延時:AT89C52的工作頻率為0—33MHZ,我們選用的AT89C52單片機的工作頻率為12MHZ。機器周期與主頻有關(guān),機器周期是主頻的12倍,所以一個機器周期的時間為12*〔1/12M〕=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。具體的延時程序分析:DELAY:MOVR4,#08H延時1秒主程序DE2:LCALLDELAY1DJNZR4,DE2RETDELAY1:MOVR4,#00H;延時125us子程序D1:MOVR5,#00HD2:DJNER5,DL2DJNER4,D1RETDELAY1為一個雙重循壞循環(huán)次數(shù)為256*256=65536所以延時時間=65536*2=131072us約為125usDELAYR4設(shè)置的初值為8主延時程序循環(huán)8次,所以125us*8=1秒由于單片機的運行速度很快其他的指令執(zhí)行時間可以忽略不計。4.3程序的主控制循環(huán)調(diào)用用來實現(xiàn)四個狀態(tài)之間的轉(zhuǎn)換,代碼如下:DIAOY: ;循環(huán)控制子程序CJNER2,#01H,AA ;判斷不相等剛跳轉(zhuǎn) FLAG1,AA ;FLAG1為1則跳轉(zhuǎn) LJMPSEC;跳轉(zhuǎn)到SECAA: CJNER2,#02H,AAA FLAG2,AAA SETBF0 LJMPTHRAAA: CJNER2,#03H,BB FLAG3,BB LJMPFOUBB: CJNER2,#04H,BBB ;判斷不相等則跳轉(zhuǎn) CLRF0 ;F0位清0 CLRFLAG1 CLRFLAG2 CLRFLAG3 LJMPFIRBBB: CJNER0,#00H,SGL INCR2 ;R2加1 LJMPDIAOY4.4對現(xiàn)有程序的擴大當(dāng)由于緊急需要對道路進展長時間通行時,就要保持該道路更長時間的通行。下面以東西方向為例進展緊急通行為例。緊急通行是平常通行的特例,只要將相應(yīng)的代碼去掉就可以實現(xiàn)延長本車道的通行時間。設(shè)置通行時間為20秒。核心代碼如下:FIR: MOVP1,#00H SETBP1.0 CLRP1.1 CLRP1.2 CLRP1.3 MOVR0,#20 MOVR1,#20SGL: ;與原程序類同………… CJNER0,#00H,SGLLJMPFIR要實現(xiàn)東西方向的左轉(zhuǎn)通行時,只需要修改FIR中的代碼就可以了。時間顯示只要修改R0和R1就可以了。要實現(xiàn)南北方及左轉(zhuǎn),只要把SGL換成SGL1、把FIR中代碼進展相應(yīng)的修改就可以了。由于時間緊,程序有不完善的地方。原程序見程序?qū)崿F(xiàn)代碼。5實驗平臺5.1實驗平臺我們采用的是KeilSoftware生產(chǎn)的C52編譯器。運行在Windows*P操作平臺下。開啟計算機進入KeilC52編譯器介面。如圖6圖7KeilC52編譯器介面5.2實驗步驟通過上述仿真實現(xiàn)了預(yù)定的設(shè)計目標(biāo),證明了設(shè)計的方案可行合理.通過對AT89S51專用底座的焊接、時鐘電路的焊接、復(fù)位電路的焊接、數(shù)碼管和信號燈的焊接、電源電路的焊接,最后完成了本文設(shè)計的交通燈系統(tǒng)硬件實物如圖7所示:通電進展調(diào)試后證明該硬件系統(tǒng)實現(xiàn)了綠燈顯示功能、時間倒計時顯示功能、左轉(zhuǎn)提示和緊急情況發(fā)生時手動控制等功能。圖8交通燈系統(tǒng)實物圖5.2.1編寫程序代碼程序代碼分為3個模塊:中斷模塊,循環(huán)模塊,算法模塊。〔見程序?qū)崿F(xiàn)代碼〕5.2.2按照系統(tǒng)硬件連線圖連接好系統(tǒng)并調(diào)試1.調(diào)試程序=1\*GB2⑴翻開Keil軟件,新建工程;=2\*GB2⑵選擇芯片;=3\*GB2⑶新建文檔,把編寫好代碼寫入文檔并保存了ASM文件;=4\*GB2⑷把保存的文檔加載到SourceGroup;=5\*GB2⑸編譯程序;=6\*GB2⑹設(shè)置轉(zhuǎn)換成16進制;=7\*GB2⑺運行程序的結(jié)果;2.把編譯好的16進制文件(jtd.he*)輸入單片機AT89C52仿真器和對其進展初始化。3.給實驗板進展通電,觀察運行結(jié)果,不一致則跳到第一步進展反復(fù)調(diào)試,直到與預(yù)定目的一致。以下是在程序調(diào)試過程中出現(xiàn)在情況:通電以后,把程序裝好,數(shù)碼管是的數(shù)字不變,按復(fù)位鍵后重新開場還是如此。經(jīng)過和同組人的共同分析后,發(fā)現(xiàn)是中斷系統(tǒng)在計時到了1秒以后,賦的初值R0,R1沒有減1,修改如下:DSD: INCR3 MOVTH1,#3CH MOVTL1,#0B0H CJNER3,#20,FH ;判斷是否夠1秒 DECR0 DECR1 MOVR3,#00H ;R3清0FH: RETI ;中斷返回通電以后,東西、南北方向的時間均遞減,20秒以后,東西方向的20秒用完,變成東西左轉(zhuǎn)、南北各20秒,此后,時間顯示和紅綠燈不再變化,一直保持這一狀態(tài)。經(jīng)過教師和同組人的共同努力,終于找到原因,問題出在循環(huán)控制過程中,當(dāng)經(jīng)過第一次20秒判斷后,存放器R2加1,當(dāng)再次運行到循環(huán)控制處時,判斷R2與#01H一樣,程序跳到SEC處執(zhí)行,此后一直如此。解決方法如下:設(shè)置3個標(biāo)記位: FLAG1BIT00H ;標(biāo)記00H位 FLAG2BIT01H FLAG3BIT02H在循環(huán)控制中參加判斷如:DIAOY: CJNER2,#01H,AA ;判斷不相等剛跳轉(zhuǎn) FLAG1,AA ;FLAG1為1則跳轉(zhuǎn) LJMPSEC;跳到SEC在跳到SEC后,在運行到該程序后加給FLAG1置數(shù),程序如下:SEC: CLRP1.0 SETBP1.1 CLRP1.2 CLRP1.3 MOVR0,#20 MOVR1,#20 SETBFLAG1 LJMPSGL其它幾局部與之一樣的處理。結(jié)論本系統(tǒng)就是利用了AT89C52芯片的I/O引腳。系統(tǒng)采用美國ATMEL公司生產(chǎn)的單片機AT89C52,以及其它芯片〔如:74HC164、7

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論