智能交通燈設(shè)計_第1頁
智能交通燈設(shè)計_第2頁
智能交通燈設(shè)計_第3頁
智能交通燈設(shè)計_第4頁
智能交通燈設(shè)計_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、酒 泉 職 業(yè) 技 術(shù) 學(xué) 院課 程 設(shè) 計 2021 級 電氣自動化 專業(yè)題 目: 智能交通燈的設(shè)計 設(shè)計時間: 2021.12.14 12.18 學(xué)生姓名: 吳生元 指導(dǎo)教師: 岳志明 杜娟 班 級: 14電氣自動化1班 2021年12月18日目 錄一 方案的設(shè)計1一方案的設(shè)計與論證1二電源提供方案2三顯示界面方案2四功能介紹2二、硬件設(shè)計4一總體設(shè)計4二單片機的根本結(jié)構(gòu)4三單片機的外圍電路設(shè)計6四硬件調(diào)試8三 交通信號燈控制系統(tǒng)的設(shè)計9一十字路口交通信號燈具體的控制要求9二十字路口交通信號燈示意圖10四、軟件設(shè)計11一軟件設(shè)計應(yīng)用環(huán)境11二軟件設(shè)計流程11五、結(jié)論12參考文獻(xiàn) 13附件一

2、:總體原理圖14附件二:源程序代碼14智能交通燈的設(shè)計摘要:本系統(tǒng)采用單片機AT89S52來設(shè)計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過AT89S52芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示。本系統(tǒng)實用性強、操作簡單、擴展功能強。目前,伴隨著機動車輛的不斷增加,尤其是十字路口的交通建設(shè) 頗為關(guān)鍵,嚴(yán)重的影響到城市交通平安。社會主義建設(shè)以來,有許許多多的設(shè)計工作者投身于十字路口交通建設(shè)的研究之中,創(chuàng)造和設(shè)計出了很多新型的方案,把我國交通建設(shè)推向了更高的開展階段。 關(guān)鍵詞: AT89S52單片機;交通燈;倒計時;時間顯示一 方案的設(shè)計一方案的設(shè)計與論證本設(shè)

3、計以單片機為核心,以LED數(shù)碼管作為倒計時指示,根據(jù)設(shè)計的要求我們考慮了各功能模塊的幾種設(shè)計方案,以求最正確方案,實現(xiàn)實時顯示系統(tǒng)各種狀態(tài),系統(tǒng)還增設(shè)了根據(jù)交通擁擠情況可分別設(shè)置主干道和次干道的通行時間,以提高效率,緩減交通擁擠。系統(tǒng)總體設(shè)計框圖如以下圖。交通燈控制的框圖如以下圖所示,主要有控制電路、按鍵電路、晶振電路、復(fù)位電路、顯示電路、電源電路等電路組成。 單 片 機電源電路時鐘電路 數(shù)碼管顯示電路復(fù)位電路Led信號燈控制電路按鍵電路圖1 交通燈控制的框圖二電源提供方案為使模塊穩(wěn)定工作,須有可靠電源。本次設(shè)計考慮了兩種電源方案:方案一:采用獨立的穩(wěn)壓電源。此方案的優(yōu)點是穩(wěn)定可靠,且有各種成

4、熟電路可供選用;缺點是各模塊都采用獨立電源,會使系統(tǒng)復(fù)雜,且可能影響電路電平。方案二:采用單片機控制模塊提供電源。該方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)約本錢;缺點是輸出功率不高。綜上所述,選擇第二種方案。三顯示界面方案該系統(tǒng)要求完成倒計時功能?;谏鲜鲈?,本次設(shè)計考慮了兩種方案:方案一:完全采用點陣式LED顯示。這種方案功能強大,可方便的顯示各種英文字符,漢字,圖形等,但實現(xiàn)復(fù)雜,且須完成大量的軟件工作。方案二:完全采用數(shù)碼管顯示。這種方案優(yōu)點是實現(xiàn)簡單,可以完成倒計時功能。缺點是功能較少,只能顯示有限的符號和數(shù)碼字符。根據(jù)本設(shè)計的要求,方案二已經(jīng)滿足了要求,所以本次設(shè)計采用方案二以實現(xiàn)系統(tǒng)的顯示

5、功能。這里同樣討論了兩種方案:方案一:采用8155擴展I/O口、鍵盤及顯示等。該方案的優(yōu)點是使用靈活可編程,并且有RAM及計數(shù)器。假設(shè)用該方案,可提供較多I/O口,但操作起來稍顯復(fù)雜。方案二:直接在I/O口線上接上按鍵開關(guān)。因為設(shè)計時精簡和優(yōu)化了電路,所以剩余的端口資源還比較多。由于該系統(tǒng)是對交通燈及數(shù)碼管的控制,只需用單片機本身的I/O口就可實現(xiàn),且本身的計數(shù)器及RAM已經(jīng)夠用,應(yīng)選擇方案二。四 交通燈運行狀態(tài)五 功能介紹1. 由單片機、按鍵、發(fā)光二極管、共陽數(shù)碼管、三極管設(shè)計而成。2. 按鍵說明:設(shè)置鍵、加鍵、減鍵、緊急模式鍵,單獨一個按鍵為復(fù)位按鍵。3. .單片機型號:STC89C52.

6、4. 可以設(shè)置東西、南北的倒計時時間。5. 緊急模式:當(dāng)消防車、救護車等特殊車輛通行時按下;緊急模式鍵:全部亮紅燈,待緊急車輛通過后,再恢復(fù)后再退出。6. 夜間模式:4個方向黃燈閃爍。7. 可以按鍵設(shè)置交通燈東西、南北的倒計時時間,第一次按設(shè)置鍵是設(shè)置東西方向的時間,第二次按設(shè)置鍵是設(shè)置南北方向的時間,再按加減鍵就可以設(shè)置對應(yīng)的時間。8. 設(shè)定的參數(shù)具有掉電保存,保存在STC單片機的內(nèi)部,上電無需重新設(shè)置。9. 東西和南北方向各有兩個數(shù)碼管分別顯示時間、東西和南北的時間相差5秒,這5秒為黃燈閃爍的時間。10. 當(dāng)有特殊情況時,可以按緊急模式進行調(diào)整。11. 第一次按緊急鍵4個方向全部亮紅燈禁止

7、通行12. 第2次東西南北4個方向黃燈閃爍(夜間模式)13. 第3次南北綠燈亮東西紅燈亮南北優(yōu)先通行14. 第4次南北紅燈亮東西綠燈亮東西優(yōu)先通行15. 再按一次回到正常顯示,不同的模式適合不同的交通情況如夜間模式,有交通事故的時候16. 可以實現(xiàn)特種車輛優(yōu)先通行或交通事故應(yīng)急處理。二 系統(tǒng)硬件設(shè)計硬件設(shè)計是整個系統(tǒng)的根底,要考慮的方方面面很多,除了實現(xiàn)交通燈根本功能以外,主要還要考慮如下幾個因素:系統(tǒng)穩(wěn)定度;器件的通用性或易選購性;軟件編程的易實現(xiàn)性;系統(tǒng)其它功能及性能指標(biāo);因此硬件設(shè)計至關(guān)重要?,F(xiàn)從各功能模塊的實現(xiàn)逐個進行分析探討。一總體設(shè)計本設(shè)計以單片機為控制核心,采用模塊化設(shè)計,共分以

8、下幾個功能模塊:單片機控制系統(tǒng)、鍵盤及狀態(tài)顯示、倒計時模塊等。單片機作為整個硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機工作的控制器,又是數(shù)據(jù)處理器。它由單片機振蕩電路、復(fù)位電路等組成。系統(tǒng)采用雙數(shù)碼管倒計時計數(shù)功能,最大顯示數(shù)字99。友好的人機界面、靈活的控制方式、優(yōu)化的物理結(jié)構(gòu)是本設(shè)計的亮點。二 單片機的根本結(jié)構(gòu) AT89S52單片機是一款低功耗、低電壓、高性能CMOS8位單片機,片內(nèi)含8KB可經(jīng)受1000次擦寫周期的FLASH可編程可反復(fù)擦寫的只讀程序存儲器EPROM,器件采用CMOS工藝和ATMEL公司的高密度,非易失性存儲器NURAM技術(shù)制造,其輸出引腳和指令系統(tǒng)都與MCS-51兼容,片內(nèi)的FLA

9、SH存儲器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性存儲編程器來編程。因此,AT89C52是一種功能強,靈活性高且價格合理的單片機,可方便的應(yīng)用在各個控制領(lǐng)域1。AT89S52具有以下主要性能:1.8KB可改編程序FLASH存儲器;2.全表態(tài)工作 :024HZ;3.256X8字節(jié)內(nèi)部RAM;4.32個外部雙向輸入,輸出I、O口;引腳說明如圖2-2。VCC:電源電壓。圖2 單片機引腳圖圖2 單片機引腳圖三單片機外圍電路設(shè)計1復(fù)位電路設(shè)計MCS-51的復(fù)位輸入引腳RST為MCS-51提供了初始化的手段,可以使程序從指定處開始執(zhí)行,在MCS-51的時鐘電路工作后,只要RST引腳上出現(xiàn)超過兩個機器周期以

10、上的高電平時,即可產(chǎn)生復(fù)位的操作,只要RST保持高電平,那么MCS-51循環(huán)復(fù)位,只有單RET由高電平變成低電平以后,MCS-51才從0000H地址開始執(zhí)行程序,本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。 圖3 復(fù)位電路圖2時鐘電路設(shè)計MCS-51的時鐘可以由兩種方式產(chǎn)生,一種是內(nèi)部方式,利用芯片內(nèi)部的振蕩電路;另外一種為外部方式,本論文根據(jù)實際需要和簡便,采用內(nèi)部振蕩方式,MCS-51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個放大器與作為反響元件的片外晶體或陶瓷諧振器一起構(gòu)成了一個自激振蕩器。MCS-51雖然有內(nèi)部振蕩電路,但要形成時鐘

11、,必須外接元件,所以實際構(gòu)成的振蕩時鐘電路,外接晶振以及電容C1和C2構(gòu)成了并聯(lián)諧振電路接在放大器的反響回路中,對接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響振蕩頻率的上下,振蕩器的穩(wěn)定性,起振的快速性和溫度的穩(wěn)定性。晶振的頻率可在1.2MHZ12MHZ之間任選,電容C1和C2的典型值在20pf100pf之間選擇,由于本系統(tǒng)用到定時器,為了方便計算,采用了12MHZ的晶振,采用電容選擇30pf。圖4 時鐘電路圖3 顯示模塊電路設(shè)計該模塊由共陽LED數(shù)碼管組成,利用數(shù)碼管的動態(tài)掃描原理,由三極管進行鎖存,當(dāng)控制數(shù)碼管的IO口P20和P21為低電平時及三極管基極為低電平,那么三極管導(dǎo)通,VCC

12、通三極管給數(shù)碼管供電,那么數(shù)碼管被點亮,利用數(shù)碼管點亮的余輝和人眼的視覺暫留原理,那么看起來數(shù)碼管是同時被點亮的。 圖5 顯示電路圖從設(shè)計完成的任務(wù)與要求來看,顯示通行時間必須用二位數(shù)碼管,從節(jié)省硬件資源的角度考慮,可采用掃描的方式來處理,對于7段數(shù)碼管,占用7個單片機的I/O口,另外設(shè)置2個電子開關(guān)對2位顯示進行配合,占用2個I/O端口,十字路口共需4組紅綠燈,加上轉(zhuǎn)換黃燈,一共是12只燈,須用12個端口進行控制,加上兩個方向的緊急通行按鈕,占2個I/O端口和一個蜂鳴器端口,因此實際占用的單片機I/O口為24個,為此,我們可以選用51系列單片機中的ATAT89S52來作為中央處理器。這款單片

13、機的I/O口作為輸出時,具有較大的吸收電流能力,因此我們可以選用共陽型數(shù)碼管,這樣由單片機的I/O口就可以直接驅(qū)動,能簡化硬件電路的設(shè)計。4 單片機的硬件調(diào)試第一步為目測,單片機應(yīng)用系統(tǒng)電路全部手工焊接在洞洞板上,因此對每一個焊點都要進行仔細(xì)的檢查。檢查它是否有虛焊、是否有毛剌等。第二步為萬用表測試,先用萬用表復(fù)核目測中認(rèn)為可疑的連線或接點,查看它們的通斷狀態(tài)是否與設(shè)計規(guī)定相符,再檢查各種電源線與地線之間是否有短路現(xiàn)象。第三步為加電檢查。當(dāng)系統(tǒng)加電時,首先檢查所有插座或器件引腳的電源端是否有符合要求的電壓值,接地端電壓值是否接近零,接固定電平的引腳端是否電平正確。第四步是聯(lián)機檢查。在對硬件電路

14、調(diào)試過程中,還遇到了不少問題,第一次把所有的元件都焊上去后,都準(zhǔn)備調(diào)試了,才發(fā)現(xiàn)正負(fù)電源的插針離得太近了,不容易接電源,本不該犯的錯誤,這些都是由于自己的粗心大意造成的,所以說,做任何事情都必需經(jīng)過“三思而后行,來不得半點的馬虎,否那么浪費了時間和精力三 交通信號燈控制系統(tǒng)的設(shè)計交通信號燈由紅燈、綠燈、黃燈組成。紅燈表示禁止通行,綠燈表示準(zhǔn)許通行,黃燈表示警示。交通信號燈分為機動車信號燈、非機動車信號燈、人行橫道信號燈、車道信號燈、方向指示信號燈、閃光警告信號燈、道路與鐵路平面交叉道口信號燈。交通信號燈用于道路平面交叉路口,通過對車輛、行人發(fā)出行進或停止的指令,使各同時到達(dá)的人、車交通流盡可能

15、減少相互干擾,從而提高路口的通行能力,保障路口暢通和平安。因此必須合理的設(shè)計路口主干道的系統(tǒng)。一 十字路口交通信號燈具體的控制要求 (1) 交通信號燈分布于東南西北,每個路口均有三個。南北方向綠燈和東西方向的綠燈不能同時亮;如果同時亮,那么應(yīng)自動立即關(guān)閉信號燈系統(tǒng),并立即發(fā)出報警信號。系統(tǒng)工作后,首先南北紅燈亮并維持30s;與此同時,東西綠燈亮,并維持25s時間,到25s時,東西綠燈熄滅。在東西綠燈熄滅時,東西黃燈亮并維持5s,然后東西黃燈熄滅,東西紅燈亮,同時南北紅燈熄滅,南北綠燈亮;東西紅燈亮并維持30s;與此同時,南北綠燈亮并維持15s;然后,南北綠燈熄滅南北綠燈熄滅時,南北黃燈亮維持5

16、s后熄滅;同時南北紅燈亮,東西綠燈亮。至此,結(jié)束一個工作循環(huán),如下交通信號燈變化表:交通信號燈變化表東西綠燈亮黃燈亮紅燈亮25S5S20S南北紅燈亮綠燈亮黃燈亮30S15S5S(2)在交通信號燈亮和閃爍的同時,路口設(shè)有兩位七段碼的顯示器倒數(shù)計時,讓車輛行人能夠清楚地知道再過多久信號燈就會發(fā)生變化。以便于司機和行人能夠在有限的時間內(nèi)準(zhǔn)確的通行。二十字路口交通信號燈示意圖 交通信號燈共有12盞,每個路口各有紅,黃,綠三盞,具體分布如以下圖所示:四 交通信號燈控制系統(tǒng)程序編制一 軟件設(shè)計流程軟件總體設(shè)計主要完成各局部的軟件控制和協(xié)調(diào)。本系統(tǒng)主程序模塊主要完成的工作是對系統(tǒng)的初始化,發(fā)送顯示數(shù)據(jù),同時

17、對鍵盤進行掃描,等待外部中斷,以及根據(jù)所需要的功能進行相應(yīng)的操作。交通燈根據(jù)其顯示情況可以分為四個狀態(tài),可以通過定時來控制每個狀態(tài)的時間;通過定時也可以向LED數(shù)碼管中每隔1秒送一個數(shù),顯示該狀態(tài)剩余的時間。其流程圖如以下圖。設(shè)置定時,顯示初始化南北綠燈亮,東西紅燈亮,延時南北黃燈閃爍,東西紅燈亮,延時 南北紅燈亮,東西綠燈亮,延時南北紅燈亮,東西黃燈閃爍,延時 開 始 圖4-1 主程序框圖二交通燈定時器模塊AT89S52單片機內(nèi)部有3個定時器T0,T1和T2,本次設(shè)計中使用T0工作在方式1,即16位定時器,定時50ms,20次中斷產(chǎn)生秒信號,從而控制紅綠燈的點亮?xí)r間。 工作方式存放器TMOD

18、用來設(shè)置T0、T1的工作方式。這次實習(xí)中設(shè)置TMOD=0x01,即T0工作于方式016位定時器。內(nèi)部定時器/計數(shù)器用作定時器時,是對機器周期計數(shù),每個機器周期的長度是12個振蕩周期。定時常數(shù)的設(shè)置可用一下方式計算:機器周期=12/12MHz=1us65536-定時常數(shù)*1.0us=50ms 所以定時常數(shù)是50000。五 結(jié)論本論文介紹了一種基于AT89S52單片機的交通燈的設(shè)計方法,本論文完成了系統(tǒng)的硬件設(shè)計與制作,詳細(xì)介紹了系統(tǒng)硬件設(shè)計的過程,并結(jié)合軟件系統(tǒng)完成了整個系統(tǒng)的軟、硬件聯(lián)調(diào),系統(tǒng)工作良好,實現(xiàn)了根本功能。通過本次設(shè)計,穩(wěn)固了我學(xué)習(xí)過的專業(yè)知識,也使我把理論與實踐從真正意義上相結(jié)合

19、了起來,鍛煉了借助互聯(lián)網(wǎng)絡(luò)搜集、查閱相關(guān)文獻(xiàn)資料和組織材料的綜合能力,從中我也認(rèn)識到自己的缺乏之處,我會在日后的學(xué)習(xí)中加以改進與提高。經(jīng)過這次課程設(shè)計,我在各方面都有很大的提高。學(xué)到了很多不曾學(xué)過的東西,也使我學(xué)會了更好地利用一些資源和工具如圖書館及一些軟件查閱資料。在設(shè)計過程中也遇到很多的困難,遇到一些原理性不懂的時候就要去有針對性地查找資料或者請教知道老師和其他同學(xué),然后加以吸收利用,提高了自己的應(yīng)用能力,擴充了自己的知識儲藏,同時提高了動手能力。 參考文獻(xiàn)1 劉勇.數(shù)字電路M.電子工業(yè)出版社.20042 楊子文.單片機原理及應(yīng)用M.西安電子科技大學(xué)出版社.20063 劉華東.單片機原理與

20、應(yīng)用第2版M.電子工業(yè)出版社.2006.84 胡漢才.單片機原理及其接口技術(shù)M.清華大學(xué)出版社,2006.5 沈精虎.電路設(shè)計與制版Protel99入門與提高M.人民郵電出版社,2004.6 范風(fēng)強,蘭嬋麗.單片機語言C51應(yīng)用實戰(zhàn)集錦M.電子工業(yè)出版社.,2001.7 顧曙敏.單片機與串行時鐘DS1307的接口設(shè)計J.現(xiàn)代電子技術(shù),2003,26(14)85-87.8 孫曉燕.基于8051單片機的交通燈控制系統(tǒng)設(shè)計與模擬J.南寧職業(yè)技術(shù)學(xué)院學(xué)報,2007年03期.9 陳毅,許飛,王學(xué)飛.基于單片機的交通燈智能控制系統(tǒng)J.中國高新技術(shù)企業(yè),2021年第15期.附件一:總體原理圖附件二:源程序代

21、碼#include <reg52.h> /調(diào)用單片機頭文件#define uchar unsigned char /宏定義"uchar"代替"unsigned char"。#define uint unsigned int /宏定義"uint"用來定義無符號整型數(shù)。#include "eeprom52.h"/數(shù)碼管段選定義 0 1 2 3 4 56 7 8 9uchar code smg_du=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,/ AB

22、C D E F不顯示 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff; /斷碼uchar dis_smg8 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;uchar smg_i = 4; /顯示數(shù)碼管的個位數(shù)/數(shù)碼管位選定義sbit smg_we1 = P20; /數(shù)碼管位選定義sbit smg_we2 = P21;sbit smg_we3 = P36;sbit smg_we4 = P37;char dx_s = 0;/東西 南北 倒計時變量sbit dx_red = P24; /東西紅燈sbit dx_green = P23;/東西

23、綠燈sbit dx_yellow = P22;/東西黃燈sbit nb_red = P27;/南北紅燈sbit nb_green = P26;/南北綠燈sbit nb_yellow = P25;/南北黃燈uchar flag_jtd_mode; /交通燈的模式 根據(jù)時間 bit flag_1s = 0;bit flag_500ms;bit flag_dx_nb; /東西南北模式uchar flag_5m_value;uchar i;uchar flag_alarm;/模式uchar dx_time = 30,nb_time = 20; /東西、南北的時間uchar flag_jdgz ; /交

24、通管制/*數(shù)碼位選函數(shù)*/void smg_we_switch(uchar i)switch(i)case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break;case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we

25、4 = 0; break;/*把數(shù)據(jù)保存到單片機內(nèi)部eeprom中*/void write_eeprom()SectorErase(0x2000);byte_write(0x2000, dx_time);byte_write(0x2001, nb_time);byte_write(0x2058, a_a);/*把數(shù)據(jù)從單片機內(nèi)部eeprom中讀出來*/void read_eeprom()dx_time = byte_read(0x2000);nb_time = byte_read(0x2001);a_a = byte_read(0x2058);/*開機自檢eeprom初始化*/void ini

26、t_eeprom() /開機自檢eeprom初始化read_eeprom();/先讀if(a_a != 1)/新的單片機初始單片機內(nèi)問eeproma_a = 1;dx_time = 30;nb_time = 20; /東西、南北的時間write_eeprom(); /保存數(shù)據(jù)/* 名稱 : delay_1ms()* 功能 : 延時1ms函數(shù)* 輸入 : q* 輸出 : 無*/void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<110;j+);/* 名稱 : display()* 功能 : 數(shù)碼管顯示* 輸入 : 無* 輸出

27、 : 無*/void display()uchar i;for(i=0;i<smg_i;i+)P0 = 0xff; /消隱 smg_we_switch(i); /位選P0 = dis_smgi; /段選 delay_1ms(3);/*定時器0、定時器1初始化*/void time0_init() EA = 1; /開總中斷TMOD = 0X11; /定時器0、定時器1工作方式1ET0 = 1; /開定時器0中斷 TR0 = 1; /允許定時器0定時/ET1 = 1; /開定時器1中斷 /TR1 = 1; /允許定時器1定時/*交通燈處理函數(shù)*/void jiaotongdeng_dis(

28、)if(flag_1s = 1)flag_1s = 0;if(dx_s = 0)if(flag_dx_nb = 1)dx_s = nb_time; /南北時間else dx_s = dx_time; /東西時間flag_dx_nb = flag_dx_nb;dx_s -;dis_smg0 = smg_dudx_s % 10 ;dis_smg1 = smg_dudx_s / 10 ;dis_smg2 = smg_dudx_s % 10 ;dis_smg3 = smg_dudx_s / 10 ;/*南北時間*/if(flag_dx_nb = 0) if(dx_s > 5)dx_red = 1

29、; /滅 dx_green =0;/亮dx_yellow = 1;/滅nb_red = 0; /亮 nb_green =1;/滅nb_yellow = 1;/滅flag_5m_value = 0;else if(dx_s <= 5) /當(dāng)小于5秒時 黃燈要閃了dx_red = 1; /滅dx_green =1; /滅nb_red = 0; /亮nb_green =1; /滅nb_yellow = 1; /滅if(flag_500ms = 0)dx_yellow = 0;/亮else dx_yellow = 1;/滅/*東西時間*/if(flag_dx_nb = 1) if(dx_s &g

30、t; 5)dx_red = 0; /亮dx_green =1; /滅dx_yellow = 1; /滅nb_red = 1; /滅nb_green =0; /亮nb_yellow = 1; /滅flag_5m_value = 0;else if(dx_s <= 5) /當(dāng)小于5秒時 黃燈要閃了dx_red = 0; /滅dx_green =1; /滅dx_yellow = 1; /滅nb_red = 1; /滅nb_green =1; /滅if(flag_500ms = 0) /黃燈閃爍nb_yellow = 0;/亮else nb_yellow = 1;/滅/*獨立按鍵程序*/ucha

31、r key_can; /按鍵值void key() /獨立按鍵程序static uchar key_new;key_can = 20; /按鍵值復(fù)原P1 |= 0x1f;if(P1 & 0x1f) != 0x1f)/按鍵按下delay_1ms(1); /按鍵消抖動if(P1 & 0x1f) != 0x1f) && (key_new = 1)/確認(rèn)是按鍵按下key_new = 0;switch(P1 & 0x1f)case 0x1e: key_can = 1; break; /得到按鍵值case 0x1d: key_can = 2; break; /得到按

32、鍵值case 0x1b: key_can = 3; break; /得到按鍵值case 0x17: key_can = 4; break; /得到按鍵值else key_new = 1;uchar menu_1,flag_s;/*設(shè)置函數(shù)*/void key_with()if(key_can = 4) /交通管制按鍵flag_jdgz +;if(flag_jdgz > 5)flag_jdgz = 0;if(flag_jdgz = 1) / 全部亮紅燈 dx_red = 0; /亮 dx_green =1;/滅dx_yellow = 1;/滅nb_red = 0; /亮 nb_green

33、=1;/滅nb_yellow = 1;/滅if(flag_jdgz = 2) / 東西紅燈 南北綠燈dx_red = 0; /亮 dx_green =1;/滅dx_yellow = 1;/滅nb_red = 1; /滅 nb_green =0;/亮nb_yellow = 1;/滅if(flag_jdgz = 3) / 南北紅燈 東西綠燈dx_red = 1; /滅 dx_green =0;/亮dx_yellow = 1;/滅nb_red = 0; /亮 nb_green =1;/滅nb_yellow = 1;/滅if(flag_jdgz = 4) / 南北綠燈 東西綠燈dx_red = 1; /滅 dx_green =0;/亮dx_yellow = 1;/滅nb_red = 1; /滅 nb_green =0;/亮nb_yellow = 1;/滅if(flag_jdgz = 5) / 南北黃燈 東西黃燈dx_red = 1; /滅 dx_green =1;/滅dx_yellow = 0;/亮nb_red = 1; /滅 nb_green =1;/滅nb_yellow = 0;/亮if(key_can = 1

溫馨提示

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

評論

0/150

提交評論