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

📄 main.lst

📁 MMA7361加速度倾角模块
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   00000094   CFEA               RJMP    ??main_3
     64              	SW_UART_Tx(' ');					//Next Line
   \                     ??main_4:
   \   00000096   E200               LDI     R16, 32
   \   00000098   ....               RCALL   SW_UART_Tx
     65              	SW_UART_Tx(0x0d);
   \   0000009A   E00D               LDI     R16, 13
   \   0000009C   ....               RCALL   SW_UART_Tx
   \   0000009E   CFCB               RJMP    ??main_0
   \   000000A0                      REQUIRE _A_TCCR2B
   \   000000A0                      REQUIRE _A_PRR
   \   000000A0                      REQUIRE _A_CLKPR
   \   000000A0                      REQUIRE _A_WDTCSR
     66            	}
     67            }
     68            
     69            
     70          }
     71          
     72          //SIGNAL(SIG_OVERFLOW2)
     73          #pragma vector=TIMER2_OVF_vect
     74          

   \                                 In  segment CODE, align 2, keep-with-next
     75          __interrupt void TMR2irq( void )
   \                     TMR2irq:
     76          
     77          {
   \   00000000   93FA               ST      -Y, R31
   \   00000002   93EA               ST      -Y, R30
   \   00000004   931A               ST      -Y, R17
   \   00000006   930A               ST      -Y, R16
   \   00000008   B71F               IN      R17, 0x3F
     78            if(ShowDebug_Cnt!=0)
   \   0000000A   9100....           LDS     R16, ShowDebug_Cnt
   \   0000000E   2300               TST     R16
   \   00000010   F029               BREQ    ??TMR2irq_0
     79            	ShowDebug_Cnt--;
   \   00000012   ....               LDI     R30, LOW(ShowDebug_Cnt)
   \   00000014   ....               LDI     R31, (ShowDebug_Cnt) >> 8
   \   00000016   8100               LD      R16, Z
   \   00000018   950A               DEC     R16
   \   0000001A   8300               ST      Z, R16
     80          }
   \                     ??TMR2irq_0:
   \   0000001C   BF1F               OUT     0x3F, R17
   \   0000001E   9109               LD      R16, Y+
   \   00000020   9119               LD      R17, Y+
   \   00000022   91E9               LD      R30, Y+
   \   00000024   91F9               LD      R31, Y+
   \   00000026   9518               RETI
     81          
     82          //SIGNAL(SIG_ADC)
     83          #pragma vector=ADC_vect
     84          

   \                                 In  segment CODE, align 2, keep-with-next
     85          __interrupt void ADCirq( void )
   \                     ADCirq:
     86          {
   \   00000000   93FA               ST      -Y, R31
   \   00000002   93EA               ST      -Y, R30
   \   00000004   920A               ST      -Y, R0
   \   00000006   937A               ST      -Y, R23
   \   00000008   936A               ST      -Y, R22
   \   0000000A   935A               ST      -Y, R21
   \   0000000C   934A               ST      -Y, R20
   \   0000000E   933A               ST      -Y, R19
   \   00000010   932A               ST      -Y, R18
   \   00000012   931A               ST      -Y, R17
   \   00000014   930A               ST      -Y, R16
   \   00000016   B60F               IN      R0, 0x3F
     87            SumReg += ADC; 								//Add result to common sum
   \   00000018   91000078           LDS     R16, 120
   \   0000001C   91100079           LDS     R17, 121
   \   00000020   E020               LDI     R18, 0
   \   00000022   E030               LDI     R19, 0
   \   00000024   ....               LDI     R30, LOW(SumReg)
   \   00000026   ....               LDI     R31, (SumReg) >> 8
   \   00000028   8140               LD      R20, Z
   \   0000002A   8151               LDD     R21, Z+1
   \   0000002C   8162               LDD     R22, Z+2
   \   0000002E   8173               LDD     R23, Z+3
   \   00000030   0F40               ADD     R20, R16
   \   00000032   1F51               ADC     R21, R17
   \   00000034   1F62               ADC     R22, R18
   \   00000036   1F73               ADC     R23, R19
   \   00000038   8340               ST      Z, R20
   \   0000003A   8351               STD     Z+1, R21
   \   0000003C   8362               STD     Z+2, R22
   \   0000003E   8373               STD     Z+3, R23
     88            if(--SampCnt == 0)								//Check number of samples
   \   00000040   9100....           LDS     R16, SampCnt
   \   00000044   950A               DEC     R16
   \   00000046   9300....           STS     SampCnt, R16
   \   0000004A   2300               TST     R16
   \   0000004C   F439               BRNE    ??ADCirq_0
     89            {
     90          	ADC_Done=1;								//Measuring is complete
   \   0000004E   E001               LDI     R16, 1
   \   00000050   9300....           STS     ADC_Done, R16
     91          	ADCSRA = 0x80;							        //Stop ADC
   \   00000054   E800               LDI     R16, 128
   \   00000056   9300007A           STS     122, R16
   \   0000005A   C005               RJMP    ??ADCirq_1
     92            }
     93            else
     94            {
     95          	ADCSRA |= 0x40;								//Start next ADC cycle
   \                     ??ADCirq_0:
   \   0000005C   9100007A           LDS     R16, 122
   \   00000060   6400               ORI     R16, 0x40
   \   00000062   9300007A           STS     122, R16
     96            }
     97          }
   \                     ??ADCirq_1:
   \   00000066   BE0F               OUT     0x3F, R0
   \   00000068   9109               LD      R16, Y+
   \   0000006A   9119               LD      R17, Y+
   \   0000006C   9129               LD      R18, Y+
   \   0000006E   9139               LD      R19, Y+
   \   00000070   9149               LD      R20, Y+
   \   00000072   9159               LD      R21, Y+
   \   00000074   9169               LD      R22, Y+
   \   00000076   9179               LD      R23, Y+
   \   00000078   9009               LD      R0, Y+
   \   0000007A   91E9               LD      R30, Y+
   \   0000007C   91F9               LD      R31, Y+
   \   0000007E   9518               RETI
   \   00000080                      REQUIRE _A_ADCSRA
   \   00000080                      REQUIRE _A_ADC

   \                                 In  segment INTVEC, offset 0x24, root
   \                     `??TMR2irq??INTVEC 36`:
   \   00000024   ........           JMP     TMR2irq

   \                                 In  segment INTVEC, offset 0x54, root
   \                     `??ADCirq??INTVEC 84`:
   \   00000054   ........           JMP     ADCirq

   \                                 In  segment NEAR_ID, align 1, keep-with-next, root
   \                     `?<Initializer for Channel_Tbl>`:
   \   00000000   414240             DB 66, 65, 64

   \                                 In  segment NEAR_ID, align 1, keep-with-next, root
   \                     `?<Initializer for Axis_Name>`:
   \   00000000   59585A             DB 88, 89, 90
     98          
     99          //SIGNAL(__vector_default)
    100          //#pragma vector=default
    101          

   Maximum stack usage in bytes:

     Function           CSTACK RSTACK
     --------           ------ ------
     ADC_Init               0      2
     ADCirq                11      2
     Get_ADC                5      4
     IO_Ports_Init          0      2
     MMA7361_Init           0      2
     Put_Axis               8      4
       -> SW_UART_Tx        8      2
     SW_UART_Tx             0      2
     Show_Hex               4      4
       -> SW_UART_Tx        4      2
     TMR2irq                4      2
     Timers_Init            0      2
     UART_Init              0      2
     UART_Rx                0      2
     UART_Tx                0      2
     main                   2      2
       -> IO_Ports_Init     2      2
       -> Timers_Init       2      2
       -> ADC_Init          2      2
       -> MMA7361_Init      2      2
       -> Get_ADC           2      2
       -> SW_UART_Tx        2      2
       -> Put_Axis          2      2
       -> SW_UART_Tx        2      2
       -> SW_UART_Tx        2      2
       -> SW_UART_Tx        2      2


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     _A_UDR0                           1
     _A_UBRR0                          2
     _A_UCSR0C                         1
     _A_UCSR0B                         1
     _A_UCSR0A                         1
     _A_TWAMR                          1
     _A_TWCR                           1
     _A_TWDR                           1
     _A_TWAR                           1
     _A_TWSR                           1
     _A_TWBR                           1
     _A_ASSR                           1
     _A_OCR2B                          1
     _A_OCR2A                          1
     _A_TCNT2                          1
     _A_TCCR2B                         1
     _A_TCCR2A                         1
     _A_OCR1B                          2
     _A_OCR1A                          2
     _A_ICR1                           2
     _A_TCNT1                          2
     _A_TCCR1C                         1
     _A_TCCR1B                         1
     _A_TCCR1A                         1
     _A_DIDR1                          1
     _A_DIDR0                          1
     _A_ADMUX                          1
     _A_ADCSRB                         1
     _A_ADCSRA                         1
     _A_ADC                            2
     _A_TIMSK2                         1
     _A_TIMSK1                         1
     _A_TIMSK0                         1
     _A_PCMSK2                         1
     _A_PCMSK1                         1
     _A_PCMSK0                         1
     _A_EICRA                          1
     _A_PCICR                          1
     _A_OSCCAL                         1
     _A_PRR                            1
     _A_CLKPR                          1
     _A_WDTCSR                         1
     _A_SREG                           1
     _A_SP                             2
     _A_SPMCSR                         1
     _A_MCUCR                          1
     _A_MCUSR                          1
     _A_SMCR                           1
     _A_ACSR                           1
     _A_SPDR                           1
     _A_SPSR                           1
     _A_SPCR                           1
     _A_GPIOR2                         1
     _A_GPIOR1                         1
     _A_OCR0B                          1
     _A_OCR0A                          1
     _A_TCNT0                          1
     _A_TCCR0B                         1
     _A_TCCR0A                         1
     _A_GTCCR                          1
     _A_EEAR                           2
     _A_EEDR                           1
     _A_EECR                           1
     _A_GPIOR0                         1
     _A_EIMSK                          1
     _A_EIFR                           1
     _A_PCIFR                          1
     _A_TIFR2                          1
     _A_TIFR1                          1
     _A_TIFR0                          1
     _A_PORTD                          1
     _A_DDRD                           1
     _A_PIND                           1
     _A_PORTC                          1
     _A_DDRC                           1
     _A_PINC                           1
     _A_PORTB                          1
     _A_DDRB                           1
     _A_PINB                           1
     Channel_Tbl                       3
     Axis_Name                         3
     Temp                              1
     Temp1                             1
     ADC_Done                          1
     ShowDebug_Cnt                     1
     Axis_Data                         6
     SumReg                            4
     SampCnt                           1
     Timers_Init                      80
     IO_Ports_Init                    28
     ADC_Init                         30
     MMA7361_Init                      4
     Get_ADC                         126
     SW_UART_Tx                       60
     Show_Hex                         46
     Put_Axis                        138
     UART_Init                        38
     ??UART_Tx_0                      16
     ??UART_Rx_0                      16
     main                            160
     TMR2irq                          40
     ADCirq                          128
     ??TMR2irq??INTVEC 36              4
     ??ADCirq??INTVEC 84               4
     ?<Initializer for Channel_Tbl>    3
     ?<Initializer for Axis_Name>      3
      Others                          12

 
  87 bytes in segment ABSOLUTE
 910 bytes in segment CODE
  12 bytes in segment INITTAB
   8 bytes in segment INTVEC
   6 bytes in segment NEAR_I
   6 bytes in segment NEAR_ID
  15 bytes in segment NEAR_Z
 
 916 bytes of CODE memory (+ 20 bytes shared)
  21 bytes of DATA memory (+ 87 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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