2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢 業(yè) 設 計</b></p><p>  基于單片機的智能交通燈控制系統(tǒng)設計</p><p>  系 別:電子與電氣工程系 </p><p>  專 業(yè):電子信息工程 </p><p>  班 級:

2、 </p><p>  學 號: </p><p>  學生姓名: </p><p>  指導教師:xx 職稱:副教授 </p><p>  2012年5月31日</p><p><b

3、>  教務處制</b></p><p>  基于單片機的智能交通燈控制系統(tǒng)設計</p><p><b>  摘要</b></p><p>  交通控制系統(tǒng)是近現(xiàn)代社會隨著物流、出行等交通發(fā)展產(chǎn)生的一套獨特的公共管理系統(tǒng)。要保證高效安全的交通秩序,除了制定一系列的交通規(guī)則,還必須通過一定的科技手段加以實現(xiàn)。本文在對目前交通控制進

4、行深入分析的基礎上,運用檢測傳感、實時調(diào)整智能化控制的實現(xiàn)技術,將傳感器監(jiān)測、實時調(diào)整車輛通行時間的算法與單片機控制作用相結(jié)合,提出了基于單片機的交通控制系統(tǒng)設計方案。 </p><p>  8051單片機的交通燈控制系統(tǒng)由8051單片機、交通燈顯示、LED倒計時、車流量檢測及調(diào)整、違規(guī)檢測、緊急處理、時間模式手動設置等模塊組成。系統(tǒng)除基本交通燈功能外,還具有通行時間手動設置、可倒計時顯示、急車強行通過、車流量檢

5、測及調(diào)整、交通異常狀況判別及處理等相關功能。理論證明該系統(tǒng)能夠簡單、經(jīng)濟、有效地疏導交通,提高交通路口的通行能力。 </p><p>  本設計主要做了如下幾方面的工作:一是確定系統(tǒng)交通控制的總體設計,包括,十字路口具體的通行禁行方案設計以及系統(tǒng)應擁有的各項功能,二是進行傳感器的硬件電路、顯示電路等的設計和基本功能要求。</p><p>  關鍵詞:交通控制;傳感檢測;AT89C51/AT

6、89S51;恒流二極管;倒計時顯示</p><p>  Based on single chip microcomputer intelligent traffic control system design</p><p><b>  ABSTRACT</b></p><p>  Traffic control system is a mod

7、ern society with logistics, travel etc of traffic development a unique set of public management system. To ensure the effective safety traffic, except for a series of traffic rules, still must through certain technologic

8、al means to achieve. Based on analysis of traffic control, based on real-time detection sensor, adjust the implementation technology of intelligent control, real-time monitoring, sensor adjust vehicles time algorithm and

9、 single-chip microcomputer co</p><p>  The 8051 microcontroller control system consists of the traffic lights display, 8051 monolithic integrated circuits, and LED the countdown, traffic violation detection,

10、 emergency adjustment, manual mode, time as modules. In addition to the basic traffic function outside, still have time to manually set, can pass the countdown, car that forced through traffic, inspection and </p>

11、<p>  adjustment, transportation and processing abnormal discriminant functions. Theory shows that the system can simple, economic and effective relieves traffic, improve the crossroads capacity. </p><p&

12、gt;  This design mainly do the following aspects: one is the work of the traffic control system design, including the crossroads, specific design and system should be restricted with each function, two is that the sensor

13、, the hardware circuit design of the circuit and the basic function and requirement.</p><p>  Key words: traffic control;sensing detection; AT89C51/AT89S51;display and countdown</p><p><b>

14、  目 錄</b></p><p><b>  1 前言1</b></p><p>  1.1 單片機交通控制系統(tǒng)的選題背景和現(xiàn)實意義1</p><p>  1.2 國內(nèi)外研究現(xiàn)狀及其發(fā)展2</p><p>  1.3 交通控制存在的問題2</p><p>  1.4 單片機

15、交通控制系統(tǒng)主要研究的內(nèi)容3</p><p>  2 單片機交通控制系統(tǒng)總體設計4</p><p>  2.1 單片機交通控制系統(tǒng)的通行方案設計(共設計了兩套模型)4</p><p>  2.2 單片機交通控制系統(tǒng)的功能要求5</p><p>  2.2.1 倒計時顯示5</p><p>  2.2.2 車流

16、量檢測及調(diào)整5</p><p>  2.2.3緊急處理6</p><p>  2.3 單片機交通控制系統(tǒng)的基本構(gòu)成及原理6</p><p>  3 系統(tǒng)硬件電路的設計7</p><p>  3.1 AT89C51單片機簡介7</p><p>  3.1.1 AT89C51單片機的主要特性7</p>

17、;<p>  3.1.2 主要引腳功能8</p><p>  3.1.3 MCS—51的中斷源11</p><p>  3.2 系統(tǒng)硬件總電路構(gòu)成11</p><p>  3.3 系統(tǒng)電路其它硬件介紹12</p><p>  3.3.1 八段LED數(shù)碼管12</p><p>  3.3.2 步

18、進電機13</p><p>  3.3.3 ULN200314</p><p>  3.3.4 車流量檢測電路15</p><p>  4 系統(tǒng)軟件程序的設計16</p><p>  4.1 程序主體設計功能16</p><p>  4.2 定時器原理17</p><p>  4.3

19、 最終模擬仿真結(jié)果17</p><p><b>  結(jié)論19</b></p><p><b>  參考文獻20</b></p><p><b>  附錄21</b></p><p><b>  致謝32</b></p><p&

20、gt;<b>  1 前言</b></p><p>  1.1 單片機交通控制系統(tǒng)的選題背景和現(xiàn)實意義</p><p>  英國工程師納伊特于1868年,在倫敦某街口安裝了第一臺煤油驅(qū)動的紅綠兩色“交通信號燈”,控制交叉路口馬車的通行。1914年,美國的芝加哥和紐約出現(xiàn)了電力驅(qū)動的交通信號燈,其功能已經(jīng)與現(xiàn)在的信號燈相差無幾。到了1926年,第一個利用自動化的控制器實

21、現(xiàn)信號控制的交通燈,在英國首次出現(xiàn)和使用,標志著城市交通進入了自動控制的階段。 </p><p>  20世紀30年代,車輛感應式信號控制器在美國、英國等發(fā)達國家出現(xiàn),以氣動橡皮管作為檢測器的主要材料。車輛感應控制器的特點是:能根據(jù)測量所得的交通流量,調(diào)整綠燈時間的長短,使綠燈時間更有效地被利用,減少車輛在交叉口的時間延誤,其靈活性大大增強。在此基礎上,雷達、光電、微波、環(huán)形線圈以及紅外等檢測器相繼問世。當今在

22、道路交通自動控制、監(jiān)測、數(shù)據(jù)采集系統(tǒng)中,環(huán)形線圈車輛檢測器應用最為廣泛。在美國、日本等發(fā)達國家,超聲波檢測器也逐步應用。 </p><p>  計算機技術的出現(xiàn),實現(xiàn)了以一個城市或者更大地域的交通總體控制系統(tǒng)。加拿大多倫多市在1964年建立了一套由IBM650型計算機控制的交通信號協(xié)調(diào)控制系統(tǒng),成為世界上首個利用計算機實現(xiàn)城市交通自動控制的城市,使得道路交通控制技術的發(fā)展達到了一個新的高度。 </p>

23、<p>  道路交通信號控制系統(tǒng)在其近百年的發(fā)展歷程中,經(jīng)歷了固定配時到靈活配時,手動到自動,單點控制到干線控制,無感應控制到有感應控制,區(qū)域控制到網(wǎng)絡控制等幾個階段。 </p><p>  交通關系著人們對于財產(chǎn),安全和時間相關的利益。具有優(yōu)良科學的交通控制技術對資源物流和人們出行都是十分有價值的,因此交通控制技術的研究和發(fā)展有著非常重要的現(xiàn)實意義。</p><p>  1

24、.2 國內(nèi)外研究現(xiàn)狀及其發(fā)展 </p><p>  當前世界廣泛使用的、最具代表性的城市道路交通信號控制系統(tǒng)有英國的TRANSYT與SCOOTS交通控制系統(tǒng)和澳大利亞的SCATS系統(tǒng)。目前美國的許多大學和研制機構(gòu),都在研制自適應交通信號控制系統(tǒng),其中美國亞利桑那大學研制的RHODES最具代表性。</p><p>  我國交通領域的發(fā)展起步比較晚,基本是從新中國建國之后,隨著各方面的條件的成

25、熟以及社會發(fā)展的要求,才建立及健全交通系統(tǒng)的。城市交通是一個高度綜合而又復雜的問題,必須從政策,機構(gòu),體質(zhì),管理,收費價格,基礎設施和投資各個方面同時入手解決。我國城市經(jīng)濟和社會的高速發(fā)展使得社會對交通的需求急劇增加,也對此提出了嚴峻的挑戰(zhàn)。因此我國城市發(fā)展的規(guī)劃,建設以及運行,在廣泛借鑒和吸取國外先進經(jīng)驗的基礎上應當建立并完善適合我國國情的城市交通系統(tǒng)。</p><p>  1.3 交通控制存在的問題 <

26、/p><p>  隨著我國經(jīng)濟的快速發(fā)展,汽車數(shù)量也在迅速的猛增,大中型城市的城市交通,正面臨著嚴峻的考驗,從而導致交通問題日益嚴重,其主要表現(xiàn)如下:交通事故頻發(fā),對人類生命安全造成極大威脅;交通擁堵嚴重,導致出行時間增加,能源消耗加大;空氣污染和噪聲污染程度日益加深等。日常的交通堵塞成為人們司空見慣而又不得不忍受的問題,在這種背景下,結(jié)合我國城市道路交通的實際情況,開發(fā)出真正適合我們自身特點的智能信號燈控制系統(tǒng)已經(jīng)

