版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p><b> 引 言2</b></p><p> 第1章 方案設(shè)計與論證3</p><p> 1.1 總體方案設(shè)計思想3</p><p
2、> 1.2 系統(tǒng)方案選擇與比較4</p><p> 1.2.1 控制模塊方案選擇4</p><p> 1.2.2 顯示模塊方案選擇4</p><p> 1.2.3 輸入模塊方案選擇4</p><p> 1.2.4 電源模塊方案選擇5</p><p> 1.3 系統(tǒng)總體方案論證5</p
3、><p> 第2章 系統(tǒng)硬件設(shè)計7</p><p> 2.1 總體設(shè)計及功能描述7</p><p> 2.1.1 總體設(shè)計描述7</p><p> 2.1.2 各模塊功能描述7</p><p> 2.2 各功能模塊硬件設(shè)計10</p><p> 2.2.1 單片機控制模塊的設(shè)計
4、10</p><p> 2.2.2 倒計時顯示電路的設(shè)計12</p><p> 2.2.3 交通燈指示電路的設(shè)計16</p><p> 2.2.4 鍵盤及狀態(tài)顯示模塊的設(shè)計17</p><p> 2.2.5 開關(guān)電源模塊的設(shè)計18</p><p> 第3章 系統(tǒng)軟件設(shè)計19</p>
5、<p> 3.1 軟件總體流程圖19</p><p> 3.2 軟件主要子程序流程20</p><p> 3.2.1 緊急狀態(tài)子程序20</p><p> 3.2.2 設(shè)置狀態(tài)子程序20</p><p> 3.2.3 鍵盤模塊程序流程21</p><p> 3.2.4 交通燈指示子程序流
6、程22</p><p> 3.2.5 倒計時程序流程23</p><p> 第4章 系統(tǒng)調(diào)試與測試結(jié)果分析25</p><p> 4.1 系統(tǒng)操作說明25</p><p><b> 4.2 調(diào)試25</b></p><p> 4.3 指標(biāo)測試26</p><
7、;p> 4.3.1 測試儀器26</p><p> 4.3.2 主要模塊測試26</p><p> 4.3.3 測試結(jié)果27</p><p><b> 結(jié) 論28</b></p><p><b> 致 謝29</b></p><p> 參 考
8、文 獻30</p><p> 附錄1 元器件清單31</p><p> 附錄2 系統(tǒng)設(shè)計原理圖32</p><p> 附錄3 系統(tǒng)控制程序33</p><p><b> 摘 要</b></p><p> 本設(shè)計以單片機AT89S52為控制核心,以紅、綠、黃三種LED發(fā)光管
9、作為直行和左右拐彎以及行人通行的指示,以LED七段數(shù)碼管作為倒計時指示,完成了題目要求的所有功能。在此基礎(chǔ)上增設(shè)了數(shù)碼管實時顯示通車時間狀態(tài),還可根據(jù)交通擁擠情況設(shè)置的通行時間以及緊急情況時可根據(jù)需要手動設(shè)置某干道車輛通行狀態(tài),緊急情況結(jié)束后再轉(zhuǎn)成自動狀態(tài),并對系統(tǒng)機械結(jié)構(gòu)進行了優(yōu)化設(shè)計,整體性好,人性化強、可靠性高。</p><p> 關(guān)鍵字 單片機AT89S52;倒計時電路;通行模式</p>
10、<p><b> 引 言</b></p><p> 隨著社會和城市交通的快速發(fā)展, 近幾年機動車輛數(shù)字急劇增加,道路超負荷承載道路現(xiàn)象嚴(yán)重,致使交通事故逐年增加。交通信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。俗話說“要想富,先修路”,但路修好了如果在交通控制方面做不好道路還是無法保障暢通安全。作為交通控制的重要組成部份的交通
11、信號燈也應(yīng)國際化。隨著社會經(jīng)濟的發(fā)展,城市交通問題越來越引起人們的關(guān)注。人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測、交通信號燈控制與交通疏導(dǎo)的計算機綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。隨著城市機動車量的不斷增加,許多大城市如北京、上海、南京等出現(xiàn)了交通超負荷運行的情況,因此,自80年代后期,這些城市紛紛修建城市高速道路,在高速道路建設(shè)完成的初期,它
12、們也曾有效地改善了交通狀況。然而,隨著交通量的快速增長和缺乏對高速道路的系統(tǒng)研究和控制,高速道路沒有充分發(fā)揮出預(yù)期的作用。而城市高速道路在構(gòu)造上的特點,也決定了城市高速道路的交通狀況必然受高速道路與普通道路耦合處交通狀況的制約。所以,</p><p> 可見交通燈是城市交通有序、安全、快速運行的重要保障,因此解決好公路交通信號燈控制問題也成了保障交通有序、安全、快速運行的重要環(huán)節(jié)。本設(shè)計是一款基于單片機AT89
13、S52為控制核心的交通控制系統(tǒng),它可以實現(xiàn)對車輛、行人的有效導(dǎo)引。設(shè)計中我們選用紅、綠、黃三種不同LED發(fā)光管作為車輛和行人的指示,簡化了設(shè)計,形象直觀;采用LED數(shù)碼管作為倒計時顯示,可靠性高、抗干擾能力強。該系統(tǒng)還可根據(jù)交通擁擠情況可以設(shè)置主干道的通行時間,以提高效率,緩減交通擁擠;當(dāng)出現(xiàn)緊急情況時,交警可將系統(tǒng)設(shè)置成手動:讓某路口車輛通行、此路口行人禁行,緊急情況結(jié)束后再轉(zhuǎn)成自動狀態(tài)。本設(shè)計并對系統(tǒng)物理結(jié)構(gòu)進行了優(yōu)化,很有城市交通
14、道口的“模型”味。</p><p> 第1章 方案設(shè)計與論證</p><p> 設(shè)計要求要實現(xiàn)交通燈基本信息指示功能的基礎(chǔ)上,還要實現(xiàn)倒計時時間和工作狀態(tài)顯示、緊急情況處理等功能,如何選擇有效方案至關(guān)重要。</p><p> 1.1 總體方案設(shè)計思想</p><p> 根據(jù)傳統(tǒng)十字路口交通燈系統(tǒng)的設(shè)計,可將本系統(tǒng)分為四個模塊,第一個模
15、塊是控制模塊,主要負責(zé)整個系統(tǒng)工作的控制和運算,從而使各模塊正常工作;第二個模塊為顯示模塊,主要是對車輛和行人應(yīng)該遵守交通規(guī)則的指導(dǎo)性的直觀顯示,它主要包括倒計時顯示和紅、綠、黃燈兩大部分;第三個模塊是輸入模塊,它的主要作用是輔助控制模塊,相當(dāng)于輸入裝置,利用它可以對交通燈各路口通行時間的設(shè)置以及出現(xiàn)緊急情況時,進行不同工作方式的切換設(shè)置;第四個模塊是電源模塊,它是整個系統(tǒng)的“心臟”,負責(zé)給各模塊提供合適的電壓,讓各模塊能穩(wěn)定工作。其系
16、統(tǒng)設(shè)計結(jié)構(gòu)如圖1-1所示:</p><p> 圖1-1系統(tǒng)設(shè)計結(jié)構(gòu)圖</p><p> 1.2 系統(tǒng)方案選擇與比較</p><p> 1.2.1 控制模塊方案選擇</p><p> 方案一:由計數(shù)器74LS161級聯(lián)組成,配合譯碼器和秒脈沖信號發(fā)生器等器件組成交通燈系統(tǒng),整個系統(tǒng)簡單,控制簡單,調(diào)試容易等優(yōu)點。 </p>
17、<p> 方案二:采用ATC公司的單片機ATC89S52作為控制器。單片機運算能力強,軟件編程靈活,自由度大。它是MCS-51系列單片機的派生產(chǎn)品,在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052單片機完全兼容,使用時容易掌握;采用ATC89S52單片機穩(wěn)定可靠、應(yīng)用廣泛、通用性強,在系統(tǒng)/在應(yīng)用可編程。</p><p> 方案比較:采用方案一來實現(xiàn)十字路口交通燈控制系統(tǒng)非常方便,電路結(jié)構(gòu)簡單,控制
18、單一,但整個系統(tǒng)性能不是很高,倒計時不是非常精確,如果要求系統(tǒng)能設(shè)置不同工作時間不容易,因而對于完成題目較困難,而方案二完全能實現(xiàn)設(shè)計要求,容易掌握,利用編程,易控制,I/O接口很多,易于擴展外圍電路,價格便宜,故選擇方案二。</p><p> 1.2.2 顯示模塊方案選擇</p><p> 該系統(tǒng)要求完成倒計時、狀態(tài)燈等功能?;谏鲜鲈?,考慮了三種方案。</p>&l
19、t;p> 方案一:完全采用數(shù)碼管顯示。這種方案只顯示有限的符號和數(shù)碼字苻,無法勝任題目要求。</p><p> 方案二:完全采用點陣式LED 顯示。這種方案實現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強大,可方便的顯示各種英文字符,漢字,圖形等。</p><p> 方案三:用七段LED數(shù)碼管完成倒計時顯示,用LED燈作為狀態(tài)燈指示功能。</p><p>
20、方案比較:方案一和方案二都不符合設(shè)計要求,實現(xiàn)較復(fù)雜,而方案三采用數(shù)碼管與LED燈相結(jié)合的方法因為設(shè)計既要求倒計時數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實情況,用數(shù)碼管與LED燈分別顯示時間與提示信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實現(xiàn)的復(fù)雜度。權(quán)衡利弊,選擇方案三。</p><p> 1.2.3 輸入模塊方案選擇</p><p> 方案一:采用8155擴展I/
21、O 口及鍵盤,顯示等。該方案的優(yōu)點是:</p><p> 使用靈活可編程,并且有RAM,及計數(shù)器。若用該方案,可提供較多I/O 口,但操作起來稍顯復(fù)雜。</p><p> 方案二: 直接在I/O口線上接上按鍵開關(guān)。因為設(shè)計時精簡和優(yōu)化了電路,所以剩余的口資源還比較多,我們使用五個按鍵,分別是K1、K2、K3、K4、K5。</p><p> 由于該系統(tǒng)對于交通燈
22、及數(shù)碼管的控制,只用單片機本身的I/O 口就可實現(xiàn),且本身的計數(shù)器及RAM已經(jīng)夠用,故選擇方案二。</p><p> 1.2.4 電源模塊方案選擇</p><p> 電源是整個系統(tǒng)的“心臟”,它是系統(tǒng)穩(wěn)定工作的保障,為使各個模塊穩(wěn)定工作,須有可靠電源。下面考慮了兩種電源方案。</p><p> 方案一:采用單片機控制模塊提供電源。該方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)
23、約成本;缺點是輸出功率不高,不能驅(qū)動數(shù)碼管。</p><p> 方案二:采用獨立的穩(wěn)壓電源,采用開關(guān)電源作為整個系統(tǒng)的供電,它具有多路電源輸出,此方案的優(yōu)點是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點是各模塊都采用獨立電源,</p><p> 方案比較:方案一只采用單片機自身的I/O來驅(qū)動數(shù)碼管顯示是不行的,而方案二雖然要給各模塊供電,但卻能給各模塊提供穩(wěn)定可靠的電壓從而達到顯示明亮的程
24、度。故選擇第二種方案。</p><p> 1.3 系統(tǒng)總體方案論證</p><p> 系統(tǒng)設(shè)計方框總圖如圖1-2所示:</p><p> 圖1-2 系統(tǒng)設(shè)計方框總圖</p><p> 經(jīng)上述各模塊的方案選擇與論證,十字路口交通燈系統(tǒng)的控制芯片選用單片機AT89S52作為整個系統(tǒng)的核心控制器件,主要負責(zé)整個系統(tǒng)工作的控制和運算,從而使各
25、模塊正常工作;采用七段LED數(shù)碼管和LED燈作為顯示器件,用七段LED數(shù)碼管完成倒計時顯示,用LED燈作為行車方向和行人通行指示指示功能;用觸發(fā)按鍵構(gòu)成系統(tǒng)的輸入部分,它可以對系統(tǒng)進行狀態(tài)設(shè)置,結(jié)合數(shù)碼管,可根據(jù)交通情況對整個系統(tǒng)進行直觀的控制;以開關(guān)電源作為系統(tǒng)電源部分,它有+12V、-12V、+5V、-5V電壓輸出,可方便對各個模塊供電。</p><p> 第2章 系統(tǒng)硬件設(shè)計</p><
26、;p> 硬件設(shè)計是整個系統(tǒng)的基礎(chǔ),要考慮的方方面面很多,除了實現(xiàn)交通燈基本功能以外,主要還要考慮如下幾個因素:①系統(tǒng)穩(wěn)定度;②器件的通用性或易選購性;③ 軟件編程的易實現(xiàn)性;④系統(tǒng)其它功能及性能指標(biāo);因此硬件設(shè)計至關(guān)重要?,F(xiàn)從各功能模塊的實現(xiàn)逐個進行分析探討。</p><p> 2.1 總體設(shè)計及功能描述</p><p> 2.1.1 總體設(shè)計描述</p><
27、;p> 本設(shè)計以單片機AT89S52為控制核心,采用模塊化設(shè)計,共分以下幾個功能模塊:單片機控制系統(tǒng)、鍵盤及狀態(tài)顯示、行車方向指示、行人通行指示和倒計時模塊等。</p><p> 單片機作為整個硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機工作的控制器,又是數(shù)據(jù)處理器。它由單片機、時鐘電路、復(fù)位電路等組成。</p><p> 行車方向指示采用紅、綠、黃LED發(fā)光管,用三種顏色指示車輛放行、暫停
28、、禁止,形象直觀。</p><p> 行人通行指示采用兩支紅、綠LED發(fā)光管,用兩種顏色指示放行與禁止,形象直觀,簡潔明了。</p><p> 鍵盤及狀態(tài)顯示,鍵盤采用五個觸發(fā)按鍵組成,電路簡潔可靠;顯示器采用七段LCD數(shù)碼管,可實時顯示系統(tǒng)運行狀態(tài),可供交警在室內(nèi)實時監(jiān)視交通狀況。通過鍵盤可設(shè)置:緊急情況發(fā)生時的交通燈狀態(tài)控制、主干道通行時間等,人機界面非常友好。</p>
29、<p> 系統(tǒng)采用雙數(shù)碼管倒計時計數(shù)功能,最大顯示數(shù)字99。</p><p> 其十字路口交通燈系統(tǒng)設(shè)計計原理圖見附錄2,其友好的人機界面、靈活的控制方式、優(yōu)化的物理結(jié)構(gòu)以及豐富的功能是本設(shè)計的亮點。</p><p> 2.1.2 各模塊功能描述</p><p><b> 1、交通燈通行模式</b></p>
30、<p> 按交通燈控制規(guī)則,每個街口有轉(zhuǎn)彎、直行及行人三種指示燈。主要指示燈有紅、綠、黃三種顏色。交道口模型如圖2-1所示:</p><p> 圖2-1 交道口模型圖</p><p> 4組LED數(shù)碼管按照設(shè)置的通行時間進行倒計時,由4組行車指示燈并各自進行紅、綠、黃燈顯示,共有四種通行狀態(tài),如下圖2-2(a)、(b)、(c)、(d)分別為:
31、 </p><p> (a) 通行狀態(tài)一示意圖 (b) 通行狀態(tài)二示意圖</p><p> (c) 通行狀態(tài)三示意圖 (d) 通行狀態(tài)四示意圖</p><p> 圖2-2 四種通行狀態(tài)</p><p><b> 2、交通燈指示功能&l
32、t;/b></p><p> 一方面行車設(shè)計要求直行默認時間為40秒,轉(zhuǎn)彎默認時間為20秒,故通行時間共為60秒,系統(tǒng)設(shè)置了任意更改功能,可以根據(jù)實際情況進行倒計時調(diào)整,以提高車輛通過率,緩減交通壓力。本設(shè)計選用兩只綠色LED發(fā)光管來指示直行,轉(zhuǎn)彎等交通指示信息,其中綠燈1亮表示直行,綠燈2亮表示允許轉(zhuǎn)彎行駛;用一只紅色LED燈表示禁止通行;在直行狀態(tài)變?yōu)檗D(zhuǎn)彎狀態(tài)時結(jié)束前5秒鐘,用一只黃色LED燈閃爍直至
33、結(jié)束。所有指示信息一目了然。</p><p> 另一方面行人通行時間為1分鐘,行人通行指示選用紅、綠LED發(fā)光管,用兩種顏色指示放行與禁止,形象直觀。紅色LED亮?xí)r禁止通行標(biāo)志,綠色LED燈亮?xí)r表示此時禁止通行,提醒行人站在原地等候。</p><p> 3、主干道時間設(shè)置功能</p><p> 當(dāng)主干道方向的車輛過多發(fā)生堵塞,正常的信號燈時序?qū)菇煌顩r更加
34、惡化。本設(shè)計添加了主干道時間設(shè)置功能,交警可按需求設(shè)置綠燈的點亮?xí)r間,該措施可在一定程度緩減短暫的交通壓力。</p><p> 4、緊急情況處理功能</p><p> 在十字交通路口常出現(xiàn)的緊急情況,若不及時處理將形成不良隱患。比如,交道口的東西方向行車有緊急情況發(fā)生,那么交警可以對信號燈進行手動控制,按下東西方向緊急情況處理鍵,通過軟件使南北方向的紅燈亮,禁止車輛通行,讓東西方向的綠
35、燈亮,允許車輛通行,此時所有的倒計時指示熄滅,南北方向路口行人允許通行,東西方向的行人禁止通行,直至緊急情況結(jié)束后再轉(zhuǎn)成常規(guī)的自動狀態(tài)。同理,若南北方向人行道有緊急情況發(fā)生時,交警可按下東西方向緊急情況處理鍵,用軟件強制使得南北方向的行車禁止,讓南北方向的人行道允許行人通行,此時東西方向的行車允許行駛。</p><p><b> 5、倒計時計數(shù)功能</b></p><p
36、> 本系統(tǒng)使用數(shù)碼管完成倒計時顯示功能。在這里系統(tǒng)默認時間是60秒,最小時間是40秒,最大時間是95秒,若數(shù)碼管顯示的數(shù)值從綠燈的設(shè)置時間最小值往上加,每按一下時間“+”鍵。時間從40秒的基準(zhǔn)上加5,一直可加到95。然后又設(shè)置時間最大值往下減,一直減到40。</p><p> 系統(tǒng)共有五組LED 數(shù)碼管,其中有四組LED數(shù)碼管分別放置在模擬交通燈控制板上的中央,分別為主干道的四個路口的行車時間指示。因為
37、四個方向的數(shù)碼管有兩組數(shù)碼管應(yīng)該顯示同樣的內(nèi)容,所以可以把它們同樣對待。也就是說四個方向的數(shù)碼管的個位(把數(shù)碼管第二位定義為個位,第一位定義為十位)用一根信號線控制,十位用另一根信號線控制,那么總共只會用到四根線來控制。這里采用動態(tài)顯示。</p><p> 2.2 各功能模塊硬件設(shè)計</p><p> 2.2.1 單片機控制模塊的設(shè)計</p><p> 單片微
38、機(Single-Chip Microcomputer)簡稱為單片機。它在一塊芯片上集中成了中央處理單元CPU、隨機存儲器RAM、只讀存儲器ROM、定時/計數(shù)和多功能輸入/輸出I/O口,如并行口I/O、串行口I/O和轉(zhuǎn)換A/D等。</p><p> MCS-51系列單片機在我國得到了廣泛的應(yīng)用,是單片機的主流系列,軟硬件應(yīng)用設(shè)計資料豐富齊全。為了提高指令的執(zhí)行速度和效率,采用了面向控制的結(jié)構(gòu)和指令系統(tǒng)的獨立CP
39、U。</p><p> 因此本設(shè)計采用AT89S52單片機作為系統(tǒng)的控制器件,這是因為AT89S52是目前應(yīng)用比較廣泛的MCS-51系列兼容單片機作為主控制器。</p><p> AT89S52單片機的主要性能特點:</p><p> 與MCS-51系列單片機產(chǎn)品兼容。</p><p> 8K字節(jié)在系統(tǒng)可編程Flash存儲器,1000
40、次擦寫周期。</p><p> 全靜態(tài)操作:0~33Hz。</p><p> 三級加密程序存儲器。</p><p> 32個可編程I/O口線,3個16位定時器/定時器,8個中斷源。</p><p> 全雙工UART串行通道,低功耗空閑和掉電模式。</p><p> 掉電后中端可喚醒,看門狗定時器。</p
41、><p> 雙數(shù)據(jù)指針和掉電標(biāo)識符。</p><p> 電源、時鐘信號以及復(fù)位電路是單片機工作的基本條件,缺一不可。AT89S52單片機系統(tǒng)的基本工作電路包括電源電路、時鐘電路、復(fù)位電路。其組成方框圖如圖2-3所示:</p><p> 圖2-3 單片機控制系統(tǒng)基本硬件組成方框圖</p><p><b> 1、電源電路</b
42、></p><p> 電源電路模塊為系統(tǒng)板上的其他模塊提供+5V電源。供電電源可由開關(guān)電源提供,即能滿足。</p><p> 2、時鐘電路模塊的設(shè)計</p><p> 單片機的時鐘信號用來為單片機芯片內(nèi)部的各種操作提供時間基準(zhǔn)。</p><p> 時鐘電路為單片機產(chǎn)生時鐘脈沖序列,作為單片機工作的時間基準(zhǔn),典型的晶體振蕩頻率為1
43、2MHz。</p><p> MCS-51系列單片的時鐘信號可以由兩種方式產(chǎn)生:一種是內(nèi)部時鐘方式,利用芯片內(nèi)部的振蕩電路;另一種方式為外部時鐘方式。</p><p> 由于AT89S52單片機芯片內(nèi)有時鐘振蕩電路,因此本系統(tǒng)單片機采用內(nèi)部時鐘方式,只要在單片機的XTAL1和XTAL2引腳外接石英晶體和微調(diào)電容,就構(gòu)成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘信號脈沖信號,具體電路設(shè)計如圖2-
44、4所示。</p><p> 圖中電容C1、C2的作用的是穩(wěn)定頻率和快速起振,其值為5~30pF,在此選擇30pF;晶振X1的振蕩頻率范圍在1.2~12MHz之間選擇,本設(shè)計中選擇12MHz。</p><p> 3、復(fù)位電路模塊設(shè)計</p><p> 復(fù)位電路使單片機或系統(tǒng)中的其他部件處于某種確定的狀態(tài)。</p><p> 當(dāng)在MCS-
45、51系列單片的RST引腳處引入高電平并保持2個機器周期,單片機內(nèi)部就執(zhí)行復(fù)位操作。復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一位是按鍵復(fù)位。本設(shè)計采用按鍵復(fù)位方式。</p><p> 圖2-4 單片機系統(tǒng)硬件電路原理圖</p><p> 2.2.2 倒計時顯示電路的設(shè)計</p><p> 在本設(shè)計中采用七段LED數(shù)碼管作為倒計時顯示器件,它具有工作電壓小,壽命
46、長,發(fā)光強度高,響應(yīng)時間快等優(yōu)點。</p><p><b> 1、數(shù)碼顯示器件</b></p><p> 常用的數(shù)碼顯示器件有半導(dǎo)體數(shù)碼管、液晶數(shù)碼管和熒光數(shù)碼管等,本設(shè)計是以半導(dǎo)體七段數(shù)碼管作為顯示器件,其工作原理:</p><p> 半導(dǎo)體數(shù)碼管是將7個發(fā)光二極管平排成“日”字形狀制成的,如圖2-5(a)所示,七段發(fā)光線段分別用a、b
47、、c、d、e、f、g七個小寫字母表示,一定的發(fā)光線段組合,就能顯示相應(yīng)的十進制數(shù)字,如圖2-5(b)所示。表2-1中輸出“H”表示發(fā)光線段,“L”表示不發(fā)光線段。(其中“L”表示低電位,“H”表示高電位)</p><p> (a) 發(fā)光線段分段圖 (b)發(fā)光線段組成的數(shù)字圖形</p><p> 圖2-5 七段數(shù)字顯示的字形</p><p>
48、 表2-1 七段顯示組合與數(shù)字對照</p><p> 半導(dǎo)體數(shù)碼管的7個發(fā)光二極管內(nèi)部接法可分為共陽極和共陰極兩種,分別如圖2-6(a)、(b)所示。共陰極接法中各發(fā)光二極管的負極相連,a~g引腳中,高電平的線段發(fā)光。共陽極接法中,各發(fā)光二極管的正極相連,a~g引腳中,低電平的線段發(fā)光??刂撇煌亩伟l(fā)光,就可顯示0~9不同的數(shù)字。</p><p> (a) 共陽極型
49、 (b) 共陰極型</p><p> 圖2-6 發(fā)光二極管內(nèi)部電路</p><p> 2、兩位LED數(shù)碼管</p><p> 在本設(shè)計中采用共陽極的兩位LED顯示數(shù)碼管,型號:SM4 10362,它功耗小,亮度高、字形清晰,工作電壓低(1.5~3V)、體積小、可靠性高、壽命長,響應(yīng)速度極快。它一共10個引腳,上面、下面分別五個引
50、腳。其管腳順序如圖2-7所示:上面{DIG1 ,b,c,e,d} 下面{g,dp,f, DIG2}</p><p> 圖2-7 兩位數(shù)碼管管腳</p><p> 3、兩位數(shù)碼管連接電路</p><p> 設(shè)計利用LED晶體發(fā)光管做成的顯示器,系統(tǒng)采用兩位數(shù)碼管倒計時計數(shù)功能,最大顯示數(shù)字99。為了提高兩位數(shù)碼管的顯示亮度,通常在DIG1和DIG2兩端分別加上
51、一個電壓為5V,上拉電阻為500Ω左右的電壓,從而提高它的亮度。</p><p> 這是因為數(shù)碼管是由發(fā)光二極管構(gòu)成的,它的壓降在1.4~1.8V之間,正常工作電流大約2~20mA,由根據(jù)發(fā)光管是連接到電源正,限流電阻接“地”才發(fā)光,所以按這個來算,比如電源為5V,發(fā)光管電流在8mA左右,則限流電阻為R=(5-1.8)/8=0.475Ω,也就是475Ω,取470Ω。當(dāng)然如果發(fā)光管電流越大亮度越亮,該電阻就越要取
52、小。</p><p> 整個系統(tǒng)友好的人機界面、靈活的控制方式、優(yōu)化的物理結(jié)構(gòu)以及豐富的功能是本設(shè)計的亮點。單片機與各個電路模塊連接如圖2-8、2-9所示:</p><p> 圖2-8 單片機接口電路</p><p> (a) 東西方向倒計時連接電路 (b) 南北方向倒計時連接電路</p><p> 圖2
53、-9 各路口交通燈的倒計時電路與單片機連接圖</p><p> 2.2.3 交通燈指示電路的設(shè)計</p><p> 1、行車指示燈與單片機連接電路:根據(jù)單片機剩余I/O口的引腳,可將行車各指示燈的控制端與單片機連接,其連接電路如圖2-10、2-11所示,其中綠燈1亮表示指示車輛轉(zhuǎn)彎通行;綠燈2亮表示車輛直行通行;紅燈表示車輛禁止通行;黃燈表示提示作用。</p><p
54、> 圖2-10 東西方向行車指示連接電路</p><p> 圖2-11 南北方向行車指示連接電路</p><p> 2、人行道指示燈與單片機連接電路:人行道指示燈與單片機I/O口的連接電路如圖2-12、2-13所示,其中紅燈亮表示行人禁止通行;綠燈亮表示行人允許通行。</p><p> 圖2-12 人行道指示燈連接電路</p><p
55、> 2.2.4 鍵盤及狀態(tài)顯示模塊的設(shè)計</p><p> 鍵盤及狀態(tài)顯示,本設(shè)計采用五個觸發(fā)按鍵組成,電路簡潔可靠;顯示器采用雙位七段LCD數(shù)碼管,可實時顯示系統(tǒng)運行狀態(tài),可供警察在室內(nèi)實時監(jiān)視交通狀況。通過鍵盤可設(shè)置:緊急情況發(fā)生時的交通燈狀態(tài)控制、主干道通行時間等,人機界面非常友好。其連接電路如圖2-13、2-14所示:</p><p> 圖2-13 車輛通行狀態(tài)顯示連接
56、電路</p><p> 圖2-14 按鍵電路與單片機連接電路</p><p> 2.2.5 開關(guān)電源模塊的設(shè)計</p><p> 開關(guān)電源可分為AC/DC和DC/DC兩大類,在本設(shè)計采用AC/DC模塊,AC/DC變換是將交流變換為直流,其功率流向可以是雙向的,功率流由電源流向負載的稱為“整流”,功率流由負載返回電源的稱為“有源逆變”。AC/DC變換器輸入為50
57、/60Hz的交流電,因必須經(jīng)整流、濾波,因此體積相對較大的濾波電容器是必不可少的。</p><p><b> 開關(guān)電源的優(yōu)點:</b></p><p> 功耗小,效率高。開關(guān)穩(wěn)壓電源電路中,晶體管V在激勵信號的激勵下,它交替地工作在導(dǎo)通—截止和截止—導(dǎo)通的開關(guān)狀態(tài),轉(zhuǎn)換速度很快,頻率一般為50kHz左右,這使得開關(guān)晶體管V的功耗很小,電源的效率可以大幅度地提高,其
58、效率可達到80%。</p><p> 體積小,重量輕。從開關(guān)穩(wěn)壓電源的原理框圖可以清楚地看到這里沒有采用笨重的工頻變壓器。由于調(diào)整管V上的耗散功率大幅度降低后,又省去了較大的散熱片。由于這兩方面原因,所以開關(guān)穩(wěn)壓電源的體積小,重量輕。</p><p> 穩(wěn)壓范圍寬。從開關(guān)穩(wěn)壓電源的輸出電壓是由激勵信號的占空比來調(diào)節(jié)的,輸入信號電壓的變化可以通過調(diào)頻或調(diào)寬來進行補償。這樣,在工頻電網(wǎng)電壓
59、變化較大時,它仍能夠保證有較穩(wěn)定的輸出電壓。所以開關(guān)電源的穩(wěn)壓范圍很寬,穩(wěn)壓效果很好。</p><p> 濾波的效率大為提高,使濾波電容的容量和體積大為減少。電路形式靈活多樣,有自激式和他激式,有調(diào)寬型和調(diào)頻型,有單端式和雙端式等等,設(shè)計時可以發(fā)揮各種類型電路的特長,設(shè)計出能滿足不同應(yīng)用場合的開關(guān)穩(wěn)壓電源。</p><p> 第3章 系統(tǒng)軟件設(shè)計</p><p>
60、; 硬件平臺結(jié)構(gòu)一旦確定,大的功能框架即形成。軟件在硬件平臺上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)。系統(tǒng)功能是由軟硬件共同實現(xiàn)的,由于軟件的可伸縮性,最終實現(xiàn)的系統(tǒng)功能可強可弱,差別可能很大。因此,軟件是本系統(tǒng)的靈魂。軟件采用模塊化設(shè)計方法,不僅易于編程和調(diào)試,也可減小軟件故障率和提高軟件的可靠性。同時,對軟件進行全面測試也是檢驗錯誤排除故障的重要手段。由于編程多涉及到數(shù)值運算,比較復(fù)雜,還有數(shù)碼管、LCD燈的顯示設(shè)計都是需要多重選擇判斷
61、,用我們平時常用的匯編語言編程是很難實現(xiàn)的,這里我們選用了移值性好、結(jié)構(gòu)清晰、能進行復(fù)雜運算的C語言來實現(xiàn)編程。</p><p> 3.1 軟件總體流程圖</p><p> 軟件總體設(shè)計及流程圖見圖3-1,主要完成各部分的軟件控制和協(xié)調(diào)。本系統(tǒng)主程序模塊主要完成的工作是對系統(tǒng)的初始化,主要包括對倒計時顯示,人行道指示初始化,啟動狀態(tài)顯示模塊,發(fā)送顯示數(shù)據(jù),同時對鍵盤進行掃描,等待外部中
62、斷,以及根據(jù)所需要的功能進行相應(yīng)的操作。其流程圖如圖3-1所示。</p><p> 圖3-1 軟件總體流程圖</p><p> 主程序比較簡單,初始化完成后,調(diào)用按鍵掃描程序,取得鍵值,并根據(jù)當(dāng)前系統(tǒng)狀態(tài)調(diào)用相應(yīng)的子程序。這里有五個基本的子程序供調(diào)用,分別對應(yīng)系統(tǒng)的各種功能狀態(tài)。分別是緊急狀態(tài)子程序、設(shè)置子程序、鍵盤模塊子程序、交通燈指示子程序和倒計時子程序等。</p>
63、<p> 3.2 軟件主要子程序流程</p><p> 3.2.1 緊急狀態(tài)子程序</p><p> 圖3-2 緊急狀態(tài)子程序</p><p> 在緊急狀態(tài)下,只有緊急狀態(tài)手動控制按鍵才可以使所需要某方向人行道路口LED燈被置為紅燈,車輛禁行、行人通行或者把另一方向的路口交通LED燈置綠燈,讓車輛通行、行人禁止通行。緊急情況結(jié)束后再轉(zhuǎn)成自動狀態(tài)。&
64、lt;/p><p> 3.2.2 設(shè)置狀態(tài)子程序</p><p> 在設(shè)置狀態(tài),按下K2開始設(shè)置交通燈倒計時時間“加”,按下K3 設(shè)置倒計時時“減”,每次按K2、K3鍵時,按步進“5”進行倒計時的加減。交通燈倒計時的時間最大可以設(shè)為95秒,最小可以設(shè)置為40秒。</p><p> 圖3-3 設(shè)置狀態(tài)子程序</p><p> 設(shè)置子程序包含
65、倒計時調(diào)整和緊急狀態(tài)兩個狀態(tài)。主程序中放了一個按鍵的判斷指令,當(dāng)有按鍵按下的時候,程序就自動的跳轉(zhuǎn)到按鍵子程序處理。當(dāng)檢測到K1鍵按下的時候就自動返回到主程序。當(dāng)出現(xiàn)緊急的情況的時候,按下K4或者K5 就切換到緊急狀態(tài),當(dāng)緊急事件處理完畢的時候,按下K1,就可以返回正常狀態(tài)。其中K4表示東西方向緊急情況設(shè)置,K5表示南北方向緊急情況設(shè)置。</p><p> 3.2.3 鍵盤模塊程序流程</p>&
66、lt;p> 鍵盤是人機進行交互的重要接口之一。用戶通過按鍵對單片機控制系統(tǒng)下達命令,單片機對按鍵譯碼獲得相應(yīng)的鍵值,并執(zhí)行相應(yīng)的命令程序。鍵盤部分的軟件實現(xiàn)主要是指對單片機進行編程,從而成功地讀取鍵盤值,實現(xiàn)相應(yīng)的功能。單片機對鍵盤控制的工作流程圖如圖3-4所示。</p><p> 圖3-4 工作流程圖</p><p> 3.2.4 交通燈指示子程序流程</p>
67、<p> 圖3-5 交通正常指示流程 </p><p> 正常而穩(wěn)定的交通燈指示是保證道路通車的秩序,是保證道路不發(fā)生堵車的情況的首要條件,因此在程序設(shè)計上應(yīng)該按照交通規(guī)則進行對交通燈進行控制,另外黃燈在整個系統(tǒng)中起提示作用,它是在一個狀態(tài)變?yōu)榱硪粋€狀態(tài)的時候的前5秒開始閃爍,從而提示車輛和行人遵循交通燈規(guī)則,其交通燈正常指示流程圖及黃燈控制流程圖分別如圖3-5,3-6所示:</p>
68、<p> 圖3-6 黃燈計時程序流程圖</p><p> 3.2.5 倒計時程序流程</p><p> 倒計時指示是一種對車輛通行和行人通行時間限制的直觀顯示,是為了維持正常的交通秩序,因此精確的倒計時程序也是很重要的,既然交通是一種秩序,那么倒計時就是建立在秩序上的規(guī)定,另外隨著車流量的大小和一天時間段的不同,那么通行時間也應(yīng)該對應(yīng)的改變,從而更靈活的控制交通秩序,其倒計
69、時顯示流程如圖3-7所示:</p><p> 圖3-7 倒計時顯示流程</p><p> 第4章 系統(tǒng)調(diào)試與測試結(jié)果分析</p><p> 因本設(shè)計本身要求有穩(wěn)定性高、免維護、抗干擾能力強等功能,系統(tǒng)調(diào)試除了驗證數(shù)據(jù)處理的精度,確保判斷的準(zhǔn)確性外,同時必須確認各項的功能的正常運行。</p><p> 4.1 系統(tǒng)操作說明</p&
70、gt;<p> 本設(shè)計采用5個觸發(fā)按鍵。鍵盤功能選擇鍵用于緊急情況、主干道通行時間設(shè)置等功能。開機時,系統(tǒng)為正常狀態(tài),此時顯示四個路口數(shù)碼管從默認的倒計時時間(60s)開始倒計時;交通燈指示燈開始有規(guī)律工作,作行車方向指示;主次干道的通行時間,這里增添了設(shè)置功能;正常狀態(tài)時,交通燈模組的四個LED數(shù)碼管進行倒計時;各組的紅綠燈輪流交替指示;如果某方向LED指示板上的綠燈2亮,人行道紅燈亮,則顯示的是通行時間,當(dāng)此LED指
71、示板上綠燈1亮,則顯示的是轉(zhuǎn)彎時間,而另一方向LED指示板則一直顯示紅燈,人行道綠燈亮,表示禁止車輛通行,行人允許通行。</p><p><b> 4.2 調(diào)試</b></p><p> 根據(jù)系統(tǒng)設(shè)計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。由于在系統(tǒng)設(shè)計中采用模塊化設(shè)計,所以方便了對各電路功能模塊的逐級測試,包括對:交通燈演示功能調(diào)試,行
72、人通行指示功能調(diào)試,倒計時功能調(diào)試,主干道時間設(shè)置功能調(diào)試,緊急情況手動控制功能調(diào)試,鍵盤及狀態(tài)顯示模塊功能調(diào)試等。單片機軟件先在最小系統(tǒng)板上調(diào)試,確保工作正常之后,再與硬件系統(tǒng)聯(lián)調(diào)。最后將各模塊組合后在交道口模型上進行整體測試,使系統(tǒng)的所有功能得以實現(xiàn)。</p><p><b> 1、硬件調(diào)試</b></p><p> 十字路口交通燈系統(tǒng)的電路板焊接工作量非常大
73、,電路安裝完成后,首先進行檢查,即確認電路無虛焊,無短路,無斷路,集成元件安裝是否正確,之后進行電路功能模塊的分級調(diào)試,根據(jù)電路功能逐級進行:</p><p> (1) 通行方式功能調(diào)試:包括對四種通行方式控制調(diào)試,行人和行車方向指示燈亮度電路調(diào)試;</p><p> (2) 倒計時功能調(diào)試:數(shù)碼管亮度調(diào)試;</p><p> (3) 緊急情況手動控制功能調(diào)試
74、:包括按鍵功能調(diào)試;</p><p> (4) 主干道時間設(shè)置功能調(diào)試,鍵盤及狀態(tài)顯示模塊功能調(diào)試。</p><p><b> 2、軟件調(diào)試</b></p><p> 本系統(tǒng)的軟件系統(tǒng)很大,全部用C51語言來編寫,選用一般的偉福仿真器對C51進行調(diào)試。除了語法差錯外,當(dāng)確認程序沒問題時,通過直接下載到單片機來調(diào)試。采取的是自下到上的調(diào)試方
75、法,即單獨調(diào)試好每一個模塊,然后再連接成一個完整的系統(tǒng),最后完成一個完整的系統(tǒng)調(diào)試。主要是顯示器實時顯示功能的調(diào)試。</p><p><b> 3、軟硬聯(lián)調(diào)</b></p><p> 系統(tǒng)做好后,進行系統(tǒng)的完整調(diào)試。主要任務(wù)是檢驗實現(xiàn)的功能及其效果并校正數(shù)值。根據(jù)實測數(shù)據(jù),逐步校正數(shù)據(jù),使測量結(jié)果更準(zhǔn)確。單片機軟件先在最小系統(tǒng)板上調(diào)試,確保工作正常之后,再與硬件系
76、統(tǒng)聯(lián)調(diào)。</p><p><b> 4.3 指標(biāo)測試</b></p><p> 4.3.1 測試儀器</p><p> 測試儀器見表4-1,所采用的儀器都必須滿足一定的測量精度要求,否則將使測量結(jié)果失去實用價值。通常要求測量儀器的精度高于被測量儀器精度一個數(shù)量級,至少應(yīng)高于3倍。根據(jù)系統(tǒng)設(shè)計任務(wù)書的要求逐一測試各項性能指標(biāo),并進行記錄,給
77、出測試結(jié)論。</p><p> 表4-1 測試儀器清單</p><p> 4.3.2 主要模塊測試</p><p> 1、行車指示燈電路的測試</p><p> 交通燈演示模塊由16個LED發(fā)光管組成,接線繁瑣,極易出錯。檢查二極管無故障、導(dǎo)線無斷線、連線接頭無互相搭聯(lián)后可先寫一個軟件調(diào)試程序,依次檢查東南西北方向的指示燈(發(fā)光二極管
78、)是否點亮;若未點亮,則可能是連線接錯。根據(jù)燈的亮滅情況依次查找直到電路正常工作為止。我們主要出現(xiàn)的是亮度不夠的問題,調(diào)整電阻阻值,使其效果達到最佳。</p><p> 2、行人通行指示功能測試</p><p> 行人通行指示燈由16只LED發(fā)光管組成,它由從單片機單獨控制,減輕了主單片機的負擔(dān),調(diào)試也更方便了。若單片機I/O口的驅(qū)動電流太小,LED燈不夠亮,就必須加一個5V的電壓,上
79、拉電阻500Ω左右即可。</p><p><b> 3、顯示模塊測試</b></p><p> 主要是指倒計時指示電路和狀態(tài)顯示模塊的測試,將顯示器與單片機I/O相連,編制一個簡單的程序進行調(diào)試。各單元均調(diào)通后,進行整機聯(lián)調(diào):將各模塊連接起來,逐個進行檢測。調(diào)試成功后再將程序?qū)懙絾纹瑱C中進行調(diào)試,直至整個系統(tǒng)能夠正常工作。</p><p>
80、 4.3.3 測試結(jié)果</p><p> 測試結(jié)果主要針對五個功能指標(biāo)進行測試,第一個是對倒計時功能進行的測試;第二個是對交通燈行車指示功能進行測試;第三個是對人行道指示功能進行測試;第四個是對輸入功能進行測試;第五個是對狀態(tài)顯示功能進行測試。測試結(jié)果見表4-2:</p><p><b> 表4-2 測試結(jié)果</b></p><p>
81、通過以上測試結(jié)果分析,可得出本設(shè)計完全符合設(shè)計的所有要求,實現(xiàn)了十字路口交通燈系統(tǒng)的設(shè)計。</p><p><b> 結(jié) 論</b></p><p> 本設(shè)計是以單片機AT89S52為控制核心,以紅、綠、黃三種LED發(fā)光管作為直行和左右拐彎以及行人通行的指示,以LED七段數(shù)碼管作為倒計時指示,在此基礎(chǔ)上增設(shè)了數(shù)碼管實時顯示通車時間狀態(tài),還可根據(jù)交通擁擠情況設(shè)置的
82、通行時間以及緊急情況時可根據(jù)需要手動設(shè)置某干道車輛通行狀態(tài),緊急情況結(jié)束后再轉(zhuǎn)成自動狀態(tài),并對系統(tǒng)機械結(jié)構(gòu)進行了優(yōu)化設(shè)計,整體性好,人性化強、可靠性高。</p><p> 經(jīng)各項指標(biāo)測試,全部達到設(shè)計題目的要求,主要體現(xiàn)如下:</p><p> 本系統(tǒng)使用數(shù)碼管完成倒計時顯示功能。在這里系統(tǒng)默認時間是60秒,最小時間是40秒,最大時間是95秒,若數(shù)碼管顯示的數(shù)值從綠燈的設(shè)置時間最小值往
83、上加,每按一下時間“+”鍵。時間從40秒的基準(zhǔn)上加5,一直可加到95。然后又設(shè)置時間最大值往下減,一直減到40;</p><p> 本設(shè)計添加了主干道時間設(shè)置功能,交警可按需求設(shè)置通車時間(40—95)秒范圍可調(diào),該措施可在一定程度緩減短暫的交通壓力;</p><p> 在十字交通路口常出現(xiàn)的緊急情況,若不及時處理將形成不良隱患。比如,交道口的東西方向行車有緊急情況發(fā)生,那么交警可以對
84、信號燈進行手動控制,按下東西方向緊急情況處理鍵,通過軟件使南北方向的紅燈亮,禁止車輛通行,讓東西方向的綠燈亮,允許車輛通行,緊急情況結(jié)束后再轉(zhuǎn)成自動,控制十分靈活;</p><p> 在四個路口設(shè)有人行道指示燈,行人通行時間默認為1分鐘,行人通行指示燈選用紅、綠LED發(fā)光管,綠燈亮表示可通行.紅燈亮表示禁止通行人行道指示標(biāo)志使用LED顯示,一目了然;</p><p> 具有對當(dāng)前行車通
85、行時間的顯示電路,當(dāng)設(shè)置通行時間時,通過它可以實時顯示當(dāng)前通行狀態(tài)的時間。</p><p> 以上所有功能均在城市交道口模型上得到很好地實現(xiàn),該設(shè)計在確保功能實現(xiàn)的基礎(chǔ)上,充分考慮了控制系統(tǒng)操作方便、人性化、抗干擾能力強、可靠性高、穩(wěn)定性好等要求,另外本設(shè)計對系統(tǒng)物理結(jié)構(gòu)進行了優(yōu)化,很有城市交通道口的“模型”味。</p><p><b> 考 文 獻</b><
86、;/p><p> [1] 沈鴻星. LED交通信號燈系統(tǒng)的硬件設(shè)計[J].電子工程師 ,2004,(03)。</p><p> [2] 何立民. 單片機高級教程[M].北京航空航天大學(xué)出版社,2000年5月第一版。</p><p> [3] 查振亞,葉向陽. 智能交通燈控制系統(tǒng)[J]. 華中理工大學(xué)學(xué)報, 1997。</p><p> [
87、4] 譚浩強. C 程序設(shè)計[M]. 清華大學(xué)出版社,1999 年12 月第2 版。</p><p> [5] 何立民. 單片機應(yīng)用技術(shù)大全[M].北京:北京航空航天大學(xué)出版社,1994。</p><p> [6] 李廣弟. 單片機基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1992。</p><p> [7] 張云龍. 交通信號控制器的設(shè)計[J].兵工自動化
88、,2003,(04)。</p><p> [8] 閻 石. 數(shù)字電子技術(shù)基礎(chǔ)(第四版)[M].高等教育出版社,2000年5月第一版。</p><p> [9] 胡漢才. 單片機原理及其接口技術(shù)[M].清華大學(xué)出版社,2000年5月第一版。</p><p> 附錄1 元器件清單</p><p> 附錄2 系統(tǒng)設(shè)計原理圖</p&
89、gt;<p> 附錄3 系統(tǒng)控制程序</p><p> /*****************************************************</p><p> 十字路口交通燈系統(tǒng)的設(shè)計 C語言控制程序</p><p> **************************************************
90、***/</p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #include <reg52.h></p><p> /*********************定義控制位*********************
91、/</p><p> sbit EW_Yellow=P1^2;//EW黃燈</p><p> sbit EW_Red=P1^3;//EW紅燈</p><p> sbit SN_Yellow=P1^6;//SN黃燈</p><p> sbit SN_Red=P1^7;//SN紅燈</p><p> sbitS
92、N_LED1=P2^0;//SN_LED1控制位</p><p> sbitSN_LED2=P2^1;//SN_LED2控制位</p><p> sbitEW_LED1=P2^2;//EW_LED1控制位</p><p> sbitEW_LED2=P2^3;//EW_LED2控制位</p><p> sbit Time_
93、Show_LED2=P2^5;//Time_Show_LED2控制位</p><p> sbit Time_Show_LED1=P2^4;//Time_Show_LED1控制位</p><p> sbit Busy_LED=P2^7;//交通正常按鍵</p><p> sbit EW_ManGreen =P3^0;//EW人行道綠燈</p>
94、<p> sbit SN_ManGreen =P3^1;//SN人行道綠燈</p><p> sbit Add_Button =P3^3;//時間加</p><p> sbit Reduces_Button=P3^4;//時間減</p><p> sbit EW_Emerg =P3^5;//東西緊急</p><p&g
95、t; sbit EN_Emerg =P3^6;//南北緊急</p><p> sbit Special_Btton =P3^7;//交通特殊按鍵 </p><p> bit Flag_SN_Yellow; //SN黃燈標(biāo)志位</p><p> bit Flag_EW_Yellow;//EW黃燈標(biāo)志位</p><p> bit
96、 BusyFlag,temp1,temp2;//狀態(tài)標(biāo)志位</p><p> uchar StateLED;//當(dāng)前交通狀態(tài)暫存</p><p> charTime_EW;//東西方向倒計時單元</p><p> charTime_SN;//南北方向倒計時單元</p><p> uchar EW=60,SN=40,EWL=19,S
97、NL=19; //程序初始化賦值,正常模式</p><p> uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的變量</p><p> uchar code table[10]=</p><p><b> {</b></p><p> 0xC0,/*0*/</p&g
98、t;<p> 0xF9,/*1*/</p><p> 0xA4,/*2*/</p><p> 0xB0,/*3*/</p><p> 0x99,/*4*/</p><p> 0x92,/*5*/</p><p> 0x82,/*6*/</p><p> 0xF8,/*
99、7*/</p><p> 0x80,/*8*/</p><p> 0x90,/*9*/</p><p> };//共陽極LED顯示器段碼表</p><p> uchar code S[8]=</p><p><b> {</b></p><p> 0X28,0X
100、48,0X18,0X48,0X82,0X84,0X81,0X84</p><p> };//交通信號燈控制代碼</p><p> /********************延時子程序**************************/</p><p> Void Delay(uchar a)</p><p><b> {&
101、lt;/b></p><p><b> uchar i;</b></p><p><b> i=a;</b></p><p> while(i--){;}</p><p><b> }</b></p><p> /************
102、********顯示子函數(shù)**************************/</p><p> Void Display(void)</p><p><b> {</b></p><p> char h,l; //定義暫存倒計時高低位數(shù)據(jù)變量</p><p> h=Time_EW/10;//鎖存東西方向倒計時
103、高位數(shù)據(jù)</p><p> l=Time_EW%10; //鎖存東西方向倒計時低位數(shù)據(jù)</p><p> P0=table[l]; //輸出東西方向倒計時低位段選數(shù)據(jù)</p><p> EW_LED2=1; //東西方向倒計時低位位選</p><p> Delay(2); //延時</p><p> EW_L
104、ED2=0; //取消東西方向倒計時低位位選</p><p> P0=table[h]; //輸出東西方向倒計時高位段選數(shù)據(jù)</p><p> EW_LED1=1; //東西方向倒計時低位位選</p><p> Delay(2); //延時</p><p> EW_LED1=0; //取消東西方向倒計時高位位選</p>
105、<p> h=Time_SN/10; //鎖存南北方向倒計時高位數(shù)據(jù)</p><p> l=Time_SN%10; //鎖存南北方向倒計時低位數(shù)據(jù)</p><p> P0=table[l]; //輸出南北方向倒計時段選數(shù)據(jù)</p><p> SN_LED2=1; //南北方向倒計時低位位選</p><p> Delay(2
106、); //延時</p><p> SN_LED2=0; //取消南北方向倒計時低位位選</p><p> P0=table[h]; //輸出南北方向倒計時高位段選數(shù)據(jù)</p><p> SN_LED1=1; //南北方向倒計時低位位選</p><p> Delay(2); //延時</p><p> SN_L
107、ED1=0; //南北方向倒計時低位位選</p><p> h= EW1/10; //鎖存通行時間高位數(shù)據(jù)</p><p> l= EW1%10; //鎖存通行時間低位數(shù)據(jù)</p><p> P0=table[h]; //輸出通行時間段選數(shù)據(jù)</p><p> Time_Show_LED1=1; //通行時間顯示高位位選</p&
108、gt;<p> Delay(2);//延時</p><p> Time_Show_LED1=0; //取消通行時間顯示高位位選</p><p> P0=table[l]; //輸出通行時間顯示低位數(shù)據(jù)</p><p> Time_Show_LED2=1; //通行時間顯示低位位選</p><p> Delay(2);
109、//延時</p><p> Time_Show_LED2=0; //取消通行時間顯示低位位選</p><p><b> } </b></p><p> /**********************外部0中斷服務(wù)程序************************/</p><p> voidEXINT0(vo
110、id)interrupt 0 using 1</p><p><b> {</b></p><p> if(INT0==0)//消除抖動</p><p> if(Add_Button==0) //時間加</p><p><b> { </b></p><p><
111、b> EW1+=5;</b></p><p><b> SN1+=5;</b></p><p> if(EW1>=100)</p><p><b> {</b></p><p><b> EW1=95;</b></p><p
112、><b> SN1=75;</b></p><p><b> }</b></p><p><b> }</b></p><p> else if(Reduces_Button==0) //時間減</p><p><b> {</b><
113、/p><p><b> EW1-=5;</b></p><p><b> SN1-=5;</b></p><p> if(EW1<=40)</p><p><b> { </b></p><p><b> EW1=40;</b
114、></p><p><b> SN1=20;</b></p><p><b> }</b></p><p><b> }</b></p><p> else if(EW_Emerg==0)//東西告急</p><p><b>
115、{</b></p><p> StateLED=P1;//讀P1口狀態(tài)</p><p> temp1=SN_ManGreen;//讀南北方向人行道燈狀態(tài)</p><p> temp2=EW_ManGreen; //讀東西方向人行道燈狀態(tài)</p><p> BusyFlag=1;//設(shè)置標(biāo)志位</p><
116、p> SN_ManGreen=0; //南北方向人行道燈滅</p><p> EW_ManGreen=1; //東西方向人行道燈亮</p><p> P0=0xff;//關(guān)顯示</p><p> P1=0x82;//東西綠燈亮,南北紅燈亮</p><p><b> while(1)</b></p&g
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通燈課程設(shè)計
- 課程設(shè)計交通燈
- 課程設(shè)計—交通燈
- 交通燈課程設(shè)計
- 交通燈課程設(shè)計
- 交通燈課程設(shè)計
- 交通燈課程設(shè)計
- 交通燈設(shè)計數(shù)電交通燈課程設(shè)計數(shù)電交通燈設(shè)計
- 交通燈課程設(shè)計--基于fpga的交通燈設(shè)計
- 交通燈課程設(shè)計--plc實現(xiàn)交通燈控制設(shè)計
- 模擬交通燈課程設(shè)計--模擬交通燈的設(shè)計
- 交通燈課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- 交通燈課程設(shè)計--交通燈控制器
- 交通燈課程設(shè)計 (2)
- 交通燈微機課程設(shè)計
- eda交通燈課程設(shè)計
- plc交通燈課程設(shè)計
- 信號交通燈課程設(shè)計
- 課程設(shè)計--智能交通燈
- plc課程設(shè)計交通燈
評論
0/150
提交評論