基于at89c51單片機的交通燈設(shè)計畢業(yè)論文_第1頁
已閱讀1頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  廣東交通職業(yè)技術(shù)學(xué)院</p><p><b>  畢業(yè)論文</b></p><p>  題目: 基于AT89C51單片機的交通燈設(shè)計 </p><p>  學(xué)院: 計算機工程學(xué)院 </p><p>  專業(yè): 交通安全與智能控制 </p&

2、gt;<p>  學(xué)生姓名: 鐘文標(biāo) </p><p>  指導(dǎo)教師: 曹成濤 </p><p>  開題日期 2010 年 09 月 02 日</p><p>  設(shè)計期限 2010 年 09 月 02 日起 2010

3、 年 10 月 10 日止</p><p>  答辯日期 2010  年 10 月  21 日</p><p>  廣東交通職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)指導(dǎo)教師評語</p><p>  廣東交通職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)答辯評語</p><p>  基于AT89C51單片機的交通燈設(shè)計</p><p>&l

4、t;b>  摘 要:</b></p><p>  本系統(tǒng)采用美國ATMEL公司生產(chǎn)的單片機AT89S51,以及其它芯片來設(shè)計交通燈控制器。本方案為了簡化對路口的操作,采取了四相位對稱(不對稱)放行的方式進行控制。實現(xiàn)了通過AT89S51芯片的P0口和P2口中的P2.0-P2.4口控制數(shù)碼管的顯示功能,用P1口控制紅、綠、黃燈點亮的功能及上電時通過P1口中的P1.0-P1.4口接按鍵實現(xiàn)方案選擇

5、功能。用P1口和P3.0-P3.1、P3.6-P3.7模擬路口紅綠燈情況并及人行道紅綠燈情況。使用外部中斷進入修改參數(shù)狀態(tài)和緊急狀態(tài),修改參數(shù)使用P1.4-P1.7(按鍵分別是相位選擇,加一,減一及確定修改功能)。系統(tǒng)實用性強、操作簡單、擴展性好。</p><p>  關(guān)鍵詞:AT89C51、單片機、交通信號燈</p><p><b>  Abstract:</b>&

6、lt;/p><p>  The system used by the U.S. company ATMEL microcontroller AT89S51, as well as other chips to design traffic light control. To simplify the program's operation of intersection, take a four-phase

7、symmetric (asymmetric) controlled release manner. Achieved through the AT89S51 chip port P0 and P2 in the mouth of the P2.0-P2.4 port to control the digital tube display, with the P1 port to control the red, green and ye

8、llow light on the function and power through the mouth of the P1 P1 .0-P1 .4 port acce</p><p>  Keywords: AT89C51, single-chip, traffic lights</p><p><b>  目錄</b></p><p>

9、<b>  第一章 引言1</b></p><p>  第二章 交通管理方案論證3</p><p>  2.1 設(shè)計任務(wù)3</p><p>  2.2 方案介紹3</p><p>  2.2.1 方案1設(shè)計思想4</p><p>  2.2.2 方案2 設(shè)計思想5</p>

10、<p>  2.2.3 方案比較6</p><p>  第三章 交通燈系統(tǒng)硬件設(shè)計7</p><p>  3.1 單片機概述7</p><p>  3.2 系統(tǒng)構(gòu)成8</p><p>  3.3芯片選擇與介紹9</p><p>  3.3.1 AT89S51芯片9</p>&l

11、t;p>  3.3.2 交通燈控制線路圖12</p><p>  第四章 交通燈軟件設(shè)計15</p><p>  4.1 程序設(shè)計流程圖15</p><p>  4.2延時的設(shè)定20</p><p>  4.2.1 計數(shù)器初值計算20</p><p>  4.2.2 相應(yīng)程序代碼21</p

12、><p>  4.3 程序的主控制循環(huán)調(diào)用22</p><p>  4.4 方案選擇子函數(shù)23</p><p>  4.5 修改時間子函數(shù)23</p><p>  4.6 對現(xiàn)有程序的擴充24</p><p>  第五章 實驗平臺26</p><p>  5.1實驗平臺26</p

13、><p>  5.2實驗步驟27</p><p>  5.2.1 編寫程序代碼27</p><p>  5.2.2 按照系統(tǒng)硬件連線圖連接好系統(tǒng)并調(diào)試28</p><p>  5.3實驗遇到的問題,解決方法及結(jié)果28</p><p>  5.3.1 實驗問題28</p><p>  5.3

14、.2 實驗問題的解決28</p><p>  5.3.3 實驗結(jié)果(請看硬件演示)29</p><p>  第六章 總結(jié)與展望30</p><p>  第七章 致謝31</p><p>  第八章 參考文獻32</p><p>  第九章 程序?qū)崿F(xiàn)代碼33</p><p>&

15、lt;b>  第一章 引言</b></p><p>  今天,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。</p><p>  1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的

16、廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩塊以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。</p><p>  1914年,電氣啟動的紅綠燈出現(xiàn)在美國。這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。</p><p>  1918年,又出現(xiàn)了帶控制的

17、紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,當(dāng)車輛接近時,紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下喇叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。</p><p>  信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯

18、效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。</p><p&

19、gt;  隨著經(jīng)濟的發(fā)展,交通運輸中出現(xiàn)了一些傳統(tǒng)方法難以解決的問題。道路擁擠現(xiàn)象日趨嚴(yán)重,造成的經(jīng)濟損失越來越大,并一直保持大比例的增長?,F(xiàn)在交通系統(tǒng)已不能滿足經(jīng)濟發(fā)展的需求。由于生活水平的提高,人們對交通運輸?shù)陌踩约胺?wù)水平提出了更高的要求。在交通中管理引入單片機交通燈控制代替交管人員在交叉路口服務(wù),有助于提高交通運輸?shù)陌踩浴⑻岣呓煌ü芾淼姆?wù)質(zhì)量。并在一定程度上盡可能的降低由道路擁擠造成的經(jīng)濟損失,同時也減小了工作人員的勞動強

20、度。 </p><p>  中國車輛數(shù)量不斷增加,交通控制在未來的交通管理中起著越來越重要的作用。智能交通燈的管理比重修一條馬路無論在經(jīng)濟、交通運行速率上都有很好的效益、更加節(jié)約資源。使交管人員有更多的精力投入到管理整個城市交通控制,帶來更大的經(jīng)濟和社會效益,為創(chuàng)造美好的城市交通形象發(fā)揮更多的作用。</p><p>  第二章

21、 交通管理方案論證</p><p><b>  2.1 設(shè)計任務(wù)</b></p><p>  南北(A)、東西(B)兩干道交于一個十字路口,各干道有一組綠、黃、紅、左轉(zhuǎn)綠四個指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。紅燈的設(shè)計時間為相對相位的綠+左轉(zhuǎn)綠+2個黃燈時間,南北綠燈為60秒、南北左轉(zhuǎn)綠燈為30秒、東西綠燈為45秒、東西左轉(zhuǎn)綠燈為20秒,

22、。設(shè)A道和B道的車流量不相同,A為主干道,B為次干道。</p><p><b>  2.2 方案介紹</b></p><p>  把設(shè)計任務(wù)細化為八個狀態(tài),其對應(yīng)狀態(tài):如圖2-1</p><p>  圖2-1 狀態(tài)轉(zhuǎn)換圖</p><p>  整個交通燈控制由八個狀態(tài)組成,可以用程序設(shè)計實現(xiàn),也可用時序邏輯實現(xiàn).以下方案

23、就是分別用了這兩種方法。</p><p>  2.2.1 方案1設(shè)計思想</p><p>  采用分模塊設(shè)計的思想,程序設(shè)計實現(xiàn)的基本思想是一個計數(shù)器 , 選擇一個單片機,其內(nèi)部為一個計數(shù),是十六進制計數(shù)器,模塊化后,通過設(shè)置或程序清除來實現(xiàn)狀態(tài)的轉(zhuǎn)換, 由于每一個模塊的計數(shù)都不是相同, 這里的各模塊是以預(yù)置數(shù)和計數(shù)器計數(shù)共同來實現(xiàn)的,所以要考慮增加一個置數(shù)模塊,其主要功能細分為,對不同的

24、狀態(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ù)表如:表2-1</p><p>  表2-1 置數(shù)表</p><p>  由該表,就可以通過程序循環(huán)的方法設(shè)計該模塊,主要思想是通過數(shù)據(jù)判斷指令、

25、跳轉(zhuǎn)指令實現(xiàn),由主控制器計時和中斷產(chǎn)生的狀態(tài)去判斷是否定時達到1秒,從而得到不同的輸出,即預(yù)置數(shù),由上分析可用一個計數(shù)器和跳轉(zhuǎn)指令去完成的預(yù)置數(shù)。</p><p>  而紅綠燈的顯示也是一樣,由狀態(tài)分析可以得出紅綠燈的變化表如:表2-2</p><p>  表2-2 紅綠燈變化表</p><p>  通過這張表就可以用單片機及其他必要的元器件實現(xiàn)功能。本方案采用模

26、塊化編程,編程代碼可以重復(fù)調(diào)用,編碼冗余低,占用空間比一體化(匯編)編程占用空間小,可讀性高,修改容易。但由于本方案的數(shù)碼管顯示部分沒有采用鎖存芯片,而是與I/O口直接連通,對于后面的修改模塊編程有一定難度。</p><p>  2.2.2 方案2設(shè)計思想</p><p>  狀態(tài)轉(zhuǎn)換表如:表2-3</p><p>  表2-3 狀態(tài)轉(zhuǎn)換表</p>

27、<p><b>  本方案介紹:</b></p><p>  本方案是用匯編語言編寫,具有較強的時序性,精度高,適合在時序要求高的場合使用。但用匯編編寫有明顯的不足,它具有高耦合性,使閱讀和修改有一定難度,對于初學(xué)者更是難以弄懂,更不符合現(xiàn)代的編程低耦合高內(nèi)聚要求。</p><p>  2.2.3 方案比較</p><p>  方案1

28、(以下稱1)用了內(nèi)部定時器及模塊化設(shè)計,而方案2(以下稱2)采用的是一體化(匯編)設(shè)計,相比之下1有較強的可讀性和較強的可修改性,而2則在設(shè)計上顯得較簡單,設(shè)計純樸,便于測試,它的優(yōu)勢則在于提供了一條較為便捷的解決方案,而1體現(xiàn)了極限編程的思想。</p><p>  我們從中可以得出的是,我們最終的設(shè)計應(yīng)該盡量使用內(nèi)部定時器及模塊化設(shè)計。對工程設(shè)計人員來說,將來的產(chǎn)品無論從修改還是升級考慮對有好處,但另外我們又需

29、將設(shè)計簡單化,因此我覺得在設(shè)計初期盡可能的簡單化設(shè)計,而一旦設(shè)計的各項測試通過了,在有可能的條件下將設(shè)計模塊化,所以本設(shè)計以第一方案為主進行。 </p><p>  第三章 交通燈系統(tǒng)硬件設(shè)計</p><p><b>  3.1 單片機概述</b></p><p>  單片機是由運算器、控制器、存儲器、輸入設(shè)備以及輸出設(shè)備共五個基本部分組成的。

30、單片機是把包括運算器、控制器、少量的存儲器、最基本的輸入輸出口電路、串行口電路、中斷和定時電路等都集成在一個尺寸有限的芯片上。</p><p>  通常,單片機由單個集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。</p><p>  單片機經(jīng)過1、2、3、4代的發(fā)展,目前單

31、片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引腳的多功能化,以及低電壓、低功耗。</p><p>  目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子

32、寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。它主要是作為控制部分的核心部件。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用與智能化控制的科學(xué)家、工程師。</p><p>  51單片機是對目前所有兼容Intel 8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是Intel的8031單片機,后來隨著Flash rom技術(shù)的發(fā)展,8031單片機取得了長足的進展,成為目前應(yīng)用

33、最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。目前很多公司都有51系列的兼容機型推出,在目前乃至今后很長的一段時間內(nèi)將占有大量市場。51單片機是基礎(chǔ)入門的一個單片機,還是應(yīng)用最廣泛的一種。需要注意的是52系列的單片機一般不具備自編程能力。所以本系統(tǒng)基于這些原因而選用AT89S51芯片來設(shè)計這個交通信號燈系統(tǒng)。</p><p><b>  3.2 系統(tǒng)構(gòu)成

34、</b></p><p>  XL400開發(fā)板一塊,發(fā)光二極管16個(都是紅色的),一塊萬能板,一條跳線,一條數(shù)據(jù)下載線。</p><p>  系統(tǒng)結(jié)構(gòu)框圖如:圖3-1</p><p>  圖3-1 系統(tǒng)結(jié)構(gòu)框圖</p><p><b>  系統(tǒng)各部分工作:</b></p><p> 

35、 (1)程序設(shè)置初始時間,通過AT89S51單片機內(nèi)部相應(yīng)寄存器來實現(xiàn)。</p><p>  (2) 由AT89S51單片機的定時器每秒鐘通過P0口及P2.0-P2.4口向數(shù)碼管送信息,顯示紅、綠、黃燈的點亮?xí)r間情況;由AT89S51的P1口顯示每個燈的點亮情況。</p><p>  (3) AT89S51通過程序設(shè)置各個信號燈的點亮?xí)r間,通過程序設(shè)置南北方向的綠、左轉(zhuǎn)綠時間依次為60秒、

36、30秒,東西方向的綠、左轉(zhuǎn)綠時間依次為45秒、25秒,紅燈時間為各對稱相位的放行時間之和。</p><p>  (4)通過AT89S51單片機的P3口來控制系統(tǒng)是工作。其中P3.2和P3.1控制修改功能和特殊狀態(tài)。</p><p>  3.3芯片選擇與介紹</p><p>  3.3.1 AT89S51芯片</p><p>  選用的AT8

37、9S51與同系列的AT89C51在功能上有明顯的提高,最突出是的可以實現(xiàn)在線的編程。用于實現(xiàn)系統(tǒng)的總的控制。其主要功能列舉如下:</p><p>  1、為一般控制應(yīng)用的 8 位單片機</p><p>  2、晶片內(nèi)部具有時鐘振蕩器(傳統(tǒng)最高工作頻率可至 33MHz)</p><p>  3、內(nèi)部程式存儲器(ROM)為 4KB</p><p>

38、;  4、內(nèi)部數(shù)據(jù)存儲器(RAM)為 128B</p><p>  5、外部程序存儲器可擴充至 64KB</p><p>  6、外部數(shù)據(jù)存儲器可擴充至 64KB</p><p>  7、32 條雙向輸入輸出線,且每條均 可以單獨做 I/O 的控制</p><p>  8、5 個中斷向量源</p><p>  9、2

39、 組獨立的 16 位定時器</p><p>  10、1 個全雙工串行通信端口</p><p>  11、8751 及 8752 單芯片具有數(shù)據(jù)保密的功能</p><p>  12、單芯片提供位邏輯運算指令</p><p>  AT89S51各引腳功能介紹:如圖3-2</p><p>  圖3-2 AT89S51

40、</p><p>  VCC:ATAT89S51 電源正端輸入,接+5V。</p><p><b>  VSS:電源地端。</b></p><p>  XTAL1:單芯片系統(tǒng)時鐘的反向放大器輸入端。</p><p>  XTAL2:系統(tǒng)時鐘的反向放大器輸出端,一般在設(shè)計上只要在 XTAL1 和 XTAL2 上接上一只石英

41、振蕩晶體系統(tǒng)就可以動作了,此外可以在兩個引腳與地之間加入一個 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定, 避免噪聲干擾而死機。 </p><p>  RESET:AT89S51的重置引腳,高電平動作,當(dāng)要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機器周期以上的時間,AT89S51便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),

42、并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。</p><p>  EA/Vpp:"EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部EPROM中)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因為其內(nèi)部無程序存儲器空間。如果是使用 8751 內(nèi)部程序

43、空間時,此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時,可以利用此引腳來輸入21V的燒錄高壓(Vpp)。</p><p>  ALE/PROG:ALE是英文"Address Latch Enable"的縮寫,表示地址鎖存器啟用信號。ATAT89S51可以利用這個引腳來觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進鎖存器中,因為ATAT89S

44、51是以多工的方式送出地址及數(shù)據(jù)。平時在程序執(zhí)行時ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動其他周邊晶片的時基輸入。此外在燒錄8751程序代碼時,此引腳會被當(dāng)成程序規(guī)劃的特殊功能來使用。</p><p>  PSEN:此為"Program Store Enable"的縮寫,其意為程序儲存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(EA=0),會送出此信號以便取得程序

45、代碼,通常這支腳是接到EPROM的OE腳。ATAT89S51可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲器與程序存儲器可以合并在一起而共用64K的定址范圍。</p><p>  PORT0(P0.0~P0.7):端口0是一個8位寬的開路電極(Open Drain)雙向輸出入端口,共有8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有

46、此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)作I/O用時可以推動8個LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(即取用外部程序代碼或數(shù)據(jù)存儲器),P0就以多工方式提供地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)。設(shè)計者必須外加一個鎖存器將端口0送出的地址鎖住成為A0~A7,再配合端口2所送出的A8~A15合成一組完整的16位地址總線,而定位地址到64K的外部存儲器空間。</p><p>  PORT2(P2.0~

47、P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個引腳可以推動4個LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時,此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)作一般I/O端口使用外,若是在ATAT89S51擴充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)A8~A15,這個時候P2便不能當(dāng)作I/O來使用了。</p><p>  PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端

48、口,其輸出緩沖器可以推動4個LS TTL負(fù)載,同樣地,若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)作定時器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)引腳。</p><p>  PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個TTL負(fù)載,同時還多工具有其他的額外特殊功能,包括串

49、行通信、外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?lt;/p><p><b>  其引腳分配如下:</b></p><p>  P3.0:RXD,串行通信輸入。</p><p>  P3.1:TXD,串行通信輸出。</p><p>  P3.2:INT0,外部中斷0輸入。</p>

50、<p>  P3.3:INT1,外部中斷1輸入。</p><p>  P3.4:T0,計時計數(shù)器0輸入。</p><p>  P3.5:T1,計時計數(shù)器1輸入。</p><p>  P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。</p><p>  P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。</p><p>  

51、3.3.2 交通燈控制線路圖 </p><p>  (1)交通信號燈控制器主模塊: 如圖3-3</p><p>  圖3-3 交通信號燈控制器主模塊</p><p>  (2)交通信號燈模塊: 如圖3-4</p><p>  圖3-4 交通信號燈模塊</p><p&

52、gt;  (3)人行道信號燈模塊: 如圖3-5</p><p>  圖3-5 人行道信號燈模塊</p><p> ?。?)方案選擇模塊: 如圖3-6</p><p>  圖3-6 方案選擇模塊</p><p>  (5)參數(shù)修改模塊: 如圖3-7</p><p>  圖3-7 參數(shù)修改模塊</p>

53、;<p>  第四章 交通燈軟件設(shè)計</p><p>  4.1 程序設(shè)計流程圖</p><p>  (1) 程序設(shè)計總框圖:如圖4-1</p><p>  圖4-1 程序設(shè)計框圖</p><p>  (2)程序總體流程圖:如圖4-2</p><p>  圖4-2程序總體流程圖</p>

54、<p>  (3)方案執(zhí)行程序總體流程圖:如圖4-3</p><p>  圖4-3 方案執(zhí)行程序總體流程圖</p><p> ?。?)執(zhí)行顯示子函數(shù)及燈的狀態(tài)的具體流程圖:圖4-4</p><p>  圖4-4 執(zhí)行顯示子函數(shù)及燈的狀態(tài)的具體流程圖</p><p>  (5)中斷后修改參數(shù)的具體流程圖:圖4-5</p>

55、;<p>  圖4-5外部中斷0后修改參數(shù)的具體流程圖</p><p>  (6)外部中斷1后緊急狀態(tài)的具體流程圖:圖4-6</p><p>  圖4-6外部中斷1后緊急狀態(tài)的具體流程圖</p><p><b>  流程圖說明:</b></p><p>  圖中定時器在每50ms中斷一下,設(shè)置為循環(huán)20

56、次(此時為1秒),每1秒以后,R0,R1自動減1。</p><p>  程序中的判斷在相等情況下從右邊出,不相同的情況往下走。</p><p><b>  4.2延時的設(shè)定</b></p><p>  延時方法可以有兩種一種是利用AT89S51內(nèi)部定時器的溢出中斷來確定1秒的時間,另一種是采用軟件延時的方法。</p><p&

57、gt;  4.2.1 計數(shù)器初值計算</p><p>  定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通式:</p><p><b>  TC=M-C</b></p><p> 

58、 式中,M為計數(shù)器模值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為213 ;在方式1時M的值為216;在方式2和3為28 ; </p><p><b>  算法公式:</b></p><p>  T=(M-TC)T計數(shù) 或TC=M-T/T計數(shù)</p><p>  T計數(shù)是單片機時鐘周期TCLK的12倍;TC為定時初值</p>&

59、lt;p>  如單片機的主脈沖頻率為TCLK12MHZ ,經(jīng)過12分頻</p><p>  方式0    TMAX=213 ×1微秒=8.192毫秒</p><p>  方式1    TMAX=216 ×1微秒=65.536毫秒</p><p>  顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個

60、問題.</p><p><b>  實現(xiàn)1秒的方法:</b></p><p>  我們采用在主程序中設(shè)定一個初值為0的軟件計數(shù)器和使T1定時50毫秒。這樣每當(dāng)T1到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器加11,然后判斷它是否等于20。為20表示1秒已到可以返回到輸出時間顯示程序。</p>

61、<p>  4.2.2 相應(yīng)程序代碼</p><p> ?。?)定時器的設(shè)置 </p><p>  定時器需定時50毫秒,故T0工作于方式1?!?lt;/p><p>  初值計算: TC=M-T/T計數(shù) =216-50ms/1us=15536=3CBOH</p><p>  TH0=(65536-50000)/256;</p&

62、gt;<p>  TL0=(65536-50000)%256;</p><p><b> ?。?)初始化函數(shù)</b></p><p>  void init()</p><p><b>  {</b></p><p>  TMOD=0x01;//確定定時器0的工作方式為工作

63、方式1</p><p>  TH0=(65536-50000)/256;//裝入定時器0初始值,高八位</p><p>  TL0=(65536-50000)%256; //裝入定時器0初始值,低八位</p><p>  EA=1;//開總中斷</p><p>  EX0=1;//開外部中斷0</p&

64、gt;<p>  EX1=1;//開外部中斷0</p><p>  ET0=1;//開外部定時器中斷1 </p><p>  TR0=1;//定時器1開始工作</p><p>  IT0=0;//外部中斷0低電平觸發(fā)</p><p>  //IT1=0;//

65、外部中斷0低電平觸發(fā)</p><p><b>  }</b></p><p> ?。?)相應(yīng)定時器0中斷服務(wù)子程序</p><p>  void timer0()interrupt 1</p><p><b>  {</b></p><p>  p++;

66、//用于定時的計數(shù),實現(xiàn)1S的定時</p><p>  TH0=(65536-50000)/256;//重新裝初始值</p><p>  TL0=(65536-50000)%256;</p><p><b>  }</b></p><p><b>  程序的軟件延時:</b></p&g

67、t;<p>  AT89S51的工作頻率為0—33MHZ,我們選用的AT89S51單片機的工作頻率為12MHZ。機器周期與主頻有關(guān),機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/12M)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。</p><p>  具體的延時程序分析:</p><p>  void delay

68、(uint z)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b> 

69、 }</b></p><p>  delay為一個雙重循環(huán),精確到1ms</p><p>  延時1秒,只需要調(diào)用delay(1000)就能實現(xiàn)。</p><p>  由于單片機的運行速度很快其他的指令執(zhí)行時間可以忽略不計。</p><p>  4.3 程序的主控制循環(huán)調(diào)用</p><p><b>

70、;  代碼如下:</b></p><p>  void main()//主函數(shù)</p><p><b>  {</b></p><p>  init();//初始化硬件</p><p>  g_time_ns_ok=60;//設(shè)置南北綠燈時間為60秒</

71、p><p>  gl_time_ns_ok=30;//設(shè)置南北左轉(zhuǎn)綠燈時間為30秒</p><p>  g_time_we_ok=45;//設(shè)置東西綠燈時間為45秒</p><p>  gl_time_we_ok=20;//設(shè)置東西左轉(zhuǎn)綠燈時間為20秒</p><p>  r_time_we=g_time_

72、ns+y_time*2+gl_time_ns;//計算東西方向的紅燈時間</p><p>  while(p<60)//上電后的三秒時間用于掃描按鍵,確定選用方案,沒有鍵按下就執(zhí)行默認(rèn)方案</p><p><b>  {</b></p><p>  //key_secn();//掃描按鍵,用于方案選擇&l

73、t;/p><p>  fun_select();//方案選擇</p><p><b>  }</b></p><p>  while(1)//執(zhí)行循環(huán)</p><p><b>  {</b></p><p>  y_time=4;//

74、設(shè)置黃燈時間為4-1=3秒,因為黃燈沒有跳到0S,就轉(zhuǎn)變狀態(tài)了,這里作了一個處理</p><p>  g_time_ns=g_time_ns_ok;//賦值</p><p>  gl_time_ns=gl_time_ns_ok;</p><p>  g_time_we=g_time_we_ok;</p><p>  gl_time_w

75、e=gl_time_we_ok;</p><p>  r_time_we=g_time_ns+y_time*2+gl_time_ns-3;//計算東西紅燈時間</p><p>  r_time_ns=g_time_we+y_time*2+gl_time_we-3 ;//計算南北紅燈時間</p><p>  ns_display(g_time_ns,y_t

76、ime,gl_time_ns,y_time,r_time_we);//調(diào)用南北顯示函數(shù),這里默認(rèn)南北方向為主相位</p><p>  we_display(g_time_we,y_time,gl_time_we,y_time,r_time_ns);//調(diào)用東西顯示函數(shù),這里默認(rèn)東西方向為次相位</p><p><b>  }</b></p>&l

77、t;p><b>  }</b></p><p>  4.4 方案選擇子函數(shù)</p><p>  void fun_select()</p><p><b>  {</b></p><p>  if(key_select1==0)//按鍵一按下,選擇方案一</p>&l

78、t;p><b>  {</b></p><p>  g_time_ns_ok=55;</p><p>  gl_time_ns_ok=30;</p><p>  g_time_we_ok=35;</p><p>  gl_time_we_ok=25;</p><p><b>  }

79、</b></p><p>  if(key_select2==0)//按鍵二按下,選擇方案二</p><p><b>  {</b></p><p>  g_time_ns_ok=50;</p><p>  gl_time_ns_ok=25;</p><p>  g_tim

80、e_we_ok=30;</p><p>  gl_time_we_ok=15;</p><p><b>  }</b></p><p>  if(key_select3==0)//按鍵三按下,選擇方案三</p><p><b>  {</b></p><p>  

81、g_time_ns_ok=40;</p><p>  gl_time_ns_ok=15;</p><p>  g_time_we_ok=55;</p><p>  gl_time_we_ok=20;</p><p><b>  }</b></p><p>  if(key_select4==0)

82、//按鍵四按下,選擇方案四</p><p><b>  {</b></p><p>  g_time_ns_ok=35;</p><p>  gl_time_ns_ok=20;</p><p>  g_time_we_ok=25;</p><p>  gl_time_we_ok=15;&

83、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p>  4.5 修改時間子函數(shù)</p><p>  void int0_int()interrupt 0</p><p>  //void key_secn()</p>

84、<p><b>  {</b></p><p>  ns_shi=1;//關(guān)閉數(shù)碼管顯示</p><p>  ns_ge=1;//關(guān)閉數(shù)碼管顯示</p><p>  we_shi=1;//關(guān)閉數(shù)碼管顯示</p><p>  we_ge=1;//關(guān)閉數(shù)碼管顯示

85、</p><p>  if(key_select==0)//判斷key_select是否按下</p><p><b>  {</b></p><p>  delay(10);//延時10ms,用于消抖</p><p>  if(key_select==0)//再次判斷key_select是否按下&l

86、t;/p><p>  delay(10);//延時10ms,用于消抖</p><p>  if(key_select==1)//松手檢測</p><p><b>  {</b></p><p>  delay(10);//延時10ms,用于消抖</p><p>  if(key_s

87、elect==1)</p><p><b>  {</b></p><p>  delay(10);</p><p>  count++;//計數(shù),用于確定修改那個相位的時間參數(shù)</p><p>  if(count>4)//超過所有相位后,清0</p><p><b>

88、  count=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(count==1)// key_select按了一次,選擇方案一</p&g

89、t;<p><b>  {</b></p><p>  change_ns_gtime();//方案一的函數(shù)</p><p><b>  }</b></p><p>  if(count==2)// key_select按了兩次,選擇方案二</p><p><b

90、>  {</b></p><p>  change_ns_gltime();//方案二的函數(shù)</p><p><b>  }</b></p><p>  if(count==3)// key_select按了三次,選擇方案三</p><p><b>  {</b>

91、</p><p>  change_we_gtime();//方案三的函數(shù)</p><p><b>  }</b></p><p>  if(count==4)// key_select按了四次,選擇方案四</p><p><b>  {</b></p><p&g

92、t;  change_we_gltime();//方案四的函數(shù)</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.6 對現(xiàn)有程序的擴充 </p><p>  當(dāng)由于緊急需要對道路進行長時間通行時,就要保持該道路更長時間的通行。下面以南北方向

93、為例進行緊急通行為例,主要實現(xiàn)黃閃警告及主干道通行。</p><p><b>  代碼如下:</b></p><p>  void int1_int()interrupt 2</p><p><b>  {</b></p><p>  P0=table[0];</p><p&g

94、t;<b>  ns_shi=0;</b></p><p><b>  ns_ge=0;</b></p><p><b>  we_shi=0;</b></p><p><b>  we_ge=0;</b></p><p>  ns_g_sig=0;<

95、;/p><p>  we_r_sig=0;</p><p>  delay(500);</p><p>  ns_g_sig=~ns_g_sig;</p><p>  ns_shi=~ns_shi;</p><p>  ns_ge=~ns_ge;</p><p>  we_shi=~we_shi;&

96、lt;/p><p>  we_ge=~we_ge;</p><p>  we_r_sig=~we_r_sig;</p><p>  delay(500);</p><p><b>  } </b></p><p><b>  第五章 實驗平臺</b></p>&l

97、t;p><b>  5.1實驗平臺</b></p><p>  我們采用的是Keil Software生產(chǎn)的Cx51編譯器。運行在Windows XP操作平臺下。 </p><p>  開啟計算機進入Keil C51編譯器介面。如圖5-1</p><p>  (1) Keil C51編譯器介面:如圖5-1</p><p

98、>  圖5-1 Keil C51編譯器介面</p><p> ?。?)加入需要編譯的文件:如圖5-2</p><p>  圖5-2 加入需要編譯的文件</p><p>  (3)編譯、連接的文件:如圖5-3</p><p>  圖5-3 編譯、連接的文件(提示無錯誤,無警告)</p><p>  (3)生

99、成十六進制文件:如圖5-4</p><p>  圖5-4 生成十六進制文件</p><p><b>  5.2實驗步驟</b></p><p>  5.2.1 編寫程序代碼</p><p>  程序代碼分為6個模塊:中斷修改模塊,中斷緊急情況模塊,主函數(shù)模塊,顯示模塊,交通信號燈模塊,算法模塊。(見程序?qū)崿F(xiàn)代碼)&l

100、t;/p><p>  5.2.2 按照系統(tǒng)硬件連線圖連接好系統(tǒng)并調(diào)試</p><p><b> ?。保{(diào)試程序</b></p><p>  ⑴ 打開Keil軟件,新建工程;</p><p><b> ?、?選擇芯片;</b></p><p> ?、?新建文檔,把編寫好代碼寫入文檔

101、并保存了C文件; </p><p>  ⑷ 把保存的文檔加載到Source Group;</p><p><b>  ⑸編譯程序;</b></p><p>  ⑹設(shè)置轉(zhuǎn)換成16進制;</p><p><b> ?、诉\行程序的結(jié)果;</b></p><p>  2. 把編譯好的

102、16進制文件(紅綠燈控制器.hex) 輸入單片機AT89S51仿真器和對其進行初始化。</p><p>  3.給實驗板進行通電,觀察運行結(jié)果,不一致則跳到第一步進行反復(fù)調(diào)試,直到與預(yù)定目的一致。</p><p>  5.3實驗遇到的問題,解決方法及結(jié)果</p><p>  5.3.1 實驗問題</p><p> ?。?)數(shù)值在顯示是出現(xiàn)跳動

103、或閃爍現(xiàn)象;</p><p> ?。?)多個數(shù)值如何顯示;</p><p>  (3)相位如何同步;</p><p> ?。?)顯示數(shù)值時,如何更改顯示時間</p><p>  5.3.2 實驗問題的解決</p><p> ?。?)數(shù)值顯示時出現(xiàn)跳動或閃爍現(xiàn)象時因為沒有相對的硬件,例如鎖存器等。但一般動態(tài)掃描超過8個數(shù)

104、碼管才會出現(xiàn)閃爍問題,而本系統(tǒng)只有4個數(shù)碼管,所以可以排除是硬件的問題,通過仔細閱讀和調(diào)試代碼,發(fā)現(xiàn)原來的代碼中的刷新率太低才會出現(xiàn)閃爍現(xiàn)象,而通過提高刷新率了就能解決這個問題。</p><p> ?。?)對于對個數(shù)值的顯示,我采用了動態(tài)掃描的方法。通過定時器0定時50ms,在通過標(biāo)志來達到1S的準(zhǔn)確定時及邏輯處理就能解決多個數(shù)值的顯示問題。</p><p>  (3)對于相位的同步,我從

105、實驗中得出了一個相位的紅燈時間=另一相位的綠燈+左轉(zhuǎn)綠+2個黃燈時間。通過計算紅燈時間就能很好的解決相位的同步問題。</p><p> ?。?)對于參數(shù)的修改,我通過外部中斷處理和定義變量就能很好的解決參數(shù)的修改問題。</p><p>  5.3.3 實驗結(jié)果(請看硬件演示)</p><p>  第六章 總結(jié)與展望</p><p>  本系

106、統(tǒng)采用美國ATMEL公司生產(chǎn)的單片機AT89S51,以及其它芯片來設(shè)計交通燈控制。本方案為了簡化對路口的操作,采取了四相位對稱(不對稱)放行的方式進行控制。實現(xiàn)了通過AT89S51芯片的P0口和P2口中的P2.0-P2.4口控制數(shù)碼管的顯示功能,用P1口控制紅、綠、黃燈點亮的功能及上電時按鍵通過P1口中的P1.0-P1.4口實現(xiàn)方案選擇功能。采用P1口和P3.0-P3.1、P3.6-P3.7模擬路紅紅綠燈情況并通過中斷進入修改參數(shù)狀態(tài)和

107、緊急狀態(tài),修改參數(shù)使用P1.4-P1.7(按鍵分別是相位選擇,加一,減一及確定修改功能)。系統(tǒng)實用性強、操作簡單、擴展性好。</p><p>  系統(tǒng)不足:時間設(shè)定中沒有綠燈閃爍時間,此外,還沒有充分考慮的把現(xiàn)代管理、人工智能運用到交通的控制中,來計算交通控制點之間的距離,來更合理的安排紅、綠燈的持續(xù)時間,使城市的交通管理更加人性化。使人們遠離目前的交通擁塞的現(xiàn)象。其次是代碼較長及重復(fù),沒有考慮到代碼的優(yōu)化問題,

108、如果代碼規(guī)模繼續(xù)增大或功能繼續(xù)添加可能會使系統(tǒng)不能很好的運行起來。再者就是修改時間參數(shù)的問題,因為硬件上的限制,修改參數(shù)時數(shù)碼管并不能一直點亮,同時按鍵有時會產(chǎn)生失靈現(xiàn)象,這樣的現(xiàn)象可以說得上是功能上的缺陷,但受限與硬件,并沒有更好的、通過軟件來彌補的辦法。</p><p><b>  第七章 致謝</b></p><p>  隨著交通信號燈系統(tǒng)的完成,我的大學(xué)生涯

109、也隨著已近尾聲,回望這兩年的學(xué)習(xí)生涯,腦海中浮現(xiàn)了生活和學(xué)習(xí)中的點點滴滴,都將隨著收入我的腦海,我將做好準(zhǔn)備,走入社會,實現(xiàn)自己的價值。</p><p>  在曹成濤博士的精心指導(dǎo)和嚴(yán)格要求下,我順利地完成了這次畢業(yè)設(shè)計。在此我非常感謝曹成濤博士的嚴(yán)格要求,讓我改掉平時做事不嚴(yán)謹(jǐn)?shù)淖黠L(fēng),同時我也獲得了豐富的理論知識,極大地提高了實踐能力,并對當(dāng)前電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,這對我今后進一步學(xué)習(xí)嵌入

110、式方面的知識有極大的幫助。另外,我還十分感謝周志方、林曉輝、李少偉等多位老師。周志方老師是我編程的啟蒙老師,他精美絕倫的編程風(fēng)格深深地吸引著我,承蒙他的指引讓我在學(xué)習(xí)上少走了很多彎路。在此,我忠心感謝單片機組的其它同學(xué)以及應(yīng)用系各位老師的指導(dǎo)和支持。在未來的工作和學(xué)習(xí)中,我將以更好的成績來回報各位領(lǐng)導(dǎo)、老師和同學(xué)。</p><p><b>  第八章 參考文獻</b></p>

111、<p>  [1]胡漢才 單片機原理及其接口技術(shù) [M] 清華大學(xué)出版,1996</p><p>  [2]蔡美琴 MCS-51系列單片機系統(tǒng)及其應(yīng)用 高等教育出版社 2004.2</p><p>  [3]付家才 單片機控制工程實踐技術(shù)[M] 化學(xué)工業(yè)出版社,2004.5</p><p>  [4]潘新民 微型計算機控制技術(shù) [M]

112、 人民郵電出版社,1999.9</p><p>  [5]余錫存 單片機原理及接口技術(shù)[M] 西安電子科技大學(xué)出版社,2000.7</p><p>  [6]雷麗文 等.微機原理與接口技術(shù)[M] 電子工業(yè)出版社,1997.2</p><p>  [7]蔣萬君 在論循環(huán)時序電路的簡便設(shè)計[J] 機電一體化,2005 第5期</p>&

113、lt;p>  [8]周立功 增強型80C51單片機速成與實戰(zhàn) 北京航空航天大學(xué)出版社2004.5</p><p>  [9]何立民 單片機應(yīng)用技術(shù)選編⑩ 北京航空航天大學(xué)出版社 2004.3</p><p>  [10]何立民 單片機應(yīng)用技術(shù)選編⑨ 北京航空航天大學(xué)出版社 2004.3</p><p>  [11]何立民 MCS-51系列單片機

114、應(yīng)用系統(tǒng)設(shè)計 北京航空航天大學(xué)出版社, 1995.</p><p>  [12]李華 MCS -51系列單片機實用接口技術(shù)[M] 北京航空航天大學(xué)出版社,1993</p><p>  [13]周航慈 單片機應(yīng)用程序設(shè)計技術(shù)[M] 北京航空航天大學(xué)出版社,1991.</p><p>  [14]張志良等 單片機原理與控制技術(shù)[M] 機械工業(yè)出版社,

115、2001 年7 月第1 版</p><p>  [15]陸坤 電子設(shè)計技術(shù)1 電子科技大學(xué)出版社, 1997</p><p>  [16]梁文海 單片機AT89C2051構(gòu)成的智能型頻率計[J] 現(xiàn)代電子技術(shù),2002 </p><p>  [17]謝自美 電子線路設(shè)計·實驗·測試[M] 華中理工大學(xué)出版社,2001&

116、lt;/p><p>  [18]吳金戎,沈慶陽 8051單片機實踐與應(yīng)用 [M] 清華大學(xué)出版社, 2003.</p><p>  第九章 程序?qū)崿F(xiàn)代碼</p><p>  /*---------------------------------------------------------------------------</p><

117、p>  1、(南北直行綠燈(小于3秒時綠閃),東西紅燈-->南北人行道綠燈,東西人行道紅燈</p><p>  2、(南北直行黃燈(小于3秒時黃閃),東西紅燈-->南北人行道紅燈,東西人行道紅燈</p><p>  3、(南北左轉(zhuǎn)綠燈(小于3秒時綠閃),東西紅燈-->南北人行道紅燈,東西人行道紅燈</p><p>  4、(南北左轉(zhuǎn)黃燈

118、(小于3秒時黃閃),東西紅燈-->南北人行道紅燈,東西人行道紅燈</p><p>  5、(南北紅燈,東西直行綠燈(小于3秒時綠閃)-->南北人行道紅燈,東西人行道綠燈</p><p>  6、(南北紅燈,東西直行黃燈(小于3秒時黃閃)-->南北人行道紅燈,東西人行道紅燈</p><p>  7、(南北紅燈,東西左轉(zhuǎn)綠燈(小于3秒時綠閃)--&

119、gt;南北人行道紅燈,東西人行道紅燈</p><p>  8、(南北紅燈,東西左轉(zhuǎn)黃燈(小于3秒時黃閃)-->南北人行道紅燈,東西人行道紅燈</p><p>  9、全紅3秒-->南北人行道紅燈,東西人行道紅燈</p><p>  g_time_ns y_time gl_time_ns r_time_we1=g_ti

120、me_ns+y_time*2+gl_time </p><p>  g_time_we gl_time_we r_time_ns1=g_time_we+y_time*2+gl_time_we </p><p>  ------------------------------------------------------------------------------*/&l

121、t;/p><p>  #include <reg52.h>//包含52芯片的文件頭,可改為reg51.h,區(qū)別在于寄存器的多少</p><p>  #include<intrins.h></p><p>  #define uint unsigned int</p><p>  #define uchar

溫馨提示

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

評論

0/150

提交評論