📄 最终程序.txt
字号:
CS EQU P1.4
SCLK EQU P1.2
DIO EQU P1.3
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
LP: LCALL RDD
LCALL DATAA
LCALL DISP
LCALL DELAY
LCALL DELAY
lcall delay
JMP LP
RDD: CLR CS
MOV R0,#2
LCALL RDBIT
MOV R1,A
MOV R0,#8
LCALL RDBIT
MOV R2,A
SETB CS
CLR SCLK
RET
RDBIT: CLR SCLK
MOV C,DIO
RLC A
SETB SCLK
DJNZ R0,RDBIT
RET
DATAA: MOV R4,#00H
MOV R3,#00H
MOV A,R2
RR A
JNB ACC.0,N2
MOV A,R3
MOV A,#1
MOV R3,A
N2: MOV A,R2
RR A
JNB ACC.1,N4
MOV A,R3
ADD A,#2
MOV R3,A
N4: MOV A,R2
RR A
JNB ACC.2,N8
MOV A,R3
ADD A,#4
MOV R3,A
N8: MOV A,R2
RR A
JNB ACC.3,N16
MOV A,R3
ADD A,#8
DA A
MOV R3,A
N16: MOV A,R2
RR A
JNB ACC.4,N32
MOV A,R3
ADD A,#16h
DA A
MOV R3,A
N32: MOV A,R2
RR A
JNB ACC.5,N64
MOV A,R3
ADD A,#32h
DA A
MOV R3,A
N64: MOV A,R2
RR A
JNB ACC.6,N128
MOV A,R3
ADD A,#64h
DA A
MOV R3,A
MOV A,R4
ADDC A,#0
MOV R4,A
N128: MOV A,R1
JNB ACC.0,N256
MOV A,R3
ADD A,#28h
DA A
MOV R3,A
MOV A,R4
ADDC A,#1
MOV R4,A
N256: MOV A,R1
JNB ACC.1,EN
MOV A,R3
ADD A,#56h
DA A
MOV R3,A
MOV A,R4
ADDC A,#2
MOV r4,a
ADDC A,#0
EN: RET
DISP: MOV 40H,R4
MOV A,40H
;ADD A,#11
MOV 40H,A
MOV A,R3
swap a
ANL A,#0FH
MOV 41H,A
MOV A,R3
;SWAP A
ANL A,#0FH
MOV 42H,A
SECOND: lcall delay
;lcall delay
;lcall rdd
LCALL DATAA
MOV 43H,R4
MOV A,43H
;ADD A,#11
MOV 43H,A
MOV A,R3
swap a
ANL A,#0FH
MOV 44H,A
MOV A,R3
;SWAP A
ANL A,#0FH
MOV 45H,A
L1: CLR C
MOV R0,#42H
MOV R1,#45H
L2: MOV A,@R0
ADDC A,@R1
MOV @R0,A
DEC R0
DEC R1
CJNE R0,#39H,L2
MOV A,40H
MOV B,#2
DIV AB
;ADD A,#11
MOV 40H,A
mov a,41h
mov b,#2
div ab
mov 41h,a
mov a,42h
MOV B,#2
DIV AB
MOV 42H,A
INIT: LCALL RDBUSY
MOV DPTR,#0A000H
MOV A,#30H ;8位,1行,5*8点阵
MOVX @DPTR,A
;LCALL RDBUSY
;MOV DPTR,#0A000H
;MOV A,#02H ;光标回第一行第一列
;MOVX @DPTR,A
LCALL RDBUSY
MOV DPTR,#0A000H
MOV A,#06H ;ac+1,禁止滚动模式
MOVX @DPTR,A
LCALL RDBUSY
MOV DPTR,#0A000H
MOV A,#01H ;清屏
MOVX @DPTR,A
LCALL RDBUSY
MOV DPTR,#0A000H
MOV A,#0CH ;开显示
MOVX @DPTR,A
LCALL RDBUSY
MOV DPTR,#0A000H
MOV A,#80H ;第一行,第一列
MOVX @DPTR,A
LCALL RDBUSY
LOOP: MOV A,40H
MOV DPTR,#TAB
;MOV A,@R0
MOVC A,@A+DPTR
MOV DPTR,#0A002H
MOVX @DPTR,A
LCALL RDBUSY
MOV DPTR,#0A002H
MOV A,#2EH
MOVX @DPTR,A
;INC R0
;CJNE R0,#43H,LOOP
LCALL RDBUSY
MOV A,41H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0A002H
MOVX @DPTR,A
LCALL RDBUSY
MOV A,42H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0A002H
MOVX @DPTR,A
LCALL RDBUSY
MOV A,#56H
MOV DPTR,#0A002H
MOVX @DPTR,A
RET
RDBUSY: MOV DPTR,#0A001H
MOVX A,@DPTR
JB ACC.7,RDBUSY
RET
DELAY: MOV R7,#0FFH
LOOP0: MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,LOOP0
RET
TAB: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -