📄 y1s.asm
字号:
$INCLUDE(C8051F020.INC)
DAT1 DATA 021H
DAT2 DATA 022H
CT DATA 023H
CU DATA 024H
DIN BIT P1.1
LOAD BIT P1.2
CLK BIT P1.3
ORG 0000H
AJMP START
ORG 0100H
START: MOV WDTCN,#0DEH
MOV WDTCN,#0ADH
SCLK: MOV OSCXCN,#67H
MOV ACC,#00H ; CLOCK: MOV OSCXCN,#067H
DJNZ ACC,$ ; CLR A
DJNZ ACC,$ ; DJNZ ACC,$
DJNZ ACC,$ ; DJNZ ACC,$
; WAIT: MOV A,OSCXCN
WAIT: MOV ACC,OSCXCN ; JNB ACC.7,WAIT
JNB ACC.7,WAIT ; ORL OSCICN,#80H
ORL OSCXCN,#80H ; ORL OSCXCN,#08H
ORL OSCICN,#08H
CTSET: MOV XBR2,#040H
MOV P1MDOUT,#0FFH
MOV CKCON,#00H
MOV TCON,#00H
MOV TMOD,#01H
MAIN: ACALL RS7219
LOOP0: MOV R4,#00H
LOOP1: MOV DAT1,#01H
MOV DAT2,R4
ACALL SEND
ACALL DEL1S
INC R4
CJNE R4,#10,LOOP1
MOV R5,#00H
MOV DAT1,#01H
MOV DAT2,R5
ACALL SEND
INC R5
CJNE R5,#10,LOOP0
SJMP LOOP0
DEL1S: MOV R7,#0AH
DLOP1: MOV TH0,#03CH
MOV TL0,#0B0H
SETB TR0
DLOP2: JNB TF0,DLOP2
CLR TR0
CLR TF0
DJNZ R7,DLOP1
RET
RS7219: MOV DAT1,#09H
MOV DAT2,#0FFH
LCALL SEND
MOV DAT1,#0AH
MOV DAT2,#04H
LCALL SEND
MOV DAT1,#0BH
MOV DAT2,#01H
LCALL SEND
MOV DAT1,#0CH
MOV DAT2,#01H
LCALL SEND
RET
SEND: MOV R0,#08H
CLR LOAD
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
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -