📄 fj.asm
字号:
$INCLUDE(C8051F020.INC)
DAT1 DATA 021H
DAT2 DATA 022H
C0 DATA 072H
DIN BIT P1.5
LOAD BIT P1.6
CLK BIT P1.7
ORG 0000H
AJMP START1
ORG 000BH
LJMP INT1
ORG 0100H
START1: MOV WDTCN,#0DEH
MOV WDTCN,#0ADH
CLOCK: MOV OSCXCN,#067H
CLR A
DJNZ ACC,$
DJNZ ACC,$
WAIT: MOV A,OSCXCN
JNB ACC.7,WAIT
ORL OSCICN,#80H
ORL OSCXCN,#08H
SETT: MOV XBR2,#40H
MOV P1MDOUT,#0FFH
MOV P2MDOUT,#0FFH
ORL IE,#10000010B
MOV TMOD,#11H
TEST:
MOV DAT1,#09H
MOV DAT2,#0FFH
LCALL SEND
MOV DAT1,#0AH
MOV DAT2,#04H
LCALL SEND
MOV DAT1,#0BH
MOV DAT2,#07H
LCALL SEND
MOV DAT1,#0CH
MOV DAT2,#01H
LCALL SEND
ASD: MOV DAT1,#01H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#02H
MOV DAT2,#01H
LCALL SEND
MOV DAT1,#03H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#04H
MOV DAT2,#01H
LCALL SEND
MOV DAT1,#05H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#06H
MOV DAT2,#01H
LCALL SEND
MOV DAT1,#07H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#08H
MOV DAT2,#01H
LCALL SEND
MOV P2,#10101010B
LCALL DELAY1S
MOV DAT1,#01H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#02H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#03H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#04H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#05H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#06H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#07H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#08H
MOV DAT2,#00H
LCALL SEND
MOV P2,#00H
LCALL DELAY1S
MOV DAT1,#01H
MOV DAT2,#01H
LCALL SEND
MOV DAT1,#02H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#03H
MOV DAT2,#01H
LCALL SEND
MOV DAT1,#04H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#05H
MOV DAT2,#01H
LCALL SEND
MOV DAT1,#06H
MOV DAT2,#00H
LCALL SEND
MOV DAT1,#07H
MOV DAT2,#01H
LCALL SEND
MOV DAT1,#08H
MOV DAT2,#00H
LCALL SEND
MOV P2,#01010101B
LCALL DELAY1S
MOV DAT1,#01H
MOV DAT2,#88H
LCALL SEND
MOV DAT1,#02H
MOV DAT2,#88H
LCALL SEND
MOV DAT1,#03H
MOV DAT2,#88H
LCALL SEND
MOV DAT1,#04H
MOV DAT2,#88H
LCALL SEND
MOV DAT1,#05H
MOV DAT2,#88H
LCALL SEND
MOV DAT1,#06H
MOV DAT2,#88H
LCALL SEND
MOV DAT1,#07H
MOV DAT2,#88H
LCALL SEND
MOV DAT1,#08H
MOV DAT2,#88H
LCALL SEND
MOV P2,#00H
LCALL DELAY1S
DSA: LJMP ASD
SHUT: MOV DAT1,#0CH
MOV DAT2,#00H
LCALL SEND
JMP EXIT
DELAY10US:MOV TH1,#0FFH
MOV TL1,#0F7H
SETB TR1
LOOP3: JBC TF1,LOOP4
SJMP LOOP3
LOOP4: CLR TR1
CLR TF1
DJNZ R1,DELAY10US
RET
SEND: MOV R0,#08H
CLR LOAD
MOV 040H,A
PUSH 040H
SENDLOOP: CLR CLK
MOV C,DAT1.7
MOV DIN,C
SETB CLK
MOV A,DAT1
RL A
MOV DAT1,A
DJNZ R0,SENDLOOP
SEND1: MOV R3,#08H
SENDLOOP1:CLR CLK
MOV C,DAT2.7
MOV DIN,C
SETB CLK
MOV A,DAT2
RL A
MOV DAT2,A
DJNZ R3,SENDLOOP1
SETB LOAD
POP 040H
MOV A,040H
RET
DELAY1S: MOV R7,#20
DEL50MS: MOV TH0,#03CH
MOV TL0,#0B0H
SETB TR0
CLR PSW.1
HERE: JNB PSW.1,HERE
RETT: DJNZ R7,DEL50MS
RET
INT1: CLR TF0
CLR TR0
DJNZ R7,S1
S2: AJMP S3
S1: MOV TH0,#03CH
MOV TL0,#0B0H
SETB TR0
S3: SETB PSW.1
RETI
EXIT: AJMP EXIT
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -