標(biāo)題: 請(qǐng)大佬幫忙看看我這個(gè)程序哪里出錯(cuò)了,檢查了好幾遍得不到結(jié)果 [打印本頁(yè)]
作者: YYC7491 時(shí)間: 2021-4-16 10:05
標(biāo)題: 請(qǐng)大佬幫忙看看我這個(gè)程序哪里出錯(cuò)了,檢查了好幾遍得不到結(jié)果
1.在擁堵情況下,主干道綠燈亮1分鐘(此時(shí)次干道紅燈亮)后,主干道綠燈閃爍5次,綠燈滅,黃燈亮5秒鐘后,紅燈亮,同時(shí)次干道紅燈滅,綠燈亮。次干道綠燈40秒后,綠燈閃爍5次,綠燈滅,黃燈亮5秒鐘后,紅燈亮,同時(shí)次干道紅燈滅,綠燈亮
2.非擁堵時(shí)段,根據(jù)兩個(gè)干道最前車輛的速度以及距離紅綠燈路口的距離,判斷紅綠燈時(shí)間,盡量?jī)蓚(gè)方向車道的車輛均能夠不停車通過(guò)
根據(jù) p0.0 來(lái)判斷 是否擁堵,根據(jù)p0.1判斷當(dāng)前是東西綠燈還是南北綠燈,第一個(gè)要求能實(shí)現(xiàn),第二個(gè)要求實(shí)現(xiàn)不了 不知道哪里寫(xiě)錯(cuò)了,希望大家能幫忙指出錯(cuò)誤,
LED_G1 BIT P1.0 ;東西綠燈
LED_R1 BIT P1.1 ;東西紅燈
LED_Y1 BIT P1.2 ;東西黃燈
LED_G2 BIT P1.3 ;南北綠燈
LED_R2 BIT P1.4 ;南北紅燈
LED_Y2 BIT P1.5 ;南北黃燈
ORG 0000H
LJMP START
ORG 0100H
START:
MOV TMOD,#01H ;置T0工作方式1
MOV TH0,#03CH ;置TO定時(shí)初始值50ms
MOV TL0,#0B0H
SETB TR0 ;啟動(dòng)定時(shí)
CLR EA
MOV P0,#0FFH
MOV P1,#00H
JB P0.0,SHUNCHANG
LJMP YONGDU
SHUNCHANG:
MOV R4,#80 ;東西距離
MOV R5,#8 ;速度
MOV R6,#90 ;南北距離
MOV R7,#8 ;速度
JB P0.1,NBLV
SJMP DXLV
DXLV:
SETB LED_G1
SETB LED_R2
SJMP DX
NBLV:
LCALL STATE4
SJMP DX
DX:
MOV A,R4
MOV B,R5
DIV AB
JNB PSW.2,JW1
SJMP CUN1
CUN1:
MOV 20H,A
SJMP NB
JW1:
INC A
SJMP CUN1
NB:
CLR PSW.2
MOV A,R6
MOV B,R7
DIV AB
JNB PSW.2,JW2
SJMP CUN2
CUN2:
MOV 21H,A
SJMP BJ
JW2:
INC A
SJMP CUN2
BJ:
MOV A,20H
CJNE A,21H,BUDENG
MOV R2,#20
MOV R3,20H
BAOCHI:
JNB TF0,BAOCHI ;查詢50ms到否
CLR TF0
MOV TH0,#3CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R2,BAOCHI ;判斷1s到否?未到繼續(xù)狀態(tài)4
MOV R2,#20
DJNZ R3,BAOCHI ;狀態(tài)4維持40s
CPL LED_G1
CPL LED_R1
CPL LED_G2
CPL LED_R2
LJMP SHUNCHANG
BUDENG:
JC DXXL
NBXL:
MOV R2,#20
MOV R3,21H
NBXL1:
LCALL STATE4
JNB TF0,NBXL1 ;查詢50ms到否
CLR TF0
MOV TH0,#3CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R2,NBXL1 ;判斷1s到否?未到繼續(xù)狀態(tài)4
MOV R2,#20
DJNZ R3,NBXL1
LCALL STATE1
LJMP SHUNCHANG
DXXL:
MOV R2,#20
MOV R3,20H
DXXL1:
LCALL STATE1
JNB TF0,DXXL1 ;查詢50ms到否
CLR TF0
MOV TH0,#3CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R2,DXXL1 ;判斷1s到否?未到繼續(xù)狀態(tài)4
MOV R2,#20
DJNZ R3,DXXL1
LCALL STATE4
LJMP SHUNCHANG
YONGDU:
MOV R2,#20
MOV R3,#60 ;東西綠燈60s
WAIT1:
LCALL STATE1 ;調(diào)用狀態(tài)1
JNB TF0,WAIT1 ;查詢50ms到否
CLR TF0
MOV TH0,#03CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R2,WAIT1 ;判斷1s到否?未到繼續(xù)狀態(tài)1
MOV R2,#20
DJNZ R3,WAIT1 ;狀態(tài)1維持60s
MOV R2,#5
MOV R3,#5 ;東西綠燈閃5s
MOV R4,#4 ;閃爍間隔200ms
WAIT2:
LCALL STATE2 ;調(diào)用狀態(tài)2
JNB TF0,WAIT2 ;查詢50ms到否
CLR TF0
MOV TH0,#03CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R4,WAIT2 ;判斷200ms到否?未到繼續(xù)狀態(tài)2
CPL LED_G1
MOV R4,#4 ;閃爍間隔200ms
DJNZ R2,WAIT2
MOV R2,#5
DJNZ R3,WAIT2 ;狀態(tài)2維持5s
MOV R2,#20
MOV R3,#5 ;東西黃燈5s
WAIT3:
LCALL STATE3 ;調(diào)用狀態(tài)3
JNB TF0,WAIT3 ;查詢50ms到否
CLR TF0
MOV TH0,#3CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R2,WAIT3 ;判斷1s到否?未到繼續(xù)狀態(tài)3
MOV R2,#20
DJNZ R3,WAIT3 ;狀態(tài)3維持5s
MOV R2,#20
MOV R3,#40 ;東西紅燈40s
WAIT4:
LCALL STATE4 ;調(diào)用狀態(tài)4
JNB TF0,WAIT4 ;查詢50ms到否
CLR TF0
MOV TH0,#3CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R2,WAIT4 ;判斷1s到否?未到繼續(xù)狀態(tài)4
MOV R2,#20
DJNZ R3,WAIT4 ;狀態(tài)4維持40s
MOV R2,#5
MOV R3,#5 ;南北綠燈閃5s
MOV R4,#4 ;閃爍間隔200ms
WAIT5:
LCALL STATE5 ;調(diào)用狀態(tài)5
JNB TF0,WAIT5 ;查詢50ms到否
CLR TF0
MOV TH0,#3CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R4,WAIT5 ;判斷200ms到否?未到繼續(xù)狀態(tài)5
CPL LED_G2 ;南北綠燈閃
MOV R4,#4
DJNZ R2,WAIT5 ;判斷1s到否?未到繼續(xù)狀態(tài)5
MOV R2,#5
DJNZ R3,WAIT5 ;狀態(tài)5維持5s
MOV R2,#20
MOV R3,#5 ;黃燈5s
WAIT6:
LCALL STATE6 ;調(diào)用狀態(tài)6
JNB TF0,WAIT6 ;查詢50ms到否
CLR TF0
MOV TH0,#03CH ;恢復(fù)T0定時(shí)初始值50ms
MOV TL0,#0B0H
DJNZ R2,WAIT6 ;判斷1s到否?未到繼續(xù)狀態(tài)6
MOV R2,#20
DJNZ R3,WAIT6 ;狀態(tài)6維持5s
LJMP YONGDU
STATE1: ;狀態(tài)1
SETB LED_G1 ;東西綠燈亮
CLR LED_R1
CLR LED_Y1
CLR LED_G2
SETB LED_R2 ;南北紅燈亮
CLR LED_Y2
RET
STATE2: ;狀態(tài)2
CLR LED_R1
CLR LED_Y1
CLR LED_G2
SETB LED_R2 ;南北紅燈亮
CLR LED_Y2
RET
STATE3: ;狀態(tài)3
CLR LED_G1
CLR LED_R1
SETB LED_Y1 ;東西黃燈亮
CLR LED_G2
SETB LED_R2 ;南北紅燈亮
CLR LED_Y2
RET
STATE4: ;狀態(tài)4
CLR LED_G1
SETB LED_R1 ;東西紅燈亮
CLR LED_Y1
SETB LED_G2 ;南北綠燈亮
CLR LED_R2
CLR LED_Y2
RET
STATE5: ;狀態(tài)5
CLR LED_G1
SETB LED_R1 ;東西紅燈亮
CLR LED_Y1
CLR LED_R2
CLR LED_Y2
RET
STATE6: ;狀態(tài)6
CLR LED_G1
SETB LED_R1 ;東西紅燈亮
CLR LED_Y1
CLR LED_G2
CLR LED_R2
SETB LED_Y2 ;南北黃燈亮
RET
END
@W24SD~CR$D7PCJKM{$MLAG.png (62.41 KB, 下載次數(shù): 32)
下載附件
2021-4-16 10:00 上傳
作者: hz_dyg 時(shí)間: 2021-4-27 16:04
建議你用C重寫(xiě)
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |