微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机GPRS模块(LT8030)汇编通讯程序

51单片机GPRS模块(LT8030)汇编通讯程序

时间:11-28 来源:互联网 点击:

SUB AL, 4BH

JNZ ISTYP

MOV CX, 18

CALL MKCHR

ISNSI: MOV BX, OFFSET WEN53 ;AT+ISNSI

MOV DX, 21

CALL TSCHR

MOV CX, 22

CALL RECVCHR

MOV BX, OFFSET WEN20+80

MOV AL, [BX]

SUB AL, 4BH

JNZ ISNSI

MOV CX, 18

CALL MKCHR

IMCBF: MOV BX, OFFSET WEN54 ;AT+IMCBF

MOV DX, 11

CALL TSCHR

MOV CX, 22

CALL RECVCHR

MOV BX, OFFSET WEN20+80

MOV AL, [BX]

SUB AL, 4BH

JNZ IMCBF

MOV CX, 18

CALL MKCHR

NOP

ISNMD: MOV BX, OFFSET WEN55 ;AT+ISNMD

MOV DX, 9

CALL TSCHR

MOV CX, 22

CALL RECVCHR

MOV BX, OFFSET WEN20+80

MOV AL, [BX]

SUB AL, 4BH

JNZ ISNMD

MOV CX, 18

CALL MKCHR

NOP

NOP

MOV CX, 1

RSNDB: PUSH CX

NOP

RSND1: MOV BX, OFFSET WEN9

MOV DX, 33

CALL TSCHR

NOP

POP CX

LOOP RSNDB

NOP

SNDMAP: MOV BX, OFFSET WEN31

MOV DX, 28096

CALL TSCHR

NOP

NOP

NOP

NOP

SNDEEE: MOV BX, OFFSET WEN56

MOV DX, 5

CALL TSCHR

;ISST: MOV BX, OFFSET WEN11

; MOV DX, 12

; CALL TSCHR

; MOV CX, 18

; CALL RECVCHR

; MOV CX, 20

; CALL MKCHR

; NOP

;LKLK: MOV DX, 3FDH

; IN AL, DX

; TEST AL, 1EH

; JNZ LKLK

NOP

NOP

ANM: MOV CX, 40000

BNM: NOP

NOP

LOOP BNM

NOP

MOV CX, 10

SNDCLS: PUSH CX

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top