📄 sms0.lst
字号:
023D 7880 MOV R0,#BUF_DATA
023F 7A0A MOV R2,#10
0241 SS_41:
0241 1202B3 lCALL WAIT_RI
0244 40F0 JC SS_4
0246 C298 CLR RI
0248 E599 MOV A,SBUF
024A F6 MOV @R0,A
024B 08 INC R0
024C DAF3 DJNZ R2,SS_41
024E 12031F lCALL CHECK
0251 3017E2 JnB chr_OK,SS_4
0254 12035C lCALL DELAY100MS
;MOV R0,#BUF_DATA
;mov a,r0
;add A,#8
;MOV R0,A
;MOV A,@R0
;CJNE A,#3eH,ss_4
0257 120346 lCALL DELAY10MS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
025A 7860 MOV R0,#BUF_SEND
025C 9003D2 MOV DPTR,#TABLE_zhong
025F 7A06 MOV R2,#6
0261 SS_5:
0261 E4 CLR A
0262 93 MOVC A,@A+DPTR
0263 F6 MOV @R0,A
0264 A3 INC DPTR
0265 08 INC R0
0266 DAF9 DJNZ R2,SS_5
0268 00 NOP
0269 00 NOP
026A SS_6:
026A 7860 MOV R0,#BUF_SEND
026C 7A06 MOV R2,#6
026E 1202D2 lCALL ATSEND
0271 7880 MOV R0,#BUF_DATA
0273 7A06 MOV R2,#6
0275 SS_61:
0275 1202B3 lCALL WAIT_RI
0278 40F0 JC SS_6
027A C298 CLR RI
027C E599 MOV A,SBUF
027E F6 MOV @R0,A
027F 08 INC R0
0280 DAF3 DJNZ R2,SS_61
0282 12031F lCALL CHECK
0285 3017E2 JnB chr_OK,SS_6
0288 120346 lCALL DELAY10MS
028B 22 ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;串口中断
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
028C INT_232:
028C C2AC CLR ES ;关闭串口中断
028E C0E0 PUSH ACC ;保护现场
0290 C0D0 PUSH PSW
0292 C082 PUSH DPL
0294 C083 PUSH DPH
;--选择1号工作区
0296 D2D3 SETB RS0
0298 C2D4 CLR RS1
029A 20980F JB RI,I_232_RCV
029D I_232_EOF:
029D C2D3 CLR RS0
029F C2D4 CLR RS1
02A1 D083 POP DPH
02A3 D082 POP DPL
02A5 D0D0 POP PSW ;恢复现场
02A7 D0E0 POP ACC
02A9 D2AC SETB ES ;开放串口中断
02AB 32 RETI
02AC I_232_RCV:
02AC E599 MOV A,SBUF
02AE C298 CLR RI
;SETB BIT_ONLINE
02B0 02029D lJMP I_232_EOF
;-----------------------
; WAIT_RI:
;
;-----------------------
02B3 WAIT_RI:
02B3 758D00 MOV TH1,#00
02B6 758B00 MOV TL1,#00
02B9 C3 CLR C
02BA D28E SETB TR1
02BC 00 NOP
02BD 00 NOP
02BE WAITR_1:
02BE 120334 lCALL WATCHDOG
02C1 00 NOP
02C2 209806 JB RI,WAITR_2
02C5 00 NOP
02C6 00 NOP
02C7 308FF4 JNB TF1,WAITR_1 ;等待中断发送数据完毕,或超时
02CA D3 SETB C
02CB WAITR_2:
02CB C28E CLR TR1
02CD C28F CLR TF1
02CF C298 CLR RI
02D1 22 RET
;-----------------------------------------
; AtSend:发送AT指令
; in -- R0:开始地址
; R2:发送的个数
;-----------------------------------------
02D2 AtSend:
02D2 120334 lCALL WATCHDOG
02D5 C299 CLR TI
02D7 C3 CLR C
02D8 AS_1:
02D8 758DDC MOV TH1,#CONST_10MSH
02DB 758B00 MOV TL1,#CONST_10MSL
02DE D28E SETB TR1
02E0 E6 MOV A,@R0
02E1 F599 MOV SBUF,A
02E3 AS_2:
02E3 120334 lCALL WATCHDOG
02E6 209907 JB TI,AS_3
02E9 308FF7 JNB TF1,AS_2
02EC D3 SETB C
02ED C28E CLR TR1
02EF 22 RET
02F0 AS_3:
02F0 C299 CLR TI
02F2 C28E CLR TR1
02F4 08 INC R0
02F5 DAE1 DJNZ R2,AS_1
02F7 22 RET
;-------------------------------
; BYTESEND:在10MS内发送一个字节
;
; IN --ACC
; OUT--CY
;-------------------------------
02F8 BYTESEND:
02F8 758DDC MOV TH1,#CONST_10MSH
02FB 758B00 MOV TL1,#CONST_10MSL
02FE C3 CLR C
02FF C299 CLR TI
0301 F599 MOV SBUF,A
0303 D28E SETB TR1
0305 BS_1:
0305 120334 lCALL WATCHDOG
0308 00 NOP
0309 209906 JB TI,BS_2
030C 00 NOP
030D 00 NOP
030E 308FF4 JNB TF1,BS_1 ;等待中断发送数据完毕,或超时
0311 D3 SETB C
0312 BS_2:
0312 C28E CLR TR1
0314 C28F CLR TF1
0316 C298 CLR RI
0318 C299 CLR TI
031A 120337 LCALL DELAY1MS
031D 00 nop
031E 22 RET
;----------------------------------------
; Check: 检查是否是"OK"或"CO"
; out- bit_ok=1 or bit_online=1
;----------------------------------------
031F CHECK:
031F 120334 LCALL WATCHDOG
0322 C217 clr chr_ok
0324 7880 MOV R0,#BUF_DATA ;!!!!!
0326 08 INC R0
0327 08 INC R0
0328 CHK_R2:
0328 E6 MOV A,@R0
0329 B44F07 CJNE A,#4FH,CHK_eof
032C CHK_R4:
032C 08 INC R0
032D E6 mov a,@r0
032E B44B02 cjne a,#4bh,chk_eof
0331 D217 SETB chr_ok
0333 CHK_EOF:
0333 22 RET
;-------------------------------------------
0334 WATCHDOG:
; MOV WDTRST,#01EH
; MOV WDTRST,#0E1H
0334 00 NOP
0335 00 NOP
0336 22 RET
;-------------------------------------------
; Delay1MS:
;
;-------------------------------------------
0337 Delay1MS:
0337 C051 PUSH _R2
0339 755162 MOV _R2,#98
033C DM11_1:
033C 120334 LCALL WATCHDOG
033F D551FA DJNZ _R2,DM11_1
0342 D051 POP _R2
0344 00 NOP
0345 22 RET
;-------------------------------------------
; Delay100MS:
; in -- RCNT_MS:延时值MS (<256)
;
;-------------------------------------------
0346 Delay10MS:
0346 C051 PUSH _R2
0348 C052 PUSH _R3
034A 755164 MOV _R2,#100
034D DM_1:
034D 75523C MOV _R3,#60
0350 DM_2:
;lCALL WATCHDOG
;NOP
;NOP
0350 D552FD DJNZ _R3,$
0353 D551F7 DJNZ _R2,DM_1
0356 D052 POP _R3
0358 D051 POP _R2
035A 00 NOP
035B 22 RET
;-------------------------------------------
; Delay100MS:
; in --
;
;-------------------------------------------
035C Delay100MS:
035C C050 PUSH _R1
035E 75500A MOV _R1,#10
0361 DM1_1:
0361 120346 lCALL DELAY10MS
0364 D550FA DJNZ _R1,DM1_1
0367 D050 POP _R1
0369 00 NOP
036A 22 RET
;---------------------------------------------
036B delay1000ms:
036B 12035C lcall delay100ms
036E 12035C lcall delay100ms
0371 12035C lcall delay100ms
0374 12035C lcall delay100ms
0377 12035C lcall delay100ms
037A 12035C lcall delay100ms
037D 12035C lcall delay100ms
0380 12035C lcall delay100ms
0383 12035C lcall delay100ms
0386 12035C lcall delay100ms
0389 22 ret
038A 41545A300D0A table_reset db 'A','T','Z','0',0dh,0Ah
0390 41542B434D47 TABLE_SETSMS0 DB 'A','T','+','C','M','G','F','=','1',0DH,0AH
463D310D0A
039B 41542B435343 TABLE_setsms1 DB 'A','T','+','C','S','C','A','=','+','8','6','1'
413D2B383631
03A7 333830303531 DB '3','8','0','0','5','1','9','5','0','0',0DH,0AH
393530300D0A
03B3 41542B434F50 TABLE_gogsm DB 'A','T','+','C','O','P','S','=','0',0DH,0AH
533D300D0A
;TABLE_SCOMRATE DB 'A','T','+','I','P','R','=','9','6','0','0',ODH,0AH
03BE 41542B434D47 table_msglen db 'A','T','+','C','M','G','S','=','1','3','8','1','5','0','1','7','4','1','5',0DH
533D31333831
353031373431
350D
03D2 746573745E5A table_zhong db 't','e','s','t',5eh,'Z'
03D8 303839313638 db '0','8','9','1','6','8','3','1','0','8','5'
3331303835
03E3 303931303546 db '0','9','1','0','5','F','0','1','1','0','0'
3031313030
03EE 304439313638 db '0','D','9','1','6','8','3','1','1','8','0'
3331313830
03F9 353731313446 db '5','7','1','1','4','F','5','0','0','0','8'
3530303038
0404 303030323445 db '0','0','0','2','4','E','2','D',5EH,'Z'
32445E5A
; db 00H,08H,09H,01H,06H,08H,03H,01H,00H,08H,05H
; db 00H,09H,01H,00,05H,0FH,00H,01H,01H,00H,00H
; db 00H,0DH,09H,01H,06H,08H,03H,01H,01H,08H,00H,05H
; db 01H,04H,00H,08H,0FH,07H,00H,00H,00H,08H
; db 00H,00H,00H,02H,04H,0EH,02H,0DH,5EH,'z'
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -