單片機完成交通燈控制系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
單片機完成交通燈控制系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
單片機完成交通燈控制系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
單片機完成交通燈控制系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
單片機完成交通燈控制系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學(xué)科::理工大學(xué)成人教育職稱永成職業(yè)學(xué)院畢業(yè)設(shè)計(論文)題目交通信號燈控制系統(tǒng)的設(shè)計:學(xué)生:導(dǎo)師:摘要交通控制系統(tǒng)是現(xiàn)代社會物流、旅游等交通運輸發(fā)展產(chǎn)生的獨特的公共管理系統(tǒng)。為保障高效安全的交通秩序,除了制定一系列交通規(guī)則外,還必須通過一定的科技手段來實現(xiàn)。本文在深入分析當(dāng)前交通控制編制依據(jù)上,采用檢測感知和智能控制實時調(diào)整的實現(xiàn)技術(shù),將傳感器監(jiān)測和車輛通過時間實時調(diào)整算法與控制相結(jié)合。單片機的功能,提出了一種基于單片機的智能控制系統(tǒng)。交通控制系統(tǒng)設(shè)計方案。8051單片機紅綠燈控制系統(tǒng)由8051單片機、紅綠燈顯示、LED倒計時、車流檢測與調(diào)節(jié)、違章檢測、應(yīng)急處理、時間模式手動設(shè)置等模塊組成。該系統(tǒng)除具備基本的紅綠燈功能外,還具有手動設(shè)置通行時間、倒計時顯示、應(yīng)急車輛強制通行、交通流量檢測與調(diào)整、交通異常情況識別與處理等相關(guān)功能。理論證明,該系統(tǒng)可以簡單、經(jīng)濟、有效地分流,提高交通路口的通行能力。本次設(shè)計主要在以下幾個方面進行:一是確定系統(tǒng)交通控制的總體設(shè)計,包括路口具體交通禁止方案的設(shè)計和系統(tǒng)應(yīng)具備的功能;二是進行傳感器的硬件電路、顯示電路的設(shè)計及基本功能要求等。三是軟件系統(tǒng)的設(shè)計。對于這個系統(tǒng),我是用單片機的匯編語言來寫的,軟件一般都是寫的。關(guān)鍵詞:交通管制,傳感器檢測,AT89C51,倒計時顯示,異常情況判別目錄摘要0目錄0前言1第1章微控制器概述2單片機流量控制系統(tǒng)選題背景21.2單片機交通控制系統(tǒng)選題的現(xiàn)實意義21.3國外研究現(xiàn)狀與發(fā)展41.3.1國外交通控制技術(shù)41.3.2交通控制存在的問題41.4單片機交通控制系統(tǒng)的主要研究內(nèi)容5第二章單片機交通控制系統(tǒng)總體設(shè)計62.1單片機交通控制系統(tǒng)的設(shè)計62.2單片機交通控制系統(tǒng)功能要求72.2.1倒計時顯示7_2.2.2流量檢測與調(diào)整72.2.3手動設(shè)置時間82.2.4應(yīng)急處理82.2.5違規(guī)檢測82.3單片機交通控制系統(tǒng)的基本組成和原理8第三章系統(tǒng)硬件電路設(shè)計103.1系統(tǒng)硬件整體電路組成及原理103.1.1系統(tǒng)硬件電路結(jié)構(gòu)103.1.2系統(tǒng)工作原理103.2MCU12的選擇3.2.1MCU12概述3.2.2AT89C51芯片12的主要性能1芯片12部分結(jié)構(gòu)框圖3.2.4AT89C51芯片最小系統(tǒng)133.3其他硬件的介紹與連接143.3.1車流檢測電路及仿真143.3.2違規(guī)檢測電路與仿真153.3.3八段LED數(shù)碼管163.3.4其他設(shè)備17第四章系統(tǒng)軟件程序設(shè)計194.1程序主體設(shè)計流程194.2理論基礎(chǔ)204.2.1定時器原理204.2.2軟件延時原理204.2.3中斷原理214.2.4紅綠燈時間調(diào)整原理214.3子程序模塊設(shè)計224.3.1按鍵掃描程序224.3.2狀態(tài)燈顯示與判斷234.3.3LED倒計時顯示234.3.4流量檢測中斷服務(wù)子程序244.3.5緊急停止和違規(guī)中斷服務(wù)子程序244.3.6紅綠燈時間調(diào)整程序254.3.7去抖程序264.4源程序264.5系統(tǒng)軟件調(diào)試314.5.1TKS模擬器314.5.2集成開發(fā)環(huán)境KEIL314.5.3系統(tǒng)軟件調(diào)試32結(jié)論34至35參考文獻36介紹如今,交通信號燈安裝在各個路口,已成為交通車輛分流最常見、最有效的手段。但這項技術(shù)自19世紀以來就已經(jīng)存在。1858年,在英國倫敦的主要街道上安裝了一盞以氣體為光源的紅藍機械扳手式信號燈,用于指揮車廂的通行。這是世界上第一個紅綠燈。1868年,英國機械工程師奈特在倫敦威斯敏斯特議會大廈前的廣場上安裝了世界上第一個燃氣紅綠燈。它由紅綠兩個旋轉(zhuǎn)的方形玻璃燈籠組成,紅色表示“停止”,綠色表示“注意”。1969年電動交通信號燈出現(xiàn)在美國。這種交通信號燈由紅色、綠色和黃色的圓形光投射器組成。它于1914年安裝在紐約市第五街的一座塔上。紅燈表示“停止”,綠燈表示“通過”。1918年,出現(xiàn)了可控紅綠燈和紅外線紅綠燈??煽丶t綠燈,一種是在地下安裝壓力檢測儀,車輛一接近紅燈就會變綠;紅燈變?yōu)榫G色。當(dāng)行人踏上壓敏路面時,紅外交通燈可以檢測到有人即將過馬路。紅外線光束可以將信號燈的紅光延長一段時間,延緩汽車的釋放,避免交通事故。信號燈的出現(xiàn),實現(xiàn)了有效的交通管制,對疏通車流、提高道路通行能力、減少交通事故等起到了明顯的作用。1968年聯(lián)合國《道路交通與道路標(biāo)志信號協(xié)定》規(guī)定了各種信號燈的含義。綠燈是通過信號,面對綠燈的車輛可以直行、左轉(zhuǎn)和右轉(zhuǎn),除非另一個標(biāo)志禁止某種轉(zhuǎn)彎。左轉(zhuǎn)和右轉(zhuǎn)的車輛必須優(yōu)先考慮在交叉路口合法行駛的車輛和穿過人行橫道的行人。紅燈是禁止通行的信號,遇到紅燈的車輛必須在交叉路口的停車線后面停車。黃燈是警告信號。面對黃燈的車輛不能越過停車線,但車輛距離停車線太近無法安全停車時可以進入路口。第1章微控制器概述1.1單片機交通控制系統(tǒng)選題背景隨著人口的快速增長、交通的爆炸式發(fā)展以及道路資源的限制,交通管制應(yīng)運而生。一直在處理流量。自18世紀工業(yè)革命以來,工業(yè)發(fā)展帶動了整個交通的發(fā)展,從而催生了獨立的交通控制知識和管理組織。交通控制系統(tǒng)是現(xiàn)代社會物流、旅游等交通運輸發(fā)展產(chǎn)生的獨特的公共管理系統(tǒng)。確保高效安全的交通秩序,除了制定一系列交通規(guī)則外,還必須通過一定的技術(shù)手段來實現(xiàn)。現(xiàn)代人類科學(xué)技術(shù),特別是電子科學(xué)技術(shù)的發(fā)展和成熟,可以更好地解決系統(tǒng)建立所需的硬件和軟件方面的技術(shù)問題。目前對交通控制的研究可以完全實現(xiàn)自動化智能化,甚至可以將整個區(qū)域整合為一個統(tǒng)一的系統(tǒng),還可以根據(jù)正常時間段和特定緊急時間段的情況進行科學(xué)的自動調(diào)整。交通運輸在社會工業(yè)經(jīng)濟和人們的生活生產(chǎn)中起著非常重要的作用。隨著單片機和傳感技術(shù)的飛速發(fā)展,自動檢測領(lǐng)域發(fā)生了很大的變化,自動交通監(jiān)控研究取得明顯進展,將以其卓越的性能逐步取代傳統(tǒng)的交通控制措施。性能價格比。.1.2單片機交通控制系統(tǒng)選題的現(xiàn)實意義城市道路交通自動控制系統(tǒng)的發(fā)展以城市交通信號控制技術(shù)為主導(dǎo),與汽車工業(yè)同步發(fā)展。在其各個發(fā)展階段,由于交通中各種矛盾的不斷出現(xiàn),人們總是盡力將各個歷史階段的最新科技成果應(yīng)用到自動交通控制中,從而推動自動交通控制技術(shù)的不斷發(fā)展。早在1850年,城市十字路口不斷增長的交通就引發(fā)了人們對安全和擁堵的擔(dān)憂。世界上第一盞自動交通信號燈的誕生,拉開了城市交通管制的序幕。1868年,英國工程師奈特在倫敦威斯敏斯特街的十字路口安裝了一盞紅綠相間的煤氣燈。,用于控制十字路口的馬車通行,但一次瓦斯爆炸導(dǎo)致紅綠燈消失了近半個世紀。1914年及稍晚一點,美國克利夫蘭、紐約和芝加哥的紅綠燈又出現(xiàn)了,而且都是用電供電的,和現(xiàn)在意義上的信號燈差不多。1926年,英國人首先安裝并使用自動控制器來控制紅綠燈,這是城市交通自動控制的起點。早期的紅綠燈采用“定時定時”的方式實現(xiàn)自動控制,對早期的交通暢通情況起到了一定的作用。但隨著汽車工業(yè)的發(fā)展,車流量的增加,隨機變化的增強,以往單一的“定時定點”模式已經(jīng)不能滿足客觀需要,因此,方案信號控制器開始出現(xiàn),并逐漸取代傳統(tǒng)的控制器,只有一種控制方案。1930年代初,美國首先開始使用車輛感應(yīng)式信號控制器,英國緊隨其后,當(dāng)時使用的車輛檢測器為氣動膠管檢測器。車輛感應(yīng)控制器的特點是可以根據(jù)檢測器測得的車流量調(diào)整綠燈時間的長短,從而更有效地利用綠燈時間,減少路口車輛的延時,并且比時序控制方式具有更大的靈活性。性別。車輛傳感控制的這一特點刺激了車輛檢測技術(shù)的發(fā)展。繼氣動膠管探測器之后,雷達、超聲波、光電、地磁、電磁、微波、紅外、環(huán)形線圈等探測器相繼問世。在當(dāng)今城市道路交通自動控制、交通監(jiān)控和交通數(shù)據(jù)采集系統(tǒng)中,應(yīng)用最廣泛的是環(huán)形線圈車輛檢測器。超聲波檢測儀主要在日本等少數(shù)幾個國家得到廣泛應(yīng)用。計算機技術(shù)的出現(xiàn)為交通控制技術(shù)的發(fā)展注入了新的活力,實現(xiàn)了以城市或區(qū)域為基礎(chǔ)的整體交通控制系統(tǒng),而不是簡單的路口。1952年,美國科羅拉多州丹佛市首先利用模擬計算機和交通探測器實現(xiàn)了交通信號網(wǎng)絡(luò)定時方案的自動選擇信號燈控制,而加拿大多倫多在1964年完成了計算機控制信號燈的實際應(yīng)用。一套由IBM650計算機控制的交通信號協(xié)調(diào)控制系統(tǒng)成為世界上第一個擁有電子數(shù)字計算機城市交通控制系統(tǒng)的城市。這是道路交通控制技術(shù)發(fā)展的里程碑??梢哉f,在近一百年的發(fā)展中,道路交通信號控制系統(tǒng)經(jīng)歷了手動到自動,從固定定時到靈活定時,從無感控制到感應(yīng)控制,從單點控制到主干控制,來自區(qū)域控制。到網(wǎng)絡(luò)控制的長期過程。交通管制研究的發(fā)展旨在解決由于需求增加而導(dǎo)致的人流量負擔(dān)增加所帶來的問題。受限于道路建設(shè)的暫時短缺和車輛的快速增長,需要讓更多的車輛安全高效地利用有限的空間。道路資源,避免因亂、沖等不受控制的原因造成不必要的堵塞甚至癱瘓,此外,還需要實時調(diào)整整條交通線路上的車輛數(shù)量,轉(zhuǎn)移多條線路的分流。交通網(wǎng)絡(luò)是城市的動脈,象征著一個城市的工業(yè)文明水平。交通事關(guān)人們在財產(chǎn)、安全和時間方面的利益。優(yōu)秀而科學(xué)的交通控制技術(shù)對于資源物流和人們的出行具有重要意義。只有保證交通線路暢通安全,才能保證出行暢通,物流準時到位,乃至生命通道的延伸。1.3國外研究現(xiàn)狀與發(fā)展1.3.1國外交通管制技術(shù)目前,在世界各國廣泛應(yīng)用的最具代表性但實施的城市道路交通信號控制系統(tǒng)包括英國的TRANSYT和SCOOTS交通控制系統(tǒng)以及澳大利亞的SCATS系統(tǒng)。在信號機的發(fā)展過程中,自適應(yīng)理論受到了各種研究機構(gòu)的歡迎,如上述的SCOOTS和SCATS系統(tǒng)。近年來,國外仍然傾向于引入自適應(yīng)理論來開發(fā)交通信號控制系統(tǒng),特別是在美國,有十幾所大學(xué)或研究機構(gòu)正在開發(fā)自適應(yīng)交通信號控制系統(tǒng),其中一個代表是美國亞利桑那大學(xué)。美國開發(fā)了RHODES。我國交通運輸領(lǐng)域的發(fā)展起步較晚?;旧希轮袊闪⒑?,隨著各種條件的成熟和社會發(fā)展的要求,交通管制體系得到建立和完善。城市交通是一個綜合性很強的復(fù)雜問題,必須從政策、制度、制度、管理、收費價格、基礎(chǔ)設(shè)施建設(shè)和投資等方面同步解決。我國城市經(jīng)濟社會的快速發(fā)展,使得社會對交通的需求急劇增加。對此也提出了嚴峻的挑戰(zhàn)。一句話城市發(fā)展規(guī)劃、建設(shè)和運營,就是在廣泛借鑒和吸收國外先進經(jīng)驗編制依據(jù)上,建立和完善適合我國國情的城市交通體系。1.3.2交通管制問題我國城市交通現(xiàn)狀及存在的問題,借鑒國外城市交通管理的先進經(jīng)驗,強調(diào)建立城市交通管理體系的重要性,提出交通規(guī)劃加強城市交通研究,建立穩(wěn)定的交通基礎(chǔ)設(shè)施.落實公交優(yōu)先政策,建立先進的交通信息系統(tǒng)等對策。隨著城市機動車增長速度的加快。1994年,水平軌道上城市機動車輛近500輛。1990年代以來,經(jīng)濟發(fā)展加快。從1985年到1995年,機動車的增長率達到了13%左右,而且近年來有所增加。但與此同時,城市道路建設(shè)規(guī)模也在不斷擴大。中國城市普遍存在道路密度低、道路面積率低的問題。這也是中國城市是有機大城市的重要原因。中國城市道路的密度僅為6.8km每平方公里,而在1980年代,世界發(fā)達國家已達到20km每平方公里。1990年代,我國部分城市道路面積比例為5.9%和6.4%,而國外東京為13.8%,巴黎為25%,普遍高于我國。近年來,盡管國家不斷加大城市道路建設(shè)的力度,但仍跟不上車輛的增長速度,與世界其他國家相比仍有較大差距。的士和公共汽車的發(fā)展和運營情況不盡如人意。雖然車輛和線路的長度增加了,但運行速度成為瓶頸,新增產(chǎn)能被運輸效率低下所抵消。交通管理水平仍不發(fā)達。隨著交通需求的不斷增加,我國中小城市交通管理和交通安全的現(xiàn)代化設(shè)施不足。在車輛、道路和交通管理系統(tǒng)、城市交通信號控制系統(tǒng)、人工智能技術(shù)在城市交通控制中的應(yīng)用、信息采集和信息提供技術(shù)等方面與發(fā)達國家存在較大差距。近年來,雖然一些城市研究引進了國外一些先進的交通信號管理系統(tǒng),但由于交通管理設(shè)施不足,我國交通事故率居高不下。城市交通流的速度逐年下降。目前,許多城市的交通量逐年增加,但運輸速度普遍下降,這是由于交通不暢造成的。1.4單片機交通控制系統(tǒng)的主要研究內(nèi)容本設(shè)計基于整個交通控制系統(tǒng)的發(fā)展,主要研究以下幾個方面:以智能化、集成化、功能強大的單片機芯片為控制中心,設(shè)計了一套交叉口交通控制系統(tǒng)來指揮交叉口的實時交通控制。交通狀況。本次設(shè)計主要做了以下幾個方面:一是確定系統(tǒng)交通控制的總體設(shè)計,包括路口具體交通禁止方案的設(shè)計和系統(tǒng)應(yīng)具備的功能。除了倒計時顯示提示外,根據(jù)實際情況,還需要交通流量檢測與自調(diào)整模擬功能、違章檢測與處理、緊急情況處理和鍵盤設(shè)置等強大功能。二是智能傳感器硬件電路和顯示電路設(shè)計中各器件的選擇與連接,對各器件和模塊的基本功能要求進行總體配置。三是軟件系統(tǒng)設(shè)計。對于本系統(tǒng),本人使用單片機匯編語言進行編寫,對單片機的結(jié)構(gòu)和工作條件做了充分的研究,了解了定時器、中斷和延時原理,大致完成了軟件編寫。第二章單片機交通控制系統(tǒng)總體設(shè)計2.1單片機交通控制系統(tǒng)設(shè)計它位于十字路口,分為東西方向和南北方向。任何時候都只允許一個方向通過,禁止另一個方向通過。它會持續(xù)一段時間。其具體狀態(tài)如下圖所示。說明:黑色表示開啟,白色表示關(guān)閉。交通狀態(tài)從狀態(tài)1到狀態(tài)6再循環(huán)到狀態(tài)1,重復(fù)循環(huán),如圖2.1所示:直到狀態(tài)6再循環(huán)到狀態(tài)1,通過對具體路口紅綠燈狀態(tài)的演示分析,我們可以把這四種狀態(tài)總結(jié)如下:圖2.1交通狀況◆東西方向紅燈滅,綠燈同時亮,南北方向黃燈滅,紅燈亮,倒計時20秒。該州禁止東西通行,允許南北通行?!魱|西方向綠燈滅,黃燈同時亮,南北方向紅燈亮,倒計時2秒。在這種狀態(tài)下,除了已經(jīng)通過的車輛之外的所有車輛都必須等待狀態(tài)轉(zhuǎn)換。◆南北方向紅燈滅,綠燈同時亮,東西方向黃燈滅,紅燈亮,倒計時20秒。該州允許東西方向通行,禁止南北方向通行。◆南北方向綠燈滅,黃燈同時亮,東西方向紅燈亮,倒計時2秒。在這種狀態(tài)下,除了已經(jīng)通過的車輛之外的所有車輛都必須等待狀態(tài)轉(zhuǎn)換。下面我們可以用一張圖來表示點亮狀態(tài)和停止?fàn)顟B(tài)的關(guān)系如下:狀態(tài)1狀態(tài)3狀態(tài)4狀態(tài)6東西禁止的等待轉(zhuǎn)型經(jīng)過等待轉(zhuǎn)型南北經(jīng)過等待轉(zhuǎn)型禁止的等待轉(zhuǎn)型紅燈1100黃色的東西0001綠燈的東西0010南北紅燈0011南北綠燈1000南北黃燈0100表2.1交通狀況和紅綠燈狀態(tài)東、西、北、南四個路口有紅、綠、黃三盞燈和2個數(shù)碼管。在任何路口,遇到紅燈禁止通行,轉(zhuǎn)綠燈通行。狀態(tài)和紅綠燈狀態(tài)如表2.1所示。說明:0表示關(guān)閉,1表示開啟。2.2單片機交通控制系統(tǒng)功能需求本設(shè)計可以模擬基本的交通控制系統(tǒng),使用紅綠燈指示禁止通行、通過和等待信號、倒計時顯示、交通流量檢測和調(diào)整、交通違章處理和應(yīng)急處理。2.2.1倒計時顯示當(dāng)燈光顏色發(fā)生變化時,倒計時顯示屏?xí)嵝疡{駛員在“停止”和“通過”之間做出適當(dāng)?shù)倪x擇。司機和行人普遍愿意選擇帶有倒計時顯示的信號控制方式,并認為帶有倒計時顯示的路口更安全。倒計時顯示是在信號燈顏色發(fā)生變化的關(guān)鍵時刻,用來減少駕駛員復(fù)雜判斷的一種方法。它可以提醒駕駛員信號燈顏色變化的時間,幫助駕駛員在“停車”和“通過”之間。做出正確的選擇。2.2.2流量檢測與調(diào)整隨著我國經(jīng)濟建設(shè)的蓬勃發(fā)展,城市人口和機動車保有量迅速增加,車流量日益增加,交通擁堵現(xiàn)象日益嚴重,交通事故時有發(fā)生到時間。車輛檢測器作為智能交通系統(tǒng)的基本組成部分,在智能交通系統(tǒng)中占有重要地位?,F(xiàn)階段,車輛檢測器的檢測方法有很多,各有優(yōu)缺點,如紅外檢測器、地磁檢測器、機械壓電檢測器、磁頻檢測器、波頻檢測器、視頻檢測器等。交通流量檢測器一般由傳感器+單片機+外圍設(shè)備實現(xiàn)。而且目前國內(nèi)使用的紅綠燈都是固定紅綠燈時間,自動切換。紅燈時間和綠燈時間是根據(jù)路口東西向和南北向的車流量通過統(tǒng)計方法確定的。交警不斷觀察交叉口的兩個方向,根據(jù)車輛密度和車流速度決定是否切換紅綠燈,以確保最佳的道路交通控制狀態(tài)。2.2.3手動時間設(shè)置除了根據(jù)車流量對系統(tǒng)進行自動控制和調(diào)節(jié)外,還可以通過鍵盤手動設(shè)置,增加了人的可控性,避免了自動故障和事故的發(fā)生。在緊急情況下,所有的燈都可以設(shè)置為紅色。鍵盤是單片機系統(tǒng)中最常用的人機界面。一般來說,有兩種類型:獨立的和行列式的。前一種軟件寫起來簡單,但在key數(shù)較多時尤其浪費I/O口資源,一般用在key數(shù)較少的系統(tǒng)中。后者適用于按鍵數(shù)量較多的場合,但在單片機的I/0口資源比較少,需要較多按鍵的情況下,這種方式還是不能滿足設(shè)計要求。系統(tǒng)不需要太多按鍵控制,I/O口足夠,可以直接作為獨立機型使用。2.2.4緊急處理交通路口的緊急情況在所難免,比如發(fā)生重大事故、救護車等急救車輛通過等,我們要盡量讓其暢通無阻。個人生死等。因此,在交通管制中增加一個不停車按鈕就可以達到這個目的。2.2.5違規(guī)檢測交通規(guī)則是每個人都必須遵守的,但闖紅燈等違規(guī)行為也時有發(fā)生。雖然交警和其他交通管理人員可以進行實時監(jiān)管,但它們是能源密集型的,并且可以通過在十字路口設(shè)置檢測傳感器來自動發(fā)出警報。2.3單片機交通控制系統(tǒng)的基本組成和原理采用單片機設(shè)計交通燈控制系統(tǒng)。單片機可以直接控制信號燈的狀態(tài)變化,基本可以指揮具體的交通流向。當(dāng)然也可以通過連接LED數(shù)碼管顯示倒計時提醒出行者,更加人性化。在此基礎(chǔ)上,系統(tǒng)增加了違章檢測電路和車流檢測電路,為單片機采集數(shù)據(jù)。單片機對此進行具體處理,及時調(diào)整控制指令。為了超越視覺指揮的限制,蜂鳴器連接在聽覺上加強指揮提醒。圖2.2系統(tǒng)整體框圖據(jù)此,設(shè)計系統(tǒng)以單片機為控制核心,連接成最小系統(tǒng)。車流檢測模塊、違章檢測模塊、按鈕設(shè)置模塊產(chǎn)生輸入,信號燈狀態(tài)模塊、LED倒計時模塊和蜂鳴器狀態(tài)模塊接收輸出。.系統(tǒng)的整體框圖如上所示。鍵盤設(shè)置模塊輸入系統(tǒng)輸入方式選擇和具體通過時間設(shè)置的信號,系統(tǒng)進入正常工作狀態(tài),執(zhí)行紅綠燈狀態(tài)顯示控制,同時向LED數(shù)碼管輸入時間數(shù)據(jù)倒計時用于實時顯示。在這個過程中,違規(guī)檢測和緊急關(guān)鍵信號也被實時捕獲,從而達到實時控制異常狀態(tài)的目的。緊急停止按鈕和違規(guī)檢測呼叫隨時中斷。在模式選擇中,如果是自動模式,會不斷調(diào)用車流檢測模塊對車流進行檢測和統(tǒng)計,到達一定時間后,修正通過時間,以滿足不同道路的需要條件。第三章系統(tǒng)硬件電路設(shè)計3.1系統(tǒng)硬件整體電路組成及原理為實現(xiàn)本設(shè)計所需的具體功能,89C可選擇AT52單片機及外圍器件組成最小控制系統(tǒng),12個發(fā)光二極管分為紅、綠、黃三色燈4組組成一個信號燈指示模塊,8個LED各組成一個倒計時顯示。模塊,交通流量檢測傳感器采集流量數(shù)據(jù),光敏傳感器捕捉違規(guī)信號,幾個按鈕形成時間設(shè)置和模式選擇按鈕和緊急按鈕等,通過蜂鳴器報警。3.1.1系統(tǒng)硬件電路組成該系統(tǒng)以單片機為核心,形成集車流采集、處理、自動控制于一體的閉環(huán)控制系統(tǒng)。系統(tǒng)硬件電路由車流檢測電路、單片機、違章檢測電路、狀態(tài)燈、LED顯示屏、按鍵、蜂鳴器等組成。其具體硬件電路圖如圖3.1所示。其中,P0和P1用來發(fā)送和顯示兩個LED數(shù)碼管,P2用來控制紅綠黃發(fā)光二極管,XTAL1和XTAL2接晶振時鐘電路,REST腳接接復(fù)位電路,P3.2為INT1接違章檢測電路和急停/東西向時間設(shè)置鍵J,P3.3為INT1接交通流量檢測電路,P3.6接到南北時間設(shè)定鍵S,P3.7接自動模式選擇/返回鍵F,P3.4接蜂鳴器。3.1.2系統(tǒng)如何運作系統(tǒng)上電或手動復(fù)位后,系統(tǒng)等待模式選擇設(shè)置鍵被按下。有兩種模式:自動紅綠燈時間和紅綠燈時間設(shè)置。如果此時按下F鍵,將設(shè)置為自動模式。如果此時按下S鍵,則設(shè)置為時間設(shè)置模式。依次按S鍵數(shù)次,按J鍵數(shù)次可設(shè)置兩個方向的紅綠燈時間。,然后按F鍵確認。實際上,這個過程就是設(shè)置存儲時間值的寄存器來指示是否要進行流量檢測和調(diào)整。接下來,系統(tǒng)必須先顯示狀態(tài)燈和LED數(shù)碼管,將狀態(tài)碼值發(fā)送到P2端口,將要顯示的時間值的個位和十位分別發(fā)送到P0和P1端口,同時時間以50ms為一個周期,用軟件方法計時1秒,當(dāng)達到1秒時,時間值減1,LED數(shù)碼管刷新。當(dāng)時間達到一個狀態(tài)所需的全部時間時,進行下一個狀態(tài)的判斷和連接,加載下一個狀態(tài)對應(yīng)的狀態(tài)碼值與時間值相匹配。當(dāng)然,必須打開兩個外部中斷,其中之一是違規(guī)信號的輸入或停止-停止信號。一旦信號有效,中斷啟動,進入中斷服務(wù)子程序,并開啟蜂鳴器禁止一切訪問。當(dāng)按下F鍵時,中斷結(jié)束。返回。二是交通流檢測信號的輸入。如果檢測到有車輛通過,則進入相應(yīng)的中斷子程序,將存儲車流量的寄存器加1,然后返回中斷結(jié)束。每個全狀態(tài)循環(huán)周期,如果是自動模式,必須對檢測到的交通流量數(shù)據(jù)進行一次處理,確定雙向交通的優(yōu)先級,然后調(diào)整下一個狀態(tài)循環(huán)的紅綠燈時間,達到自動的目的控制。圖3.1基于單片機的紅綠燈控制系統(tǒng)電路圖3.2單片機的選擇3.2.1微控制器概述單片機簡稱單片機,又稱微控制器、嵌入式微控制器等,屬于第四代電子計算機。它將中央處理器、存儲器、輸入/輸出接口電路和定時器/計數(shù)器集成在一個芯片上,具有體積小、功耗低、價格低、抗干擾能力強、可靠性高等特點。因此,它適用于工業(yè)過程控制、智能儀器儀表和測控系統(tǒng)中使用的前端設(shè)備。正是由于這個原因,國際上逐漸使用微控制器(MCU)這個名稱來代替單片機(SCM)?!皢纹瑱C”更能體現(xiàn)單片機的本質(zhì),但由于單片機的名稱已為國內(nèi)大多數(shù)人所接受,所以仍沿用“單片機”的名稱。微控制器的主要特點是:1)具有優(yōu)異的性價比。2)集成度高、體積小、可靠性高。3)強大的控制功能。3.2.2AT89C52芯片芯片AT89C52是ATMEL生產(chǎn)的8位單片機,具有2K字節(jié)的閃存。機器。它具有以下特點:★指令89C兼容51種產(chǎn)品★包括2K字節(jié)可重編程閃存★耐1000次寫入/擦除循環(huán)★工作電壓范圍2.7V~6V★全靜態(tài)運行0Hz~24MHz★二級程序內(nèi)存鎖定★包括128*8-bitRAM★15條可編程I/0引腳★2個16位計數(shù)器/定時器★6個中斷源★帶可編程串行通訊口★可直接驅(qū)動LED輸出★片內(nèi)模擬電壓比較器★低功耗空載和掉電模式此外,單片機還具有體積小、價格低的特點。3.2.3AT89C51芯片AT89C51是一款低電壓、高性能的8位CMOS微型計算機,具有2K字節(jié)的閃存可編程可擦除存儲器(EEPROM)。它采用ATMEL的高密度非易失性存儲器技術(shù)制造,與行業(yè)標(biāo)準MCS-51指令集和引腳結(jié)構(gòu)兼容。通過將通用CPL1和閃存結(jié)合在一個芯片上,89CATMEL的AT52是一款功能強大的微型計算機,可為許多嵌入式控制應(yīng)用提供高度靈活且低成本的解決方案。圖3.2是89CAT52的結(jié)構(gòu)框圖。圖3.289CAT2051結(jié)構(gòu)圖3.2.4AT89C52芯片最小系統(tǒng)其中最簡單的單片機系統(tǒng)包括晶振、復(fù)位、電源、系統(tǒng)輸入控制、輸出顯示,以便與其他外圍模塊進行通信(如通訊、數(shù)據(jù)采集等)。(1)時鐘電路首先介紹一下單片機的晶振電路,即時鐘電路。單片機的工作流程是在系統(tǒng)時鐘的作用下,一個一個地執(zhí)行內(nèi)存中的程序。單片機的時鐘電路由一個外接晶振和兩個啟動電容組成,構(gòu)成單片機的時鐘電路。晶振頻率越高,單片機處理數(shù)據(jù)的速度越快,系統(tǒng)功耗也會相應(yīng)增加。也會下降。單片機系統(tǒng)常用的晶振頻率有6MHz、11.0592MHz、12MHz。本系統(tǒng)采用11.0592MHz晶振,電容可選22pF或30pF。(2)復(fù)位電路系統(tǒng)剛上電時,單片機部門的程序還沒有開始執(zhí)行,需要一段時間的準備時間,也就是復(fù)位時間。一個穩(wěn)定的單片機系統(tǒng)必須設(shè)計復(fù)位電路。當(dāng)程序跑掉或崩潰時,還需要進行系統(tǒng)重置。復(fù)位電路有很多種,如上電復(fù)位、手動復(fù)位等。(3)EA腳的功能及連接MCU的EA引腳控制程序是從內(nèi)部存儲器讀取還是從外部存儲器讀取。由于單片機部門的flash容量很大,程序基本上是從部門的內(nèi)存中讀取的,即不需要外接ROM來存儲程序,所以EA腳必須接高電平等級。本設(shè)計中復(fù)位方式采用開機/按鍵手動復(fù)位方式,時鐘采用部分時鐘。如下圖3.3所示。圖3.3本系統(tǒng)復(fù)位和時鐘模式第四章系統(tǒng)軟件程序設(shè)計4.1程序主體設(shè)計流程整個控制程序?qū)嶋H上分為幾個模塊:鍵盤設(shè)置處理程序、狀態(tài)燈控制程序、LED顯示程序、防抖動延時程序、二次狀態(tài)判斷及處理程序、急?;蜻`規(guī)判斷程序、中斷服務(wù)子程序、小車流量計數(shù)程序、紅綠燈時間調(diào)整程序等整個軟件程序主要分為兩部分:按鍵處理程序和50ms掃描程序。流程圖如圖4.1所示。圖4.1系統(tǒng)總體流程圖首先是按鍵處理程序,89C51通過掃描IO判斷是否有按鍵被按下,然后判斷是哪個按鍵被按下,根據(jù)按鍵值跳轉(zhuǎn)到按鍵處理程序。關(guān)鍵處理結(jié)果可以設(shè)置兩種工作模式:紅綠燈時間設(shè)置模式和紅綠燈時間自動模式。設(shè)置好后進入50ms掃描程序。50ms掃描程序啟動后,首先刷新顯示模塊。如果是自動模式,則統(tǒng)計車流,然后掃描急停信號和違章信號。如果它被捕獲,則調(diào)用中斷。中斷服務(wù)子程序主要是啟動蜂鳴器直到它恢復(fù)。鍵按下。50毫秒后重新掃描。20次掃描后,當(dāng)時間達到1s時,時間數(shù)據(jù)減1,顯示模塊中的顯示緩存容量被修改。當(dāng)半狀態(tài)切換時,交通流量統(tǒng)計程序以一個狀態(tài)變化周期依次統(tǒng)計兩個方向的交通流量,然后調(diào)用紅綠燈時間調(diào)整程序更新紅綠燈時間。當(dāng)前狀態(tài)時間到了,判斷其狀態(tài)并加載相應(yīng)數(shù)據(jù),然后進入下一個狀態(tài)。4.2理論基礎(chǔ)4.2.1定時器原理定時器工作的基本原理其實就是給出初值,讓它繼續(xù)加1,直到遞減為模值,然后把這個初值送到TH和TL。采用加法計數(shù),可自動產(chǎn)生全1到全0的溢出中斷請求。因此,我們可以將計數(shù)器滿時所需的計數(shù)值設(shè)置為零,即將所需計數(shù)值設(shè)置為C,將初始計數(shù)值設(shè)置為TC,得到如下通式:TC=MC式中,M為計數(shù)器的模值。計數(shù)值不是目的,目的是時間值。時間設(shè)計一次,即定時器計數(shù)脈沖的周期為T0,為單片機系統(tǒng)主頻周期的12倍。如果所需時間值為T,則有C=T/T0。計算公式變?yōu)椋篢=(M-TC)T0模值與計數(shù)器的工作方式有關(guān)。在模式0中,M為8192;方式一時,M的值為65536;在模式2和3中,它是256。由此可以計算出各種方法的最大延遲。例如單片機的主脈沖頻率為12MHZ,經(jīng)過12分頻后,采用方式0時最大延遲僅為8.129毫秒,采用方式1時最大延遲僅為65.536毫秒.這就是為什么掃描周期是50ms,使用軟件會延遲程序流程,這顯然是不可行的。反之,只用計數(shù)器計時是不可能的,因為顯然1秒已經(jīng)超過了計數(shù)器的最大固定時間,所以我們必須結(jié)合使用定時器和軟件來解決這個問題。4.2.2軟件延遲原理MCS-51的工作頻率為12MHZ,機器周期與主頻有關(guān),機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/12MHZ)=1us。我們可以知道每條指令的周期數(shù),這樣我們就可以通過執(zhí)行指令的數(shù)量來確定1秒的時間,但同時由于單片機的運行速度快,其他指令的執(zhí)行時間可以忽略。我們設(shè)置一個軟件計數(shù)器,初始值為20,時間T0為50毫秒。這樣,當(dāng)T0到50毫秒時,CPU響應(yīng)其溢出中斷請求,進入其中斷服務(wù)程序。在中斷服務(wù)程序中,CPU首先將軟件計數(shù)器減1,然后判斷是否為零。零表示已經(jīng)過了1秒。設(shè)置定時器需要50毫秒,所以T0必須工作在模式1。所需初始值:TC=MT*T0=216-50ms/1us=15536=3CBOH,過程如下:...等待:JNBTF0,WAIT1CLRTF0MOVTH0,#01HMOVTL0,#0B01HDJNZR2,等待...4.2.3中斷原理本系統(tǒng)主要使用外部中斷。中斷信號從引腳INT0和INT1輸入,低電平有效。CPU將在每個時鐘周期檢測INT0和INT1上的信號。8051允許外部中斷為電平或下降沿。輸入中斷請求信號可以通過設(shè)置TCON中的IT0和IT1位的狀態(tài)來實現(xiàn)。以IT0為例,IT0=0,為電平觸發(fā)方式,IT0=1,為下降沿觸發(fā)方式,本設(shè)計采用電平方式,IE0為中斷標(biāo)志位,如果有中斷信號則置位,和中斷服務(wù)子程序響應(yīng)后,IE0自動清零。IE中的EA是允許中斷的總控制位,為1為使能,EX0為外部中斷使能控制位,為1為使能。在優(yōu)先級的允許下,一旦外部中斷信號產(chǎn)生,單片機CPU首先保護斷點,將PC值壓入堆棧,然后執(zhí)行相應(yīng)的中斷服務(wù)子程序。取保存的斷點地址,發(fā)回PC,程序正常執(zhí)行。4.2.4紅綠燈時間調(diào)整原理交通流量檢測傳感器可以為單片機控制系統(tǒng)提供實時數(shù)據(jù),系統(tǒng)對獲取的數(shù)據(jù)進行模糊處理。實現(xiàn)紅綠燈的模糊控制,需要解決路口當(dāng)前交通狀況的檢測,完成以下任務(wù):1、輸入量的采集,系統(tǒng)采集兩個輸入量,即兩個方向的車流量。2、輸出的確認,即紅綠燈的時間值。3.設(shè)計將輸入映射到輸出的模糊規(guī)則。4.確定激活的模糊規(guī)則的組合和清晰處理,以產(chǎn)生精確的輸出控制信號。為了收集上述數(shù)據(jù),在路口的四個側(cè)面一共設(shè)置了2個傳感器。分別檢測兩個方向的流量。流量檢測不是最終目標(biāo)。在每半個周期,系統(tǒng)將檢測兩個方向的交通流量數(shù)據(jù)。除以時間,就可以得到單位時間的交通流量,然后比較兩個方向單位時間的交通流量,確定下一個紅綠燈周期的時間,達到調(diào)整的目的。例如,一個循環(huán)后,南北車流量(此時設(shè)置南北綠燈,東西紅燈時間為20s)為100輛,東西車流量(設(shè)置東-此時西綠燈,南北紅燈時間為30s)如果有90輛車,則單位時間內(nèi)南北和東西交通流量之比為:(100/20)/(90)/30)=1.6。顯然,南北交通很嚴重,所以現(xiàn)在可以調(diào)整南北綠燈和東西紅燈的時間。長。上述1.6的比例仍然是一個確定的值。多少是多,多少是少?需要設(shè)置模糊規(guī)則,劃定幾個取值范圍,對應(yīng)具體的調(diào)整時間,系統(tǒng)會調(diào)用具體的輸出值。.4.3子程序模塊設(shè)計4.3.1鑰匙掃描儀首先程序連續(xù)掃描模式設(shè)置按鍵,分別記錄為:IO口的P3.6、P3.2、P3.7對應(yīng)的S鍵、J鍵、F鍵,低電平有效,鍵序列已指定。F鍵,為自動調(diào)整模式,然后進入下一個程序;如果先按S鍵,再按J鍵,F(xiàn)鍵是設(shè)置時間模式,然后進入下一個程序。在程序開始時,需要判斷是否有按鍵按下。您可以連續(xù)添加S鍵值和F鍵值??偤椭禐?,表示沒有按鍵,0表示有按鍵。程序如下:K1:MOVC,P0.0ANLC,P0.1C、K1...接下來,需要確定哪個鍵是特定鍵。如果是F鍵,它會自動將位置標(biāo)記為1并進入下一個程序。否則就是S鍵,意思是設(shè)置南北綠燈時間,用R0存儲數(shù)值,按1加1,同時還要判斷J鍵是否按下此時。如果按下,則表示已經(jīng)設(shè)置了南北綠燈時間。開始設(shè)置東西綠燈時間,用R1存儲數(shù)值,同樣按1加1,判斷此時是否按下F鍵。,按下則表示時間設(shè)置完成,進入下一個程序。在這個過程中,S鍵和J鍵的計數(shù)是循環(huán)的,從初始值20開始,加到40循環(huán)回到20。例如S鍵程序判斷如下:CJNZR0,#40,V1移動R0,#20V1:增量R0...4.3.2狀態(tài)燈顯示與判斷在這個設(shè)計中,實際控制的只有6個燈,分別是:東西紅燈、東西綠燈、東西黃燈、南北紅燈、南北綠燈、南北黃燈.IO口定義如下,均為低電平有效。H_GREEN位P2.2H_YELLOW位P2.3L_REDBITP2.4L_GREEN位P2.5L_YELLOW位P2.6共4個狀態(tài):東西紅燈亮,南北綠燈亮(11011101/DDH);東西紅燈亮,南北黃燈亮(10111101/BDH);東西綠燈亮,南北紅燈亮(11101101/EDH);東西黃燈亮,南北紅燈亮(11100111/E7H)。括號內(nèi)為P2端口P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0的8個引腳值及對應(yīng)的十六進制代碼。用于顯示發(fā)光二極管時,十六進制代碼通過MOV指令直接送到P2口。剛才的四種狀態(tài)是依次變化的,這涉及到狀態(tài)的判斷和連接。先將P2端口的值與所有4個狀態(tài)碼進行比較,如果相同,則判斷當(dāng)前狀態(tài)成功,然后將下一個狀態(tài)的狀態(tài)碼發(fā)送給P2顯示。程序如下:MOVA,P2CJNZA,#0DDH,D1MOVP2,#BDHD1:CJNZA、BDH、D2MOVP2,#EDHD2:CJNZA,#EDH,D3MOVP2,#E7HD3:CJNZA,#E7H,YMOVR2,#DDH...4.3.3LED倒計時顯示LED定時每1秒刷新一次,當(dāng)定時超過1秒時,存儲時間的工作寄存器R4減1,然后送LED顯示程序顯示。接下來,時間數(shù)據(jù)R4的十位和一位將分別發(fā)送到P1和P0端口。首先將R4除以10,整數(shù)為A中的十位,余數(shù)為B中的個位,設(shè)置7段LED顯示。對于data的數(shù)據(jù)表,用數(shù)據(jù)指針寄存器DPTR指向數(shù)據(jù)表的首地址,加上A中的偏移量,就可以指向十位數(shù)字,然后發(fā)送顯示,同理對于一位數(shù)顯示是正確的。具體程序如下:MOVA,R4移動B,#10DIVA,BMOVDPTR,#LEDMAPMOVCA,A+DPTRMOVP1,A移動A,BMOVCA,A+DPTRMOVP3,ALEDMAP:DB3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH...4.3.4流量檢測中斷服務(wù)子程序流量檢測是利用外部中斷引腳P3.3即INT1捕捉到低電平,然后進入相應(yīng)的中斷服務(wù)子程序,在子程序中,用R5測量南北向的流量,用R6來測量測量東西向交通流量,設(shè)置車輛方向標(biāo)志為01H,判斷車輛方向,流程如下:JNB01H,UINCR5U:INCR6...4.3.5緊急停止和違規(guī)中斷服務(wù)程序緊急停止按鈕和違規(guī)信號傳感器都連接到外部中斷引腳P3.2,即如果INT0捕捉到低電平,則進入中斷。在中斷程序中,首先將蜂鳴器P3.4端口設(shè)置為0以啟動蜂鳴器。并等待恢復(fù)鍵F鍵P3.7被按下,然后關(guān)閉蜂鳴器返回。INT0:SETBP0.5P0.0,$本地呼叫延遲CLRP0.5視網(wǎng)膜病變...4.3.6紅綠燈時間調(diào)整程序根據(jù)紅綠燈時間調(diào)整原理,在一個周期內(nèi),R5和R6分別存儲南北向和東西向的交通流量,然后計算單位時間的交通流量。此時南北向時間和東西向時間分別存儲在R0和R1中,則兩個方向的流量比為(R5/R0)/(R6/R1)=(R5*R1)/(R6*R0)。顯然,該比率是一個小數(shù)點大約為1的值。但是,在微控制器程序中只采用整數(shù)。重要的數(shù)據(jù)信息會丟失,所以在這個設(shè)計中,先將(R5*R1)乘以10,比例變成10左右的值。把那個比例值放在A中,然后做時間調(diào)整。由于種種限制,時間調(diào)整只畫了3圈。比值0到0.7為圓,0.8到1.5為圓,1.5以上為圓。第一個圓圈明顯表示東西向交通嚴重,應(yīng)該增加時間;第二個圓圈表示兩個方向相等,可以設(shè)置相同的時間,第三個圓圈表示南北交通嚴重,應(yīng)該增加時間。具體設(shè)置如表4.1所示。南北和東西比0—0.70.8—1.51.5及以上調(diào)整南北時間203040調(diào)整東西向時間403020表4.1比例及調(diào)整時間從表中可以看出,對應(yīng)的時間調(diào)整只有三個,分別是20、40;30,30;40,20.顯然,這樣簡單的處理在實際應(yīng)用中是很難滿足的,但是這里,這個設(shè)計只是一個模擬的粗調(diào)過程,上面需要的程序如下:CJNZA,#7M1M2:MOVR2,#20MOVR1,#40輸出M1:C,M2CJNZA,#15N1N2:移動R0,#30MOVR1,#30輸出N1:C,N2移動R0,#40MOVR1,#20輸出:CLRR5CLRR6RET...4.3.7去抖程序另外,在按鍵計數(shù)的過程中,機械抖動和軟件之間還有一個矛盾,就是當(dāng)程序檢測到某個按鍵被按下時,它會計數(shù)一次,但實際上按鍵關(guān)閉后,會在顯微鏡下彈起,然后關(guān)閉,直到達到穩(wěn)定。顯然,后續(xù)的彈射是無效的。為了避免程序中出現(xiàn)這個問題,可以在檢測到第一次關(guān)閉時調(diào)用延遲一定時間的程序。這里延遲程序完全由軟件完成,利用程序執(zhí)行一條指令的時間,加上兩次累加和遞減嵌套,程序如下:延遲:MOVR2,#14HA1:MOVR7,#0FFHDJNZR2,$DJNZR7,A1RET4.4源程序H_REDBITP2.1;定義IO口H_GREEN位P2.2H_YELLOW位P2.3L_REDBITP2.4L_GREEN位P2.5L_YELLOW位P2.6;主程序,選擇設(shè)置紅綠燈時間模式或自動調(diào)整模式組織機構(gòu)0000HLJMP主組織機構(gòu)0003H;中斷入口LJMPINT0組織機構(gòu)0030H主要:MOVR3,#20;用于嵌套50ms軟件方法計時1s移動R0,#20;預(yù)設(shè)紅綠燈時間MOVR1,#20CLREX0K1:MOVC,P3.7;等待檢測按下了哪個模式按鈕ANLC,P3.2C、K1JNBP3.7,F(xiàn);按F鍵進入自動模式,進入掃描K2:JNBP3.2,S;按S鍵并等待計數(shù)SJMPK2F:LCALL延遲移動R0,#30MOVR1,#30設(shè)定00HSETBEASETBEX1SJMP開始S:LCALL延遲CJNZR0,#40,V1移動R0,#20V1:增量R0JNBP0.1,$JNBP3.6,J;J鍵按下并等待計數(shù)SJMPK2J:LCALL延遲CJNZR1,#40,V2MOVR1,#20V2:INCR1JNBP3.6,$JNBP3.7,開始;設(shè)置后設(shè)置時間模式,進入掃描JNBP3.6,JMOVP2,#0DDH;預(yù)設(shè)信號狀態(tài)、時間和方向移動R4,R0SETB01HSETBEX0;程序啟動,每50ms掃描一次開始:移動TMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HCLRTF0SETBTR0;開始50ms計時DJNZR3,是的;1s是否超時MOVR3,#20DJNZR4,Y;此狀態(tài)是否結(jié)束,并設(shè)置下一個狀態(tài)MOVA,P2CJNZA,#0DDH,D1MOVP2,#BDHMOVR4,#5D1:CJNZA、BDH、D2MOVP2,#EDH移動R4,R1CLR01HD2:CJNZA,#EDH,D3MOVP2,#E7HMOVR4,#5JNB00H,D3本地調(diào)用數(shù)據(jù)D3:CJNZA,#E7H,YMOVR2,#DDH移動R4,R0SETB01HY:MOVA,R4;LED倒計時顯示移動B,#10DIVA,B暴民DPTR,#LEDMAPMOVCA,A+DPTRMOVP1,A移動A,BMOVCA,A+DPTRMOVP0,ALEDMAP:DBC0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90HJNB00H,等待;判斷是否統(tǒng)計流量P3.3,等待;判斷一輛車是否經(jīng)過等待:JNBTF0,等待;50ms掃描完成一次SJMP開始INT1:JNB01H,U;判斷車輛的方向INCR5U:INCR6視網(wǎng)膜病變INT0:SETBP3.4;中斷服務(wù)子程序、紅燈或急停按鈕P3.7,$本地呼叫延遲CLRP3.4視網(wǎng)膜病變數(shù)據(jù):MOVA,R6;交通流量數(shù)據(jù)處理和紅綠燈時間調(diào)整MOVB,R0MUA,BMOVR6,AMOVA,R5MOVB,R1MUA,B移動B,#10MUA,BMOVB,R6DIVA,BCJNZA,#7M1M2:MOVR2,#20MOVR1,#40輸出M1:C,M2CJNZA,#15N1N2:移動R0,#30MOVR1,#30輸出N1:C,N2移動R0,#40MOVR1,#20輸出:CLRR5CLRR6RET延遲:MOVR2,#14H;延遲程序,用于按鍵去抖動A1:MOVR7,#0FFHDJNZR2,$DJNZR7,A1RET結(jié)尾程序中的一些端口說明:P2狀態(tài)燈P0LED一位P1LED十位P3.7F鍵自動調(diào)整模式/時間設(shè)定模式確認P3.2S鍵設(shè)置南北走時P3.6J鍵設(shè)置東西行車時間/緊急停車P3.3流量檢測P3.2紅外對管P3.4蜂鳴器R3為乘以50ms和計時1s節(jié)省20R4臨時狀態(tài)燈持續(xù)時間R0存儲南北旅行時間R1存儲東西行程時間R5測量南北方向的交通流量R6測量東西向的交通流量R2、R7用于軟件延遲00H自控標(biāo)志位01H車輛方向標(biāo)志4.5系統(tǒng)軟件調(diào)試4.5.1TKS模擬器模擬這個概念其實用的很廣,終極意義就是用可控的手段來模擬真實的情況。單片機系統(tǒng)開發(fā)中的仿真包括軟件仿真和硬件仿真。這種軟件模擬方法主要是利用計算機軟件來模擬單片機的實際運行,因此模擬一個獨立于硬件的系統(tǒng)具有一定的優(yōu)勢。用戶無需搭建硬件電路來驗證程序,特別適用于算法繁重的程序。軟件仿真的缺點是不能完全仿真硬件相關(guān)的部分,所以最終的設(shè)計必須通過硬件仿真來完成;硬件仿真使用附加硬件來代替用戶系統(tǒng)的微控制器,完成微控制器的全部或大部分功能。使用附加硬件后,用戶可以控制程序的運行,如單步、全速、查看資源斷點等。4.5.2集成開發(fā)環(huán)境KEILKEILIDEVision2集成開發(fā)環(huán)境主要由以下幾部分組成:◆uVision2IDE。ision2IDE包括:項目管理器、功能豐富的編輯器選項設(shè)置構(gòu)建工具,帶有交互式錯誤提示和在線幫助。使用vision2創(chuàng)建源文件并編寫應(yīng)用程序項目來管理它們。vision2可以自動完成編譯匯編程序的操作;◆C51編譯器和A51匯編器。Vision2IDE創(chuàng)建的源文件可以由C51編譯器或A51匯編器處理以生成可重定位的目標(biāo)文件。KEILC51編譯器根據(jù)ANSIC語言標(biāo)準支持C語言的所有標(biāo)準特性,還增加了幾個可以直接支持80C

溫馨提示

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

評論

0/150

提交評論