27、成為當前的主要任務。隨著電子技術的發(fā)展,利用單片機技術對交通燈進行智能化管理,已成為目前廣泛采用的方法。</p><p>  國內(nèi)的交通燈一般設在十字路門,主要采用紅、綠、黃三種顏色作為指示燈,再加上倒計時的顯示器來控制車輛的運行。對于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實際行車過程中出現(xiàn)的情況,還存在很多缺點,比如車道的車輛輪流放行時間相同且固定、沒有考慮特殊車輛(如救護車、消防車)通過時的應急措

28、施等。</p><p>  基于傳統(tǒng)交通燈控制系統(tǒng)設計過于死板,紅綠燈交替是間過于程式化的缺點,智能交通燈控制系統(tǒng)的設計就更顯示出了它的研究意義,它能根據(jù)道路交通擁護,交叉路口經(jīng)常出現(xiàn)擁堵的情況。利用單片機控制技術.提出了軟件和硬件設計方案,能夠?qū)崿F(xiàn)道路的最大通行效率。</p><p>  1.4 單片機交通控制系統(tǒng)主要研究的內(nèi)容 </p><p>  基于整個交通

29、控制系統(tǒng)的發(fā)展情況,本設計主要進行如下方面的研究:用智能,集成,且功能強大的單片機芯片為控制中心,設計出一套十字路口的交通控制系統(tǒng),以指揮該路口的實時通行狀態(tài)。 </p><p>  本設計主要做了如下幾方面的工作: </p><p>  一是確定系統(tǒng)交通控制的總體設計,包括,十字路口具體的通行禁行方案設計以及系統(tǒng)應擁有的各項功能,在這里,本設計除了有信號燈狀態(tài)控制能實現(xiàn)基本的交通功能,還

30、增加了倒計時顯示提示,基于實際情況,又要求了對車流量檢測及自調(diào)整模擬功能,違規(guī)檢測及處理,緊急狀況處理和鍵盤可設置等強大功能。 </p><p>  二是進行智能傳感器的硬件電路,顯示電路等的設計對各器件的選擇及連接,大體分配各個器件及模塊的基本功能要求。 </p><p>  三是進行軟硬件系統(tǒng)的設計,對于本系統(tǒng),本人采用單片機C語言程序編寫和proteus硬件模擬仿真,對單片機內(nèi)部結(jié)構(gòu)

31、和工作情況做了充足的研究,了解定時器,中斷以及延時原理,總體上完成了軟件的編寫和硬件的模擬仿真。</p><p>  2 單片機交通控制系統(tǒng)總體設計</p><p>  2.1 單片機交通控制系統(tǒng)的通行方案設計(共設計了兩套模型)</p><p>  本次設計中,共設計了兩種交通模型,并可根據(jù)客觀需求進行切換。</p><p><b&g

32、t;  交通燈模型一:</b></p><p>  圖2.1(交通燈模型一)</p><p><b>  交通燈模型二:</b></p><p>  圖2.2(交通燈模型二)</p><p>  2.2 單片機交通控制系統(tǒng)的功能要求</p><p>  本設計能模擬基本的交通控制系統(tǒng),

33、用紅綠黃燈表示禁行,通行和等待的信號發(fā)生,還能進行倒計時顯示,車流量檢測及調(diào)整,交通違規(guī)處理和緊急處理等功能。 </p><p>  2.2.1 倒計時顯示 </p><p>  倒計時顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時間、在“停止”和“通過”兩者間作出合適的選擇。駕駛員和行人普遍都愿意選擇有倒計時顯示的信號控制方式,并且認為有倒計時顯示的路口更安全。倒計時顯示是用來減少駕駛員在信

34、號燈色改變的關鍵時刻做出復雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時間,幫助駕駛員在“停止”和“通過”兩者間作出合適的選擇 。 </p><p>  2.2.2 車流量檢測及調(diào)整 </p><p>  隨著我國經(jīng)濟建設的蓬勃發(fā)展,城市人口和機動車擁有量在急劇增長,交通流量日益加大,交通擁擠堵塞現(xiàn)象日趨嚴重,交通事故時有發(fā)生。車輛檢測器作 為智能交通系統(tǒng)的基本組成部分,在智能交通系統(tǒng)

35、中占有重要的地位?,F(xiàn)階段,車輛檢測器檢測方式有很多,各有其優(yōu)缺點,如紅外線檢測器、地磁檢測器、機械壓電檢測器,磁頻檢測器、波頻檢測器、視頻檢測器等。一般車流量檢測器采用傳感器+單片機+外圍器件來實現(xiàn)。 而且,目前國內(nèi)使用的紅綠燈都是固定的紅綠燈時間,并自動切換。紅燈時間和綠燈時間,是根據(jù)道口東西向和南北向的車流量,利用統(tǒng)計方法確定的。交通警察不斷觀察十字路口的兩個方向,根據(jù)車輛密度和流速決定是否切換紅綠燈,以保證最佳的道路交通控制狀態(tài)。

36、 </p><p>  2.2.3緊急處理 </p><p>  交通路口出現(xiàn)緊急狀況在所難免,如特大事件發(fā)生,救護車等急行車通過等,我們都必須盡量允許其暢通無阻,畢竟在這種情況下是分秒必爭的,時時刻刻關系著公共財產(chǎn)安全,個人生死攸關等。由此在交通控制中增設禁停按鍵,就可達到想此目的。 </p><p>  2.3 單片機交通控制系統(tǒng)的基本構(gòu)成及原理 </p&

37、gt;<p>  單片機設計交通燈控制系統(tǒng),可用單片機直接控制信號燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當然,接入LED數(shù)碼管就可以顯示倒計時以提醒行使者,更具人性化。本系統(tǒng)在此基礎上,加入了違規(guī)檢測電路和車流量檢測電路為單片機采集數(shù)據(jù),單片機對此進行具體處理,及時調(diào)整控制指揮,為了超越視覺指揮的局限性,同時接上蜂鳴器,在聽覺上加強了指揮提醒作用。</p><p>  圖2.3 系統(tǒng)的總體框圖

38、</p><p>  圖3.1 AT89C51系列單片機的內(nèi)部結(jié)構(gòu)示意圖</p><p>  3.1.2 主要引腳功能</p><p>  圖3.2 AT89C51引腳圖</p><p><b>  VCC:電源電壓</b></p><p><b>  GND:接地</b>

39、;</p><p>  P0口:P0口是一組8位雙向I/0口。P0口即可作地址/數(shù)據(jù)總線使用,又可以作為通用的I/O口使用。當CPU訪問片外存儲器時,P0口分時先作低8位地址總線,后作雙向數(shù)據(jù)總線,此時,P0口就不能再作I/O口使用了。在訪問期間激活要使用上拉電阻。</p><p>  P1口:Pl 是一個帶內(nèi)部上拉電阻的8準位雙向I/O口,P1作為通用的I/O口使用。</p>

40、<p>  P2 口:P2 是一個帶有內(nèi)部上拉電阻的8 位準雙向I/O 口,P2即可作為通用的I/O口使用,也可以作為片外存儲器的高8位地址總線,與P0口配合,組成16位片外存儲器單元地址。</p><p>  P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位準雙向I/0 口。P3 口除了作為通用的I/O口使用之外,每個引腳還具有第二功能,具體分配如表3.1</p><p>

41、  3.1.3 MCS—51的中斷源</p><p>  8051有5個中斷源,它們是兩個外中斷INT0(P3.2)和INT1(P3.3)、兩個片內(nèi)定時/計數(shù)器溢出中斷TF0和TF1,一個是片內(nèi)串行口中斷TI或RI,這幾個中斷源由TCON和SCON兩個特殊功能寄存器進行控制,其中5個中斷源的程序入口地址如表3.2所示:</p><p>  表3.2中斷源程序入口:</p>

42、<p>  3.2 系統(tǒng)硬件總電路構(gòu)成 </p><p>  本系統(tǒng)以單片機為核心,組成一個集車流量采集、處理、自動控制為一身的閉環(huán)控制系統(tǒng)。系統(tǒng)硬件電路由車流量檢測電路、單片機、違規(guī)檢測電路,狀態(tài)燈,LED顯示,按鍵,蜂鳴器組成。其具體的硬件電路總圖如圖3.3所示。</p><p>  圖3.3 總體設計電路圖</p><p>  其中P0用于送顯兩片L

43、ED數(shù)碼管(數(shù)碼管段控制),P2.0,P2.1用于控制數(shù)碼管位控制,P2.5,P2.6,P2.7用于控制紅綠黃發(fā)光二極管,P3.1,P3.2,P3.3,P3.4用于電機轉(zhuǎn)動控制XTAL1和XTAL2接入晶振時鐘電路,RESET引腳接上復位電路,P3.3即INT1接違規(guī)檢測電路和P3.2即INT0接緊停/東西時間設置鍵J,P1.1,P1.2接車流量檢測電路,P1.0交通意外緊急按鍵,P1.4 接蜂鳴器。P1.5交通燈模型1,P1.6交通燈

44、模型2,P1.7整個交通燈系統(tǒng)進行初始化,P1.3車輛闖紅燈。</p><p>  3.3 系統(tǒng)電路其它硬件介紹</p><p>  3.3.1 八段LED數(shù)碼管 </p><p>  LED(Light Emitting Diode),發(fā)光二極管,它是一種固態(tài)的半導體器件, </p><p>  可以直接把電轉(zhuǎn)化為光。LED的心臟是一個半導

45、體的晶片,晶片的一端是負極,另一端連接電源的正極,使整個晶片被環(huán)氧樹脂封裝起來。當電流通過導線作用于這個晶片的時候,電子和空穴就會被推向量子阱,在量子阱內(nèi)電子跟空穴復合,然后就會以光子的形式發(fā)出能量,這就是LED發(fā)光的原理。而光的波長也就是光的顏色,是由形成P-N結(jié)的材料決定的。 </p><p>  LED顯示屏作為大型顯示設備的一種,具有亮度高、價格低、壽命長、維護 </p><p>

46、  簡便等優(yōu)點。LED數(shù)碼管的結(jié)構(gòu)簡單,分為七段和八段兩種形式,也有共陽和共陰之分。以八段共陽管為例,它有8個發(fā)光二極管(比七段多一個發(fā)光二極管, 用來顯示sP,即點),每個發(fā)光二極管的陰極連在一起。這樣,一個LED數(shù)碼管就有1根位選線和8根段選線,要想顯示一個數(shù)值,就要分別對它們的高低電平來加以控制。為方便起見,本文主要討論共陽八段LED數(shù)碼顯示管,其他類形的顯示管與其類似。</p><p>  圖3.4 LE

47、D數(shù)碼管</p><p>  LED 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點亮而顯示不同的字形,如 dp,g,f,e,d,c,b,a全亮顯示為8,采用共陽極連接驅(qū)動代碼,代碼表如下表3.3所示。</p><p><b>  下所示:</b></p><p>  圖3.5步進電機原理示意圖</p><

48、p>  表3.4 四相雙四拍脈沖驅(qū)動表</p><p>  3.3.3 ULN2003</p><p>  ULN是集成達林頓管IC,內(nèi)部還集成了一個消線圈反電動勢的二極管,可用來驅(qū)動繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達林頓管組成驅(qū)動電路。ULN2003是一個非門電路,包含7個單元,但獨每個

49、單元驅(qū)動電流最大可達350mA.資料的最后有引用電路,9腳可以懸空。 比如1腳輸入,16腳輸出,你的負載接在VCC與16腳之間,不用9腳。</p><p>  ULN2003的作用:ULN2003是大電流驅(qū)動陣列, 可直接驅(qū)動繼電器等負載,多用于單片機等控制電路中。其具有工作電壓高、電流增益高、帶負載能力強、溫度范圍寬等特點,適應于要求高速大功率驅(qū)動的系統(tǒng)。</p><p>  4 系統(tǒng)軟

50、件程序的設計</p><p>  4.1 程序主體設計功能</p><p><b>  模型一主要功能:</b></p><p>  初始化時,東西南北電機轉(zhuǎn)動,分別控制各通道車輛的通行。</p><p>  初始化后,東方向紅燈亮60s,南方向綠燈亮20s,西方向紅燈亮20s,北方向紅燈亮40s;當南方向綠燈亮20s,

51、西方向紅燈亮20s后,南西方向電機轉(zhuǎn)動,南方向禁止通行,紅燈亮60s,西方向通道放行,綠燈亮20s。此時,東方向紅燈剩40s,北方向紅燈剩20s;當西方向綠燈亮20s,北方向紅燈亮20s后,西北方向電機轉(zhuǎn)動,西方向禁止通行,紅燈亮60s,北方向通道放行,綠燈亮20s。此時,東方向紅燈剩20s,南方向紅燈剩40s;當北方向綠燈亮20s,東方向紅燈亮20s后,北東方向電機轉(zhuǎn)動,北方向禁止通行,紅燈亮60s,東方向通道放行,綠燈亮20s。此時

52、,南方向紅燈剩20s,西向紅燈剩20s;如此依次循環(huán)(其模型見圖一)。</p><p>  當發(fā)生意外事故時,東西南北方向電機轉(zhuǎn)動,禁止各通道車輛通行,當事故處理完畢后,按初始化鍵重新開始工作。</p><p><b>  模型二主要功能:</b></p><p>  初始化時,東西南北電機轉(zhuǎn)動,分別控制各通道車輛的通行。</p>

53、<p>  初始化后,東西方向紅燈亮,南北方向綠燈亮。</p><p>  延遲30s后,東西南北電機轉(zhuǎn)動,分別控制各通道車輛的通行,完畢后,東西方向綠燈亮,南北方向紅燈亮。</p><p>  延遲30s后,東西南北電機轉(zhuǎn)動,分別控制各通道車輛的通行,完畢后,南北方向綠燈亮,東西方向紅燈亮。如此依次循環(huán)。</p><p>  當發(fā)生意外事故時,東西南北

54、方向電機轉(zhuǎn)動,禁止各通道車輛通行,當事故處理完畢后,按初始化鍵重新開始工作。</p><p>  當東西方向車流量較大時,可以增加東西方向綠燈的時間或減少東西方向紅燈的時間;當南北方向車流量較大時,可以增加南北方向綠燈的時間或減少南北方向紅燈的時間(其模型見圖2.2)。</p><p><b>  4.2 定時器原理</b></p><p> 

55、 定時器的實質(zhì)就是一個16位的加1計數(shù)器,對不同的脈沖源進行計數(shù),每來一個脈沖就進行加1計數(shù)。當加滿溢出時,就會向CPU發(fā)出中斷請求。對其送不同的初值,就可以改變加滿溢出的計數(shù)脈沖個數(shù)。因此,我們可以把計數(shù)器計滿溢出的值設定為M,初值設定為TC ,則計數(shù)值C=M-TC。計數(shù)值并不是目的,目的是時間值,設計1次的時間,即定時器計數(shù)脈沖的周期為T0,它是單片機系統(tǒng)主頻周期的12倍,設要求的時間值為T,則有C=T/T0。計算通式變?yōu)椋篢=(M

56、-TC)T0模值和計數(shù)器工作方式有關。在方式0時M為8192;在方式1時M的值為65536;在方式2和3為256。就此可以算出各種方式的最大延時。如單片機的主脈沖頻率為12MHZ,經(jīng)過12分頻后,若采用方式0最大延時只有8.129毫秒,采用方式1最大延時也只有65.536毫秒。這就是為什么掃描周期為50ms的原因,若使用軟件則會耽擱程序流程,顯然不可行。相反,時間計時方面卻不可能 只用計數(shù)器,因為顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,

