基于STC90C51單片機(jī)的智能交通燈設(shè)計(jì)_第1頁
基于STC90C51單片機(jī)的智能交通燈設(shè)計(jì)_第2頁
基于STC90C51單片機(jī)的智能交通燈設(shè)計(jì)_第3頁
基于STC90C51單片機(jī)的智能交通燈設(shè)計(jì)_第4頁
基于STC90C51單片機(jī)的智能交通燈設(shè)計(jì)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1、設(shè)計(jì)題目基于stc90c51單片機(jī)的智能交通燈設(shè)計(jì)2、設(shè)計(jì)要求21、系統(tǒng)功能(1)按照交通規(guī)則,控制寶田路和前進(jìn)路方向及其人行道的交通信號燈(紅、黃、綠)的通斷。(2)設(shè)宜信號燈的通斷時間。(3)可人丁干預(yù),使交通信號燈開啟不同模式。22、性能參數(shù):(1)電源:5vdc(2)led 燈電流:10ma(3)定吋時間:10s-200s3、總體設(shè)計(jì)根據(jù)系統(tǒng)功能和設(shè)計(jì)要求,系統(tǒng)采用單片機(jī)控制的方案,基于hc6800s開發(fā)板,由stc90c51, 74hc573,交通燈模塊,動態(tài)數(shù)碼顯示管以及4*2獨(dú)立按鍵組成。3. 1系統(tǒng)工作原理在十字路口,分為寶iii路和前進(jìn)路,正常情況下,在任一時刻只有一個方

2、向通行,另一 方向禁行,持續(xù)一定時間,經(jīng)過短暫的過渡時間,將通行禁行方向?qū)Q。其具體狀態(tài)如 下:(1)普通模式:狀態(tài)一:寶iii路通行階段(寶iii路及其人行道亮綠燈30秒、前進(jìn)路及其人行道亮紅燈30 秒);狀態(tài)二:黃燈階段(寶田路和前進(jìn)路亮黃燈5秒、兩側(cè)人行道亮紅燈5秒);狀態(tài)三:詢進(jìn)路通行階段(詢進(jìn)路及其人行道亮綠燈30秒、寶山路及其人行道亮紅燈30 秒);狀態(tài)四:黃燈階段(寶田路和前進(jìn)路亮黃燈5秒、兩側(cè)人行道亮紅燈5秒);返冋到狀態(tài)一。(2)高峰期模式(設(shè)寶田路為主干道):按下按鍵2 (key2),開啟高峰期模式;狀態(tài)一:寶田路通行階段(寶田路及其人行道亮綠燈60秒、前進(jìn)路及其人行道亮紅

3、燈30 秒);狀態(tài)二:黃燈階段(寶田路和前進(jìn)路亮黃燈5秒、兩側(cè)人行道亮紅燈5秒);狀態(tài)三:前進(jìn)路通行階段(前進(jìn)路及其人行道亮綠燈30秒、寶皿路及其人行道亮紅燈30 秒);狀態(tài)四:黃燈階段(寶田路和詢進(jìn)路亮黃燈5秒、兩側(cè)人行道亮紅燈5秒);返m到狀態(tài)一;按鍵2釋放,回到普通模式。(3)緊急模式:按下按鍵1 (keyl),開啟緊急模式,所有道路及其人行道均紅燈亮,數(shù)碼管不顯示。 釋放按鍵1,回到普通模式。3. 2單片機(jī)交通控制系統(tǒng)的功能要求本設(shè)計(jì)能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號發(fā)生,還 能進(jìn)行倒計(jì)時顯示,通行時間調(diào)整功能和緊急情況全血禁行。(1)倒計(jì)時顯示倒計(jì)時顯示可

4、以提醒駕駛員在信號燈燈色發(fā)生改變的時間、在“停止”和“通過”兩者 間作出合適的選樣。駕駛員和行人普遍都愿意選擇有倒計(jì)時顯示的信號控制方式,并且認(rèn)為 有倒計(jì)吋顯示的路口更安全。倒計(jì)吋顯示是用來減少駕駛員在信號燈色改變的關(guān)鍵吋刻做岀 復(fù)雜判斷的一種方法,它可以提醍駕駛員燈色發(fā)生改變的時間,幫助駕駛員在“停止”和“通 過”兩者間作出合適的選擇。(2)時間的設(shè)置本設(shè)計(jì)中對時間進(jìn)行了人為控制設(shè)置,正常情況下寶川路和前進(jìn)路的綠燈通行與紅燈禁 行時i'可均設(shè)置為30秒、黃燈等待時間設(shè)宜為5秒。假設(shè)前進(jìn)路為主t道,考慮到主于道在 上下班高峰期千流量和人流量較大,人為增加開關(guān)k2。當(dāng)k2開啟吋,主干道前

5、進(jìn)路上綠燈 通行時間和寶田路上的紅燈禁行時間更改為60秒,其余設(shè)置均不變;當(dāng)k1關(guān)閉時,又恢復(fù) 正常惜況下的時間設(shè)置。(3)緊急情況全面禁行本設(shè)計(jì)中在緊急情況下增加了全面禁行狀態(tài),增加開關(guān)k1。當(dāng)k1開啟時,寶川路和前 進(jìn)路及其各自人行道均量紅燈禁行;當(dāng)k1關(guān)閉時,交通燈恢復(fù)正常狀態(tài)。4、詳細(xì)設(shè)計(jì)一硬件設(shè)計(jì)為了實(shí)現(xiàn)本設(shè)計(jì)要求的具體功能,選用stc90c51單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng), 10個發(fā)光二極管分別分成兩組紅黃綠和兩組紅綠燈構(gòu)成信號燈指示模塊,4個led動態(tài)數(shù)碼 管構(gòu)成各個方向倒計(jì)時顯示模式,兩個按鍵分別用來設(shè)置高峰期模式和緊急模式。4.1、單片機(jī)系統(tǒng)設(shè)計(jì)單片機(jī)設(shè)計(jì)交通燈控制系統(tǒng),

6、可用單片機(jī)總接控制信號燈的狀態(tài)變化,基本上可以指揮 交通的具休通行,當(dāng)然,接入led數(shù)碼管就町以顯示倒計(jì)時以提醍行使者,更具人性化。單片機(jī)上電后,系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時將時間數(shù)據(jù)倒 計(jì)時輸入到led數(shù)碼管上實(shí)時顯示。hc6800s整體結(jié)構(gòu)視圖:tfninm計(jì) d8.8.8.88.8.8.8p0.plp2. p3. p412/pld lze-x/l.lp2pl3pl.4pl5pl6pl.7 rst rrded "d/pll imcvw.2 ikti/pjj1wp3.4 tl/w.5kla/mjxial2xlulwliuljljmliijlilililjlil

7、jljljliljo i 3 4 3 fr ? a u.-)pmpkp違莒hp4 口4 9 jc 了 6 s 4 3 2 i 0 9 s 7 卜 £ 4 12 i h 3 : h 3 ; 3 j 3 2 *>戈 2 2 2 2二二nnnnnnnnn呂nnnnnnnnstc90c51芯片引腳圖:4.2、led數(shù)碼管顯示屏設(shè)計(jì)led動態(tài)數(shù)碼管的顯示原理為:a2位8段數(shù)碼管電路采用“共陽”連接驅(qū)動代碼,如右圖所示。段碼和位碼,段碼即段選信號seg,它負(fù)責(zé)數(shù)碼管顯示的內(nèi)容, 圖中ag、dp組成的數(shù)據(jù)(a為最低位,dp為最高位)就是段碼。 位碼即位選信號dtg,它決定哪個數(shù)碼管工作,哪個

8、數(shù)碼管不工作。 led數(shù)碼管顯示代碼表如下表所示:顯示數(shù)值dp,g,f,e,d,c,b,a代碼0011111110x3f1000001100x062010110110x5 b3010011110x4f4011001100x665011011010x6d6011111010x7d7000011010x078011111110x7f9011011110x6fhc6800s開發(fā)板中動態(tài)數(shù)碼管模塊原理圖如下圖所示:qqqqqq8765com comcom£comled iled2com comcomq q fqb fqb fqb fqb fqb q q q q q q q lj: <j

9、:ubjr ijr2jr3jr4jr?jr6jr7jrrdodid2d3d4d5 l>6 07<=><=dpdpdndll【di 2>mil /di7 /dikgnd 1 lf itvccgnd20 ccrp2m10 gndgnd4.3、交通燈設(shè)計(jì)hc6800s開發(fā)板中交通燈模塊原理圖如下圖所示,寶田路紅黃綠燈及其人行道上的紅綠燈 和前進(jìn)路上的紅黃綠燈由jp1控制,前進(jìn)路人行道上的紅綠燈由j22控制。交通燈)22jp18rpb47ir47h471rpi2471|r4s471vcc執(zhí)行相應(yīng)程序,即高 峰期模式5、詳細(xì)設(shè)計(jì)一軟件設(shè)計(jì)5.1、軟件開發(fā)工具和環(huán)境keil

10、c51 p vision6. 1252、軟件總體設(shè)計(jì)5.2.1總體結(jié)構(gòu)流程圖如下執(zhí)行相應(yīng)程序,即緊 急模式5.2.2子結(jié)構(gòu)軟件設(shè)計(jì)(1)普通模式程序流程簡圖如下:程序源代碼如下:while(l)if(s=71)s=0;廠寶田路通行,寶田路綠燈亮30秒*/if(s<31)data0=0x00;datal=0x00;data2=duan(30-s)/10;data3=duan(30-s)%10;data4=0x00;data5=0x00;data6=data2;data7=data3;display();led=oxff;redoo=1;greenoo=1;green1o=o;green11

11、=o;redoo=o;redo1=o;廠黃燈階段,5秒*/else if(s<36)datao=oxoo;datal=oxoo;data2=duan(35-s)/10;data3=duan(35-s)%10;data4=0x00;data5=0x00;data6=data2;data7=data3;displayo;led=oxff;redoo=1;greenoo=1;red1o=o;yellow11=0;redoo=o;yellow01=0;/將所冇的燈都熄火/寶田路人行道綠燈亮寶田路綠燈亮前進(jìn)路人行道紅燈亮前進(jìn)路紅燈亮將所有的燈都熄滅寶iii路人行道紅燈亮寶iii路黃燈亮而進(jìn)路人行道

12、紅燈亮前進(jìn)路黃燈亮/*前進(jìn)路通行,前進(jìn)路綠燈亮30秒*/else if(s<66)datao=oxoo;datal=oxoo;data2=duan(65-s)/10;data3=duan(65-s)%10;data4=0x00;data5=0x00;data6=data2;data 7=data3;display();led=oxff;redoo=1;greenoo=1;red1o=o;red11=o;greenoo=o;greeno1=o;/*黃燈階段,5秒*/else datao=oxoo;datal=oxoo;data2=duan(70-s)/10;data3=duan(70-s)

13、%10;data4=0x00;data5=0x00;data6=data2;data 7=data3;display();led=oxff;redoo=1;greenoo=1;red1o=o;yellow11=0;redoo=o;yellow01=0;(2) 按鍵檢測流程圖如下:所需延時子函數(shù)源代碼如下:延時子函數(shù),延時約10msvoid delayms()uint a,b;for(a=10;a>0;a-)for(b=110;b>0;b);(3)緊急模式程序流程簡圖如下:程序源代碼如下:廣按下按鍵1,開啟緊急模式,所有紅燈亮,數(shù)碼管不顯示*/if(keyl=o)delayms();

14、去抖延時if(keyl=o)datao=oxoo;datal=oxoo;data2=0x00;data3=0x00;data4=0x00;data5=0x00;data6=0x00;data7=0x00;display();led=oxff;redoo=1;greenoo=1;red1o=o;red11=o;redoo=o;while(!keyl);按鍵1釋放keysca n();(4)高峰模式程序流程簡圖如下:程序源代碼如下:廠按下按鍵2,開啟上下班高峰期模式,主干道寶田路綠燈吋間為60秒*/void keyscan()if(key2=0)delaymsf);去抖延時if (key2=0)w

15、hile(l)訐(key2!=0) break;當(dāng)按鍵2釋放,跳岀循環(huán)if(m=101)m=0;if(m<61)datao=oxoo;datal=oxoo;data2=duan(60-m)/10;data3=duan(60-m)%10;data4=0x00;data5=0x00;data6=data2;data 7=data3;display();led=oxff;redoo=1;greenoo=1;green1o=o;green11=o;redoo=o;redo1=o;else if(m<66)datao=oxoo;datal=oxoo;data2=duan(65-m)/10;d

16、ata3=duan(65-m)%10;data4=0x00;data5=0x00;data6=data2;data7=data3;display();led=oxff;redoo=1;greenoo=1;red1o=o;yellow11=0;redoo=o;yellow01=0;else if(m<96)datao=oxoo;datal=oxoo;data2=duan(95-m)/10;data4=0x00;data5=0x00;data6=data2;data 7=data3;display();led=oxff;redoo=1;greenoo=1;red1o=o;red11=o;gr

17、eenoo=o;greeno1=o;else datao=oxoo;datal=oxoo;data2=duan(100-m)/10;data3=duan(100-m)%10;data4=0x00;data5=0x00;data6=data2;data7=data3;display();led=oxff;redoo=1;greenoo=1;red1o=o;yellow11=0;redoo=o;yellow01=0; while(!key2);等待按鍵釋放53、定時程序設(shè)計(jì)進(jìn)入主程序后,首先要對定時器和屮斷有關(guān)的寄存器初始化。初始化過程如下:(1)對tmod賦值,確定定時器的工作方式;(2)計(jì)算初

18、值,并將初值寫入;(3)中斷方式時,則對ie賦值,開放中斷;(4)使定時器運(yùn)行控制端置位,啟動定時器來計(jì)數(shù)。木次設(shè)計(jì)使用了定時器0的工作方式,50ms中斷一次,而交通信號燈倒計(jì)時計(jì)數(shù)需要定時is,通過計(jì)算,確定th0和tl0應(yīng)裝入的初值為60和176,即0x3c和oxbo。定時程序源代碼如下:void init()tmod=0x01;/設(shè)置定時器工作方式th0=0x3c;/裝初值thl=0xb0;ea=1;開啟總屮斷eto=1;開啟定時器中斷tro=1;啟動泄時器void to_time()interrupt 1th0=0x3c; 重裝初值thl=0xb0;t卄;if(t=20)s+;/s 計(jì)

19、數(shù)m+;m計(jì)數(shù)t=0;秒?yún)奸g到,t清0重新再計(jì)20次5.4、數(shù)碼管顯示程序設(shè)計(jì)通過單片機(jī)的定時器中斷程序設(shè)計(jì),町以控制數(shù)碼管在動態(tài)顯示時每1秒變換一次,也就是 計(jì)數(shù)一次,根據(jù)定義的全局變最和i/o 口,在顯示子函數(shù)屮實(shí)現(xiàn)數(shù)碼管的位選和段選并能夠 在主函數(shù)中調(diào)用實(shí)現(xiàn)倒計(jì)時循環(huán)顯示。顯示子函數(shù)代碼如下:void display() 顯示了函數(shù) uchar i;uint j;for(i=0;i<8;i+)weixuan=weii; 送位選數(shù)據(jù)duanxuan=datai; 送段選數(shù)據(jù)j=10;掃描間隔時間設(shè)定while(j-);duanxuan=0x00; 消隱6、系統(tǒng)制作、調(diào)試和實(shí)驗(yàn)6.1、

20、系統(tǒng)制作1. 使用keil c 51編寫程序;2. 將編好的程序“c”文件用keil c 51轉(zhuǎn)換成“.hex”文件;3. 將開發(fā)板按照如圖所示的連線方式連接成功;.nnn5w30at w)on 9mb30m 14. 用普屮科技自己的下載軟件paisp自動下載軟件將“.hex”下載到開發(fā)板上,下載步驟 如f:1) .插上usb 口,打開開發(fā)板電源開關(guān),然后打開普中isp下載軟件,在usb轉(zhuǎn)串口驅(qū)動安 裝成功后,打開軟件應(yīng)該有串口號;2) .芯片類型選擇stc90c5xx;3).同時需要把開發(fā)板中jo跳線帽拔掉,設(shè)置成usb接口,加載我們要卜載到單片機(jī)里的程序,單擊打開文件,選擇下載的后綴為.h

21、ex的文件;下載程序4).點(diǎn)擊下載程序,即可下載成功。4. 觀察運(yùn)行現(xiàn)象是否與設(shè)計(jì)結(jié)果相符;6.2、硬件調(diào)試碩件部分是在51單片機(jī)上完成,所以調(diào)試過程比較簡單。首先按照電路原理圖進(jìn)行檢查, 檢查無誤后進(jìn)行按鍵、數(shù)碼管和發(fā)光二極管的檢測。6.3、軟件調(diào)試首先用keil c51軟件對程序進(jìn)行編譯和調(diào)試,經(jīng)過對程序多次修改后,編譯通過,結(jié)束軟件 調(diào)試。6.4、聯(lián)合調(diào)試碩件調(diào)試和硬件調(diào)試結(jié)束z后,將最終調(diào)試好的程序下載到單片機(jī)上,觀察結(jié)果并進(jìn)行調(diào)試。6.5、系統(tǒng)實(shí)驗(yàn)經(jīng)過多次調(diào)試,最終可以在單片機(jī)上觀察到木次設(shè)計(jì)的實(shí)驗(yàn)結(jié)果:(1)用發(fā)光二極管模擬的紅黃綠交通信號燈有序閃爍,實(shí)驗(yàn)現(xiàn)象正確;(2)動態(tài)數(shù)碼管

22、可以顯示到信號燈顏色改變所剩時間,并采用倒計(jì)時方式計(jì)數(shù);(3)按下按鍵1,所有道路及其人行道的紅燈亮,數(shù)碼管均不顯示,開啟緊急模式;(4)按下按鍵2,主干道綠燈時間變?yōu)?0秒,其余均不變,開啟高峰期模式。7、總結(jié)7.1.工作總結(jié)在本次智能交通信號燈的設(shè)計(jì)中,我主要負(fù)責(zé)的是軟件部分以及最后的聯(lián)合調(diào)試部分。主要 有:(1)編寫代碼。本次程序的編寫我用的是c語言,一是因?yàn)閦前在大一有上過c語言的 課,對c語言不會感到很陌生,二是學(xué)習(xí)過程中,教材也都是c語言教程。一開始 我們計(jì)劃僅實(shí)現(xiàn)普通模式下的智能交通信號燈的控制。同時我們參考了單片機(jī)自帶 的程序,后來經(jīng)過深入學(xué)習(xí),發(fā)現(xiàn)只有普通模式太過簡單,所以我

23、們就打算嘗試一 卜能否實(shí)現(xiàn)緊急模式和鬲峰期模式。(2)聯(lián)合調(diào)試。由于單片機(jī)自帶交通燈模塊,所以我覺得調(diào)試應(yīng)該比較簡單,直接將程 序燒錄到單片機(jī)上就可以了。沒想到在這個過程屮還出現(xiàn)了很多了問題。比如發(fā)光 二極管一直亮或者不亮,數(shù)碼顯示管顯示錯誤等。我以為是程序出了問題,就一直 在修改程序,結(jié)呆發(fā)現(xiàn),很大一部分原因是山于我們a粗心了,把線接反了或者接 觸不良,原來是碩件的問題。所以在聯(lián)合調(diào)試的過程中,一定要同時兼顧軟件和硬 件的調(diào)試。木次設(shè)計(jì)還存在一些問題如下:(1)由于我主要負(fù)責(zé)軟件部分,所以在后期的聯(lián)合調(diào)試部分出了很多問題,主要是由于 我對硬件部分不夠熟悉,這是本次實(shí)驗(yàn)小我主要需要改進(jìn)的地方;

24、(2)在編寫代碼的過程中,我還發(fā)現(xiàn)了一些自身存在的問題,比如說主函數(shù)寫的過長, 容易造成里面的括號丟失,代碼后面不加注釋,代碼沒冇層次感,使程序看起來很 舌l(xiāng), mj且在查找問題時也不方便,述有就是對語句運(yùn)用不夠熟悉,容易犯一些語法 錯謀,這一點(diǎn)還盂要加以改進(jìn)。(3)本次設(shè)計(jì)編譯程序之后直接在單片機(jī)上調(diào)試較為麻煩,這一點(diǎn)需要改進(jìn),可加入仿 真調(diào)試。7.2、心得體會木次科研訓(xùn)練接近尾聲,從一開始根本不了解科研訓(xùn)練是什么,需要做什么,到確定 題目,一起學(xué)習(xí),編寫程序,硬件軟件調(diào)試到最后的報告撰寫,我真的覺得自己收獲了很多。 不僅僅是感受到了我們這個團(tuán)隊(duì)的合作精神,還有自己的那一份責(zé)任感,既然是小紐

25、合作完 成一個項(xiàng)目,那就必須要每個人確確實(shí)實(shí)的做好自己的工作,只有這樣,我們的設(shè)計(jì)才是完 整的。本次科研訓(xùn)練我們選擇的是智能交通燈的設(shè)計(jì),說實(shí)話,老師讓我們確定題門吋,我 們也不知道h己能做什么擅長做什么,其至不確定是否能完成這個項(xiàng)目。確定這個題目z后, 也是沒有頭緒,不知道要怎么開始。示來我們明確了一下分工,我主要負(fù)責(zé)軟件部分,硬件 我們是用的單片機(jī),所以我就開始學(xué)習(xí)單片機(jī)的c語言。我用的教材是郭天祥老師主編的51 單片機(jī)c語言教程,我覺得這本帖最大的好處就是通俗易懂,很適合我這樣的單片機(jī)新手。 邊看書學(xué)習(xí),-邊就開始編寫程序,編寫程序首先得確定算法,我還是沒有概念,所以我 就參考了別的交通

26、信號燈的程序,我覺得編程是一件很神奇的事情,我們的很多想法靠著這 些代碼就能夠?qū)崿F(xiàn),這極人的激發(fā)了我的好奇心,就想一定要完成這個程序。我們本來是打 算做個普通模式就結(jié)束,做出來z后乂想挑戰(zhàn)一下白己,就做了個緊急模式和高峰期模式。 在做普通模式時還覺得很簡單,想著變成也不是那么難的一件事,但是在做高峰期模式時, 就出現(xiàn)了很多問題,反復(fù)調(diào)試了很多次還是不行,我們就去請教別人,別人一眼就發(fā)現(xiàn)了其 中的問題,我們也恍然大悟了。所以以后還是要不斷的學(xué)習(xí),積攢經(jīng)驗(yàn),才能夠少犯一些低 級錯誤。通過這次科研訓(xùn)練,真的學(xué)到了很多東西,也發(fā)現(xiàn)了自己本身的一些局限性,希望自己 以后能夠多向優(yōu)秀的人學(xué)習(xí),彌補(bǔ)白身不足

27、。本次科研訓(xùn)練使我們團(tuán)隊(duì)合作的結(jié)果,每一個 人都不可缺少,真的很感謝此次訓(xùn)練,讓我體會到了團(tuán)隊(duì)合作的重要性,感謝我的隊(duì)友們。附:交通信號燈程序源代碼#include<reg5l h> #define uchar unsigned char#definc uint unsigncd int uchar code wei=/定義使用的i/o 口#definc duanxuan p0#define led p2sbi tred 10p2p;sb itgreen10二p2"l;sbitred 11=p2"2;sbityellow11=p2"3;sbitgree

28、n11二p2"4;sbitredoo=p3osbitgreenoo二p3j;sbitredoi二p2"5;sbityell0w01=p2飛;sbitgreen01=p2"7;sbitkey 1=p3'3;sbitkey2二p3"5;#dcfino weixuan pl/上人行道紅燈/上人行道綠燈/右人行道紅燈/右人行道綠燈oxfe, oxfd, oxfb, 0xf7, oxef, oxdf, oxbf, 0x7f) ;/位選控制uchar code duan二0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x

29、07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71; 段選顯示碼uchar data8;uchar t, s, m;/*聲明全局函數(shù)*/void display();void in it ();void de 1ayms();void keyscan();void main() s=0;m=0;init() ;/初始化函數(shù)while(l) if(s=71)s 二0;/*寶田路通行,寶田路綠燈亮30秒*/ if(s<31)data0=0x00;data1=0x00;data2=duan(30-s)/10;data3=duan(30-s)%1

30、0;data4=0x00;data5=0x00;data6=data2;data7=data3;/將所有的燈都熄滅/寶田路人行道綠燈亮/寶iii路綠燈亮/前進(jìn)路人行道紅燈亮/前進(jìn)路紅燈亮display ();led=0xff;redoo二1;greenoo二1;green10=0;green11=0;redoo二0;redoi二0;/*黃燈階段,5秒*/ else if (s<36) data01=0x00;datal=0x00;data2=duan(35-s)/10;data3=duan(35-s)%10;data5=0x00;data6=data2;data7=data3;displ

31、ay();led=0xff;/將所有的燈都熄火red00二1;greenoo=1;redio二0;/寶出路人行道紅燈亮yellow11=0;/寶田路黃燈亮redoo二0;/前進(jìn)路人行道紅燈亮ye【丄 0w01二0;/前進(jìn)路黃燈亮/*前進(jìn)路通行,前進(jìn)路綠燈亮30秒*/ else if(s<66)data0=0x00;data1=0x00;data2=duan(65s)/10;data3=duan(65_s)%10;data4=0x00;data5=0x00;data6=data2;data7=data3;display ();led二oxff;redoo"greenoo二1;re

32、dio二0;red11二0;greenoo二0;green01=0;/*黃燈階段,5秒權(quán)else data1=0x00;data2=duan(70-s)/10;data3=duan(70-s)%10;data4=0x00;data5=0x00;data6=data2;data7=data3;display();led二oxff;redoo=1;greenoo二1;redio二0;yellow11=0;redoo二0;yell0w01二0;/*按下按鍵1,開啟緊急模式,所有紅燈亮,數(shù)碼管不顯示*/if (keyl=0) delayms () ;/去抖延時if (key 1=0) data0=0x

33、00;data1=0x00;data2=0x00;data3=0x00;data4=0x00;data5=0x00;data6=0x00;data7=0x00;display ();led=0xff;redoo"greenoo二1;redio二0;red11二0;redoo二0;redoi二0;while(!keyl) ;/按鍵 1 釋放 keyscan ();)i/*按下按鍵2,開啟上下班高峰期模式,主干道寶出路綠燈時間為60秒*/ void keyscan()if(key2=0) delayms () ;/去抖延時if (key2=0) while(1) if(key2!=o) break;/當(dāng)按鍵2釋放,跳出循環(huán)if(m=101)m=0;if(m<61)data0=0x00;data1=0x00;data2=duan(60-m)/10;data3=duan(60-m)%10;data4=0x00;da

溫馨提示

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

最新文檔

評論

0/150

提交評論