?? mjasms.lst
字號:
0248 F6 MOV @R0,A
0249 08 INC R0
024A DAF3 DJNZ R2,SS_41
024C 120320 lCALL CHECK
024F 301713 JNB chr_OK,SS_6
0252 120349 lCALL DELAY10MS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0255 7860 MOV R0,#BUF_SEND
0257 9003C8 MOV DPTR,#TABLE_zhong
025A 7A37 MOV R2,#55
025C SS_5:
025C E4 CLR A
025D 93 MOVC A,@A+DPTR
025E F6 MOV @R0,A
025F A3 INC DPTR
0260 08 INC R0
0261 DAF9 DJNZ R2,SS_5
0263 00 NOP
0264 00 NOP
0265 SS_6:
0265 7860 MOV R0,#BUF_SEND
0267 7A37 MOV R2,#55
0269 1202D3 lCALL ATSEND
026C 7880 MOV R0,#BUF_DATA
026E 7A0A MOV R2,#10
0270 SS_61:
0270 1202B4 lCALL WAIT_RI
0273 40F0 JC SS_6
0275 C298 CLR RI
0277 E599 MOV A,SBUF
0279 F6 MOV @R0,A
027A 08 INC R0
027B DAF3 DJNZ R2,SS_61
027D 120320 lCALL CHECK
0280 3017E2 JNB chr_OK,SS_6
0283 120349 lCALL DELAY10MS
0286 22 ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;串口中斷
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0287 INT_232:
0287 C2AC CLR ES ;關閉串口中斷
0289 C0E0 PUSH ACC ;保護現場
028B C0D0 PUSH PSW
028D C082 PUSH DPL
028F C083 PUSH DPH
;--選擇1號工作區
0291 D2D3 SETB RS0
0293 C2D4 CLR RS1
0295 20980F JB RI,I_232_RCV
0298 I_232_EOF:
0298 C2D3 CLR RS0
029A C2D4 CLR RS1
029C D083 POP DPH
029E D082 POP DPL
02A0 D0D0 POP PSW ;恢復現場
02A2 D0E0 POP ACC
02A4 D2AC SETB ES ;開放串口中斷
02A6 32 RETI
02A7 I_232_RCV:
02A7 E599 MOV A,SBUF
02A9 C298 CLR RI
02AB B400EA CJNE A,#00H,I_232_EOF
02AE 1202B4 lCALL WAIT_RI
02B1 020298 lJMP I_232_EOF
;-----------------------
; WAIT_RI:
;
;-----------------------
02B4 WAIT_RI:
02B4 758D00 MOV TH1,#00
02B7 758B00 MOV TL1,#00
02BA C3 CLR C
02BB D28E SETB TR1
02BD 00 NOP
02BE 00 NOP
02BF WAITR_1:
02BF 120337 lCALL WATCHDOG
02C2 00 NOP
02C3 209806 JB RI,WAITR_2
02C6 00 NOP
02C7 00 NOP
02C8 308FF4 JNB TF1,WAITR_1 ;等待中斷發送數據完畢,或超時
02CB D3 SETB C
02CC WAITR_2:
02CC C28E CLR TR1
02CE C28F CLR TF1
02D0 C298 CLR RI
02D2 22 RET
;-----------------------------------------
; AtSend:發送AT指令
; in -- R0:開始地址
; R2:發送的個數
;-----------------------------------------
02D3 AtSend:
02D3 120337 lCALL WATCHDOG
02D6 C299 CLR TI
02D8 C3 CLR C
02D9 AS_1:
02D9 758DDC MOV TH1,#CONST_10MSH
02DC 758B00 MOV TL1,#CONST_10MSL
02DF D28E SETB TR1
02E1 E6 MOV A,@R0
02E2 F599 MOV SBUF,A
02E4 AS_2:
02E4 120337 lCALL WATCHDOG
02E7 209907 JB TI,AS_3
02EA 308FF7 JNB TF1,AS_2
02ED D3 SETB C
02EE C28E CLR TR1
02F0 22 RET
02F1 AS_3:
02F1 C299 CLR TI
02F3 C28E CLR TR1
02F5 08 INC R0
02F6 DAE1 DJNZ R2,AS_1
02F8 22 RET
;-------------------------------
; BYTESEND:在10MS內發送一個字節
;
; IN --ACC
; OUT--CY
;-------------------------------
02F9 BYTESEND:
02F9 758DDC MOV TH1,#CONST_10MSH
02FC 758B00 MOV TL1,#CONST_10MSL
02FF C3 CLR C
0300 C299 CLR TI
0302 F599 MOV SBUF,A
0304 D28E SETB TR1
0306 BS_1:
0306 120337 lCALL WATCHDOG
0309 00 NOP
030A 209906 JB TI,BS_2
030D 00 NOP
030E 00 NOP
030F 308FF4 JNB TF1,BS_1 ;等待中斷發送數據完畢,或超時
0312 D3 SETB C
0313 BS_2:
0313 C28E CLR TR1
0315 C28F CLR TF1
0317 C298 CLR RI
0319 C299 CLR TI
031B 12033A LCALL DELAY1MS
031E 00 nop
031F 22 RET
;----------------------------------------
; Check: 檢查是否是"OK"或"CO"
; out- bit_ok=1 or bit_online=1
;----------------------------------------
0320 CHECK:
0320 120337 LCALL WATCHDOG
0323 C217 clr chr_ok
0325 7880 MOV R0,#BUF_DATA ;!!!!!
0327 7A02 MOV R2,#02
0329 08 INC R0
032A 08 INC R0
032B CHK_R2:
032B E6 MOV A,@R0
032C B44F07 CJNE A,#4FH,CHK_eof
032F CHK_R4:
032F 08 INC R0
0330 E6 mov a,@r0
0331 B44B02 cjne a,#4bh,chk_eof
0334 D217 SETB chr_ok
0336 CHK_EOF:
0336 22 RET
;-------------------------------------------
0337 WATCHDOG:
; MOV WDTRST,#01EH
; MOV WDTRST,#0E1H
0337 00 NOP
0338 00 NOP
0339 22 RET
;-------------------------------------------
; Delay1MS:
;
;-------------------------------------------
033A Delay1MS:
033A C051 PUSH _R2
033C 755162 MOV _R2,#98
033F DM11_1:
033F 120337 LCALL WATCHDOG
0342 D551FA DJNZ _R2,DM11_1
0345 D051 POP _R2
0347 00 NOP
0348 22 RET
;-------------------------------------------
; Delay100MS:
; in -- RCNT_MS:延時值MS (<256)
;
;-------------------------------------------
0349 Delay10MS:
0349 C051 PUSH _R2
034B C052 PUSH _R3
034D 755164 MOV _R2,#100
0350 DM_1:
0350 75523C MOV _R3,#60
0353 DM_2:
;lCALL WATCHDOG
;NOP
;NOP
0353 D552FD DJNZ _R3,$
0356 D551F7 DJNZ _R2,DM_1
0359 D052 POP _R3
035B D051 POP _R2
035D 00 NOP
035E 22 RET
;-------------------------------------------
; Delay100MS:
; in --
;
;-------------------------------------------
035F Delay100MS:
035F C050 PUSH _R1
0361 75500A MOV _R1,#10
0364 DM1_1:
0364 120349 lCALL DELAY10MS
0367 D550FA DJNZ _R1,DM1_1
036A D050 POP _R1
036C 00 NOP
036D 22 RET
;---------------------------------------------
036E delay1000ms:
036E 12035F lcall delay100ms
0371 12035F lcall delay100ms
0374 12035F lcall delay100ms
0377 12035F lcall delay100ms
037A 12035F lcall delay100ms
037D 12035F lcall delay100ms
0380 12035F lcall delay100ms
0383 12035F lcall delay100ms
0386 12035F lcall delay100ms
0389 12035F lcall delay100ms
038C 22 ret
038D 41545A300D table_reset db 'A','T','Z','0',0dh
0392 41542B434D47 TABLE_SETSMS0 DB 'A','T','+','C','M','G','F','=','0',0DH
463D300D
039C 41542B435343 TABLE_setsms1 DB 'A','T','+','C','S','C','A','=','+','8',
413D2B38
03A6 363133383030 DB '6','1','3','8','0','0','5','1','9','5','0','0',0DH
353139353030
0D
03B3 41542B434F50 TABLE_gogsm DB 'A','T','+','C','O','P','S','=','0',0DH
533D300D
03BD 41542B434D47 table_msglen db 'A','T','+','C','M','G','S','=','1','8',0DH
533D31380D
03C8 303839313638 table_zhong db '0','8','9','1','6','8','3','1','0','8','5'
3331303835
03D3 303931303546 db '0','9','1','0','5','F','0','1','1','0','0'
3031313030
03DE 304439313638 db '0','D','9','1','6','8','3','1','6','8','0'
3331363830
03E9 313232373346 db '1','2','2','7','3','F','5','0','0','0','8'
3530303038
03F4 303030323445 db '0','0','0','2','4','E','2','D',5EH,'z',0DH
32445E7A0D
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -