我今天遇到了一個問題,簡易交通燈的制作于是我寫了匯編代碼.
ORG 0000H
LJMP STAR
STAR:MOV P1,#00H
MOV P0,#0FFH
MOV P3,#00H
L1:JB P1.0,WAN//?ж???????
MOV P3,#00H
SETB P3.2//???????
SETB P3.3//?ε????
MOV 31H,#03CH//?????60??
MOV R4,#03CH
L2:CALL DIS1//???????
CALL YS
DEC R4
DJNZ 31H,L2
CLR P3.2
CLR P3.3
SETB P3.1
MOV 32H,#05H
L3:CALL DIS1
CALL YS
SETB P3.3
CALL YS
DEC R4
CLR P3.3
DJNZ 32H,L3
CLR P3.1
CLR P3.4
SETB P3.0
SETB P3.5
MOV R4,#02DH
L4:CALL DIS1
CALL YS
CALL DIS1
DEC R4
DJNZ 33H,L4
CLR P3.2
CLR P3.5
SETB P3.4
MOV 34H,#05H
MOV R4,#o5h
L8:SETB P3.0
CALL DIS1
CALL YS
CLR P3.0
CALL DIS1
CALL YS
SETB P3.0
CLR P3.0
DEC R4
DJNZ 34H,L8
LJMP L1
RET
WAN:SETB P1.7
JB P1.0,L1
MOV P3,#00H
SETB P3.2
SETB P3.3
MOV 31H,#040D
MOV R4,#040D
L5:CALL DIS1
CALL YS
DEC R4
DJNZ 31H,L5
CLR P3.2
CLR P3.3
SETB 3.0
SETB 3.5
MOV 33H,#010D
MOV R4,#010D
L7:CALL DIS1
CALL YS
CALL DIS1
DEC R4
DJNZ 33H,L7
LJMP WAN
RET
YS:MOV 72H,#40D
LOOP3:MOV 71H,#100D
LOOP1:MOV 70H,#22D
LOOP0:DJNZ 70H,LOOP0
DJNZ 71H,LOOP1
MOV 70H,#46D
LOOP2:DJNZ 70H,LOOP2
DJNZ72H,LOOP3
MOV 70H,#48D
LOOP4:DJNZ 70H,LOOP4
RET
DIS1:MOV A,R4
MOV B,#10D
DIV AB
LCALL DLY
MOV A,B
LCALL SEG7
SETB P2.0
MOV P0,A
LCALL DLY
RET
SEG7:MOV DPTR,#TAB
MOVCA,@A+DPTR
RET
TAB:DB 03FH,003H,05BH,04FH,066H
DB 06DH,07DH,007H,07FH,06FH
DLY:
MOV R7,#2D
D1:MOV R6,#249D
DJNZ R6,$
DJNZ R7,D1
RET
END
|