新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 實(shí)驗(yàn)八 交通燈控制(80C51單片機(jī)匯編語言編程)

實(shí)驗(yàn)八 交通燈控制(80C51單片機(jī)匯編語言編程)

作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
設(shè)計一交通燈控制系統(tǒng),控制東西方向的紅、黃、綠燈和南北方向的紅、黃、綠燈,可手動控制和自動控制,設(shè)置兩個輸入控制開關(guān)(可用P1.0、P1.1做輸入控制),控制過程如下:
東西方向 南北方向
P1.0 P1.1
1 0 亮 3S后亮
0 1 亮 3S后 亮
0 0
1 1 閃(亮1S滅1S) 閃(亮1S滅1S)

ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0

ORG 0030H
MAIN:MOV P1,#03H
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
MOV R2,#30
MOV R3,#30
MOV R4,#50
MOV R5,#50
MOV R6,#10
MOV R7,#10
SETB TR0
SJMP $

ORG 0200H;進(jìn)入定時器,首先判斷情況
T0:SETB P1.0
SETB P1.1
JB P1.0,AA ;每100ms判斷一次情況
JNB P1.0,BB
AA:JB P1.1,SHAN ;11
JNB P1.1,ZD2 ;01
BB:JB P1.1,ZD1 ;10
JNB P1.1,HONG;00

SHAN:MOV TH0,#3CH;黃燈閃爍情況
MOV TL0,#0B0H
CJNE R6,#00H,LOOP1
MOV P1,#01001011B;亮一秒
DJNZ R7,GORET1
MOV R6,#0AH
GORETI:RETI
LOOP1:MOV P1,#00000011B;滅一秒
DJNZ R6,GORET1
MOV R7,#0AH
GORET1:RETI

HONG:MOV TH0,#3CH ;紅燈一直亮
MOV TL0,#0B0H
MOV P1,#10010000B
RETI

ZD1:JB P1.4,ZD11
MOV TH0,#3CH;自動情況
MOV TL0,#0B0H
CJNE R4,#00H,LOOP2
MOV P1,#10001001B;黃燈亮3秒
DJNZ R2,GORET2
MOV R4,#50
LJMP ZD11
LOOP2:MOV P1,#10000101B;紅燈亮5秒
DJNZ R4,GORET2
MOV R2,#1EH
GORET2:RETI

ZD11:MOV TH0,#3CH ;自動情況11
MOV TL0,#0B0H
CJNE R4,#00H,LOOP5
MOV P1,#01010001B;黃燈亮3秒
DJNZ R2,GORET3
MOV R4,#32H
MOV P1,#10000110B
AJMP ZD1
LOOP5:MOV P1,#00110001B;綠燈亮5秒
DJNZ R4,GORET3
MOV R2,#1EH
GORET3:RETI

ZD2:JB P1.7,ZD21
MOV TH0,#3CH ;自動情況2
MOV TL0,#0B0H
CJNE R5,#00H,LOOP3
MOV P1,#01010010B;黃燈亮3秒
DJNZ R3,GORET4
MOV R5,#32H
AJMP ZD21
LOOP3:MOV P1,#00110010B;綠燈亮5秒
DJNZ R5,GORET4
MOV R3,#1EH
GORET4:RETI

ZD21:MOV TH0,#3CH;自動情況
MOV TL0,#0B0H
CJNE R5,#00H,LOOP6
MOV P1,#10001010B;黃燈亮3秒
DJNZ R3,GORET5
MOV R5,#32H
MOV P1,#00110010B
AJMP ZD2
LOOP6:MOV P1,#10000110B;紅燈亮5秒
DJNZ R5,GORET5
MOV R3,#1EH
GORET5:RETI


關(guān)鍵詞: 交通燈控制80C51單片

評論


技術(shù)專區(qū)

關(guān)閉