我有一个由汇编制作的心跳传感器项目,当节拍低于某个值时,它会通过短信向手机号码发送消息。
模拟proteus上的代码时。它不发送任何东西,我不知道该怎么做。 该芯片是AT89S52(不是英特尔8952,我的错误对不起)
这是我的代码:
$INCLUDE(.\GSM.h)
$INCLUDE (AT89S52.inc)
ORG 0000H
MOV TMOD,#20H //TIMER 1, MODE 2
MOV TH1,#-3 //9600 BAUD RATE
MOV SCON,#50H //8 BIT, 1 STOP, EN ENABLED
SETB TR1
MOV DPTR,#MSG1
ACALL H1
ACALL DELAY
MOV DPTR,#MSG2
ACALL H1
ACALL DELAY
MOV DPTR,#MSG3
ACALL H1
ACALL DELAY
MOV DPTR,#MSG4
ACALL H1
ACALL DELAY
MOV DPTR,#MSG5
ACALL H1
ACALL DELAY
STAY: SJMP STAY
H1: CLR A
MOVC A,@A+DPTR
JZ B1
ACALL SEND
INC DPTR
SJMP H1
B1:
RET
SEND: MOV SBUF,A
H2: JNB TI,H2
CLR TI
RET
DELAY: MOV R3,#50H
HERE2: MOV R4,#50H
HERE: DJNZ R4,HERE
DJNZ R3,HERE2
RET
ORG 300H
MSG1: DB "AT",0DH
DB 0H
MSG2: DB "AT+CMGF=1",0DH
DB 0H
MSG3: DB "ATE=0",0DH
DB 0H
MSG4: DB "AT+CMGS=",'"8149111111"',0DH
DB 0H
MSG5: DB "TEXT",0X1A
DB 0H
END