課程設(shè)計---基于單片機(jī)的多模式交通燈設(shè)計_第1頁
已閱讀1頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課 程 設(shè) 計</b></p><p>  課程名稱 單片機(jī)原理與接口技術(shù) </p><p>  題目名稱 基于單片機(jī)的多模式交通燈設(shè)計</p><p>  學(xué)生學(xué)院 信息工程學(xué)院 </p><p>  專業(yè)班級

2、 </p><p>  學(xué) 號 </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)教師 </p><p>  聯(lián)系方式

3、</p><p>  2011 年 06 月 24 日</p><p>  基于單片機(jī)的多模式交通燈設(shè)計</p><p>  摘要:十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本設(shè)計是關(guān)于單片機(jī)控制的交通燈模擬系統(tǒng)的設(shè)計。該設(shè)計中用光二極管來模擬信號燈,緊急

4、停止請求信號由外部中斷技術(shù)來模擬。要求使AT89C52定時/計數(shù)器0作為定時器,要求對通行時間進(jìn)行倒計時,從P0口輸出,在數(shù)碼管上顯示并進(jìn)行遞減,以此來實現(xiàn)十字路口交通燈的指示功能。</p><p>  關(guān)鍵字 單片機(jī) 交通燈系統(tǒng) LED顯示 夜間模式 緊急停止 模式切換</p><p><b>  1 概述</b></p>

5、<p>  1.1 設(shè)計的意義</p><p>  由于我國經(jīng)濟(jì)的快速發(fā)展從而導(dǎo)致了汽車數(shù)量的猛增,大中型城市的城市交通,正面臨著嚴(yán)峻的考驗,從而導(dǎo)致交通問題日益嚴(yán)重,其主要表現(xiàn)如下:交通事故頻發(fā),對人類生命安全造成極大威脅;交通擁堵嚴(yán)重,導(dǎo)致出行時間增加,能源消耗加大;空氣污染和噪聲污染程度日益加深等。日常的交通堵塞成為人們司空見慣而又不得不忍受的問題。</p><p>

6、  交通發(fā)展標(biāo)志著城市的發(fā)達(dá),相對交通的管理則顯得越來越重要。交通燈是城市交通中的重要指揮系統(tǒng),它與人們?nèi)粘I蠲芮邢嚓P(guān).隨著人們生活水平的提高,對交通管制也提出了更高的要求,因此提供一個可靠、安全、便捷的多功能交通燈控制系統(tǒng)有著現(xiàn)實的必要性。在這種背景下,結(jié)合我國城市道路交通的實際情況,開發(fā)出真正適合我們自身特點(diǎn)的智能信號燈控制系統(tǒng)已經(jīng)成為當(dāng)前的主要任務(wù)。</p><p>  單片機(jī)自問世以來,性能不斷提高和完

7、善,其資源又能滿足很多場合的應(yīng)用,加之單片機(jī)具有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、性能可靠、價格低廉,其易于產(chǎn)品化、抗干擾能力強(qiáng)、可在各種惡劣環(huán)境下可靠的工作等特點(diǎn)。特別是它強(qiáng)大的面向控制能力,使它在工業(yè)控制領(lǐng)域,智能儀表、外設(shè)控制、家用電器、機(jī)器人、軍事裝置等方面得到了廣泛的應(yīng)用。</p><p>  考慮到單片機(jī)具有物美價廉、功能強(qiáng)、使用方便靈活、可靠性高等特點(diǎn),擬采用MCS - 51系列的

8、單片機(jī)來實現(xiàn)十字路口交通信號燈的控制。 正常情況下,十字路口的紅綠燈應(yīng)交替變換;考慮緊急情況下,如發(fā)生交通意外或交通維修時,可以通過按鍵來使交通停止。</p><p>  通過此次單片機(jī)的課程設(shè)計,我們可以進(jìn)一步認(rèn)識單片機(jī)在控制系統(tǒng)中的重要性。在完成理論學(xué)習(xí)和必要的實驗后,學(xué)生掌握了單片機(jī)的基本原理和各種基本功能的應(yīng)用,但對單片機(jī)的硬件實際應(yīng)用設(shè)計和單片機(jī)完整的用戶程序設(shè)計還不清楚,實際動手能力不夠,因此對該課程

9、進(jìn)行一次課程設(shè)計是有必要的。</p><p>  這次單片機(jī)的課程設(shè)計既讓學(xué)生鞏固了課本學(xué)到的理論,還讓學(xué)生學(xué)習(xí)了單片機(jī)硬件電路設(shè)計和用戶程序設(shè)計的整個過程,同時學(xué)習(xí)了查閱資料、參考資料的方法。單片機(jī)的課程設(shè)計主要是通過學(xué)生獨(dú)立設(shè)計方案并自己動手用計算機(jī)電路設(shè)計軟件,編寫和調(diào)試用戶程序,來加深對單片機(jī)的認(rèn)識,充分發(fā)揮學(xué)生的個體創(chuàng)新能力。</p><p>  1.2 單片機(jī)課程設(shè)計任務(wù)&l

10、t;/p><p>  課程設(shè)計題目: 單片機(jī)應(yīng)用系統(tǒng)設(shè)計</p><p><b>  基于單片機(jī)的——</b></p><p><b>  題目自擬</b></p><p><b>  總體要求:</b></p><p>  本課程設(shè)計的題目機(jī)設(shè)計

11、內(nèi)容自選,學(xué)生可以根據(jù)平時的觀察、了解單片機(jī)實際的應(yīng)用系統(tǒng),弄清其結(jié)構(gòu)和功能,結(jié)合單片機(jī)課程及其他相關(guān)課程的知識,充分發(fā)揮自身的想象力和創(chuàng)造力,自行選定設(shè)計項目,但總體應(yīng)達(dá)到以下要求:</p><p>  用89S51CPU,12M時鐘,常規(guī)的上電和手動復(fù)位電路</p><p>  包括3個以上的獨(dú)立式按鍵</p><p>  至少2位LED數(shù)碼顯示器及其接口<

12、;/p><p><b>  一路蜂鳴器輸出</b></p><p>  至少有2路輸入信號,可以是模擬量或數(shù)字量</p><p><b>  課程設(shè)計具體要求:</b></p><p>  選定好設(shè)計項目后,課程設(shè)計應(yīng)達(dá)到以下要求</p><p>  編寫項目功能說明書,確定應(yīng)用

13、系統(tǒng)的功能和具體參數(shù)</p><p><b>  設(shè)計電路原理圖</b></p><p><b>  制作硬件</b></p><p><b>  設(shè)計和調(diào)試程序</b></p><p><b>  課程設(shè)計報告</b></p><p&

14、gt;  課程設(shè)計報告內(nèi)容及要求</p><p><b>  課程設(shè)計任務(wù)書</b></p><p><b>  設(shè)計項目簡介</b></p><p><b>  電路原理圖</b></p><p><b>  系統(tǒng)功能描述</b></p>

15、<p><b>  程序框圖</b></p><p><b>  程序清單</b></p><p><b>  收獲與體會</b></p><p><b>  驗收及評分標(biāo)準(zhǔn)</b></p><p><b>  硬件制作20%</

16、b></p><p>  課程設(shè)計報告 60%</p><p>  功能展示及答辯 20%</p><p><b>  六:參考題目:</b></p><p>  基于單片機(jī)的智能電風(fēng)扇控制器</p><p>  基于單片機(jī)的多功能洗衣機(jī)程序控制器</p><p> 

17、 基于單片機(jī)的多功能燈光控制器</p><p>  基于單片機(jī)的單片機(jī)多機(jī)通信系統(tǒng)</p><p>  基于單片機(jī)的智能溫度控制系統(tǒng)</p><p>  基于單片機(jī)的多功能數(shù)字電子鐘</p><p>  基于單片機(jī)的多功能防盜報警裝置</p><p><b>  2 設(shè)計方案</b></p&

18、gt;<p>  2.1 設(shè)計的思想</p><p>  交通燈在安全行車過程中起著十分重要的作用,現(xiàn)在交通燈一般設(shè)在十字路口,在醒目位置用紅、綠、黃三種顏色的指示燈, 加上一個倒計時的顯示計時器來控制行車, 對于一般情況下的安全行車、車輛分流發(fā)揮著作用, 但根據(jù)實際行車過程中出現(xiàn)的情況, 如何全面有效地利用交通燈指示交通情況,我們嘗試用單片機(jī)來控制交通燈,在軟、硬件方面采取一些改進(jìn)措施,,使交通

19、燈在控制中靈活而有效。</p><p>  硬件系統(tǒng)是指構(gòu)成單片機(jī)系統(tǒng)的實體和裝置,通常由運(yùn)算器、控制器、存儲器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機(jī)實質(zhì)上是一個硬件的芯片,在實際應(yīng)用中,通常很難直接和被控對象進(jìn)行電氣連接,必須外加各種擴(kuò)展接口電路、外部設(shè)備、被控對象等硬件和軟件,才能構(gòu)成一個單片機(jī)應(yīng)用系統(tǒng)。該交通燈擬系統(tǒng)的硬件部分主要由按鍵、顯示和運(yùn)算部分組成。按照題目的設(shè)計要求,本課題

20、需要使用LED數(shù)碼管顯示和擴(kuò)展按鍵。在該交通燈系統(tǒng)的設(shè)計中采用AT89C52單片機(jī)。</p><p>  2.2 設(shè)計滿足的基本功能</p><p>  本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、LED數(shù)碼管顯示、流水燈演示系統(tǒng)組成。最后,系統(tǒng)要求實現(xiàn)如下的交通燈的功能:</p><p>  1)南北方向(主干道)車道和東西方向(支干道)車道兩條交叉道路上的車輛交替運(yùn)行,南北方向

21、設(shè)有紅綠黃燈和轉(zhuǎn)向燈,東西方向只設(shè)有紅綠黃燈,不設(shè)轉(zhuǎn)向燈(如果有需要可以取消警報燈D6來設(shè)置)。主干道綠燈同行時間為40s,轉(zhuǎn)向燈通行時間為30s。支干道每次通行間為40s,時間可在初始化中設(shè)置修改。</p><p>  2)南北方向在綠燈轉(zhuǎn)為轉(zhuǎn)向燈時,要求黃燈先閃3s;在轉(zhuǎn)向轉(zhuǎn)為紅燈時,要求黃燈先閃5s。東西方向在綠燈轉(zhuǎn)為黃燈時,要求黃燈先閃5s。</p><p>  3)東西方向、南北

22、方向每次燈亮的時間都用顯示器進(jìn)行顯示(采用倒計時的方法)。</p><p>  4)復(fù)位按鍵S1,能在任何情況下返回初始設(shè)置</p><p>  5)發(fā)生緊急情況,如交通意外或道路施工,需要車輛禁止通行時,系統(tǒng)能通過K1按鍵指揮交通停止,南北和東西方向同時顯示紅燈,并鳴響警報、亮起警報燈,提示行人車輛。進(jìn)入緊急模式并保留當(dāng)時交通燈運(yùn)行的情況,可以通過第二次按下K1恢復(fù)原來狀態(tài)。</p

23、><p>  6)深夜路上沒有行車的路口,可以設(shè)置夜間模式,系統(tǒng)通過K2按鍵切換到黃燈不停閃爍的模式,數(shù)碼管只顯示0000,不進(jìn)行倒計時。可以通過復(fù)位鍵進(jìn)行返回。</p><p>  7)當(dāng)交通一個方向上有車而另另一個方向上無車時,系統(tǒng)能通過K3立即讓有車道放行。如果是東西通道無車而南北通道有車,按下K3能直接切換到南北綠燈;如果是南北通道無車而東西方向上有車,按下K3能直接切換到東西綠燈。&

24、lt;/p><p>  根據(jù)設(shè)計功能及要求,我們可得系統(tǒng)的原理框圖如圖所示。</p><p>  根據(jù)系統(tǒng)的原理框圖,分別分析各部分電路的元器件的功能以及選擇合適的元件。</p><p>  2.1.1 顯示部分電路設(shè)計</p><p>  該設(shè)計采用如下所示的數(shù)碼管,分別顯示東西和南北燈的剩余時間,左邊兩位為東西,右邊兩位為南北。該數(shù)碼管為共

25、陽接法(0脈沖有效),片選部分接單片機(jī)管腳的P2口和數(shù)碼段顯示部分接單片機(jī)管腳的P0口,具體的下見圖。 </p><p>  2.1.2 時鐘部分電路設(shè)計</p><p>  時鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時所必須的時鐘控制信號。其內(nèi)部電路在時鐘信號控制下,嚴(yán)格地按時序執(zhí)行指令進(jìn)行工作。在執(zhí)行指令時,CPU首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產(chǎn)生

26、一系列控制信號去完成指令所規(guī)定操作。</p><p>  本設(shè)計采用12MHz晶振和兩個33Pf電容,他們構(gòu)成一個穩(wěn)定的自激振蕩器。該電容的大小影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。為單片機(jī)提供標(biāo)準(zhǔn)時鐘。其中兩個電容起微調(diào)作用。 如圖所示:</p><p>  2.1.3 復(fù)位部分電路設(shè)計</p><p>  復(fù)位引腳RESET通過一個斯密特觸發(fā)器與

27、復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機(jī)器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。 </p><p>  復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,該設(shè)計采用的是上電直接復(fù)位。其連接圖如下圖所示:</p><p>  2.1.4 按鍵電路和流水燈電路</p><p>  鍵盤是最常用的輸入設(shè)備,

28、本設(shè)計中鍵盤數(shù)目較少,且為安裝方便,因此在本設(shè)計中采用獨(dú)立式接法,由P3.2、P3.3、P3.4口控制。獨(dú)立式實際上就是一組獨(dú)立的按鍵,這些按鍵可直接與單片機(jī)的I/O口連接,即每個按鍵獨(dú)占一條口線,這種接法簡單。</p><p>  本設(shè)計采用P1口控制二極管的發(fā)光情況,口線送低電平有效。</p><p><b>  3 軟件設(shè)計</b></p><

29、;p>  3.1 交通燈亮燈方案</p><p>  該交通信號燈控制系統(tǒng)的三種工作狀態(tài):</p><p>  狀態(tài)一:東西方向紅燈亮,南北方向綠燈亮。表示東西方向上的車輛禁止通行,南北方向B車道允許通行。最后3s的時候南北黃燈開始閃爍,表示南北方向上未過停車線的車輛停止通行,已過停車線的車輛繼續(xù)通行。</p><p>  狀態(tài)二:東西方向紅燈,南北方向轉(zhuǎn)向

30、燈亮。表示東西方向上的車輛禁止通行,南北方向B車道允許轉(zhuǎn)向。黃燈亮足規(guī)定時間間隔時,控制器發(fā)出狀態(tài)轉(zhuǎn)換信號,轉(zhuǎn)到下一工作狀態(tài)。正常情況下該狀態(tài)會持續(xù)30s,最后5s的時候南北黃燈開始閃爍。</p><p>  狀態(tài)三:東西方向綠燈亮,南北方向紅燈亮。表示東西方向允許通行,東西方向上的車輛禁止通行,正常情況下該狀態(tài)會持續(xù)40s,最后3s的時候南北黃燈開始閃爍。</p><p><b&g

31、t;  3.2按鍵功能介紹</b></p><p>  本設(shè)計中采用獨(dú)立式接法,由P3.2、P3.3、P3.4口控制。</p><p>  當(dāng)按下啟動按鈕K1并釋放后,系統(tǒng)就進(jìn)入緊急停止模式,東西和南北方向上都亮起紅燈,并亮起警報燈,鳴響警報。表示發(fā)生緊急狀況,兩邊道路都禁止通車。</p><p>  當(dāng)按下啟動按鈕K2并釋放后,系統(tǒng)就進(jìn)入夜間模式,東西

32、和南北方向上都為黃燈不停閃爍,能有效的節(jié)約能源,并依舊能起到提醒過往車輛和行人的效果。</p><p>  當(dāng)按下啟動按鈕K3并釋放后,系統(tǒng)就進(jìn)入轉(zhuǎn)換模式,當(dāng)一個方向上有車而另另一個方向上無車時,系統(tǒng)能立即讓有車道放行。如果是東西通道無車而南北通道有車,按下K3能直接切換到南北綠燈;如果是南北通道無車而東西方向上有車,按下K3能直接切換到東西綠燈。</p><p>  緊急停止模式

33、 夜間模式</p><p>  交通燈的狀態(tài)表如下:(其中0代表燈亮,1代表燈滅,0/1代表燈閃)</p><p><b>  3.3主程序流程圖</b></p><p><b>  4 課程設(shè)計心得</b></p><p>  課程設(shè)計是我們在課堂以

34、外的另一種學(xué)習(xí),它是對我們在課堂上所學(xué)的理論知識的深化。每一次的課程實訓(xùn)都會給我?guī)砗艽蟮氖斋@,這一次也不例外。</p><p>  這次課程設(shè)計使我對以前所學(xué)的理論知識有了更近一步的理解,讓我看到了書本知識在實際生活中的應(yīng)用。我和我的同學(xué)們都設(shè)計出了各種各樣的東西,如密碼鎖、電子琴、搶答器等等,原來我們身邊一些很常見的東西,它的內(nèi)部程序就是這樣的,真的讓人欣喜萬分,覺得很神奇。</p><p

35、>  在平時的理論學(xué)習(xí)中雖然我們能夠分析書中所列出的程序,說出它所能實現(xiàn)的功能,但是在實現(xiàn)實際電路時卻不如我們所想的那樣,很多元器件在受到外界干擾的情況下,在性能方面會受到很大的影響,因此就得軟硬件結(jié)合來平衡這種影響,使其能夠正常工作。</p><p>  經(jīng)過這一個月的反復(fù)琢磨與修改,從查資料,整理資料到讀程序,寫程序,改程序,調(diào)試直至現(xiàn)在出成果,一切都充滿了刻苦與艱辛,其間充滿了挫折可是同時又伴隨著歡樂

36、。令我感觸最深的就是同學(xué)們傾心的幫助,一開始我寫出來的程序怎么都運(yùn)行不了,在板上運(yùn)行時,數(shù)碼管的顯示只是一閃就消失了,讓我很費(fèi)解,我改了幾天都解決不了,我?guī)缀醵家艞壛恕:髞碇缓谜埥掏瑢W(xué),原來是我的黃燈閃爍的程序造成了一個死循環(huán),所以一運(yùn)行到那里,程序就卡住了,不能再往下運(yùn)行了,也無法調(diào)用display程序,所以沒有顯示。在同學(xué)們的幫助下,我的問題得以解決,他們的無私精神更令我感動不已!</p><p>  這次

37、課程設(shè)計不僅培養(yǎng)我們的創(chuàng)新精神和和工程實踐能力,提高我們的綜合素質(zhì),還鞏固我們在課堂上所學(xué)的知識,在實踐中學(xué)習(xí)和進(jìn)步,強(qiáng)化我們的實際動手操作能力。</p><p>  現(xiàn)在我們將要步入大四了,經(jīng)過這三年的對專業(yè)知識的學(xué)習(xí),使我們對通信工程專業(yè)有了較為全面的認(rèn)識和理解,通過這次的課程設(shè)計,我認(rèn)識到只是學(xué)習(xí)理論知識是遠(yuǎn)遠(yuǎn)不足的,我們要真正切身感受本專業(yè)的實際應(yīng)用才能真正有利于我們專業(yè)知識的學(xué)習(xí)。</p>

38、<p><b>  參考文獻(xiàn)</b></p><p>  [1] 《單片機(jī)原理與接口技術(shù)》肖金球主編,清華大學(xué)出版社出版社</p><p>  [2] 《MCS-51系列單片機(jī)原理及應(yīng)用.》張毅剛,劉杰. 哈爾濱工業(yè)大學(xué)出版社</p><p><b>  附錄一:源程序代碼</b></p><

39、;p>  ORG 0000H</p><p>  LJMP MAIN </p><p>  ORG 0003H ;外部中斷入口</p><p>  LJMP INT0</p><p>  ORG 000BH ;定時中斷入口<

40、/p><p><b>  LJMP TT0</b></p><p>  NBF EQU 00H ;南北通行標(biāo)志位</p><p>  DXF EQU 01H ;東西通行標(biāo)志位</p><p>  STOP EQU 02H ;緊急停止標(biāo)志

41、位</p><p>  ZHF EQU 03H ;立即轉(zhuǎn)換標(biāo)志位</p><p>  NIG EQU 04H ;夜間模式標(biāo)志位</p><p>  YEL EQU 05H ;夜間模式時,黃燈閃爍標(biāo)志位</p><p>  ORG 0030H</

42、p><p>  MAIN: CLR NBF</p><p><b>  CLR DXF</b></p><p>  SETB STOP</p><p><b>  CLR ZHF</b></p><p><b>  CLR NIG</b>

43、</p><p><b>  CLR YEL</b></p><p>  MOV R2,#20 ;定時器中斷20次為1s</p><p>  MOV TMOD,#01H ;初始化定時器</p><p>  MOV TL0,#0B0H</p><p>  MOV

44、 TH0,#3CH </p><p>  SETB EA ;中斷允許</p><p>  SETB ET0 ;T0中斷允許</p><p>  SETB TR0 ;T0定時器開始計數(shù)</p><p>  SETB EX0 ;外部中斷0

45、允許</p><p>  SETB IT0 ;設(shè)置外部中斷0的觸發(fā)方式,為邊沿觸發(fā)</p><p>  MOV DPTR,#TAB ;數(shù)值首地址放入DPTR中</p><p>  MOV 25H,#40 ;南北和東西通行時間初始化</p><p>  MOV 26H,#70</p

46、><p>  MOV 30H,#40 </p><p>  MOV 31H,#70</p><p>  MOV 32H,#30 ;南北左轉(zhuǎn)燈時的時間初值</p><p>  MOV 33H,#40 ;南北變成紅燈,東西變成綠燈的時間處置</p><p>  MOV

47、 P1,#0E7H ;燈的初始化</p><p>  MOV 27H,#0E7H</p><p>  LOOP: LCALL DISPLAY ;循環(huán)執(zhí)行顯示子程序</p><p>  AJMP LOOP</p><p>  ;————————延時5ms與1ms————————</p><

48、p>  DELAY5ms: MOV R1,#1</p><p>  MOV R0,#250</p><p>  DELAY1: DJNZ R0,$</p><p>  DJNZ R1,DELAY1</p><p><b>  RET</b></p><p>  DELAY1ms:

49、 MOV R1,#2</p><p>  MOV R0,#250</p><p>  DELAY2:DJNZ R0,$</p><p>  DJNZ R1,DELAY2</p><p><b>  RET</b></p><p>  ;————————數(shù)碼管顯示程序——————————&l

50、t;/p><p>  DISPLAY: </p><p>  MOV P2,#0F7H ;選中東西方向的十位數(shù)碼管(為數(shù)碼管左起第一位)</p><p>  MOV A,26H ;送入數(shù)碼管顯示</p><p>  MOV B,#10</p><p><b>  DIV A

51、B</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P0,A</p><p>  LCALL DELAY1ms</p><p>  MOV P2,#0FBH ;選中東西方向的個位數(shù)碼管(為數(shù)碼管左起第二位)</p><p><b>  MOV

52、A,B</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P0,A</p><p>  LCALL DELAY1ms</p><p>  MOV P2,#0FDH ;選中南北方向的十位數(shù)碼管(為數(shù)碼管左起第三位)</p><p>  MOV A,25H

53、 ;把顯示數(shù)據(jù)送入數(shù)碼管顯示</p><p>  MOV B,#10</p><p><b>  DIV AB</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P0,A </p><p>  LCALL DELA

54、Y1ms</p><p>  MOV P2,#0FEH ;選中南北方向的個位數(shù)碼管(為數(shù)碼管左起第四位)</p><p>  MOV A,B ;送入數(shù)碼管顯示</p><p>  MOVC A,@A+DPTR</p><p>  MOV P0,A</p><p>  LCALL D

55、ELAY1ms</p><p>  ;—————————按鍵掃描程序——————————————</p><p>  KEY_SCAN:SETB P3.3</p><p>  SETB P3.4</p><p>  JNB P3.3,KEY_K2 ;查詢第二個按鍵K2是否按下</p><p>  JNB

56、 P3.4,KEY_K3 ;查詢第三個按鍵K3是否按下</p><p>  AJMP KEY_R ;沒有鍵按下則返回</p><p>  KEY_K2:LCALL DELAY5ms </p><p>  JNB P3.3,MODE_NIGHT</p><p>  AJMP KEY_R

57、</p><p>  MODE_NIGHT:CPL NIG ;K2進(jìn)入夜間模式</p><p>  AJMP KEY_R</p><p>  KEY_K3:LCALL DELAY5ms </p><p>  JNB P3.4,MODE_SWITCH</p><p>  

58、AJMP KEY_R</p><p>  MODE_SWITCH:CPL ZHF ;K3進(jìn)入立即轉(zhuǎn)換模式</p><p><b>  KEY_R:RET</b></p><p>  ;————————定時中斷處理程序————————</p><p>  WAIT_1S: LJMP TT0_R

59、 </p><p>  TT0: PUSH ACC ;保護(hù)現(xiàn)場</p><p><b>  PUSH PSW</b></p><p>  CLR TR0 ;關(guān)定時器及中斷標(biāo)志位并重新賦值</p><p><b

60、>  CLR TF0</b></p><p>  MOV TL0,#0B0H</p><p>  MOV TH0,#3CH</p><p>  DJNZ R2,WAIT_1S ;判斷1s時間是否到達(dá)</p><p>  MOV R2,#20 ;到達(dá)

61、重新賦值</p><p>  JNB NIG,SWITCH</p><p>  ;——————夜間模式,黃燈閃爍——————</p><p>  NIGHT:MOV 25H,#0 ;倒計時置0</p><p>  MOV 26H,#0</p><p><b>  CPL

62、YEL</b></p><p>  JNB YEL,NO_LIGHT ;設(shè)置黃燈的閃爍</p><p>  MOV P1,#0DDH ;黃燈亮</p><p>  MOV 27H,#0DDH</p><p>  LJMP TT0_R</p><p>  NO_LI

63、GHT:MOV P1,#0FFH ;黃燈滅</p><p>  MOV 27H,#0FFH</p><p>  LJMP TT0_R </p><p>  ;————————立即轉(zhuǎn)換模式—————————</p><p>  SWITCH:JNB ZHF,CXD_OUT ;ZHF=1進(jìn)入該模式</

64、p><p>  JB DXF,CXD ;通過判斷標(biāo)志位,選擇切換模式</p><p>  MOV 25H,#41 ;轉(zhuǎn)換成東西綠,南北紅</p><p>  MOV 26H,#41</p><p>  MOV P1,#7EH</p><p>  MOV 27H,

65、#7EH</p><p><b>  CLR NBF</b></p><p><b>  SETB DXF</b></p><p>  AJMP CXD_OUT</p><p>  CXD:MOV 25H,#41 ;轉(zhuǎn)換成東西紅,南北綠</p><p

66、>  MOV 26H,#71</p><p>  MOV P1,#0E7H </p><p>  MOV 27H,#0E7H</p><p>  CLR DXF </p><p>  CXD_OUT:CLR ZHF ;清除標(biāo)志位</p><p>  ;——————————

67、————————————————</p><p>  POINT1:DEC 25H ;南北方向通行時間減1</p><p>  MOV A,25H </p><p>  JUDGE1: JB DXF,POINT2 ;判斷是否東西通行</p><p>  ;———南北方向上的綠燈變成轉(zhuǎn)

68、向燈,黃燈閃3s——————</p><p>  YELLOW11:CJNE A,#3,YELLOW12 ;倒數(shù)第3s,黃燈亮</p><p>  JB NBF,YELLOW12 </p><p>  MOV P1,#0C7H</p><p>  MOV 27H, #0C7H </p>

69、<p>  YELLOW12:CJNE A,#2,YELLOW13 ;倒數(shù)第2s,黃燈滅</p><p>  JB NBF,YELLOW13 </p><p>  MOV P1,#0E7H</p><p>  MOV 27H, #0E7H</p><p>  YELLOW13:CJNE A,#1,

70、YELLOW21 ;倒數(shù)最后1s,黃燈亮</p><p>  JB NBF,YELLOW21</p><p>  MOV P1,#0C7H</p><p>  MOV 27H, #0C7H</p><p>  ;————南北方向上的轉(zhuǎn)向變成紅燈,黃燈閃5s————</p><p>  YELLOW21

71、:CJNE A,#5,YELLOW22 ;倒數(shù)第5s,黃燈亮</p><p>  JNB NBF,YELLOW22 </p><p>  MOV P1,#097H</p><p>  MOV 27H, #097H </p><p>  YELLOW22:CJNE A,#4,YELLOW23

72、;倒數(shù)第4s,黃燈滅</p><p>  JNB NBF,YELLOW23 </p><p>  MOV P1,#0B7H</p><p>  MOV 27H, #0B7H</p><p>  YELLOW23:CJNE A,#3,YELLOW24 ;倒數(shù)第3s,黃燈亮</p><p>

73、;  JNB NBF,YELLOW24</p><p>  MOV P1,#097H</p><p>  MOV 27H,#097H </p><p>  YELLOW24:CJNE A,#2,YELLOW25 ;倒數(shù)第2s,黃燈滅</p><p>  JNB NBF,YELLOW25</p>

74、<p>  MOV P1,#0B7H</p><p>  MOV 27H, #0B7H</p><p>  YELLOW25:CJNE A,#1,TestA1 ;倒數(shù)最后1s,黃燈亮</p><p>  JNB NBF,TestA1</p><p>  MOV P1,#097H</p>

75、<p>  MOV 27H, #097H</p><p>  ;————————————————————————</p><p>  TestA1:JNZ POINT2 </p><p>  CPL NBF ;如果通行時間結(jié)束則對標(biāo)志位取反</p><p>  JUDGE2:JB NBF,TURN_1

76、 ;判斷(25H)為0后該進(jìn)入的下一狀態(tài)</p><p>  MOV 25H,33H ;設(shè)置東西綠,南北紅的初始時間</p><p>  MOV P1,#7EH </p><p>  MOV 27H,#7EH </p><p>  POINT2:DEC 26H

77、 ;東西方向通行時間減一</p><p>  MOV A,26H </p><p>  ;——————東西方向上變紅燈,黃燈閃5s————— </p><p>  YELLOW31:CJNE A,#5,YELLOW32 ;倒數(shù)第5s,黃燈亮</p><p>  JNB DXF,YELLOW32&l

78、t;/p><p>  MOV P1,#07CH</p><p>  MOV 27H, #07CH</p><p>  YELLOW32:CJNE A,#4,YELLOW33 ;倒數(shù)第4s,黃燈滅</p><p>  JNB DXF,YELLOW33</p><p>  MOV P1,#07

79、EH</p><p>  MOV 27H, #07EH</p><p>  YELLOW33:CJNE A,#3,YELLOW34 ;倒數(shù)第3s,黃燈亮</p><p>  JNB DXF,YELLOW34</p><p>  MOV P1,#07CH</p><p>  MOV 27

80、H, #07CH</p><p>  YELLOW34:CJNE A,#2,YELLOW35 ;倒數(shù)第2s,黃燈滅</p><p>  JNB DXF,YELLOW35</p><p>  MOV P1,#7EH</p><p>  MOV 27H, #7EH</p><p>  YELLO

81、W35:CJNE A,#1,TESTA2 ;倒數(shù)最后1s,黃燈亮</p><p>  JNB DXF,TESTA2</p><p>  MOV P1,#7CH</p><p>  MOV 27H, #7CH</p><p>  ;—————————————————————————</p><

82、p>  TESTA2:JNZ TT0_R ;檢測東西方向時間是否結(jié)束,沒有則返回</p><p>  CPL DXF </p><p>  JUDGE3:JB DXF,TURN_2 ;判斷(26H)為0后該進(jìn)入的下一狀態(tài)</p><p>  MOV 25H,30H ;一次循環(huán)結(jié)束

83、,重新恢復(fù)初始值</p><p>  MOV 26H,31H </p><p>  MOV P1,#0E7H ;恢復(fù)初始交通燈亮的情況</p><p>  MOV 27H,#0E7H</p><p>  AJMP TT0_R</p><p>  TURN_1: MOV

84、 25H,32H ;設(shè)置南北轉(zhuǎn)向燈的初試時間</p><p>  MOV P1,#0B7H ;東西紅,南北轉(zhuǎn)向燈</p><p>  MOV 27H, #0B7H</p><p>  AJMP POINT2</p><p>  TURN_2: MOV 26H,33H ;東西方向開

85、始通行,賦值予顯示存儲單元</p><p>  TT0_R: SETB TR0</p><p>  POP PSW ;恢復(fù)現(xiàn)場</p><p><b>  POP ACC</b></p><p><b>  RETI</b></p><p&g

86、t;  ;——————————緊急停止程序————————————————</p><p>  INT0: PUSH ACC ; 保護(hù)現(xiàn)場</p><p><b>  PUSH PSW</b></p><p>  CLR IE0 </p><p>  

87、CLR TR0 </p><p>  CPL STOP ; 緊急停止標(biāo)志位取反</p><p>  JB STOP,STOP_R ; 緊急結(jié)束</p><p>  MOV P1,#73H ; 紅燈亮</p><p>  AJMP

88、 INT0_R</p><p>  STOP_R:SETB TR0 ; 恢復(fù)正常交通</p><p>  MOV A,27H</p><p>  MOV P1,A</p><p>  INT0_R: POP PSW ; 恢復(fù)現(xiàn)場</p><p><

89、b>  POP ACC</b></p><p><b>  RETI</b></p><p>  ;——————查表指令(數(shù)碼管為共陽接法)——————</p><p>  TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H ,82H,0F8H, 80H, 90H</p>&l

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論