當(dāng)前,在世界范圍內(nèi),一個(gè)以微電子技術(shù),計(jì)算機(jī)和通信技術(shù)為先導(dǎo)的,以信息技術(shù)和信息產(chǎn)業(yè)為中心的信息革命方興未艾。而計(jì)算機(jī)技術(shù)怎樣與實(shí)際應(yīng)用更有效的結(jié)合并有效的發(fā)揮其作用是科學(xué)界最熱門(mén)的話題,也是當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域。本文主要從單片機(jī)的應(yīng)用上來(lái)實(shí)現(xiàn)十字路口交通燈智能化的管理,用以控制過(guò)往車(chē)輛的正常運(yùn)作。
2.過(guò)程分析
圖1是一個(gè)十字路口示意圖。分別用1、2、3、4表明四個(gè)流向的主車(chē)道,用A、B、C、P分別表示各主車(chē)道的左行車(chē)道、直行車(chē)道、右行車(chē)道以及人行道。用a、b、c、p分別表示左轉(zhuǎn)、直行、右轉(zhuǎn)和人行道的交通信號(hào)燈,如圖2所示。
交通燈閃亮的過(guò)程:
路口1的車(chē)直行時(shí)的所有指示燈情況為:
3a3b2p綠3c紅+4a4b4c 3p全紅+1c 綠1a1b4p紅+2c綠2a2b1p紅
路口2的車(chē)直行時(shí)的所有指示燈情況為:
4a4b3p綠4c紅+ 1a1b1c 4p全紅+ 2c綠2a2b1p紅+3c綠3a3b2p紅
故路口3的車(chē)直行時(shí)的所有指示燈情況為:
1a1b4p綠1c紅+ 2a2b2c 1p全紅+3c綠 3a3b2p紅+4c 綠4a4b3p紅
故路口4的車(chē)直行時(shí)的所有指示燈情況為:
2a2b1p綠2c紅+3c3a3b2p全紅+4c綠4a4b3p紅+1c綠1a1b4p紅
圖1:十字路口交通示意圖
圖2:十字路口通行順序示意圖
圖3:十字路口交通指示燈示意圖
圖4:交通燈控制系統(tǒng)硬件框圖
3、硬件設(shè)計(jì)
本系統(tǒng)硬件上采用AT89C52單片機(jī)和可編程并行接口芯片8155,分別控制圖2所示的四個(gè)組合。AT89C52單片機(jī)具有MCS-51內(nèi)核,片內(nèi)有8KB Flash、256字節(jié)RAM、6個(gè)中斷源、1個(gè)串行口、最高工作頻率可達(dá)24MHz,完全可以滿足本系統(tǒng)的需要 ;與其他控制方法相比,所用器件可以說(shuō)是比較簡(jiǎn)單經(jīng)濟(jì)的。硬件框圖如下:
4、軟件流程圖
圖5:交通燈控制系統(tǒng)流程圖
5、交通燈控制系統(tǒng)軟件
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#60H
;LCALLDIR ;調(diào)用日期、時(shí)間顯示子程序
LOOP:
MOVP1,#0FFH
LJMPTEST
LCALLROAD1 ;路口1的車(chē)直行時(shí)各路口燈亮情況
LCALLDLY30s ;延時(shí)30秒
MOVP1,#0FFH ;恢復(fù)P1口高電平
LCALLRESET ;恢復(fù)8155各口為高電平
LCALLYELLOW1 ;路口1的車(chē)直行-->路口2的車(chē)直行黃燈亮情況
LCALLDLY5s ;延時(shí)5秒
LCALLRESET ;恢復(fù)8155各口為高電平
MOVP1,#0FFH ;恢復(fù)P1口
LCALLROAD2 ;路口2的車(chē)直行時(shí)各路口燈亮情況
LCALLDLY30s ;延時(shí)30秒
LCALLRESET ;恢復(fù)8155A、B口為高電?
MOVP1,#0FFH ;恢復(fù)P1口高電平
LCALLYELLOW2 ;路口2的車(chē)直行-->路口3的車(chē)直行黃燈亮情況
LCALLDLY5s ;延時(shí)5秒
LCALLRESET ;恢復(fù)8155A、B口為高電?
MOVP1,#0FFH ;恢復(fù)P1口高電平
LCALLROAD3 ;路口3的車(chē)直行時(shí)各路口燈亮情況
LCALLDLY30s ;延時(shí)30秒
LCALLRESET ;恢復(fù)8155A、B口為高電?
MOVP1,#0FFH ;恢復(fù)P1口高電平
LCALLYELLOW3 ;路口3的車(chē)直行-->路口4的車(chē)直行黃燈亮情況
LCALLDLY5s ;延時(shí)5秒
LCALLRESET ;恢復(fù)8155各口為高電平
MOVP1,#0FFH ;恢復(fù)P1口高電平
LJMPTEST
LCALLROAD4 ;路口4的車(chē)直行時(shí)各路口燈亮情況
LCALLDLY30s ;延時(shí)30秒
SETBP1.5 ;恢復(fù)P1.5高電平
SETBP1.4 ;恢復(fù)P1.4高電平
MOVDPTR,#0FFFFH;恢復(fù)8155各口為高電平
LCALLYELLOW4;路口4的車(chē)直行-->路口1的車(chē)直行黃燈亮情況
LCALLDLY5s ;延時(shí)5秒
SETBP1.6 ;恢復(fù)P1.6高電平
SETBP1.3 ;恢復(fù)P1.3高電平
MOVDPTR,#0FFFFH;恢復(fù)8155各口為高電平
LJMPLOOP
;路口1的車(chē)直行時(shí)各路口燈亮情況3a3b2p綠3c紅+4a4b4c3p全紅+1c綠1a1b4p紅+2c綠2a2b1p紅
ROAD1:
MOVDPTR,#7F00H ;置8155命令口地址;無(wú)關(guān)位為1)
MOVA,#03H ;A口、B口輸出,A口、B口為基本輸入輸出方式
MOVX@DPTR,A ;寫(xiě)入工作方式控制字
INCDPTR ;指向A口
MOVA,#79H ;1a1b4p紅1c綠2a2b1p紅
MOVX@DPTR,A
INCDPTR ;指向B口
MOVA,#0E6H ;3a3b2p綠3c紅4a4b3p紅
MOVX@DPTR,A
MOVP1,#0DEH ;4c紅2c綠
RET
6、結(jié)語(yǔ)
本系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,操作方便;可現(xiàn)自動(dòng)控制,具有一定的智能性;對(duì)優(yōu)化城市交通具有一定的意義。
本設(shè)計(jì)將各任務(wù)進(jìn)行細(xì)分包裝,使各任務(wù)保持相對(duì)獨(dú)立;能有效改善程序結(jié)構(gòu),便于模塊化處理,使程序的可讀性、可維護(hù)性和可移植性都得到進(jìn)一步的提高。
-
單片機(jī)
+關(guān)注
關(guān)注
6039文章
44579瀏覽量
636457 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6635瀏覽量
110687 -
交通燈
+關(guān)注
關(guān)注
13文章
324瀏覽量
39787
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論