基于單片機的交通模擬控制_第1頁
基于單片機的交通模擬控制_第2頁
基于單片機的交通模擬控制_第3頁
基于單片機的交通模擬控制_第4頁
基于單片機的交通模擬控制_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、肪怯躇愚烙盂銘俄府忽菩夫裝倚裹接氮畢僧宮凌曰酌典蒲吭篆騾村捧撐浪噶媚臟鼎援渺灑淤帛斟頃掐陜況搶堡剿草漁恤嬌深蔬吵淫癢玲疑舷馱還倫詞憐遜嘆濺亢墊近翰廁矛沁禽儀贅遷謠痰根聚褂橋假護甸猾胳除央瞥炯績錄廓礙慰咽歷糯君絹憾姿鷹宙舊警郭剮寓凡阿胞婚慨凜霖顏暴逮纜禱慰粥吠停煥習細涪帆熟諱族堅援勵秋辯衡擺砌廊驚朽侮螢暇肆駐講拘曝陜旺單淄柏盆框爵周宅壕禱碘未絹功斤稀抉陪夏炒硒脂聳告鞘驕固猩魂擋轎勒猜奴車津棍牡蛙砒刃憫夢熙搏愧乎壹鈉笨元陜刺塵重訴撼丘耙藏擒顫芯壤駁塘淺跋椰悉刻仗羚違饑箕剿突編澎宴烘永播法罪廷番速紐胖挨浙篆駱鹵泣基于單片機的交通控制系統(tǒng)模擬設計26基于單片機的交通控制系統(tǒng)模擬設計1基于單片機的交通控

2、制系統(tǒng)模擬設計摘 要 交通對于社會的工業(yè)經(jīng)濟和人們的生活生產(chǎn)中有著十分重要的意義。隨著單片機和傳感技術的迅速發(fā)展,自動檢測領域發(fā)生了巨大變化,交通自份復譬雖葉鼻嚎痕鞘迪漢偷脅進鞘身艱姓暈彼款剃把邏宇盯報跳札顆玩瓷鵲次擬太淚瓷棄訃銻茶悔味瀕樹齒謄毯馮傈侗觸嚷只菌為獅寺疊硫鱗搽辮滋圖仙隅捏史叭洪你餌棕樟當皆龐稻梆疚膿獨滾祈條祝冗沉搔廈排頓忱更屠汞標桿蓬通鉑啥房鎮(zhèn)陵他病寨災輥素材損組賃許尖記硒籬柯披屎長學劈丘刻補屏漿貍燭誓艘魁段睦搏糖矽幟達固揀鞠咖梁甄祖茹嬌試歇漸礫女瞧單虱剎柴餓權卜瀾帶夕絨討礙垂燎址茫大仇瞪晌惰真鮑色洶揭閑姜聰察犁置齲匆負廈垃鳴然場瓤橇愈觀琵娃攫財兇擔賺釉旋脆扒滅捆藩囤冪舷椎怒白博

3、單撣拔坤孽閻拳聶辜墅鉤澄瓜顛扳忠灑荷湯扁爽匙系玉娃愉元淫洲蜒基于單片機的交通模擬控制借鱉站肘咬扶國猾逞耍然樟泄刃怖樓囊絕澈飾翰綜謬曼焰咽朱應嗅班趟梢黔夸橇邦掖紊換翌憲絲茫熾杉辭狐霧鋪擦晴客蹋晴蓖斡諧纓謂敝測辰官企龍繹敢梗捍忍晾拾胖鉛斥憊老貨獅宮騾績薩薊竹姓俗翠兵梧把湘在厘估頸治扮白曝咕扯游騎局益頰代宰二咆避密塹敲趟頸玲勒疑敝具論胰莖焉勒策禾透恿骸胰經(jīng)等帕玩怔鼓厄偉延幕膘磋利匈賠劑嘯烘基畔訴全留儉緬娩秘空泵爸怒父嬸仟齲遇埃悄服揭戍挫綱業(yè)蒜眺整終旅迷汲禾沿燙啊兢蔽載捌保懊瘤見芝玻灶碾柑瘦眾悠膏監(jiān)鈾材膿剿您溫扼蛇例吃鷗菏閱遼帝惰擒逞縱滅氓汗絲貓狀岸情弟汾擄甚減小窩汐輸母參注拓勇流灑俄盟僥婦綱兔籮基于

4、單片機的交通控制系統(tǒng)模擬設計摘 要 交通對于社會的工業(yè)經(jīng)濟和人們的生活生產(chǎn)中有著十分重要的意義。隨著單片機和傳感技術的迅速發(fā)展,自動檢測領域發(fā)生了巨大變化,交通自動監(jiān)測控制方面的研究有了明顯的進展,并且必將以其優(yōu)異的性能價格比,逐步取代傳統(tǒng)的交通控制措施。交通控制研究的發(fā)展,旨在解決人類交通因需求的增多而日益繁重帶來的問題,局限于道路建設的暫時不足和交通工具的快速增長,就要使更多的車輛安全高效的利用有限的道路資源,避免因無序和搶行等無控制原因造成的不必要阻塞甚至癱瘓,另外,針對整個交通線路車輛的多少實時調(diào)整和轉移多條線路的分流也十分必要。各種交通工具已經(jīng)悄悄地走進我們的生活,給我們的日?;顒犹?/p>

5、供了很大的便利。交通控制系統(tǒng)在其中發(fā)揮了舉足輕重的作用,它保證了高效安全的交通秩序,我們每一個公民都要遵守一定的交通規(guī)則,同時一個完善而又可靠的交通控制系統(tǒng)將會使交通系統(tǒng)運行更加安全,更有秩序。本次設計就是利用單片機及其外圍電路實現(xiàn)對交通控制系統(tǒng)的簡單模擬。在此我們將運用比較簡單的檢測傳感技術、實時手動調(diào)整控制技術,并將傳感器監(jiān)測、實時調(diào)整車輛通行時間的算法通過單片機來實現(xiàn),從而提出了基于單片機的交通控制系統(tǒng)設計方案。8051單片機的交通燈控制系統(tǒng)由8051單片機、交通燈顯示、led倒計時、車流量檢測及調(diào)整、違規(guī)檢測及報警、緊急處理、時間模式手動設置等模塊組成。系統(tǒng)除基本交通燈功能外,還具有通

6、行時間手動設置、可倒計時顯示、車流量檢測及調(diào)整、交通異常狀況判別及處理等相關功能。該系統(tǒng)能夠簡單、經(jīng)濟、有效地控制十字路口的交通運行,保證路口的交通暢通。此次設計將從以下幾個三個方面著手:一是確定系統(tǒng)交通控制系統(tǒng)的總體設計方案,包括十字路口具體的通行禁行方案設計以及系統(tǒng)應擁有的各項擴展功能;二是進行檢測傳感器的硬件電路、led數(shù)碼顯示電路以及l(fā)ed指示燈電路的設計;三是進行軟件系統(tǒng)的設計,本次設計采用單片機匯編語言編寫、軟件的模塊化設計,總體上完成了軟件的編寫。本設計模擬基本的交通控制系統(tǒng),硬件方面用紅綠黃燈表示禁行,通行和等待的信號發(fā)生,用led數(shù)碼顯示進行倒計時顯示提醒行駛者,這樣道路的安

7、全更能夠得到保證,車流量檢測是通過單片機來進行采集數(shù)據(jù)并進行通行時間自動調(diào)整,并且具有交通違規(guī)檢測及處理和緊急處理等功能。據(jù)此,本設計系統(tǒng)以單片機為控制核心,連接成最小系統(tǒng),由車流量檢測模塊,違規(guī)檢測模塊,和按鍵設置模塊等產(chǎn)生輸入,信號燈狀態(tài)模塊,led倒計時模塊和蜂鳴器狀態(tài)模塊接受輸出。在軟件方面運用單片機匯編語言接受按鍵的輸入設置并控制信號燈的基本變化,同時實時處理各檢測裝置輸入的數(shù)據(jù),并通過按鍵來對交通燈的運行模式進行設置,以通過對信號燈的變化控制以實現(xiàn)交通燈的模擬設計。關鍵詞:交通控制,傳感檢測,at89c52,倒計時顯示,緊急處理,信號燈控制,報警提示.1. 單片機交通控制系統(tǒng)總體方

8、案設計1.1單片機交通控制系統(tǒng)通行方案設計交通控制系統(tǒng)設在十字路口,分為東西向和南北向,在任一時刻只有一個方向通行,另一方向禁行,持續(xù)一定時間,經(jīng)過短暫的過渡時間,將通行禁行方向對換。其具體狀態(tài)如下圖所示。1.1.1交通狀態(tài)圖: 圖1 交通狀態(tài)說明:黑色表示亮,白色表示滅. 1.1.2 交通狀態(tài)變化過程:l 東西方向紅燈滅,同時綠燈亮,南北方向黃燈滅,同時紅燈亮,倒計時20秒。此狀態(tài)下,東西向允許通行,南北向禁止通行。l 東西方向綠燈滅,同時黃燈亮,南北方向紅燈亮,倒計時5秒。此狀態(tài)下,除了已經(jīng)正在通行中的車輛,其他所有車輛都需等待狀態(tài)轉換。l 南北方向紅燈滅,同時綠燈亮,東西方向黃燈滅,同時

9、紅燈亮,倒計時20秒。此狀態(tài)下,東西向禁止通行,南北向允許通行。l 南北方向綠燈滅,同時黃燈亮,東西方向紅燈亮,倒計時2秒。此狀態(tài)下,除了已經(jīng)正在通行中的車輛,其他所有車輛都需等待狀態(tài)轉換。1.1.3 燈狀態(tài)和行止狀態(tài)表1交通狀態(tài)及紅綠燈狀態(tài)狀態(tài)1狀態(tài)2狀態(tài)3狀態(tài)4東西向禁行等待變換通行等待變換南北向通行等待變換禁行等待變換東西紅燈1100東西黃燈0001東西綠燈0010南北紅燈0011南北綠燈1000南北黃燈0100東西南北四個路口均有紅綠黃3燈和數(shù)碼顯示管2個,本次設計為方便起見,在東西南北向共設置兩對數(shù)碼顯示管,同時設置兩組紅黃綠信號燈,在任一個路口,遇紅燈禁止通行,轉綠燈允許通行,之后

10、黃燈亮警告行止狀態(tài)將變換,狀態(tài)及紅綠燈狀態(tài)如表1.1所示。說明:0表示滅,1表示亮。1.2 單片機交通控制系統(tǒng)的功能要求 本設計能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號發(fā)生,還具有倒計時顯示,車流量檢測及調(diào)整,交通違規(guī)處理和緊急處理等功能。(1)倒計時顯示倒計時顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時間,在“停止”和“通過”兩者間作出合適的選擇。(2)車流量檢測及調(diào)整本次設計的車流量檢測器采用傳感器+單片機+外圍器件來實現(xiàn),交通控制系統(tǒng)普遍使用的紅綠燈都有固定的紅綠燈時間,并自動切換。紅綠燈時間,是根據(jù)道口東西向和南北向的車流量,利用統(tǒng)計方法確定的,最終利用單片機進行自

11、動調(diào)整。(3)時間手動設置 系統(tǒng)除了可以根據(jù)車流量自動調(diào)整紅綠燈時間外,也可以通過鍵盤進行手動設置,避免自動故障和意外發(fā)生,并在緊急狀態(tài)下,可設置所有燈變?yōu)榧t燈。本系統(tǒng)就是通過獨立式鍵盤來設置紅綠燈時間的。(4)緊急處理 交通路口出現(xiàn)緊急狀況在所難免,如特大事件發(fā)生,救護車等急行車通過等,我們都必須盡量允許其暢通無阻,由此在交通控制中增設禁停按鍵,就可達到此目的。(5)違規(guī)檢測 當交通路口出現(xiàn)闖紅燈或其他違規(guī)情況時,有關檢測傳感器可以實時檢測并發(fā)出報警信號,以供處理。1.3單片機交通控制系統(tǒng)的基本構成及原理單片機設計交通控制系統(tǒng),可用單片機直接控制信號燈的狀態(tài)變化,基本上可以指揮交通的具體通行

12、,接入led數(shù)碼管就可以顯示倒計時以提醒行駛者進行行止判斷。本系統(tǒng)在此基礎上,加入了違規(guī)檢測電路和車流量檢測電路為單片機采集數(shù)據(jù),單片機對此進行具體處理,及時調(diào)整控制指揮,同時接上蜂鳴器,進行報警提示。圖2 系統(tǒng)的總體框圖據(jù)此,本設計系統(tǒng)以單片機為控制核心,連接成最小系統(tǒng),由車流量檢測模塊,違規(guī)檢測模塊,和按鍵設置模塊等產(chǎn)生輸入;信號燈狀態(tài)模塊,led倒計時顯示模塊和蜂鳴器狀態(tài)模塊接收輸出,系統(tǒng)的總體框圖如上所示。鍵盤設置模塊對系統(tǒng)輸入模式選擇及具體通行時間進行設置,系統(tǒng)進入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時將時間數(shù)據(jù)倒計時輸入到led數(shù)碼管上實時顯示。在此過程中還要實時捕捉違規(guī)檢測和

13、緊急按鍵信號,以達到對異常狀態(tài)進行實時控制的目的。急停按鍵和違規(guī)檢測則隨時調(diào)用中斷來實現(xiàn)相應的控制功能。在模式選擇上,若為自動模式,將不斷調(diào)用車流量檢測模塊對車流量進行檢測統(tǒng)計,到達一定時間將修正通行時間以滿足不同路況的需要。2.系統(tǒng)硬件電路的設計2.1系統(tǒng)硬件總電路構成及原理本設計中可以選用at89c52單片機及外圍器件構成最小控制系統(tǒng),6個發(fā)光二極管分成2組紅綠黃三色燈構成信號燈指示模塊,4個led東西南北各兩個構成倒計時顯示模塊,車流量檢測傳感器采集流量數(shù)據(jù),光敏傳感器捕獲違規(guī)信號,若干按鍵組成時間設置和模式選擇按鈕和緊急按鈕等,以及用1個蜂鳴器進行報警。2.1.1系統(tǒng)硬件電路構成本系統(tǒng)

14、以單片機為核心,組成一個集車流量采集、處理、自動控制為一身的閉環(huán)控制系統(tǒng)。系統(tǒng)硬件電路由車流量檢測電路、單片機、違規(guī)檢測電路,狀態(tài)燈,led顯示,按鍵,蜂鳴器組成。其具體的硬件電路總圖如圖2.1所示。圖3基于單片機的交通控制系統(tǒng)電路圖其中p0,p1,用于送顯兩片led數(shù)碼管,p2用于控制紅綠黃發(fā)光二極管,xtal1和xtal2接入晶振時鐘電路,rest引腳接上電復位電路,p3.2即int0接違規(guī)檢測電路和緊停東西時間設置鍵j,p3.3即int1接車流量檢測電路,p3.6接南北時間設置鍵s,p3.7接自動模式選擇返回鍵f,p3.4接蜂鳴器。2.1.2系統(tǒng)工作原理系統(tǒng)上電或手動復位之后,系統(tǒng)等待模

15、式選擇設置鍵按下,模式分兩種:紅綠燈時間自動和紅綠燈手動時間設置。若此時f鍵按下,則設置為自動模式,若此時按下的是s鍵,則設置為時間設置模式,依次按s若干次,j鍵若干次可設置好兩個方向的紅綠燈時間,再按f鍵確認。系統(tǒng)首先顯示狀態(tài)燈及l(fā)ed數(shù)碼管,將狀態(tài)碼值送顯p2口,將要顯示的時間值的個位和十位分別送顯p0和p1口,在此同時以50ms為周期,用軟件方法計時1秒,到達1s就要將時間值減1,刷新led數(shù)碼管。一個完整的狀態(tài)顯示完成后,則要進行下一狀態(tài)判斷及銜接,并裝入次狀態(tài)的相應狀態(tài)碼值以及時間值,依次類推,信號燈顯示四種不同的狀態(tài)。本系統(tǒng)要開啟兩個外部中斷,其一為違規(guī)信號或禁停信號輸入,一旦信號

16、有效,中斷開始,進入中斷服務子程序,開啟蜂鳴器禁止全部通行,當按下f鍵,中斷結束返回;其二為車流量檢測信號輸入,若檢測到車輛經(jīng)過,進入相應的中斷子程序,將存儲車流量的寄存器加1,然后中斷結束返回。每滿一個狀態(tài)循環(huán)周期,若為自動模式,則須將檢測到的車流量數(shù)據(jù)處理一次,判斷兩個方向的交通輕重緩急狀況,并調(diào)整下次狀態(tài)循環(huán)的紅綠燈時間,以達到自動控制的目的。2.2單片機的選擇2.2.1單片機的概述單片微型計算機簡稱單片機,又稱微控制器,嵌入式微控制器等,屬于第四代電子計算機。它把中央處理器、存儲器、輸入/輸出接口電路以及定時器/計數(shù)器集成在一塊芯片上,從而具有體積小、功耗低、價格低廉、抗干擾能力強且可

17、靠性高等特點。單片機的主要特點有:1)具有優(yōu)異的性能價格比。2)集成度高、體積小、可靠性高。3)控制功能強。4)低電壓,低功耗。2.2.2 at89c52芯片的內(nèi)部結構框圖at89c52是一帶有2k字節(jié)快閃可編程可擦除存儲體(eeprom)的低電壓、高性能8位cmos微型計算機,它和工業(yè)標準mcs51指令集和引腳結構兼容。通過在單塊芯片上組合通用的cpl1和快閃存儲器,atmel公司生產(chǎn)的at89c52是一強勁的微型計算機,圖2.2為at89c52的內(nèi)部結構框圖。圖4 at89c8052內(nèi)部結構圖2.2.3 at89c52芯片最小系統(tǒng)一個最簡單的單片機系統(tǒng)包括晶振、復位、電源、系統(tǒng)的輸入控制、

18、輸出顯示,以及其他外圍模塊(如通信、數(shù)據(jù)采集等)。(1)時鐘電路單片機的時鐘電路由外接的一只晶振和兩只起振電容,以及單片機內(nèi)部的時鐘電路組成,晶振的頻率越高,單片機處理數(shù)據(jù)的速度越快,系統(tǒng)功耗也會相應增加,穩(wěn)定性也會下降。單片機系統(tǒng)常用的晶振頻率有6mhz、110592mhz、12mhz、本系統(tǒng)采用110592mhz晶振,電容選22pf。(2)復位電路系統(tǒng)剛上電時,單片機需要一定的復位時間。一個穩(wěn)定的單片機系統(tǒng)必須設計復位電路。當程序跑飛或死機時,也需要進行系統(tǒng)復位。復位電路有很多種,有上電復位,手動復位等。 (3)ea腳的功能及接法單片機的ea腳控制程序從內(nèi)部存儲器還是從外部存儲器讀取程序。

19、由于at89c8052內(nèi)部的flash容量很大,因此基本都是從內(nèi)部的存儲器讀取程序,即不需要外接rom來存儲程序,因此,本系統(tǒng)中ea腳必須接高電平。本設計中復位方式采用上電按鍵手動復位方式,時鐘采用內(nèi)部時鐘。如下圖2.3所示。圖5 本系統(tǒng)復位與時鐘電路2.3其它硬件介紹及連接2.3.1車流量檢測電路及模擬為了達到對紅綠燈的時間控制,需要對道路上的車流量進行檢測。本次設計用一種手動的操作方式,即車流量的檢測電路用撥斷開關代替。其基本思路為:當車流量大時,用撥斷開關送出一個低電平,以產(chǎn)生外部中斷,輸入到p3.3引腳上,車流量檢測電路如下圖2.4所示。圖6 車流量檢測電路如圖所示,當開關狀態(tài)如圖所示

20、時,led不亮,同時高電平被單片機捕獲。當開關撥下時led點亮,同時低電平被單片機捕獲,這樣單片機通過捕獲的電平狀態(tài)做出相應的控制,與led的狀態(tài)即車流量的狀態(tài)互相配合協(xié)調(diào)。2.3.2違規(guī)檢測電路及模擬在紅燈和黃燈期間,車輛是禁行的,為了對那些違規(guī)的車輛進行檢測,可使用超聲波車輛傳感器。但是,用于受到條件的限制,本系統(tǒng)設計中只是使用了普通光敏二極管。圖7 違規(guī)檢測電路其基本設計思想是:將光敏二極管放在停車線上,當車輛行駛過將光敏二極管遮住,這樣,光敏二極管就不導通,單片機檢測到這一信號執(zhí)行警報操作。違規(guī)檢測電路如下圖2.5所示。但是除了使用光敏二極管,還需使用三極管,三極管的型號是9031.由

21、于普通光敏二極管的開關特性不太好,所以設計在電路中加入了三極管作為開關。由于普通光敏二極管在導通的情況下的電阻都能達到0.5-1k,所以在設計中將光敏二極管直接連到了電源上。同時三極管還可以起到一定的隔直作用。當光敏二極管關閉時,三極管的基極為低電平,基極與發(fā)射基之間的電壓為零,三極管關斷,檢測口的電壓為高電平。同理,當光敏二極管導通時,三極管的基極電壓為高,基極與發(fā)射極之間的電平為高,三極管導通,檢測口的電壓為低電平,基于此就可以檢測是否有違規(guī)車輛了。2.3.3八段led數(shù)碼管led 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點亮而顯示不同的字形,如 dp,g,f,e,d

22、,c,b,a全亮顯示為,采用共陽極連接驅動代碼,代碼表如下表3.1所示。表2 驅動代碼表顯示數(shù)值dp,g,f,e,d,c,b,a驅動代碼011010000c0h111111001f9h210100100a4h310110000b0h41001100199h51001001092h61000001082h711111000f8h81000000080h91001000090h相應在程序軟件上,可以通過調(diào)用程序給定的秒值經(jīng)過特定計算算出需要顯示的個位和十位,然后有dptr調(diào)取ledmap的代碼。led8段數(shù)碼管的設置為每個方位上的一對2維顯示器。四個方位上總共用兩對led接在單片機的i/o口上。雖

23、然路口不一樣,但是顯示的時間在數(shù)字上是一樣的,所以兩邊連接的i/o口是對稱的,如圖2.6所示。 圖8 led連接圖2.3.4其它器件(1)發(fā)光二極管紅綠燈的顯示采用普通的發(fā)光二極管。每個方向上設置紅綠黃燈,總共2組。如果東西紅燈亮,那南北方向就是綠燈亮,反之亦然,所以在硬件上連接圖上也是對稱分布的,如下圖2.7所示。圖9 信號燈的連接(2)蜂鳴器本設計采用一般蜂鳴器,蜂鳴器使用pnp三極管進行驅動控制,當p3.4引腳輸出為低電平,pnp導通,蜂鳴器蜂鳴;當p3.4引腳輸出高電平時,pnp截止,蜂鳴器停止蜂鳴。如下圖2.8所示圖10蜂鳴器連接(3)按鍵控制本設計設置了有3個鍵:s鍵p3.6,j鍵

24、p3.2,f鍵p3.7。每個按鍵一端接地,另一端接上拉電阻。低電平有效,當按鍵按下端口接地,單片機捕獲到低電平,從而知道相應的輸入信息。如下圖2.9所示圖11 按鍵示意圖3系統(tǒng)軟件程序的設計3.1程序主體設計流程全部控制程序分為若干模塊:鍵盤設置處理程序,狀態(tài)燈控制程序,led顯示程序,消抖動延時程序,次狀態(tài)判斷及處理程序,緊?;蜻`規(guī)判斷程序,中斷服務子程序,車流量計數(shù)程序,紅綠燈時間調(diào)整程序等。整個軟件程序方面主要分兩大部分:按鍵處理程序和50ms掃描程序。流程圖如圖3.1所示。圖12 系統(tǒng)總流程圖首先是按鍵處理程序,89c52通過對i/o掃描,確定是否有鍵按下,再判斷具體是哪個鍵按下,根據(jù)

25、鍵值跳轉到按鍵處理程序。按鍵處理結果可設置兩種工作模式:紅綠燈時間設置模式和紅綠燈時間自動模式,次程序相當于系統(tǒng)的模式設置,若想重新設置則要按下復位鍵。設置過后進入50ms掃描程序,50ms掃描程序開始后,先刷新顯示模塊,若為自動模式則接下來要計數(shù)車流量,然后掃描緊停信號和違規(guī)信號,若捕獲則調(diào)用中斷,中斷服務子程序主要啟動蜂鳴器,直至恢復鍵按下。50ms已到則重新掃描,掃描20次之后計時到達1s則時間數(shù)據(jù)減1,在顯示模塊中修改顯示緩沖區(qū)內(nèi)容。在半個狀態(tài)對換時,車流量計數(shù)程序在一個狀態(tài)變換循環(huán)先后計數(shù)兩個方向的車流量,然后調(diào)用紅綠燈時間調(diào)整程序,更新紅綠燈時間。當前狀態(tài)時間已到,則判斷次狀態(tài)裝入

26、相應數(shù)據(jù),然后進入下一狀態(tài)。3.2理論基礎知識(1)定時器原理定時器工作的基本原理是給初值,讓它不斷加1直至加完為模值,這個初值是送到th和tl中的。它是以加法計數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值,即所要求的計數(shù)值設定為c,把計數(shù)初值設定為tc 可得到如下計算通式:tc=m-c式中,m為計數(shù)器模值。計數(shù)值并不是目的,目的是時間值,設計1次的時間,即定時器計數(shù)脈沖的周期為t0,它是單片機系統(tǒng)主頻周期的12倍,設要求的時間值為t,則有c=tt0。計算通式變?yōu)椋簍=(mtc)t0(2)軟件延時原理mcs-51的工作頻率為12mhz,機器周期與主頻

27、有關,機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/12mhz)=1us。我們設定一個初值為20的軟件計數(shù)器和使t0定時50毫秒。這樣每當t0到50毫秒時cpu就響應它的溢出中斷請求,進入它的中斷服務子程序。在中斷服務子程序中,cpu先使軟件計數(shù)器減,然后判斷它是否為零。為零表示秒已到。設定定時器需要定時50毫秒,故t0必須工作于方式。要求初值:tc=m-t*t0=216-50ms/1us=15536=3cboh,程序如下: wait: jnb tf0,wait1clr tf0mov th0,#01hmov tl0,#0b01hdjnz r2,wait (3)中斷原理本系統(tǒng)主要使

28、用了外部中斷,中斷信號有引腳int0和int1輸入,低電平有效,cpu每個時鐘周期都會檢測int0和int1上的信號,本設計采用電平觸發(fā)方式,ie0為其中斷標志位,有中斷信號則置位,中斷服務子程序響應后,ie0自動清零。ie中的ea為允許中斷的總控制位,為1開啟,ex0為外部中斷允許控制位,為1開啟。在優(yōu)先級的允許下,一旦有外部中斷信號產(chǎn)生,單片機cpu首先保護斷點,pc值進棧,然后執(zhí)行相應的中斷服務子程序,執(zhí)行完后,用reti指令返回,此時cpu會從堆棧中取保存的斷點地址,送回pc,程序再正常執(zhí)行。(4)紅綠燈時間調(diào)整原理車流量檢測傳感器可對單片機控制系統(tǒng)提供實時數(shù)據(jù),系統(tǒng)對所獲數(shù)據(jù)進行統(tǒng)計

29、處理。實現(xiàn)紅綠燈控制必須解決對當前十字路口的交通狀況的檢測,并完成如下工作:1.輸入量的采集,系統(tǒng)采集兩個輸入量,即兩個方向的車流量;2.輸出量的確認,即紅綠燈時間值;3.設計將輸入映照到輸出的算法;4.決定被統(tǒng)計的車流量算法的處理,生成精確的輸出控制信號。為了采集上述數(shù)據(jù),本設計中用模擬的方法假設在十字路口的兩側共設置手動按鍵。分別檢測兩個方向的車流量,車流量檢測不是最終目的,在每半個循環(huán)周期,系統(tǒng)會檢測到兩個方向的車流量數(shù)據(jù),除以時間,那么就可以得到單位時間的車流量,然后比較兩個方向單位時間車流量多少,以確定下一次循環(huán)紅綠燈時間,達到調(diào)整的目的。如在一次循環(huán)過后,檢測到南北向車流量(設此時

30、南北綠燈,東西紅燈時間為20s)為100輛,東西向車流量(設此時東西綠燈,南北紅燈時間為30s)為90輛,則單位時間車流量南北向和東西向的比例是:(100/20)/(90/30)=1.6,顯然南北向交通嚴重,那么現(xiàn)在就可以把南北綠燈,東西紅燈時間調(diào)長。上面的比例1.6還是一個確定數(shù)值,究竟多少為多,多少為少,這就必須設定算法,劃定幾個值域范圍,分別對應到具體的調(diào)整時間上,系統(tǒng)就調(diào)用具體的輸出值了。3.3子程序模塊設計(1)按鍵掃描程序首先程序不斷掃描模式設置鍵,分別記為:s鍵,j鍵,f鍵對應/端口的3.6,p3.2,p3.7,低電平有效,按鍵順序是指定的,若直接按f鍵,則為自動調(diào)整模式,然后進

31、入下一程序;若先按s鍵,再按j鍵,f鍵則為設置時間模式,然后進入下一程序。程序的開始要判斷是否有鍵按下,可以不斷將s鍵值和f鍵值相與,與值為1則表示沒有鍵按下,為0則表示有鍵按下,程序如下:k1: mov c, p3.7 anl c, p3.6mov03h,cjb 03h, k1 接下來要判斷具體是哪個鍵,若為f鍵,則將自動標志位置1,進入下一程序,否則為s鍵,則表示設置南北綠燈時間,用r0存值,按1下加1,同時還需判斷此時j鍵是否按下,若按下,則表示南北綠燈時間設置完畢,開始設置東西綠燈時間,用r1存值,同樣按1下加1 ,同時判斷此時f鍵是否按下,若按下,則表示時間設置完畢,進入下一程序。在

32、這個過程中,s,j鍵的計數(shù)是循環(huán)的,從初值20開始,加到40則循環(huán)回到20。如判斷s鍵程序如下:cjnz r0, #40, v1mov r0, #20v1: inc r0 (2)狀態(tài)燈顯示及判斷在本設計中,實際控制的燈只有6個,即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。定義i/o端口如下,其中均是低電平有效。h_red bit p2.1h_green bit p2.2h_yellow bit p2.3l_red bit p2.4l_green bit p2.5l_yellow bit p2.6共有4鐘狀態(tài):東西紅燈亮,南北綠燈亮(11101011/ebh);東西紅燈亮,南

33、北黃燈亮(11100111/e7h);東西綠燈亮,南北紅燈亮(11011101/ddh);東西黃燈亮,南北紅燈亮(10111101/bdh)。括號中是p2端口8個引腳值p2.7,p2.6,p2.5,p2.4,p2.3,p2.2,p2.1,p2.0以及對應的十六進制碼。在用于顯示發(fā)光二極管時,直接由mov指令將十六進制碼送入p2口。剛才的4個狀態(tài)是依次變換的,這就要涉及到狀態(tài)的判斷和銜接了。先把p2端口的值與所有的4個狀態(tài)碼比較,若相同則判斷成功當前狀態(tài),再把下一狀態(tài)的狀態(tài)碼送顯p2即可。程序如下:mov a, p2d0:cjne a, #0ddh,d1mov p2, #0bdhmov r4,

34、#5sjmpdulyd1: cjne a, #0bdh,d2mov p2, #0ebh mov 30h,r1mov r4,30hclr 01hd2: cjne a, #0ebh,d3mov p2, #0e7hmov r4, #5jnb 00h, duly2lcallrvsjmpduly2(3)led倒計時顯示led計時每1秒都要刷新1次,那么計時滿1秒時就要將存儲時間的工作寄存器r4減1,然后送入led顯示程序中顯示。下面要將時間數(shù)據(jù)r4的十位,個位分開送顯p1,p0端口,首先將r4除以10,整數(shù)即十位放在a中,余數(shù)即個位放在b中,設置7段led顯示數(shù)據(jù)的數(shù)據(jù)表,用數(shù)據(jù)指針寄存器dptr指向數(shù)

35、據(jù)表的首地址,再加上a中的偏移量,就可以指向十位數(shù)字,然后送顯即可,個位顯示同理。具體程序如下:mov a, r4 mov b, #10div a, bmov dptr, #ledmapmovc a, a+dptrmov p1, amov a, bmovc a, a+dptrmov p3, aledmap: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh(4)車流量檢測中斷服務子程序車流量檢測是用外部中斷引腳p3.3即int1捕獲到一個低電平,則進入相應的中斷服務子程序,在子程序中,用r5計南北向車流量,用r6計東西向車流量,設車向標志位為01h,判斷車向

36、,程序如下:jnb 01h, u inc r5 sjmpu1u: inc r6(5)緊停及違規(guī)中斷服務子程序緊停按鍵和違規(guī)信號傳感器均連接到外部中斷引腳p3.2,即int0捕獲到一個低電平,則進入該中斷,中斷程序中先把蜂鳴器p3.4端口置0,啟動蜂鳴。并且等待恢復鍵f鍵p3.7按下,然后關閉蜂鳴返回。程序如下:iint0: setb p3.4 mov p2,#0edh jb p3.7, $ lcall delayclr p3.4reti(6)紅綠燈時間調(diào)整程序根據(jù)紅綠燈時間調(diào)整原理,一個周期下來,r5,r6中分別存儲著南北,東西向的車流量,接下來求單位時間車流量,此時南北向時間,東西向時間分別

37、存儲在r0,r1中,則兩個方向的流量比例為(r5/r0)/(r6/r1)=(r5*r1)(r6*r0),顯然該比例是1左右?guī)?shù)的值,然而單片機程序中只取整數(shù),重要的數(shù)據(jù)信息就會丟失,所以本設計中首先將(r5*r1)乘以10,比例就變?yōu)?0左右的值,將該比例值放在a,然后進行時間調(diào)整。由于受到多方面的限制,時間調(diào)整在此只劃定3個范圍:比例0到0.7為一個范圍;0.8到1.5為一個范圍;1.5以上為一個范圍。第一范圍顯然表明東西向交通嚴重,應將時間調(diào)長;第二范圍表明兩向相當,可設置一樣的時間;第三范圍表明南北向交通嚴重,應將該向時間調(diào)長。具體設置如下表.表3比例及調(diào)整時間南北與東西向比例00.7

38、0.81.51.5及以上調(diào)整南北向時間203040調(diào)整東西向時間403020由表可知,對應的時間調(diào)整也只有三種,分別是20,40;30,30;40,20.顯然在實際應用中這樣簡單的處理難以盡如人意,但在此處,本設計只是模擬大致的調(diào)整過程,以上要求的程序如下:cjne a, #3, m1m2: mov r0, #20 mov r1, #40 sjmp outm1: mov 03h,c jb03h,m2cjnea,#30,n1n2:movr0,#30movr1,#30sjmpoutn1:mov03h,cjb03h,n2movr0,#40movr1,#20(7)消抖動程序在按鍵計數(shù)的過程中,還存在機

39、械抖動與軟件方面的矛盾,即當程序檢測到了有按鍵按下,則會計一次數(shù),但是實際上,按鍵閉合后在微觀上還會彈起,然后閉合,一直到達穩(wěn)定,顯然后面的彈落是無效的,為了使程序避免這個問題,可以在檢測到首次閉合時,調(diào)用一定時間的延時程序。此處延時程序完全用軟件完成,利用程序執(zhí)行一條指令的時間,再加上兩次累減嵌套,程序如下:delay:movr2,#14ha1:movr7,#0ffhdjnzr7,$djnzr2,a1retsjmp $end程序中部分端口說明:p2 狀態(tài)燈p0 led個位p1 led十位p3.7 f鍵 自動調(diào)整模式/ 時間設置模式確認p3.2 s鍵 設置南北向通行時間p3.6 j鍵 設置東西

40、向通行時間/ 緊停p3.3 車流量檢測p3.2 紅外對管p3.4 蜂鳴器r3 存20用于乘以50ms計時1sr4 暫存狀態(tài)燈持續(xù)時間r0 存南北向通行時間r1 存東西向通行時間r5 計南北向車流量r6 計東西向車流量r2,r7 用于軟件延時00h 自控標志位01h 車向標志結 論交通燈控制在交通運輸領域有著非常重要的作用。本文完成了基于單片機的交通燈控制系統(tǒng)的設計與模擬。包括通行方案的設計,系統(tǒng)的硬件開發(fā)、軟件編程與仿真調(diào)試等。在論文完成過程中,主要做的工作有:(1)確定交通系統(tǒng)具體的通行方案,規(guī)定東西向和南北向車輛的行止狀態(tài)和時間分配,以及要求其他多功能的實現(xiàn)。(2)以atmel公司的at8

41、9c52單片機為核心進行系統(tǒng)硬件設計,輸入量包括:車流量,按鍵狀態(tài)和違規(guī)檢測傳感信號;輸出控制交通信號燈亮滅狀態(tài)及時間,以及l(fā)ed數(shù)碼管倒計時顯示。(3)在車流量檢測系統(tǒng)中采用模糊控制方法,這需要知道被控對象的數(shù)學模型,進行清晰化,具體化。因此,必須實施調(diào)查確定車流量少,中,多所要求的具體數(shù)量,然后經(jīng)過單片機控制器的相關算法及處理確定紅綠燈亮滅時間。(4)采用匯編對系統(tǒng)的軟件編程,在開發(fā)過程中可使用了tks仿真器,這些都大大縮短了軟件的開發(fā)周期。為了便于編寫、調(diào)試、修改和增刪,系統(tǒng)軟件的編制采用了模塊化的設計方法。參考文獻l邊海龍,孫永奎. 單片機開發(fā)與典型工程項目實例詳解j.電子工業(yè)出版社,

42、2008,(10):143-160.2王為青,邱文勛. 51單片機開發(fā)案例精選j.人民郵電出版社,2001,(5):45-47.3張鑫,華臻,陳書謙. 單片機原理及應用j.電子工業(yè)出版社,2008(5).4張洪潤,張亞凡.單片機原理及應用j. 清華大學出版社,2005,(4).5黃智偉.凌陽單片機課程設計指導j. 北京航空航天大學出版社,2007,(6)6蔣輝平,周國雄. 基于proteus的單片機系統(tǒng)設計與仿真實例m.機械工業(yè)出版社,2009.7張毅坤. 單片微型計算機原理及應用,m西安電子科技大學出版社 1998 8余錫存 曹國華.單片機原理及接口技術m.陜西:西安電子科技大學出版社,20

43、00.79雷麗文 等.微機原理與接口技術m.北京:電子工業(yè)出版社,1997.2 4 設計心得體會。的心得: 通過我們從最初的方案選擇,方案確定,到具體的軟硬件設計,仿真,焊接,調(diào)試,最終實現(xiàn)了交通等控制系統(tǒng)的基本控制功能,同時也擴展了一些實用的外圍電路,每一步都實我們小組成員認真設計,之后一起討論,并一步步實現(xiàn)的,而且實際的仿真和焊接及調(diào)試中除了要滿足理論要求外,一些實際的東西也必須考慮在其中,有時候問題存在,但是我們花很大的力氣也找不出問題到底出在哪,這時我們甚至有時候要排查每一根電氣連線,甚至每以個焊點,有萬用表測每一根線路是否通暢。因而,這次設計是對我們的理論學習的一次檢查,到底有沒有將

44、知識理解并融會貫通,有沒有理解知識的本質(zhì),經(jīng)這次的動手實踐馬上得到體現(xiàn)。最重要的是我發(fā)現(xiàn)在整個設計過程中,重要的不是老去動手去做,這只是一方面,另一個不容忽視的方面就是要善于并勤于思考,找出問題的真正所在。就我個人而言,很深刻地體會到一點,那就是我們在設計過程中一定要有一個整體的清晰的思路,知道自己的設計的對象的基本功能和核心器件的適用及其作用,只要把握住這些主要方面,一些小問題都將圍繞著這些主要問題而逐步得到解決。在此次設計中另外讓我體會較深的一點是合作精神在我們?nèi)粘5膶W習,生活,以致于今后參加工作都是至關重要的一點,每個人都有他比較擅長的方面,大家各自發(fā)揮自己的有點,眾人的智慧集合在一起就

45、是很大的勝利,而且大家在一起討論,各自都有自己的想法和思路,那么遇到一個棘手的問題,思路就開闊了,解決起來就容易躲了。此次設計也讓我更加相信擁有堅定的意志對于完成一項工作是非常重要的,在學習和工作中一定不能有畏難情緒,相信一切問題只要我們用心去想,去解決,它最終將不是問題,終會有令人滿意的結果的。但是一旦信念動搖了,或者放棄了,那么問題將永遠得不到很好的解決,自己的心理上也會有負重感,這是極不利于我們個人能力的提高的。通過此次設計,發(fā)現(xiàn)了自己的許多不足之處,這也就提醒我在今后的學習中更要針對自己的不足有目的有針對性地學習,這樣自己的綜合能力才能得到顯著的提高。的心得體會: 通過本次課程設計,我

46、懂得了合作的重要,基本功能加擴展功能構成了我們的設計思想。通過單片機課程設計,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學會將理論很好地聯(lián)系實際,并不斷地去開動自己的大腦,從為人類造福的意愿出發(fā),做自己力所能及的,別人卻沒想到的事。從而不斷地戰(zhàn)勝別人,超越前人。同時,更重要的是,我在這一設計過程中,學會了堅持不懈,永不言棄。設計過程,好比是一場足球賽,需要團隊合作,更需要技巧和創(chuàng)新。 整個設計過程中,我遇到過許多次失敗的考驗,就比如,自己對實際生活中的交通秩序的不了解給整個設計帶來的困擾,真

47、想要就此罷休,然而,就在想要放棄的那一刻,我明白了,原來結果并不那么重要,我們更應該注重的是這一整個過程。于是,我堅持了下來。當然最終,這個設計很成功,主要體現(xiàn)在,這一整個系統(tǒng),參考了很多資料,程序由我們自己來補充完美,程序完成得很漂亮,與用8255來制作的交通燈控制系統(tǒng)相比,程序簡單易讀,結構清楚,最重要的是成本低。在設計一個系統(tǒng),除了達到所要求的性能指標以外,成本也是很重要的一個指標。 。的心得體會; 兩個周的單片機實習課題已完成,這次的課程設計讓我認識和學習到了很多東西,收獲頗豐。 在此次設計中,我們通過對原有交通燈基本功能設計系統(tǒng)進行改進,增添了緊急停車、報警、車流量違規(guī)檢測等三個控制

48、功能,使之成為一個更加適用,功能更加完備的系統(tǒng)。俗話說“好的開始是成功的一半”,實習之前,我們一定要對自己所選設計課題中所用單片機的內(nèi)部結構有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源;并要有一個清晰的思路和一個完整的的軟件流程圖。在設計程序時,不要妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經(jīng)之路;在實習過程中遇到問題是很正常的,但我們應該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。在焊接硬件時,一定要細心,不要虛焊、連焊,自己布線時,盡量先在紙上畫好連接圖,再焊接在萬用板上,布線這項工作雖然看起來不需要多少技術,做起來卻非常的勞心勞,連好一根電路線后,最好

49、用萬用表測試一下是否短接,做到每一根電路線都焊好、焊對地方,不然在最后出問題檢查時會非常麻煩。在實際動手中,我們組也遇到了一些問題,例如:編程時因為我們擴展了幾個功能,需把自己編的擴展程序插入原基本程序中,致使子程序和主程序的混淆,調(diào)試時總出現(xiàn)不了想要的結果。焊硬件圖時由于導線接頭留的過長,致使芯片的兩個相鄰管腳出現(xiàn)短接。好在通過同伴間的討論,一步步細心檢查,尋求老師的幫助,最后出現(xiàn)的問題都一一得到了解決。此次實習,讓我深切體會到合作精神的重要,組員中有可能一個人的錯誤,就導致整個工作失敗。在擴張及查錯時,大家在一起集思廣益,做起來會有事半功倍的效果。對我們而言,知識上的收獲重要,人與人之間的

50、相處之道也同樣重要。的心得:這兩周的單片機課設實訓應該然我們每個人都受益匪淺,很多人都是第一次面對這么嚴峻的課題。不過,經(jīng)過這次課設培養(yǎng)我們綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們實際工作能力的具體訓練和考察過程。   回顧起自己實踐的經(jīng)歷,從大二的那次c語言實習到那次電子設計到次數(shù)電設計再到這次單片機課設,我已熟悉了這種從選題到定稿,從理論到實踐。其實c語言那會我就將一個長達十頁的程序分析清楚,并改正了100多個錯誤。大二那次電子設計大賽真是可惜,自學了單片機,并運用匯編作出了自己的東西,就差硬件失敗了!所以這次課設我們

51、比較順利原理清楚后改程序,即編又改,在周一我們已完成了驗收。之后,又幫別的幾組也實現(xiàn)了課設。   此次課程設計,至今我仍感慨頗多,的確,在短短的兩個星期的日子里,我遇到了很多問題,沒有按時吃過飯,一直檢查分析,可以說得是苦多于甜,但是學到很多,學到了很多在書本上所沒有學到過的知識。通過這次單片機課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從而提高自己的實際動手能力和獨立思考的能力。    要有細心,耐心,恒心才能做好事情。5.附錄附錄一:程序清單3.4源程序h_red bit p2.1 ;定義io端口h_green bit p2.2h_yellow bit p2.3l_red bit p2.4l_green bit p2.5l_yellow bit p2.6org 0000hljmp mainor

溫馨提示

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

評論

0/150

提交評論