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

📄 gprs.asm

📁 关于单片机(51系列)通过GPRS模块(LT8030)和服务器进行通信
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        MOV     BX,     OFFSET  WEN58
        MOV     DX,     3
        CALL    TSCHR
        MOV     CX,     10
RRR:    PUSH    CX
        MOV     CX,    60000
RRR1:   NOP
        NOP
        LOOP    RRR1
RRR2:   POP     CX
        NOP
        LOOP    RRR
        POP     CX
        LOOP    SNDCLS
SNDAT:  MOV     DX,     5
        MOV     BX,     OFFSET  WEN60
        CALL    TSCHR
        MOV     CX,     11
        MOV     BX,     OFFSET  WEN20
        CALL    RCVCHR
        MOV     CX,     12
        MOV     BX,     OFFSET  WEN20
        CALL    MKCHR
        NOP
        JMP      KEY
        NOP
        JMP      KEY
ERR0:   JMP     ERR3
TSCHR   PROC    NEAR
TS:     PUSH    DX
TSO:    MOV     DX,     3FDH
        IN      AL,     DX
        TEST    AL,     20H
        JZ      TSO
        MOV     DX,     3F8H
        MOV     AL,     [BX]
        OUT     DX,     AL
        MOV     CX,     200
YES:    NOP
        NOP
        LOOP    YES
        INC     BX
        POP     DX
        DEC     DX
        JNE     TS
        RET
TSCHR   ENDP
ERR3:   JMP ERR1
        NOP
RECVCHR PROC    NEAR
RECV:   MOV     DL,     CL
        MOV     BX,     OFFSET WEN20
RECV1:  PUSH    DX
RECV2:  MOV     DX,     3FDH
        IN      AL,    DX
        TEST    AL,    01H
        JZ     RECV2
        MOV     DX,     3F8H
        IN      AL,     DX
        MOV    [BX],    AL
        INC     BX
        POP     DX
        DEC     DL
        JZ      PP
        SUB     AL,     4BH
        JZ      PP0
        LOOP    RECV1
        JMP     PP
PP0:    MOV     AL,     4BH
        MOV     BX,   OFFSET  WEN20+80
        MOV     [BX],   AL
PP:     RET
RECVCHR ENDP
RDSTS1: JMP     RDSTS
ERR1:   JMP     ERR
MKCHR   PROC    NEAR
MK:     PUSH    AX
        PUSH    bx
        PUSH    DX
MK1:    MOV     BX,     OFFSET  WEN20
MK2:    MOV     AL,      [BX]
        PUSH    BX
        AND     AL,     7FH
        MOV     BX,     0
        MOV     AH,     14
        INT     10H
        POP     BX
        INC     BX
        LOOP    MK2
        MOV     CX,     85
        MOV     BX,     OFFSET WEN20
        MOV     AL,     2EH
MAD:    MOV     [BX],   AL
        INC     BX
        LOOP    MAD
        MOV     AL,     0AH
        MOV     AH,     14
        MOV     BX,     0
        INT     10H
        POP     DX
        POP     BX
        POP     AX
        RET
MKCHR   ENDP
KEY:    MOV     AH,     01
        INT     16H
        JZ      KEY
        MOV     AH,     0
        INT     16H
        CMP     AL,     0DH
        JNZ     RDSTS1
        MOV     AL,     0AH
        MOV     BX,     0
        MOV     AH,     14
        INT     10H
        MOV     AX,     4C00H
        INT     21H
        RET

ERR:    JMP     ERROR
RDS:    JMP     RDSTS
        NOP
;FS:     MOV     CX,     0200H
;        MOV     DX,    [0082h]
;        MOV     AH,     3CH
;        INT     21H
;        MOV     BX,     AX
;        MOV     CX,     1024H
;        MOV     DX,     data-seg  MNMN
;        mov     ah,     3fh
;        INT     21H
;        NOP
;        MOV     CX,     AX
;        MOV     BX,    data-seg  MNMN
;FS1:    MOV     DX,     3FDH
;        IN      AL,     DX
;        TEST    AL,     1EH
;        JNZ     ERROR
;FS2:    TEST    AL,     01H
;        NOP
;        TEST    AL,     02H
;        JZ      RDS
;FS3:    MOV     DX,     3F8H
;        MOV     AL,     [BX]
;        OUT     DX,     AL
;        DEC     BX
;        LOOP    FS1
;        JMP     RDSTS
ERROR: MOV     DX,    3F8H
        IN      AL,    DX
        MOV     AL,   "?"
        MOV     AH,    14
        MOV     BX,    0
	INT	10H
        MOV     CX,     1
        MOV     DX,     3FDH
        IN      AL,     DX
YS:     MOV     AH,     14
        INT     10H
        LOOP    YS
        MOV     AL,     0AH
        MOV     AH,     14
        MOV     BX,     0
        INT     10H
        JMP     RDSTS
DISPCHR    PROC     NEAR
        PUSH    BX
        MOV     BX,     0
        MOV     AH,     14
        INT     10H
        POP     BX
        RET
DISPCHR   ENDP
SCAR    PROC     NEAR
        PUSH    BX
        MOV     CX,     40
        MOV     BX,     OFFSET  WEN20
SCA1:   XOR     AX,     AX
        MOV     AL,     [BX]
        SUB     AL,     49H
        JZ      SCA2
        INC     BX
        LOOP    SCA1
        JMP     SCA9
SCA2:   MOV     CX,     5
        XCHG    SI,     BX
        MOV     DI,     OFFSET  WEN16
SCA3:   MOV     AL,     [SI]
        MOV     [DI],   AL
        INC     SI
        INC     DI
        DEC     CX
        JNZ    SCA3
SCA4:   MOV     CX,     3
        MOV     SI,     OFFSET  WEN16+2
        MOV     DI,      OFFSET  WEN9+10
        CLD
SCA5:   MOV     AL,     [SI]
        MOV     [DI],   AL
        INC     SI
        INC     DI
        DEC     CX
        JNZ     SCA5
SCA6:   MOV     CX,     3
        MOV     SI,     OFFSET  WEN16+2
        MOV     DI,     OFFSET  WEN11+8
SCA61:  MOV     AL,     [SI]
        MOV     [DI],   AL
        INC     SI
        INC     DI
        DEC     CX
        JNZ     SCA61
SCA7:   MOV     CX,     3
        MOV     SI,     OFFSET  WEN16+2
        MOV    DI,     OFFSET  WEN12+9
SCA71:  MOV     AL,     [SI]
        MOV     [DI],   AL
        INC     SI
        INC     DI
        DEC     CX
        JNZ     SCA71
SCA8:   MOV     CX,     3
        MOV     SI,     OFFSET  WEN16+2
        MOV     DI,     OFFSET  WEN13+9
SCA81:  MOV     AL,     [SI]
        MOV     [DI],   AL
        INC     SI
        INC     DI
        DEC     CX
        JNZ     SCA81
        POP     BX
SCA9:   RET
SCAR    ENDP
KCHR   PROC    NEAR
K:     PUSH    AX
        PUSH    bx
        PUSH    DX
K1:    MOV     BX,     OFFSET  WEN20
K2:    MOV     AL,      [BX]
        PUSH    BX
        AND     AL,     7FH
        MOV     BX,     0
        MOV     AH,     14
        INT     10H
        POP     BX
        INC     BX
        LOOP    K2
        MOV     AL,     0AH
        MOV     AH,     14
        MOV     BX,     0
        INT     10H
        POP     DX
        POP     BX
        POP     AX
        RET
KCHR   ENDP
TS1CHR   PROC    NEAR
TS1:     PUSH    DX
TSO1:    MOV     DX,     3FDH
        IN      AL,     DX
        TEST    AL,     20H
        JZ      TSO1
        MOV     DX,     3F8H
        MOV     AL,     [BX]
        OUT     DX,     AL
        MOV     CX,     8
YES1:    NOP
        NOP
        LOOP    YES1
        INC     BX
        POP     DX
        DEC     DX
        JNE     TS1
        RET
TS1CHR   ENDP
        NOP
        NOP
RCVCHR PROC    NEAR
RCV:   MOV     DL,     CL
       MOV     BX,     OFFSET WEN20
RCV1:  PUSH    DX
RCV2:  MOV     DX,     3FDH
       IN      AL,    DX
        TEST    AL,    01H
        JZ     RCV2
        MOV     DX,     3F8H
        IN      AL,     DX
        MOV    [BX],    AL
        INC     BX
        POP     DX
        DEC     DL
        JZ      RPP
        SUB     AL,     45H
        JZ      RPP0
        LOOP    RCV1
        JMP     RPP
RPP0:    MOV     AL,     45H
        MOV     BX,   OFFSET  WEN20+80
        MOV     [BX],   AL
RPP:     RET
RCVCHR ENDP
        NOP
START	ENDP
CODE	ENDS
	END	START

		
	

⌨️ 快捷键说明

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