⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gps-asm.txt

📁 c51单片机实现GPS数据接受并通过数码管显示时间
💻 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 + -