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

📄 main.lis

📁 AVR单片机系统开发经典实例部分源程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0344           L92:
 0344                   .dbline 284
 0344           ;                                                       else
 0344           ;                                                               YLed_Off;
 0344 C69A              sbi 0x18,6
 0346                   .dbline 285
 0346           ;                                                       break;
 0346           L85:
 0346                   .dbline 302
 0346           ;       }
 0346           ; 
 0346           ;       // CTS0 state
 0346           ; //    if (CTS0)                                                                       //
 0346           ; //            GLed_Off;                                                               //
 0346           ; //    else                                                                            //
 0346           ; //            GLed_On;                                                                //
 0346           ; 
 0346           ;       // CTS1 state
 0346           ; //    if (CTS1)                                                                       //
 0346           ; //            GLed_Off;                                                               //
 0346           ; //    else                                                                            //
 0346           ; //            GLed_On;                                                                //
 0346           ; 
 0346           ;       // TCP socket state
 0346           ;       #ifdef IncludeTCP
 0346           ;       if (TCP_Socket != NULL)                                                                                 //
 0346 20900000          lds R2,_TCP_Socket
 034A 30900100          lds R3,_TCP_Socket+1
 034E 2220              tst R2
 0350 11F4              brne X6
 0352 3320              tst R3
 0354 61F1              breq L95
 0356           X6:
 0356                   .dbline 303
 0356           ;       {                                                                                                                               //
 0356                   .dbline 304
 0356           ;               switch (TCP_Socket->Stage)                                                                      //
 0356 E0910000          lds R30,_TCP_Socket
 035A F0910100          lds R31,_TCP_Socket+1
 035E 4081              ldd R20,z+0
 0360 5527              clr R21
 0362 4030              cpi R20,0
 0364 4507              cpc R20,R21
 0366 49F0              breq L100
 0368           X7:
 0368 4130              cpi R20,1
 036A E0E0              ldi R30,0
 036C 5E07              cpc R21,R30
 036E 39F0              breq L101
 0370 4430              cpi R20,4
 0372 E0E0              ldi R30,0
 0374 5E07              cpc R21,R30
 0376 59F0              breq L104
 0378 12C0              xjmp L97
 037A           X8:
 037A                   .dbline 305
 037A           ;               {                                                                                                                       //
 037A           L100:
 037A                   .dbline 306
 037A           ;                       case TCP_CLOSED                 :       GLed_Off;                                       //
 037A C79A              sbi 0x18,7
 037C                   .dbline 307
 037C           ;                                                                               break;                                          //
 037C 19C0              xjmp L96
 037E           L101:
 037E                   .dbline 308
 037E           ;                       case TCP_LISTEN                 :       if (TimerIntCounter & 0x20)     //
 037E 20900000          lds R2,_TimerIntCounter
 0382 25FE              sbrs R2,5
 0384 02C0              rjmp L102
 0386                   .dbline 309
 0386           ;                                                                                       GLed_On;                                //
 0386 C798              cbi 0x18,7
 0388 13C0              xjmp L96
 038A           L102:
 038A                   .dbline 311
 038A           ;                                                                               else                                            //
 038A           ;                                                                                       GLed_Off;                               //
 038A C79A              sbi 0x18,7
 038C                   .dbline 312
 038C           ;                                                                               break;                                          //
 038C 11C0              xjmp L96
 038E           L104:
 038E                   .dbline 313
 038E           ;                       case TCP_ESTABLISHED    :       if (TimerIntCounter & 0x50)     //
 038E 80910000          lds R24,_TimerIntCounter
 0392 8075              andi R24,80
 0394 11F0              breq L105
 0396                   .dbline 314
 0396           ;                                                                                       GLed_On;                                //
 0396 C798              cbi 0x18,7
 0398 0BC0              xjmp L96
 039A           L105:
 039A                   .dbline 316
 039A           ;                                                                               else                                            //
 039A           ;                                                                                       GLed_Off;                               //
 039A C79A              sbi 0x18,7
 039C                   .dbline 317
 039C           ;                                                                               break;                                          //
 039C 09C0              xjmp L96
 039E           L97:
 039E                   .dbline 318
 039E           ;                       default                                 :       if (TimerIntCounter & 0x10)     //
 039E 20900000          lds R2,_TimerIntCounter
 03A2 24FE              sbrs R2,4
 03A4 02C0              rjmp L107
 03A6                   .dbline 319
 03A6           ;                                                                                       GLed_On;                                //
 03A6 C798              cbi 0x18,7
 03A8 03C0              xjmp L96
 03AA           L107:
 03AA                   .dbline 321
 03AA           ;                                                                               else                                            //
 03AA           ;                                                                                       GLed_Off;                               //
 03AA C79A              sbi 0x18,7
 03AC                   .dbline 322
 03AC           ;                                                                               break;                                          //
 03AC                   .dbline 324
 03AC           ;               }                                                                                                                       //
 03AC           ;       }                                                                                                                               //
 03AC 01C0              xjmp L96
 03AE           L95:
 03AE                   .dbline 326
 03AE           ;       else                                                                                                                    //
 03AE           ;               GLed_Off;                                                                                                       //
 03AE C79A              sbi 0x18,7
 03B0           L96:
 03B0                   .dbline 336
 03B0 80910000          lds R24,_WatchdogCounter
 03B4 8130              cpi R24,1
 03B6 21F4              brne L109
 03B8                   .dbline 337
 03B8                   .dbline 338
 03B8 A895              wdr
 03BA                   .dbline 339
 03BA 2224              clr R2
 03BC 20920000          sts _WatchdogCounter,R2
 03C0                   .dbline 340
 03C0           L109:
 03C0                   .dbline -2
 03C0           L58:
 03C0 2196              adiw R28,1
 03C2 0E940000          xcall pop_gset2
 03C6 0E940000          xcall pop_lset
 03CA                   .dbline 0 ; func end
 03CA 1895              reti
 03CC                   .dbsym r w 22 s
 03CC                   .dbsym r i 20 s
 03CC                   .dbend
                        .area vector(rom, abs)
                        .org 72
 0048 0C94E601          jmp _isr_uart0_rx
                        .area text(rom, con, rel)
 03CC                   .dbfile C:\AVR\AT-Modem__PPP__UDP__IC\main.c
 03CC                   .dbfunc e isr_uart0_rx _isr_uart0_rx fV
                        .even
 03CC           _isr_uart0_rx::
 03CC 0E940000          xcall push_lset
 03D0                   .dbline -1
 03D0                   .dbline 353
 03D0           ;       #else
 03D0           ;               GLed_Off;                                                                                                       //
 03D0           ;       #endif
 03D0           ; 
 03D0           ;       // *************************
 03D0           ;       // keep the watchdog at bay.
 03D0           ;       // the WatchdogCounter variable is set in the executive - this makes resetting the WD a co-op affair between the exec and this interrupt.
 03D0           ;       // keep this code as the last thing to be done in the interrupt - incase a loop/dead-lock occurs before we get this far
 03D0           ; 
 03D0           ;       if (WatchdogCounter == 1)                                       //
 03D0           ;       {                                                                                       //
 03D0           ;               Reset_WD();                                                             // Keep the watchdog at bay
 03D0           ;               WatchdogCounter = 0;                                    //
 03D0           ;       }
 03D0           ; }
 03D0           ; 
 03D0           ; // *********************************************************************************
 03D0           ; // Uart-0 Rx Interrupt routine
 03D0           ; 
 03D0           ; #ifdef CPU_eZ8
 03D0           ;       #pragma interrupt
 03D0           ; #endif
 03D0           ; #ifdef CPU_ATmega128
 03D0           ;       #pragma interrupt_handler isr_uart0_rx:19
 03D0           ; #endif
 03D0           ; void isr_uart0_rx(void)
 03D0           ; {
 03D0                   .dbline 358
 03D0           ;       #ifdef CPU_eZ8
 03D0           ;       UART0_RxBuffer[UART0_RxBufferWr++] = U0D;                                                               // save new byte into the buffer
 03D0           ;     #endif
 03D0           ;       #ifdef CPU_ATmega128
 03D0           ;       UART0_RxBuffer[UART0_RxBufferWr++] = UDR0;                                                              // save new byte into the buffer
 03D0 20900000          lds R2,_UART0_RxBufferWr
 03D4 3324              clr R3
 03D6 822D              mov R24,R2
 03D8 8F5F              subi R24,255    ; addi 1
 03DA 80930000          sts _UART0_RxBufferWr,R24
 03DE 80E0              ldi R24,<_UART0_RxBuffer
 03E0 90E0              ldi R25,>_UART0_RxBuffer
 03E2 E22D              mov R30,R2
 03E4 FF27              clr R31
 03E6 E80F              add R30,R24
 03E8 F91F              adc R31,R25
 03EA 2CB0              in R2,0xc
 03EC 2082              std z+0,R2
 03EE                   .dbline 360
 03EE           ;     #endif
 03EE           ;       if (UART0_RxBufferWr >= sizeof(UART0_RxBuffer)) UART0_RxBufferWr = 0;   // wap awound
 03EE 80910000          lds R24,_UART0_RxBufferWr
 03F2 8032              cpi R24,32
 03F4 18F0              brlo L112
 03F6                   .dbline 360
 03F6 2224              clr R2
 03F8 20920000          sts _UART0_RxBufferWr,R2
 03FC           L112:
 03FC                   .dbline 363
 03FC           ; 
 03FC           ;       #ifdef ConsoleHandShaking
 03FC           ;       HardwareFlowControl(UART0);                                                                                             // tell em to hold it - if need be
 03FC 0027              clr R16
 03FE 0E940000          xcall _HardwareFlowControl
 0402                   .dbline -2
 0402           L111:
 0402 0E940000          xcall pop_lset
 0406                   .dbline 0 ; func end
 0406 1895              reti
 0408                   .dbend
                        .area vector(rom, abs)
                        .org 120
 0078 0C940402          jmp _isr_uart1_rx
                        .area text(rom, con, rel)
 0408                   .dbfile C:\AVR\AT-Modem__PPP__UDP__IC\main.c
 0408                   .dbfunc e isr_uart1_rx _isr_uart1_rx fV
                        .even
 0408           _isr_uart1_rx::
 0408 0E940000          xcall push_lset
 040C                   .dbline -1
 040C                   .dbline 377
 040C           ;       #endif
 040C           ; }
 040C           ; 
 040C           ; // *********************************************************************************
 040C           ; // Uart-1 Rx Interrupt routine
 040C           ; 
 040C           ; #ifdef CPU_eZ8
 040C           ;       #pragma interrupt
 040C           ; #endif
 040C           ; #ifdef CPU_ATmega128
 040C           ;       #pragma interrupt_handler isr_uart1_rx:31
 040C           ; #endif
 040C           ; void isr_uart1_rx(void)
 040C           ; {
 040C                   .dbline 382
 040C           ;       #ifdef CPU_eZ8
 040C           ;       UART1_RxBuffer[UART1_RxBufferWr++] = U1D;                                                               // save new byte into the buffer
 040C           ;     #endif
 040C           ;       #ifdef CPU_ATmega128
 040C           ;       UART1_RxBuffer[UART1_RxBufferWr++] = UDR1;                                                              // save new byte into the buffer
 040C 20900000          lds R2,_UART1_RxBufferWr
 0410 3324              clr R3
 0412 822D              mov R24,R2
 0414 8F5F              subi R24,255    ; addi 1
 0416 80930000          sts _UART1_RxBufferWr,R24
 041A 80E0              ldi R24,<_UART1_RxBuffer
 041C 90E0              ldi R25,>_UART1_RxBuffer
 041E E22D              mov R30,R2
 0420 FF27              clr R31
 0422 E80F              add R30,R24
 0424 F91F              adc R31,R25
 0426 20909C00          lds R2,156
 042A 2082              std z+0,R2
 042C                   .dbline 384
 042C           ;     #endif
 042C           ;       if (UART1_RxBufferWr >= sizeof(UART1_RxBuffer)) UART1_RxBufferWr = 0;   // wap awound
 042C 80910000          lds R24,_UART1_RxBufferWr
 0430 8036              cpi R24,96

⌨️ 快捷键说明

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