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

📄 gps.asm

📁 用单片机接收GPS 的信号
💻 ASM
📖 第 1 页 / 共 2 页
字号:
			  MOV     A,#2EH
			  MOV      DAT,A
           ACALL    WRD
			  MOV     R0,#39H     
			  MOV     A,@R0
			  MOV      DAT,A
           ACALL    WRD
			  MOV     R0,#3AH     
			  MOV     A,@R0
			  MOV      DAT,A
           ACALL    WRD
			  MOV     A,#2EH
			  MOV      DAT,A
           ACALL    WRD
			  MOV     R0,#3BH     
			  MOV     A,@R0
			  MOV      DAT,A
           ACALL    WRD
			  MOV     R0,#3CH     
			  MOV     A,@R0
			  MOV      DAT,A
           ACALL    WRD
			  JMP     RRR
	 DFF:
	        MOV     A,#0C1H
			  MOV      DAT,A
           ACALL    WRD
			  MOV     A,#0ACH
			  MOV      DAT,A
           ACALL    WRD

			  MOV     A,#0BDH
			  MOV      DAT,A
           ACALL    WRD
			  MOV     A,#0D3H
			  MOV      DAT,A
           ACALL    WRD

			  MOV     A,#0B5H
			  MOV      DAT,A
           ACALL    WRD
			  MOV     A,#0E7H
			  MOV      DAT,A
           ACALL    WRD

			  MOV     A,#0C4H
			  MOV      DAT,A
           ACALL    WRD
			  MOV     A,#0D4H 
			  MOV      DAT,A
           ACALL    WRD
	 RRR:
    ;---------------------------------------------第三行
	 
			  MOV      COM,#98H      
           ACALL    WRI
           ACALL    SSE         ;;;;;;;;;;;速度转换
			  MOV      A,#20H
           MOV      DAT,A
           ACALL    WRD
			  MOV      A,S_A
           JZ      SW1
           ORL     A,#30H
           MOV      DAT,A
           ACALL    WRD
            JMP     SW2
     SW1:
           MOV      A,#20H
           MOV      DAT,A
           ACALL    WRD
     SW2:
			  MOV      A,S_B
           JZ      SW3
           ORL     A,#30H
           MOV      DAT,A
           ACALL    WRD
           JMP      SW4
     SW3:
           MOV      A,#20H
           MOV      DAT,A
           ACALL    WRD
     SW4:
			  MOV      A,S_C
           ORL     A,#30H
           MOV      DAT,A
           ACALL    WRD
        
			 
			  MOV      A,#4BH
           MOV      DAT,A
           ACALL    WRD
			  MOV      A,#2FH
           MOV      DAT,A
           ACALL    WRD
			  MOV      A,#68H
           MOV      DAT,A
           ACALL    WRD
           MOV      A,#20H
           MOV      DAT,A
           ACALL    WRD

          MOV      A,2DH         ;判断高位温度是否为0
           ANL      A,#0F0H
           JZ       MMM
           CPL      2EH          ;是F反起  
           CPL      2DH
           
           MOV      A,#20H        ;空
           MOV      DAT,A
           ACALL    WRD
           
           MOV      A,#2DH        ;-
           MOV      DAT,A
           ACALL    WRD
           JMP      DDS
     MMM:
           MOV      A,#20H        ;空
           MOV      DAT,A
           ACALL    WRD
    MMM1:
           MOV      A,WWD
           JNZ       DDS1
           
           MOV      A,#20H        ;空
           MOV      DAT,A
           ACALL    WRD
           JMP      DDS
     DDS1: MOV      A,WWD           ;温度百位
           ORL      A,#30H
           MOV      DAT,A
           ACALL    WRD
     DDS:      
           MOV      A,WWD1          ;温度十位
           ORL      A,#30H
           MOV      DAT,A
           ACALL    WRD

           MOV      A,WWD2           ;温度个位
           ORL      A,#30H 
           MOV      DAT,A
           ACALL    WRD

           MOV      A,#2EH        ;点  
           MOV      DAT,A
           ACALL    WRD
           MOV      A,WWD3          ;温度点一位
           ORL      A,#30H
           MOV      DAT,A
           ACALL    WRD

           MOV      A,#0A1H        ;   度
           MOV      DAT,A
           ACALL    WRD
           MOV      A,#0E6H
           MOV      DAT,A
           ACALL    WRD

           ACALL    SD1820
			  ACALL    SD1821
			  ACALL    AD16
           AJMP      DISP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

     SSE:                     ;;;;;;;;;;;速度转换
	         MOV     R0,#5DH
			  MOV      A,@R0
           MOV      S_A,A
           
			  MOV     R0,#5EH
			  MOV      A,@R0
           CJNE     A,#2EH,SS1
         
           MOV     R0,#5FH
			  MOV      A,@R0
			  ANL     A,#0FH
			  MOV     B,#2
			  MUL     AB
			  MOV     B,#10
			  DIV     AB
			  MOV     S_C,A

			  MOV     A,S_A
			  ANL     A,#0FH
			  MOV     B,#2
			  MUL     AB
			  MOV     B,#10
			  DIV     AB
			  MOV     S_B,A
			  MOV     A,B
			  ADD     A,S_C
			  MOV     S_C,A
           MOV     S_A,#0
			  RET
	SS1:
          MOV      S_B,A
          MOV     R0,#5FH
			  MOV      A,@R0
           CJNE     A,#2EH,SS2
           MOV     R0,#60H
			  MOV      A,@R0
			  ANL      A,#0FH
           MOV      B,#2
			  MUL      AB
			  MOV      B,#10
			  DIV      AB
			  MOV      S_C,A
			  MOV      A,S_B
			  ANL      A,#0FH
           MOV      B,#2
			  MUL      AB
			  MOV      B,#10
			  DIV      AB
			  MOV      S_B,A
			  MOV      A,B
			  ADD      A,S_C
			  MOV      S_C,A
           MOV      A,S_A
			  ANL      A,#0FH
           MOV      B,#2
			  MUL      AB
			  MOV      B,#10
			  DIV      AB
			  MOV      S_A,A
			  MOV      A,B
			  ADD      A,S_B
			  MOV      S_B,A
           RET
           

   SS2:
	       ANL      A,#0FH
           MOV      B,#2
			  MUL      AB
			  MOV      B,#10
			  DIV      AB
			  MOV      S_D,A
			  MOV      S_C,B
			  MOV      A,S_B
			  ANL      A,#0FH
           MOV      B,#2
			  MUL      AB
			  MOV      B,#10
			  DIV      AB
			  MOV      S_E,A
			  MOV      A,B
			  ADD      A,S_D
			  MOV      S_B,A
           MOV      A,S_A
			  ANL      A,#0FH
           MOV      B,#2
			  MUL      AB
			  MOV      B,#10
			  DIV      AB
			  MOV      A,B
			  ADD      A,S_E
			  MOV      S_A,A
           RET
          
   
     AD16:
           MOV      A,2DH           ;十六转十
           ANL      A,#07H
           MOV      B,#16
           MUL      AB
           MOV      D_H,A

           MOV      A,2EH
           MOV      B,#16
           DIV      AB

           MOV      D_LL,A
           MOV      D_L,B

           MOV      A,D_H
           ADD      A,D_LL
           MOV      B,#100
           DIV      AB
           MOV      WWD,A
           MOV      A,B
           MOV      B,#10
           DIV      AB
           MOV      WWD1,A
           MOV      WWD2,B
           MOV      A,D_L
           MOV      B,#6
           MUL      AB
           MOV      B,#10
           DIV      AB
           MOV      WWD3,A
           RET

  SD1820:
           SETB     DATAIN  ;温度头的检查
	   NOP
	   CLR	    DATAIN	
	   MOV	    R5,#0FFH
	   DJNZ     R5,$
		MOV	    R5,#0FFH
	   DJNZ     R5,$
	   SETB	    DATAIN	
   	   NOP
           NOP
           MOV	    R5,#46H
  TSR2:	
           JNB     DATAIN,TSR3
           DJNZ	   R5,TSR2
           CLR	    BP.1
           SJMP	    TSR7
  TSR3:	
           SETB	    BP.1
           MOV	    R5,#200
   	   DJNZ	    R5,$

 TSR7:	   SETB	    DATAIN
           RET

  SD1821:         
          JB	   BP.1,TSS2
			 MOV      A,#0
          MOV      2EH,A
          MOV      2DH,A
          NOP
          RET

  TSS2:	
           MOV	   A,#0CCH
           LCALL	WRITE_1820
	   MOV	   A,#44H
	   LCALL	WRITE_1820
     
	   LCALL	SD1820
	   MOV	   A,#0CCH
	   LCALL	WRITE_1820
	   MOV	   A,#0BEH
           LCALL	WRITE_1820
	   LCALL	READ_1820
           RET

  WRITE_1820:
     	    MOV	   R2,#8     ;写
	    CLR	   C
   WR1:	
         CLR	   DATAIN		  
         NOP
	 RRC	   A
	 MOV	   DATAIN,C
	 MOV	   R3,#42
	 DJNZ	R3,$
	 SETB	DATAIN
         NOP
	 DJNZ	R2,WR1
	 SETB	DATAIN
	 RET

 READ_1820:
          MOV	   R4,#2      ;;读
          MOV	   R0,#2EH
 RE00:	  MOV	   R2,#8
 RE01:	  CLR	   C
	
	CLR	   DATAIN		   
	NOP
        NOP
        SETB	DATAIN
        NOP		     		     
	MOV	C,DATAIN	     	   
	MOV	R3,#46	     	   
	DJNZ	R3,$	     	
	RRC     A    	     	     	     
        DJNZ	R2,RE01
        MOV     @R0,A
        DEC     R0
        DJNZ    R4,RE00
        RET

    ;===========写指令程式==============
   WRI:
           CLR       CS
           SETB      CS
           MOV       R6,#8
           MOV       A,#0F8H
   WRI1:
           RLC       A
           CLR       SCK
           MOV       SID,C
           SETB      SCK
           DJNZ       R6,WRI1

           MOV       R6,#8
           MOV       A,COM
           ANL       A,#0F0H
    WRI2:
           RLC       A
           CLR       SCK
           MOV       SID,C
           SETB      SCK
           DJNZ       R6,WRI2

           MOV       R6,#8
           MOV       A,COM
           SWAP      A
           ANL       A,#0F0H

     WRI3:
           RLC       A
           CLR       SCK
           MOV       SID,C
           SETB      SCK
           DJNZ       R6,WRI3
           RET

    ;----------写数据子程式-------------------
    WRD:
           CLR       CS
           SETB      CS
           MOV       R6,#8
           MOV       A,#0FAH
   WRD1:
           RLC       A
           CLR       SCK
           MOV       SID,C
           SETB      SCK
           DJNZ       R6,WRD1

           MOV       R6,#8
           MOV       A,DAT
           ANL       A,#0F0H
    WRD2:
           RLC       A
           CLR       SCK
           MOV       SID,C
           SETB      SCK
           DJNZ       R6,WRD2

           MOV       R6,#8
           MOV       A,DAT
           SWAP      A
           ANL       A,#0F0H

     WRD3:
           RLC       A
           CLR       SCK
           MOV       SID,C
           SETB      SCK
           DJNZ       R6,WRD3
           RET
     


   DLAY:
           MOV      R7,#0FBH
           DJNZ     R7,$
           RET


   INSS:
           PUSH    ACC
           PUSH    PSW
           MOV     TH0,#0B8H
           MOV     TL0,#00H
           SETB ES
           INC    D_A
           MOV    A,D_A
           CLR    C
           SUBB   A,#50
           JC     EXI
           MOV    D_A,#0
           CLR    BP.0
           
	        INC    D_B
           MOV    A,D_B
           CLR    C
           SUBB   A,#2
           JC     EXI
           MOV    D_B,#0
           CPL    BP.1
   CPL    P3.5
	        JB     P3.1,EXIA
			  MOV    D_D,#0
           INC    D_C
           MOV    A,D_C
           CLR    C
           SUBB   A,#3
           JC     EXI
           MOV    D_C,#0
           SETB   BP.7
			  POP      PSW
           POP      ACC
           RETI
   EXI:
           
           POP      PSW
           POP      ACC
           RETI
  EXIA:
           MOV    D_C,#0
           INC    D_D
           MOV    A,D_D
           CLR    C
           SUBB   A,#3
           JC     EXI
           MOV     D_D,#0
			  CLR     BP.7
           POP      PSW
           POP      ACC
           RETI
 
   SERIAL:
                           
		  PUSH    ACC
        PUSH    PSW
		  
        MOV      R1,#30H
        MOV      R4,#73
		  
   KKL:
	     MOV      2FH,#0DDH
	     MOV      A,SBUF
        MOV      @R1,A
        CLR      RI
	     NOP
		  NOP
		  
        INC      R1
        DJNZ     R4,MMN
        SETB     BP.2
        JMP      SSD

    MMN:
		   JBC   RI,KKL	
         SETB     BP.3		  
         DJNZ     2FH,MMN
	 
	
	   SSD:   
		     POP      PSW
           POP      ACC
           CLR      ES
           RETI

    TAB:
           DB    24H,50H,53H,52H,46H,31H,30H,30H,2CH,30H,2CH,35H,37H,36H,30H,30H,2CH,38H,2CH,31H,2CH,30H,2AH,33H,37H,0DH,0AH
    
           DB    0A0H,0A2H,00H,18H,81H,02H,00H,01H,00H,01H,00H,01H,00H,01H,01H,01H,00H,01H,00H,01H,00H,01H,00H,01H,00H,01H,96H,00H,01H,24H,0B0H,0B3H

      
           END


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -