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

📄 gsmmodem.ls1

📁 SPWM三相波形发生器
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     389     ; extern        void    _EXP_Buff_Clear(void);
                     390     ; 
                     391     ; //sbit PD   = P1_3;   //switch mc35 off       at least 3.5 s
                     392     ; sbit MRST = P1^4;     //reset  mc35   at least 100 ms.        can't use P1_4.
                     393     ; sbit MESL = P1^6;     //reset ichip return from seril net mode.       at least 5 s.
                     394     ; sbit CRST = P1^7;     //rest ichip.   at least 10 ms.
                     395     ; sbit CPOW = P3^2;     //rest ichip.   at least 10 ms.
                     396     ; 
                     397     ; /*******************************
                     398     ; **    output string through expcom
                     399     ; ********************************/
                     400     ; void ModemSend(uchar *String)
                     401     
----                 402             RSEG  ?PR?_ModemSend?GSMMODEM
0000                 403     L?0087:
                     404             USING   0
0000 7BFF            405             MOV     R3,#0FFH
0002 7A00     F      406             MOV     R2,#HIGH (?SC_4)
0004 7900     F      407             MOV     R1,#LOW (?SC_4)
0006                 408     _ModemSend:
                     409             USING   0
                     410                             ; SOURCE LINE # 61
                     411     ;---- Variable 'String?040' assigned to Register 'R1/R2/R3' ----
                     412     ; {
                     413                             ; SOURCE LINE # 62
                     414     ;       _EXP_Puts(String);
                     415                             ; SOURCE LINE # 63
0006 020000   F      416             LJMP    __EXP_Puts
                     417     ; END OF _ModemSend
A51 MACRO ASSEMBLER  GSMMODEM                                                             12/01/2004 14:12:52 PAGE     8

                     418     
                     419     ; }
                     420     ; 
                     421     ; /*******************************
                     422     ; **    return 1: match success.
                     423     ; **    return 0: match error.
                     424     ; *******************************/
                     425     ; unsigned char  ModemExpect(uchar *ExpectString,uint timeout)  /*      timeout * 10 ms  */
                     426     
----                 427             RSEG  ?PR?_ModemExpect?GSMMODEM
0000                 428     L?0083:
                     429             USING   0
0000                 430     L?0084:
0000 7A00     F      431             MOV     R2,#HIGH (?SC_13)
0002 7900     F      432             MOV     R1,#LOW (?SC_13)
0004                 433     L?0085:
0004 7BFF            434             MOV     R3,#0FFH
0006                 435     L?0086:
0006 7D90            436             MOV     R5,#090H
0008 7C01            437             MOV     R4,#01H
000A                 438     _ModemExpect:
                     439             USING   0
                     440                             ; SOURCE LINE # 70
000A 8C00     F      441             MOV     timeout?142,R4
000C 8D00     F      442             MOV     timeout?142+01H,R5
000E 8B00     F      443             MOV     ExpectString?141,R3
0010 8A00     F      444             MOV     ExpectString?141+01H,R2
0012 8900     F      445             MOV     ExpectString?141+02H,R1
                     446     ; {
                     447                             ; SOURCE LINE # 71
                     448     ;       uchar   idata MatchPosition = 0;
                     449                             ; SOURCE LINE # 72
0014 E4              450             CLR     A
0015 7800     F      451             MOV     R0,#LOW (MatchPosition?143)
0017 F6              452             MOV     @R0,A
                     453     ;       uchar   idata StringLenth;
                     454     ;       StringLenth = strlen(ExpectString);
                     455                             ; SOURCE LINE # 74
0018 120000   F      456             LCALL   _strlen
001B 7800     F      457             MOV     R0,#LOW (StringLenth?144)
001D A607            458             MOV     @R0,AR7
                     459     ;       TempCount = GET_COUNT();
                     460                             ; SOURCE LINE # 75
001F 120000   F      461             LCALL   GET_COUNT
0022 7800     F      462             MOV     R0,#LOW (TempCount)
0024 120000   F      463             LCALL   ?C?LSTIDATA
0027                 464     ?C0002:
                     465     ;       while( MatchPosition < StringLenth) 
                     466                             ; SOURCE LINE # 76
0027 7900     F      467             MOV     R1,#LOW (MatchPosition?143)
0029 E7              468             MOV     A,@R1
002A C3              469             CLR     C
002B 7800     F      470             MOV     R0,#LOW (StringLenth?144)
002D 96              471             SUBB    A,@R0
002E 504B            472             JNC     ?C0003
                     473     ;       {
                     474                             ; SOURCE LINE # 77
                     475     ;               if( GET_COUNT() - TempCount > timeout)  return 0;
                     476                             ; SOURCE LINE # 78
0030 120000   F      477             LCALL   GET_COUNT
0033 7800     F      478             MOV     R0,#LOW (TempCount)
0035 120000   F      479             LCALL   ?C?LLDIDATA0
0038 120000   F      480             LCALL   ?C?LSUB
003B A804            481             MOV     R0,AR4
003D A905            482             MOV     R1,AR5
003F AA06            483             MOV     R2,AR6
A51 MACRO ASSEMBLER  GSMMODEM                                                             12/01/2004 14:12:52 PAGE     9

0041 AB07            484             MOV     R3,AR7
0043 AE00     F      485             MOV     R6,timeout?142
0045 AF00     F      486             MOV     R7,timeout?142+01H
0047 E4              487             CLR     A
0048 FC              488             MOV     R4,A
0049 FD              489             MOV     R5,A
004A D3              490             SETB    C
004B 120000   F      491             LCALL   ?C?ULCMP
004E 4003            492             JC      ?C0004
0050 7F00            493             MOV     R7,#00H
0052 22              494             RET     
0053                 495     ?C0004:
                     496     ;               if(_EXP_GetTest())      
                     497                             ; SOURCE LINE # 79
0053 120000   F      498             LCALL   _EXP_GetTest
0056 EF              499             MOV     A,R7
0057 60CE            500             JZ      ?C0002
                     501     ;               {
                     502                             ; SOURCE LINE # 80
                     503     ;                       if(_EXP_Get() == ExpectString[MatchPosition])   MatchPosition++;
                     504                             ; SOURCE LINE # 81
0059 120000   F      505             LCALL   _EXP_Get
005C AB00     F      506             MOV     R3,ExpectString?141
005E AA00     F      507             MOV     R2,ExpectString?141+01H
0060 A900     F      508             MOV     R1,ExpectString?141+02H
0062 7800     F      509             MOV     R0,#LOW (MatchPosition?143)
0064 E6              510             MOV     A,@R0
0065 F582            511             MOV     DPL,A
0067 758300          512             MOV     DPH,#00H
006A 120000   F      513             LCALL   ?C?CLDOPTR
006D B50705          514             CJNE    A,AR7,?C0007
0070 7800     F      515             MOV     R0,#LOW (MatchPosition?143)
0072 06              516             INC     @R0
0073 80B2            517             SJMP    ?C0002
0075                 518     ?C0007:
                     519     ;                       else MatchPosition = 0;                                 /*      mat
                             ch error,start again */
                     520                             ; SOURCE LINE # 82
0075 E4              521             CLR     A
0076 7800     F      522             MOV     R0,#LOW (MatchPosition?143)
0078 F6              523             MOV     @R0,A
                     524     ;               }
                     525                             ; SOURCE LINE # 83
                     526     ;       }
                     527                             ; SOURCE LINE # 84
0079 80AC            528             SJMP    ?C0002
007B                 529     ?C0003:
                     530     ;       return 1;
                     531                             ; SOURCE LINE # 85
007B 7F01            532             MOV     R7,#01H
                     533     ; }
                     534                             ; SOURCE LINE # 86
007D                 535     ?C0005:
007D 22              536             RET     
                     537     ; END OF _ModemExpect
                     538     
                     539     ; 
                     540     ; 
                     541     ; /*******************************
                     542     ; **    restet MC35 and CO110
                     543     ; **    return 1: rest success,support at command.
                     544     ; **    return 0: rest error,can't support at command.
                     545     ; ********************************/
                     546     ; unsigned char ModuleRst()                             
                     547     
----                 548             RSEG  ?PR?ModuleRst?GSMMODEM
A51 MACRO ASSEMBLER  GSMMODEM                                                             12/01/2004 14:12:52 PAGE    10

0000                 549     ModuleRst:
                     550             USING   0
                     551                             ; SOURCE LINE # 94
                     552     ; {
                     553                             ; SOURCE LINE # 95
                     554     ;       uchar i;
                     555     ; 
                     556     ;       MRST = 0;
                     557                             ; SOURCE LINE # 98
0000 C294            558             CLR     MRST
                     559     ;       CRST = 0;
                     560                             ; SOURCE LINE # 99
0002 C297            561             CLR     CRST
                     562     ;       Delay(15);              
                     563                             ; SOURCE LINE # 100
0004 7F0F            564             MOV     R7,#0FH
0006 7E00            565             MOV     R6,#00H
0008 120000   F      566             LCALL   _Delay
                     567     ;       MRST = 1;
                     568                             ; SOURCE LINE # 101
000B D294            569             SETB    MRST
                     570     ;       CRST = 1;
                     571                             ; SOURCE LINE # 102
000D D297            572             SETB    CRST
                     573     ;       for(i = 0;i<3;i++)
                     574                             ; SOURCE LINE # 103
000F E4              575             CLR     A
0010 F500     F      576             MOV     i?245,A
0012                 577     ?C0009:
                     578     ;       {
                     579                             ; SOURCE LINE # 104
                     580     ;               Delay(150);
                     581                             ; SOURCE LINE # 105
0012 7F96            582             MOV     R7,#096H
0014 7E00            583             MOV     R6,#00H
0016 120000   F      584             LCALL   _Delay
                     585     ;               ModemSend(ESC_SEQUENCE) ;               //send "+++"
                     586                             ; SOURCE LINE # 106
0019 7BFF            587             MOV     R3,#0FFH
001B 7A00     F      588             MOV     R2,#HIGH (?SC_0)
001D 7900     F      589             MOV     R1,#LOW (?SC_0)
001F 120000   F      590             LCALL   _ModemSend
                     591     ;               Delay(150);
                     592                             ; SOURCE LINE # 107
0022 7F96            593             MOV     R7,#096H
0024 7E00            594             MOV     R6,#00H
0026 120000   F      595             LCALL   _Delay
                     596     ;               _EXP_Buff_Clear();                              //clear expcom receive buff
                             er.
                     597                             ; SOURCE LINE # 108
0029 120000   F      598             LCALL   _EXP_Buff_Clear
                     599     ;               ModemSend(ATI_MCM);
                     600                             ; SOURCE LINE # 109
002C 120000   F      601             LCALL   L?0087
                     602     ;               Delay(10);              
                     603                             ; SOURCE LINE # 110

⌨️ 快捷键说明

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