摘要:交通燈控制系統由80C51單片機、鍵盤、LED顯示、交通燈演示組成。系統除基本交通燈功能外。還具有時間設置、LED信息顯示等功能。
關鍵詞:交通燈 單片機 自動控制
中圖分類號:TP27375 文獻標識碼:A 文章編號:1002-2422(2008)01-0003-02
1 系統設計
1.1系統設計要求
(1)正常情況下,A、B道(A、B道交叉組成十字路口,A是主道,B是支道)輪流放行,A道放行60s(其中5s用于警告),B道放行30s(其中5s用于警告)。
(2)一道有車而另一道無車(用按鍵開關s1、s2模擬)時,使有車車道放行。
(3)有緊急車輛通過(用按鍵開關so模擬)時,A、B均為紅燈。
1.2系統硬件電路實現(見圖1)
1.3軟件設計
(1)軟件設計任務:主程序采用查詢方式定時,由R2寄存器確定調用0.5s延時子程序的次數,從而獲得交通燈的各種時間。子程序采用定時器1方式1,查詢式定時,定時器定時50ms,R3寄存器確定50ms循環10次,從而獲取0.5s的延時時間。

一道有車另一道無車的中斷服務程序首先要保護現場,因需用到延時子程序和P1口,幫需保護的寄存器有R3、P1、THI和TL1,保護現場時還需關中斷,以防止高優先級中斷(緊急車輛通過所產生的中斷)出現時導致程序混亂。然后,開中斷,由軟件查詢P3.0和P3.1口.判別哪一道有車,再根據查詢情況執行相應的服務。待交通燈信號出現后,保持5s的延時,然后關中斷,恢復現場,再開中斷,返回主程序。
緊急車輛出現時的中斷服務程序也需要保護現場,但無需關中斷(因其為高優先級中斷),然后執行相應的服務,待交通燈信號出現后延時20s,確保緊急車輛通過,然后恢復現場,返回主程序。
(2)源程序設計
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP AAO
ORG 0013H
AJMP AA1
ORG
0100H
MAIN:SETB PXO
MOV TCON,#00H
MOV TMOD,#10H
MOV IE,#85H
DISP:MOV P1,#0F3H
MOV R2,#6EH
DISPl:ACALL DELAY
DJNZ R2,DISP1
MOV R2,#06H
WARNl:CPL P1.2
ACALL DELAY
DJNZ R2,WARN1
MOV Pl,#0F5H
MOV R2,#04H
YEL1:ACALL DELAY
DJNZ R2,YEL1
MOV P1,#0DEH
MOV R2,#32H
DISP2:ACALL DELAY
DJNZ R2,DlSP2
MOV R2,#06H
WARN2:CPL P1.5
ACALL DELAY
DJNZ R2,WARN2
MOV P1,#0EEH
MOV R2,#04H
YEL2:ACALL DELAY
DJNZ R2,YEL2
AJMP DISP
AA0:PUSH P1
PUSH 03H
PUSH TH1
PUSH TL1
MOV P1,#0F6H
MOV R5,#28H
DELAYO:ACALL DELAY
DJNZ R5,DELAYO
POP TL1
POP TH1
POP 03H
POP P1
RETI
AA1:CLR EA
PUSH P1
PUSH 03H
PUSH TH1
PUSH TL1
SETB EA
JNB P3.0,BP
MOV P1,#0F3H
SJMP DELAY1
BP: JNB P3.1,EXIT
MOV P1,#ODEH
DELAY1:MOV R6,#OAH
NEXT:ACALL DELAY
DJNZ R6,NEXT
EXIT:CLR EA
POP TL1
POP TH1
POP 03H
POP P1
SETB EA
RETI
DELAY:MOV R3,#0AH
MOV TH1,#3CH
MOV TL1,#0BOH
SETB TR1
LP1:JBC TF1,LP2
SJMP LP1
LP2:MOV TH1,#3CH
MOV TL1.#OBOH
DJNZ R3,LP1
RET
END
2 結束語
用單片機控制的交通燈控制系統比模擬電路有明顯優勢,即不用對電路有大改動就可以適應新的工作條件,升級也很方便,只需對CPU重新刷寫一次程序就可以了。80C51單片機具有結構簡單、編程方便、經濟、易于連接等優點,特別是其內部定時器/計數器、中斷系統資源豐富,有應用價值。