57、所以我們還必須采用定時器和軟件相結(jié)合的辦法才能解決這個問題。</p><p>  4.3 最終模擬仿真結(jié)果</p><p><b>  結(jié)論</b></p><p>  交通燈控制在交通運輸領域有著非常重要的作用。本文完成了基于單片機的交通燈控制系統(tǒng)的設計與模擬。包括通行方案的設計,系統(tǒng)的硬件開發(fā)、軟件編程與仿真調(diào)試等。在論文完成過程中,主要做

58、的工作有: </p><p>  確定交通系統(tǒng)具體的通行方案,規(guī)定東西向和南北向車輛的行止狀態(tài)和時間分配,以及要求其他多功能的實現(xiàn)。 </p><p>  以ATMEL公司的AT89C51單片機為核心進行系統(tǒng)硬件設計,輸入包括:車流量,按鍵狀態(tài)和違規(guī)處理;輸出控制交通信號燈亮滅狀態(tài)及時間,以及LED數(shù)碼管倒計時顯示。 </p><p>  在車流量檢測系統(tǒng)中采用模糊

59、控制方法,這需要知道被控對象的數(shù)學模型,進行清晰化,具體化。因此,必須實施調(diào)查確定車流量少,中,多所要求的具體數(shù)量,然后經(jīng)過單片機控制器的相關算法及處理確定紅綠燈亮滅時間。</p><p><b>  參考文獻</b></p><p>  【1】張毅坤.單片微型計算機原理及應用.西安電子科技大學出版社,1998.</p><p>  【2】雷麗

60、文.微機原理與接口技術.電子工業(yè)出版社,1997 </p><p>  【3】李鴻恩,熊國奎.數(shù)字電子技術.重慶大學出版社,1994 </p><p>  【4】吳黎明, 王桂棠,洪添勝,等.單片機原理及應用技術.科學出版社,2005. </p><p>  【5】韓克,柳秀山,等電子技能與EDA 技術.暨南大學出版社, 2004. </p><

61、p>  【6】張毅坤.單片微型計算機原理及應用.西安電子科技大學出版社,1998 </p><p>  【7】胡宴如.模擬電子技術.高等教育出版社,2004 </p><p>  【8】房小翠.單片機實用系統(tǒng)設計技術.國防工業(yè)出版社,1999</p><p>  【9】付家才.單片機控制工程實踐技術.化學工業(yè)出版社,2004</p><p&

62、gt;  【10】潘新民.微型計算機控制技術.人民郵電出版社,1999</p><p>  【11】]曹國華.單片機原理及接口技術.西安電子科技大學出版社,2004</p><p>  【12】吳仲城.傳感器的發(fā)展方向-網(wǎng)絡化智能傳感器.電子技術應用,2001</p><p>  【13】彭介華.電子技術課程設計指導.高等教育出版社,1997</p>

63、<p>  【14】胡漢才.單片機原理及接口技術.清華大學出版社,1996</p><p>  【15】RD.Middlebrook, Small-Signal Modeling of Pulse-Width Modulated Switched-Mode PowerConverters,Proceedings of the IEEE,1988. </p><p><b&g

64、t;  附錄</b></p><p><b>  本設計程序代碼:</b></p><p>  #include <AT89X51.H></p><p>  #define unint unsigned int</p><p>  #define unchar unsigned char</

65、p><p>  int redTime,greenTime,shi,ge,model_run_flag=1;</p><p>  unint displayflag,motorflag,soundflag=0,time1_count_1s,</p><p>  time1_count_3s,time2_count_1s,time2_count_100ms,i;</

66、p><p>  unint trafficModel=0,changeRedTime=29,changeGreenTime=30;</p><p>  unchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,</p><p>  0x80,0x90};</p><p>  unch

67、ar code F_Rotation[4]={0x0c,0x18,0x12,0x06};//雙向通電正轉(zhuǎn)表格</p><p>  unchar code R_Rotation[4]={0x12,0x18,0x0c,0x06};//雙向通電反轉(zhuǎn)表格</p><p>  void delay(unint z);</p><p>  void init();</p&

68、gt;<p>  void init2();</p><p>  void run();</p><p>  void run2();</p><p>  void display_run(unint display,unchar shi,unchar ge);</p><p>  void main()</p>

69、<p><b>  { </b></p><p><b>  while(1){</b></p><p>  if(trafficModel==0){</p><p><b>  init();</b></p><p>  while(model_run_flag)

70、</p><p><b>  { </b></p><p><b>  run();</b></p><p><b>  }</b></p><p>  }else if(trafficModel==1){</p><p><b>  in

71、it2(); </b></p><p>  while(!model_run_flag){</p><p><b>  run2();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>&

72、lt;b>  }</b></p><p><b>  }</b></p><p>  void run(){</p><p>  if(P1_0==0){</p><p><b>  P2_5=1;</b></p><p><b>  P2_6=0

73、;</b></p><p><b>  P2_7=0;</b></p><p><b>  P0=0xff;</b></p><p><b>  ET0=0;</b></p><p>  time2_count_1s=0;</p><p> 

74、 motorflag=1;</p><p>  while(P1_7){</p><p>  if(time2_count_1s>=20){</p><p>  motorflag=0;</p><p><b>  }</b></p><p><b>  }</b>&l

75、t;/p><p><b>  }</b></p><p>  if(P1_6==0){</p><p><b>  ET0=0;</b></p><p>  time1_count_1s=0;</p><p>  time2_count_1s=0;</p><

76、p><b>  i=0;</b></p><p>  trafficModel=1;</p><p>  model_run_flag =0;</p><p><b>  return;</b></p><p><b>  }</b></p><p&g

77、t;  if(P1_7==0||P1_5==0){</p><p><b>  ET0=0;</b></p><p>  time1_count_1s=0;</p><p>  time2_count_1s=0;</p><p><b>  i=0;</b></p><p>

78、<b>  init();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  display_run(displayflag,shi,ge);</p><p>  if(redTime<0&&a

79、mp;greenTime<0){</p><p>  redTime=59;</p><p>  greenTime=20;</p><p>  shi=redTime/10;</p><p>  ge=redTime%10;</p><p>  motorflag=0;</p><p>

80、  displayflag=1;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void run2(){</p><p>  if(P1_0==0){</p><p><b>  P2_5=1;</b>

81、;</p><p><b>  P2_6=0;</b></p><p><b>  P2_7=0;</b></p><p><b>  P0=0xff;</b></p><p><b>  ET0=0;</b></p><p>  

82、time2_count_1s=0;</p><p>  motorflag=1;</p><p>  while(P1_7){</p><p>  if(time2_count_1s>=20){</p><p>  motorflag=0;</p><p><b>  }</b></p

83、><p><b>  } </b></p><p><b>  }</b></p><p>  if(P1_1==0){</p><p>  if(changeRedTime>10&&changeGreenTime<=50){</p><p>  if

84、(redTime>5){</p><p>  redTime=redTime-5;</p><p>  changeRedTime=changeRedTime-5;</p><p>  }else if(redTime<0&&greenTime>0){</p><p>  greenTime=greenTim

85、e+5;</p><p>  changeGreenTime=changeGreenTime+5;</p><p><b>  }</b></p><p><b>  }</b></p><p>  while(!P1_1){}</p><p><b>  }<

86、;/b></p><p>  if(P1_2==0){</p><p>  if(changeRedTime>10&&changeGreenTime<=50){</p><p>  if(redTime>0){</p><p>  redTime=redTime+5;</p><p&

87、gt;  changeRedTime=changeRedTime+5;</p><p>  }else if(redTime<0&&greenTime>5){</p><p>  greenTime=greenTime-5;</p><p>  changeGreenTime=changeGreenTime-5;</p>&

88、lt;p><b>  }</b></p><p><b>  }</b></p><p>  while(!P1_2){}</p><p><b>  }</b></p><p>  if(P1_5==0){</p><p><b>  

89、ET0=0;</b></p><p>  time1_count_1s=0;</p><p>  time2_count_1s=0;</p><p><b>  i=0;</b></p><p>  trafficModel=0;</p><p>  model_run_flag =1

90、;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(P1_7==0||P1_6==0){</p><p><b>  ET0=0;</b></p><p>  time1_count_

91、1s=0;</p><p>  time2_count_1s=0;</p><p><b>  i=0;</b></p><p><b>  init2();</b></p><p><b>  return;</b></p><p><b>

92、  }</b></p><p>  display_run(displayflag,shi,ge);</p><p>  if(redTime<0&&greenTime<0){</p><p>  redTime=changeRedTime;</p><p>  greenTime=changeGree

93、nTime;</p><p>  shi=redTime/10;</p><p>  ge=redTime%10;</p><p>  motorflag=0;</p><p>  displayflag=1;</p><p><b>  }</b></p><p><

94、;b>  }</b></p><p>  void display_run(unint display,unchar shi,unchar ge)</p><p><b>  { </b></p><p>  if(display==1){</p><p>  if(redTime>0){<

95、/p><p><b>  P2_5=1;</b></p><p><b>  P2_6=0;</b></p><p>  if(redTime<=5){</p><p>  P2_7=~P2_7;</p><p><b>  }else{</b><

96、;/p><p><b>  P2_7=0;</b></p><p><b>  }</b></p><p>  if(shi==0){ P0=0xff;}</p><p>  else{P0=table[shi];}</p><p><b>  P2_0=1;</

97、b></p><p><b>  delay(1);</b></p><p><b>  P2_0=0;</b></p><p>  P0=table[ge];</p><p><b>  P2_1=1;</b></p><p><b>

98、  delay(1);</b></p><p><b>  P2_1=0;</b></p><p>  if(P1_3==0){</p><p>  soundflag=1;</p><p><b>  }</b></p><p>  }else if(redTi

99、me==0){</p><p><b>  P0=0xff;</b></p><p><b>  P2_0=1; </b></p><p><b>  P2_1=1;</b></p><p>  motorflag=2;</p><p><b>

100、;  }else{</b></p><p>  displayflag=2;</p><p>  motorflag=0; </p><p><b>  }</b></p><p>  }else if(display==2){</p><p>  if(greenTime>0)

101、{</p><p>  if(greenTime>5){P2_6=1;}</p><p>  else {P2_6=~P2_6;}</p><p><b>  P2_5=0;</b></p><p><b>  P2_7=0;</b></p><p>  if(shi=

102、=0){ P0=0xff;}</p><p>  else{P0=table[shi];}</p><p><b>  P2_0=1;</b></p><p><b>  delay(1);</b></p><p><b>  P2_0=0;</b></p>&l

103、t;p>  P0=table[ge];</p><p><b>  P2_1=1;</b></p><p><b>  delay(1);</b></p><p><b>  P2_1=0;</b></p><p>  }else if(greenTime==0){<

104、;/p><p><b>  P0=0xff;</b></p><p><b>  P2_0=1;</b></p><p><b>  P2_1=1;</b></p><p>  motorflag=1;</p><p><b>  }else{&l

105、t;/b></p><p>  displayflag=1;</p><p>  motorflag=0; </p><p><b>  }</b></p><p>  }else if(displayflag==0){</p><p>  motorflag=1;</p>

106、<p><b>  P2_5=0;</b></p><p><b>  P2_6=0;</b></p><p><b>  P2_7=1;</b></p><p>  if(time2_count_1s>=20){</p><p>  displayflag

107、=1;</p><p>  motorflag=0;</p><p><b>  ET0=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></

108、p><p>  void delay(unint z)</p><p><b>  {</b></p><p>  unint x,y;</p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p>

109、;<b>  }</b></p><p>  void init()</p><p><b>  { </b></p><p>  redTime=59;</p><p>  greenTime=20;</p><p>  shi=redTime/10;</p>

110、<p>  ge=redTime%10;</p><p>  displayflag=0;</p><p>  TMOD=0x11;</p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p>  TH1=(65536-

111、50000)/256;</p><p>  TL1=(65536-50000)%256;</p><p><b>  EA=1;</b></p><p><b>  TR0=1;</b></p><p><b>  ET1=1;</b></p><p>

112、;<b>  TR1=1;</b></p><p><b>  }</b></p><p>  void init2(){</p><p>  redTime=changeRedTime;</p><p>  greenTime=changeGreenTime;</p><p&g

113、t;  shi=redTime/10;</p><p>  ge=redTime%10;</p><p>  displayflag=0;</p><p>  TMOD=0x11;</p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;<

114、/p><p>  TH1=(65536-50000)/256;</p><p>  TL1=(65536-50000)%256;</p><p><b>  EA=1;</b></p><p><b>  TR0=1;</b></p><p><b>  ET1=1;

115、</b></p><p><b>  TR1=1;</b></p><p><b>  }</b></p><p>  void timer0() interrupt 1</p><p><b>  { </b></p><p>  TH0

116、=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p>  time1_count_1s++;</p><p>  if(time1_count_1s==20){ </p><p>  time1_count_1s=0;</p><p>  if(red

117、Time>=0){</p><p>  redTime--;</p><p>  shi=redTime/10;</p><p>  ge=redTime%10;</p><p><b>  }</b></p><p>  if(redTime<0&&greenTime

118、>=0){</p><p>  greenTime--;</p><p>  shi=greenTime/10;</p><p>  ge=greenTime%10;</p><p><b>  }</b></p><p><b>  }</b></p>

119、<p>  if(soundflag==1){</p><p>  P1_4=~P1_4; </p><p>  time1_count_3s++;</p><p>  if(time1_count_3s>=60){</p><p>  soundflag=0;</p><p>  time1_coun

120、t_3s=0;</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  }</b></p><p>  void timer1() interrupt 3</p><p><b> 

121、 { </b></p><p>  TH1=(65536-50000)/256;</p><p>  TL1=(65536-50000)%256;</p><p>  time2_count_100ms++;</p><p>  time2_count_1s++;</p><p>  if(time2_

122、count_100ms>=2){</p><p>  time2_count_100ms=0;</p><p>  if(motorflag==0){</p><p><b>  return;</b></p><p>  }else if(motorflag==1){</p><p>  

123、if(i>3){i=0;}</p><p>  P3=F_Rotation[i++]; </p><p>  }else if(motorflag==2){</p><p>  if(i>3){i=0;}</p><p>  P3=R_Rotation[i++];</p><p><b>  }&

124、lt;/b></p><p><b>  }</b></p><p><b>  致謝</b></p><p>  本論文是在各位老師指導下完成的。從論文選題到課題難點的解決,都給予了本人悉心地指導。老師的治學態(tài)度、專業(yè)造詣和敬業(yè)精神都使我收益非淺,在此,我向各位老師致以衷心的感謝! </p><

溫馨提示

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

評論

0/150

提交評論