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

📄 gsm_main.lis

📁 实现机于通讯芯片的电话接听 拨出 以及来电振领提示
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 016A           ;                               else if (buf[1]==0x06 && buf[2]==0x34  &&buf[3]==0xff)  //软件Mute键
 016A 80911F00          lds R24,_buf+1
 016E 8630              cpi R24,6
 0170 81F4              brne L36
 0172 80912000          lds R24,_buf+2
 0176 8433              cpi R24,52
 0178 61F4              brne L36
 017A 80912100          lds R24,_buf+3
 017E 8F3F              cpi R24,255
 0180 41F4              brne L36
 0182                   .dbline 112
 0182           ;                       { 
 0182                   .dbline 113
 0182           ;                                        muteon=1;
 0182 81E0              ldi R24,1
 0184 80936100          sts _muteon,R24
 0188                   .dbline 114
 0188           ;                                        Delay(15);
 0188 0FE0              ldi R16,15
 018A 10E0              ldi R17,0
 018C 39DF              rcall _Delay
 018E                   .dbline 115
 018E           ;                                    PWROFF;
 018E C59A              sbi 0x18,5
 0190                   .dbline 116
 0190           ;                               }
 0190 B0C0              rjmp L37
 0192           L36:
 0192                   .dbline 117
 0192           ;                               else if (buf[1]==0x06 && buf[2]==0x35 &&buf[3]==0xff)  //软件Mute按下
 0192 80911F00          lds R24,_buf+1
 0196 8630              cpi R24,6
 0198 81F4              brne L41
 019A 80912000          lds R24,_buf+2
 019E 8533              cpi R24,53
 01A0 61F4              brne L41
 01A2 80912100          lds R24,_buf+3
 01A6 8F3F              cpi R24,255
 01A8 41F4              brne L41
 01AA                   .dbline 118
 01AA           ;                       {
 01AA                   .dbline 119
 01AA           ;                                        muteoff=1;
 01AA 81E0              ldi R24,1
 01AC 80936200          sts _muteoff,R24
 01B0                   .dbline 120
 01B0           ;                                        Delay(15);
 01B0 0FE0              ldi R16,15
 01B2 10E0              ldi R17,0
 01B4 25DF              rcall _Delay
 01B6                   .dbline 121
 01B6           ;                                    PWROFF;
 01B6 C59A              sbi 0x18,5
 01B8                   .dbline 122
 01B8           ;                               }
 01B8 9CC0              rjmp L42
 01BA           L41:
 01BA                   .dbline 123
 01BA           ;                           else if (buf[1]==0x06 && buf[2]==0x31 &&buf[3]==0xff)  //按下hook on键
 01BA 80911F00          lds R24,_buf+1
 01BE 8630              cpi R24,6
 01C0 C1F4              brne L46
 01C2 80912000          lds R24,_buf+2
 01C6 8133              cpi R24,49
 01C8 A1F4              brne L46
 01CA 80912100          lds R24,_buf+3
 01CE 8F3F              cpi R24,255
 01D0 81F4              brne L46
 01D2                   .dbline 124
 01D2           ;                       { 
 01D2                   .dbline 125
 01D2           ;                                    Usart_Command("ata",3); //设置来电显示
 01D2 23E0              ldi R18,3
 01D4 30E0              ldi R19,0
 01D6 00E0              ldi R16,<L51
 01D8 10E0              ldi R17,>L51
 01DA 00D0              rcall _Usart_Command
 01DC                   .dbline 126
 01DC           ;                      Usart_Tx(0x0d); 
 01DC 0DE0              ldi R16,13
 01DE 10E0              ldi R17,0
 01E0 00D0              rcall _Usart_Tx
 01E2                   .dbline 127
 01E2           ;                                        hookon=1;
 01E2 81E0              ldi R24,1
 01E4 80935F00          sts _hookon,R24
 01E8                   .dbline 128
 01E8           ;                                        Delay(15);
 01E8 0FE0              ldi R16,15
 01EA 10E0              ldi R17,0
 01EC 09DF              rcall _Delay
 01EE                   .dbline 129
 01EE           ;                                    PWROFF;
 01EE C59A              sbi 0x18,5
 01F0                   .dbline 130
 01F0           ;                               }
 01F0 80C0              rjmp L47
 01F2           L46:
 01F2                   .dbline 131
 01F2           ;                           else if (buf[1]==0x06 && buf[2]==0x32 && buf[3]==0xff)//按下hook off键
 01F2 80911F00          lds R24,_buf+1
 01F6 8630              cpi R24,6
 01F8 C1F4              brne L52
 01FA 80912000          lds R24,_buf+2
 01FE 8233              cpi R24,50
 0200 A1F4              brne L52
 0202 80912100          lds R24,_buf+3
 0206 8F3F              cpi R24,255
 0208 81F4              brne L52
 020A                   .dbline 132
 020A           ;                       {
 020A                   .dbline 133
 020A           ;                                    Usart_Command("ath",3); //设置来电显示
 020A 23E0              ldi R18,3
 020C 30E0              ldi R19,0
 020E 00E0              ldi R16,<L57
 0210 10E0              ldi R17,>L57
 0212 00D0              rcall _Usart_Command
 0214                   .dbline 134
 0214           ;                      Usart_Tx(0x0d);
 0214 0DE0              ldi R16,13
 0216 10E0              ldi R17,0
 0218 00D0              rcall _Usart_Tx
 021A                   .dbline 135
 021A           ;                                        hookoff=1;
 021A 81E0              ldi R24,1
 021C 80936000          sts _hookoff,R24
 0220                   .dbline 136
 0220           ;                                        Delay(15);
 0220 0FE0              ldi R16,15
 0222 10E0              ldi R17,0
 0224 EDDE              rcall _Delay
 0226                   .dbline 137
 0226           ;                                        PWROFF;
 0226 C59A              sbi 0x18,5
 0228                   .dbline 138
 0228           ;                               }
 0228 64C0              rjmp L53
 022A           L52:
 022A                   .dbline 139
 022A           ;                               else if (buf[1]==0x02) //拨号
 022A 80911F00          lds R24,_buf+1
 022E 8230              cpi R24,2
 0230 09F0              breq X4
 0232 5FC0              rjmp L58
 0234           X4:
 0234                   .dbline 140
 0234           ;                               {
 0234                   .dbline 141
 0234           ;                                       for(xk=0;xk<18;xk++)
 0234 2224              clr R2
 0236 20920400          sts _xk,R2
 023A 3CC0              rjmp L64
 023C           L61:
 023C                   .dbline 142
 023C           ;                                       {
 023C                   .dbline 143
 023C           ;                                         if(buf[xk+2]==0xff)
 023C 80E0              ldi R24,<_buf+2
 023E 90E0              ldi R25,>_buf+2
 0240 E0910400          lds R30,_xk
 0244 FF27              clr R31
 0246 E80F              add R30,R24
 0248 F91F              adc R31,R25
 024A 8081              ldd R24,z+0
 024C 8F3F              cpi R24,255
 024E 21F4              brne L65
 0250                   .dbline 144
 0250           ;                                         {
 0250                   .dbline 145
 0250           ;                                           num_end_flag=1;
 0250 81E0              ldi R24,1
 0252 80932600          sts _num_end_flag,R24
 0256                   .dbline 146
 0256           ;                                               break;
 0256 33C0              rjmp L63
 0258           L65:
 0258                   .dbline 148
 0258           ;                                         }
 0258           ;                                         if(buf[xk+2] !=0x01 && buf[xk+2] !=0x02)
 0258 80E0              ldi R24,<_buf+2
 025A 90E0              ldi R25,>_buf+2
 025C E0910400          lds R30,_xk
 0260 FF27              clr R31
 0262 E80F              add R30,R24
 0264 F91F              adc R31,R25
 0266 8081              ldd R24,z+0
 0268 8130              cpi R24,1
 026A F9F0              breq L68
 026C 80E0              ldi R24,<_buf+2
 026E 90E0              ldi R25,>_buf+2
 0270 E0910400          lds R30,_xk
 0274 FF27              clr R31
 0276 E80F              add R30,R24
 0278 F91F              adc R31,R25
 027A 8081              ldd R24,z+0
 027C 8230              cpi R24,2
 027E A9F0              breq L68
 0280                   .dbline 149
 0280           ;                                         {
 0280                   .dbline 150
 0280           ;                                            telnum[num]=buf[xk+2];
 0280 80E0              ldi R24,<_buf+2
 0282 90E0              ldi R25,>_buf+2
 0284 E0910400          lds R30,_xk
 0288 FF27              clr R31
 028A E80F              add R30,R24
 028C F91F              adc R31,R25
 028E 2080              ldd R2,z+0
 0290 80E0              ldi R24,<_telnum
 0292 90E0              ldi R25,>_telnum
 0294 E0912500          lds R30,_num
 0298 FF27              clr R31
 029A E80F              add R30,R24
 029C F91F              adc R31,R25
 029E 2082              std z+0,R2
 02A0                   .dbline 151
 02A0           ;                                                num++;
 02A0 80912500          lds R24,_num
 02A4 8F5F              subi R24,255    ; addi 1
 02A6 80932500          sts _num,R24
 02AA                   .dbline 152
 02AA           ;                                         }
 02AA           L68:
 02AA                   .dbline 153
 02AA           L62:
 02AA                   .dbline 141
 02AA 80910400          lds R24,_xk
 02AE 8F5F              subi R24,255    ; addi 1
 02B0 80930400          sts _xk,R24
 02B4           L64:
 02B4                   .dbline 141
 02B4 80910400          lds R24,_xk
 02B8 8231              cpi R24,18
 02BA 08F4              brsh X5
 02BC BFCF              rjmp L61
 02BE           X5:
 02BE           L63:
 02BE                   .dbline 154
 02BE           ;                                       }
 02BE           ;                                       if(num_end_flag)
 02BE 20902600          lds R2,_num_end_flag
 02C2 2220              tst R2
 02C4 B1F0              breq L73
 02C6                   .dbline 155
 02C6           ;                                       {
 02C6                   .dbline 156
 02C6           ;                                         Usart_Command("ATD",3);
 02C6 23E0              ldi R18,3
 02C8 30E0              ldi R19,0
 02CA 00E0              ldi R16,<L75
 02CC 10E0              ldi R17,>L75
 02CE 00D0              rcall _Usart_Command
 02D0                   .dbline 157
 02D0           ;                                         Usart_Command(telnum,num);
 02D0 20912500          lds R18,_num
 02D4 3327              clr R19
 02D6 00E0              ldi R16,<_telnum
 02D8 10E0              ldi R17,>_telnum
 02DA 00D0              rcall _Usart_Command
 02DC                   .dbline 158
 02DC           ;                                         Usart_Tx(';');
 02DC 0BE3              ldi R16,59
 02DE 10E0              ldi R17,0
 02E0 00D0              rcall _Usart_Tx
 02E2                   .dbline 159
 02E2           ;                                         Usart_Tx(0x0d);
 02E2 0DE0              ldi R16,13
 02E4 10E0              ldi R17,0
 02E6 00D0              rcall _Usart_Tx
 02E8                   .dbline 160
 02E8           ;                                         num_end_flag=0;
 02E8 2224              clr R2
 02EA 20922600          sts _num_end_flag,R2
 02EE                   .dbline 161
 02EE           ;                                         num=0;
 02EE 20922500          sts _num,R2
 02F2                   .dbline 162
 02F2           ;                                       }
 02F2           L73:
 02F2                   .dbline 163
 02F2           ;                               }
 02F2           L58:
 02F2           L53:
 02F2           L47:
 02F2           L42:
 02F2           L37:
 02F2           L32:
 02F2                   .dbline 164
 02F2           ;               }//end if(cmd_flag)        
 02F2           L29:
 02F2                   .dbline 165
 02F2           L13:
 02F2                   .dbline 64
 02F2 C3CE              rjmp L12
 02F4           X2:
 02F4                   .dbline -2
 02F4           L9:
 02F4                   .dbline 0 ; func end
 02F4 0895              ret
 02F6                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\Rooger\桌面\GSM_PHONE\gsm_main.c
 0000           _idnum::
 0000                   .blkb 14
 000E                   .dbsym e idnum _idnum A[14:14]c
 000E           _telnum::
 000E                   .blkb 14
 001C                   .dbsym e telnum _telnum A[14:14]c
 001C           _data::
 001C                   .blkb 2
 001E                   .dbsym e data _data pc
 001E           _buf::
 001E                   .blkb 18
 0030                   .dbsym e buf _buf A[18:18]c
                        .area data(ram, con, rel)
 0063                   .dbfile C:\DOCUME~1\Rooger\桌面\GSM_PHONE\gsm_main.c
 0063           L75:
 0063                   .blkb 4
                        .area idata
 0063 41544400          .byte 'A,'T,'D,0
                        .area data(ram, con, rel)
 0067                   .dbfile C:\DOCUME~1\Rooger\桌面\GSM_PHONE\gsm_main.c
 0067           L57:
 0067                   .blkb 4
                        .area idata
 0067 61746800          .byte 'a,'t,'h,0
                        .area data(ram, con, rel)
 006B                   .dbfile C:\DOCUME~1\Rooger\桌面\GSM_PHONE\gsm_main.c
 006B           L51:
 006B                   .blkb 4
                        .area idata
 006B 61746100          .byte 'a,'t,'a,0
                        .area data(ram, con, rel)
 006F                   .dbfile C:\DOCUME~1\Rooger\桌面\GSM_PHONE\gsm_main.c
 006F           L11:
 006F                   .blkb 10
                        .area idata
 006F 41542B434C49503D3100      .byte 'A,'T,43,'C,'L,'I,'P,61,49,0
                        .area data(ram, con, rel)
 0079                   .dbfile C:\DOCUME~1\Rooger\桌面\GSM_PHONE\gsm_main.c
 0079           L10:
 0079                   .blkb 3
                        .area idata
 0079 415400            .byte 'A,'T,0
                        .area data(ram, con, rel)
 007C                   .dbfile C:\DOCUME~1\Rooger\桌面\GSM_PHONE\gsm_main.c

⌨️ 快捷键说明

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