📄 gps-asm.txt
字号:
; 30H -5FH,为接收数据缓冲区
; 60H-65H 为时间显示缓冲区
; 66H- 6B N
;6C-71 E
;2E-2F ;时间调整
;2D ;JIANPAN
;2CH ;小时加8调整
;2BH ;DISP
ORG 0000H
AJMP START
ORG 0030H
START: MOV SP,#75H
MOV P1,#0FFH
MOV P2,#0FFH
MOV P0,#0FFH
MOV 2DH,#00H
MOV R1,#17
MOV R0,#60H
CLEAR: MOV @R0,#00H
INC R0
DJNZ R1,CLEAR
MOV SCON,#50H
MOV TMOD,#20H
MOV TL1,#0FDH
MOV TH1,#0FDH
SETB TR1
TOU: MOV R1,#38
MOV R0,#30H
/*HERE: JNB RI,HERE
CLR RI
MOV A,SBUF
MOV @R0,A
INC R0
DJNZ R1,HERE
JNB P3.5,QUDOU
AJMP XIA
QUDOU: LCALL DELAY
JNB P3.5,QUDOU
INC 2DH
MOV A,2DH
CJNE A,#03H,XIA
MOV 2DH,#00H */
XIA: LCALL DISP
MOV R1,#5
MOV R0,#30H
FAN: MOV A,@R0
CJNE A,#24H,NEXT
AJMP SHI ;$
NEXT: INC R0
DJNZ R1,NEXT1
AJMP TOU
NEXT1: AJMP FAN
SHI: INC R0
MOV A,@R0
CJNE A,#47H,NEXT2
AJMP SHI2 ;G
NEXT2: AJMP TOU
SHI2: INC R0
MOV A,@R0
CJNE A,#50H,NEXT3
AJMP SHI3 ;P
NEXT3: AJMP TOU
SHI3: INC R0
MOV A,@R0
CJNE A,#52H,NEXT4
AJMP SHI4
NEXT4: AJMP TOU ;R
SHI4: INC R0
MOV A,@R0
CJNE A,#4DH,NEXT5
AJMP SHI5 ;M
NEXT5: AJMP TOU
SHI5: INC R0
MOV A,@R0
CJNE A,#43H,NEXT6
AJMP SHI6 ;C
NEXT6: AJMP TOU
SHI6: INC R0 ;时十位
INC R0
MOV A,@R0
ANL A,#0FH
MOV 2EH,A
INC R0 ;时个位
MOV A,@R0
ANL A,#0FH
MOV 2FH,A
MOV A,2EH
MOV B,#10
MUL AB
CLR C
ADD A,2FH
MOV 2CH,A
CLR C
MOV A,2CH
ADD A,#08
MOV 2CH,A
CJNE A,#24,ABC
MOV 2CH,#00H
AJMP BCD
ABC: JC BCD
MOV A,2CH
CLR C
SUBB A,#24
MOV 2CH,A
BCD: MOV A,2CH
MOV B,#10
DIV AB
MOV 60H,A
MOV 61H,B
INC R0 ;分十位
MOV A,@R0
ANL A,#0FH
MOV 62H,A
INC R0 ;分个位
MOV A,@R0
ANL A,#0FH
MOV 63H,A
INC R0 ;秒十位
MOV A,@R0
ANL A,#0FH
MOV 64H,A
INC R0 ;秒个位
MOV A,@R0
ANL A,#0FH
MOV 65H,A
;*********************************
MOV A,R0
CLR C
ADD A,#07
MOV R0,A
MOV A,@R0
ANL A,#0FH
MOV 66H,A
INC R0
MOV A,@R0
ANL A,#0FH
MOV 67H,A
INC R0
MOV A,@R0
ANL A,#0FH
MOV 68H,A
INC R0
MOV A,@R0
ANL A,#0FH
MOV 69H,A
MOV 6AH,#0FH ;N
MOV 6BH,#0FH
;********************************************
MOV A,R0
CLR C
ADD A,#10
MOV R0,A
MOV A,@R0
ANL A,#0FH
MOV 6CH,A
INC R0
MOV A,@R0
ANL A,#0FH
MOV 6DH,A
INC R0
MOV A,@R0
ANL A,#0FH
MOV 6EH,A
INC R0
MOV A,@R0
ANL A,#0FH
MOV 6FH,A
INC R0
MOV A,@R0
ANL A,#0FH
MOV 70H,A
MOV 71H,#0FH ;E
AJMP TOU
DISP: MOV A,2DH
CJNE A,#00H,BEIWEI
MOV R0,#60H
AJMP DISP1
BEIWEI: MOV A,2DH
CJNE A,#01H,DONGJING
MOV R0,#66H
AJMP DISP1
DONGJING: MOV R0,#6CH
DISP1: MOV A,@R0
MOV 2BH,A
MOV A,P0
ANL A,#0F0H
ORL A,2BH
MOV P0,A
INC R0
MOV A,@R0
SWAP A
MOV 2BH,A
MOV A,P0
ANL A,#0FH
ORL A,2BH
MOV P0,A
INC R0
MOV A,@R0
MOV 2BH,A
MOV A,P1
ANL A,#0F0H
ORL A,2BH
MOV P1,A
INC R0
MOV A,@R0
SWAP A
MOV 2BH,A
MOV A,P1
ANL A,#0FH
ORL A,2BH
MOV P1,A
INC R0
MOV A,@R0
MOV 2BH,A
MOV A,P2
ANL A,#0F0H
ORL A,2BH
MOV P2,A
INC R0
MOV A,@R0
SWAP A
MOV 2BH,A
MOV A,P2
ANL A,#0FH
ORL A,2BH
MOV P2,A
LCALL DELAY
RET
DELAY: MOV R7,#0FFH
D1: MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,D1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -