📄 交通灯lcd and led.asm
字号:
;-------------------------------------?????-----------------------------------
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP PIPO
ORG 0030H
MAIN: MOV SP,#5FH ;???????30H
MOV 40H,#00H ;?????????,?????
MOV 41H,#25H ;?????
MOV TMOD,#01H ;?????0????1
MOV TH0,#0DCH ;???
MOV TL0,#00H ;??10MS
SETB EA ;????,(??)
SETB ET0 ;??????
SETB TR0 ;????
MOV 42H,#00H ;????????????
MOV R6,#00H ;????????
MOV 44H,#00H
ACALL INIT
ACALL FIRST
MOV DPTR,#TABLE1
ACALL DISPLAY
ACALL SECOND
MOV DPTR,#TABLE2
ACALL DISPLAY
CYCLE:ACALL THIRD
MOV A,41H
SWAP A
ANL A,#0FH
ACALL TABLE
ACALL WRDATA
LCALL DELAY
MOV A,41H
ANL A,#0FH
ACALL TABLE
ACALL WRDATA
LCALL DELAY
LED1:
MOV P0,#0FFH
MOV A,41H
ANL A,#0FH
ACALL TABLEK
MOV P2,A
CLR P0.6
ACALL DELAY
SETB P0.6
MOV A,41H
SWAP A
ANL A,#0FH
ACALL TABLEK
MOV P2,A
CLR P0.5
ACALL DELAY
SETB P0.5
LED:
BB0: MOV R7,42H
CJNE R7,#01H,BB1
MOV P2,#0FFH
MOV A,44H
JB ACC.0, BULIAO1
SETB P0.7
CLR P2.4
CLR P2.0
CLR P0.7
SETB P0.7
BULIAO1:
BB1: MOV R7,42H
CJNE R7,#02H,BB2
SETB P0.7
MOV P2,#0FFH
CLR P2.2
CLR P2.3
CLR P0.7
SETB P0.7
BB2: MOV R7,42H
CJNE R7,#03H,BB3
MOV A,44H
MOV P2,#0FFH
JB ACC.0, BULIAO
SETB P0.7
CLR P2.1
CLR P2.3
CLR P0.7
SETB P0.7
BULIAO:
BB3: MOV R7,42H
CJNE R7,#00H,OUT1
SETB P0.7
MOV P2,#0FFH
CLR P2.5
CLR P2.0
CLR P0.7
SETB P0.7
OUT1:
AJMP CYCLE
TABLEK:INC A
MOVC A,@A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
INIT:
MOV A,#01H
ACALL WRCON
MOV A,#38H
ACALL WRCON
MOV A,#0CH
ACALL WRCON
MOV A,#01H
ACALL WRCON
MOV A,#06H
ACALL WRCON
MOV A,#0CH
ACALL WRCON
RET
DISPLAY:
MOV R1,#00H
NEXT:
MOV A, R1
MOVC A, @A+DPTR
CJNE A, #23H,DSP
RET
DSP:
ACALL WRDATA
INC R1
AJMP NEXT
FIRST:
MOV A,#10000000B
ACALL WRCON
RET
SECOND:
MOV A,#11000000B
ACALL WRCON
RET
THIRD:
MOV A,#11001000B
ACALL WRCON
RET
WRCON:
ACALL BUSY
MOV P3,#11110001B
NOP
SETB P3.3
MOV P0,A
NOP
CLR P3.3
RET
WRDATA:
ACALL BUSY
MOV P3,#11110011B
NOP
SETB P3.3
MOV P0,A
NOP
CLR P3.3
RET
BUSY:
PUSH ACC
WAIT:
MOV P3,#11110101B
NOP
SETB P3.3
MOV A,P0
JB ACC.7,WAIT
POP ACC
RET
DELAY: PUSH PSW ;?????
MOV R3,#10H
DELAY0:MOV R4,#50H
DELAY1:DJNZ R4,DELAY1
DJNZ R3,DELAY0
POP PSW
RET
;DELAY12:
;MOV R6,#80H
;D1:
; MOV R7,#80H
;DJNZ R7,$
;DJNZ R6,D1
TABLE1:
DB "Triffic program:"
DB "#"
TABLE2:
DB "time is:"
DB "#"
TABLE: INC A
MOVC A, @A+PC
RET
DB "0123456789"
PIPO: INC R6 ;1?????
CJNE R6,#32H,NEXT1
MOV R6,#00H
INC 44H
NEXT1:PUSH PSW ;10MS??
PUSH ACC
MOV TH0,#0DCH ;????
MOV TL0,#00H
INC 40H
MOV A,40H
CJNE A,#64H,RET0
MOV 40H,#00H
MOV A,41H
DEC A
KK: CJNE A,#1FH,KK0 ;?1F??6
SUBB A,#06H
AJMP KK1
KK0: CJNE A,#0FH,KK1 ;?0F??6
SUBB A,#06H
KK1: MOV 41H,A
KK2: CJNE A,#0FFH,RET0
MOV R7,42H
AA0: CJNE R7,#00H,AA1 ;??25S?5S?15S?5S????????
MOV 41H,#05H
INC 42H
AA1: CJNE R7,#01H,AA2
MOV 41H,#15H
INC 42H
AA2: CJNE R7,#02H,AA3
MOV 41H,#05H
INC 42H
AA3: CJNE R7,#03H,RET0
MOV 41H,#25H
MOV 42H,#00H
RET0: POP ACC
POP PSW
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -