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

📄 main.lst

📁 IAR_ATMega16_UCOS_II.rar
💻 LST
📖 第 1 页 / 共 2 页
字号:
     50            //以下为ADC的初始化设定
     51            ADMUX=0;
   \   00000020   E000               LDI     R16, 0
   \   00000022   B907               OUT     0x07, R16
     52            ADCSRA=0x8E;      //使能ADC,ADC预分频因子为64,使能ADC中断
   \   00000024   E80E               LDI     R16, 142
   \   00000026   B906               OUT     0x06, R16
     53          }
   \   00000028   9508               RET
   \   0000002A                      REQUIRE _A_PORTA
   \   0000002A                      REQUIRE _A_DDRA
   \   0000002A                      REQUIRE _A_PORTB
   \   0000002A                      REQUIRE _A_DDRB
   \   0000002A                      REQUIRE _A_PORTC
   \   0000002A                      REQUIRE _A_DDRC
   \   0000002A                      REQUIRE _A_PORTD
   \   0000002A                      REQUIRE _A_DDRD
   \   0000002A                      REQUIRE _A_ADMUX
   \   0000002A                      REQUIRE _A_ADCSRA
     54          

   \                                 In  segment CODE, align 2, keep-with-next
     55          void Task1(void * data)
   \                     Task1:
     56          {
     57            data=data;
     58            //WDTCR=1;                  //enable watchdog and set the time in 32ms 
     59            //以下为定时器0的初始化设定,并启动定时器0
     60            TCCR0=0x05;       //定时器0设定为普通模式,输入时钟1024分频,正常的端口操作,
   \   00000000   E025               LDI     R18, 5
   \   00000002   BF23               OUT     0x33, R18
     61                              //不与OC0相连接,定时器0的周期为32.768ms
     62            TIMSK_TOIE0=1;    //使能定时器0的溢出中断
   \   00000004   B729               IN      R18, 0x39
   \   00000006   6021               ORI     R18, 0x01
   \   00000008   BF29               OUT     0x39, R18
     63            while(1)
     64            {
     65              OSTimeDly(100);
   \                     ??Task1_0:
   \   0000000A   E604               LDI     R16, 100
   \   0000000C   E010               LDI     R17, 0
   \   0000000E   ........           CALL    OSTimeDly
     66              ADCSRA_ADSC=1;  
   \   00000012   9A36               SBI     0x06, 0x06
   \   00000014   CFFA               RJMP    ??Task1_0
   \   00000016                      REQUIRE _A_TIMSK
   \   00000016                      REQUIRE _A_TCCR0
   \   00000016                      REQUIRE _A_ADCSRA
     67            }
     68          }
     69          

   \                                 In  segment CODE, align 2, keep-with-next
     70          void Task2(void * data)
   \                     Task2:
   \                     ??Task2_0:
     71          {
     72            data=data;
     73            while(1)
     74            {
     75              OSTimeDly(240);
   \   00000000   EF00               LDI     R16, 240
   \   00000002   E010               LDI     R17, 0
   \   00000004   ........           CALL    OSTimeDly
   \   00000008   CFFB               RJMP    ??Task2_0
     76            }
     77          }

   \                                 In  segment CODE, align 2, keep-with-next
     78          void Task3(void * data)
   \                     Task3:
   \                     ??Task3_0:
     79          {
     80            data=data;
     81            while(1)
     82            {
     83              OSTimeDly(333);
   \   00000000   E40D               LDI     R16, 77
   \   00000002   E011               LDI     R17, 1
   \   00000004   ........           CALL    OSTimeDly
   \   00000008   CFFB               RJMP    ??Task3_0
     84            }
     85          }

   \                                 In  segment CODE, align 2, keep-with-next
     86          void Task4(void * data)
   \                     Task4:
   \                     ??Task4_0:
     87          {
     88            data=data;
     89            while(1)
     90            {
     91              OSTimeDly(473);
   \   00000000   ED09               LDI     R16, 217
   \   00000002   E011               LDI     R17, 1
   \   00000004   ........           CALL    OSTimeDly
   \   00000008   CFFB               RJMP    ??Task4_0
     92            }
     93          }

   \                                 In  segment CODE, align 2, keep-with-next, root
     94          __C_task __root void timer0_interrupt_routine(void)
   \                     timer0_interrupt_routine:
     95          {
     96            IntEnter();
   \   00000000   ........           CALL    IntEnter
     97            __enable_interrupt();
   \   00000004   9478               SEI
     98            OSTimeTick();
   \   00000006   ........           CALL    OSTimeTick
     99            __disable_interrupt();
   \   0000000A   94F8               CLI
    100            OSIntExit();
   \   0000000C   ........           CALL    OSIntExit
    101            IntExit();
   \   00000010   ........           CALL    IntExit
    102          }
   \   00000014   9508               RET
    103          

   \                                 In  segment CODE, align 2, keep-with-next, root
    104          __C_task __root void ADC_interrupt_routine(void)
   \                     ADC_interrupt_routine:
    105          {
    106            IntEnter();
   \   00000000   ........           CALL    IntEnter
    107            __enable_interrupt();
   \   00000004   9478               SEI
    108            //DoSomething
    109            __disable_interrupt();
   \   00000006   94F8               CLI
    110            OSIntExit();
   \   00000008   ........           CALL    OSIntExit
    111            IntExit(); 
   \   0000000C   ........           CALL    IntExit
    112          }
   \   00000010   9508               RET

   Maximum stack usage in bytes:

     Function                 CSTACK RSTACK
     --------                 ------ ------
     ADC_interrupt_routine        0      2
       -> IntEnter                0      2
       -> OSIntExit               0      2
       -> IntExit                 0      2
     AvrInit                      0      2
     Task1                        0      2
       -> OSTimeDly               0      2
     Task2                        0      2
       -> OSTimeDly               0      2
     Task3                        0      2
       -> OSTimeDly               0      2
     Task4                        0      2
       -> OSTimeDly               0      2
     main                         0      2
       -> AvrInit                 0      2
       -> OSInit                  0      2
       -> OSTaskCreate            0      2
       -> OSTaskCreate            0      2
       -> OSTaskCreate            0      2
       -> OSTaskCreate            0      2
       -> OSStart                 0      2
     timer0_interrupt_routine     0      2
       -> IntEnter                0      2
       -> OSTimeTick              0      2
       -> OSIntExit               0      2
       -> IntExit                 0      2


   Segment part sizes:

     Function/Label           Bytes
     --------------           -----
     _A_TIMSK                    1
     _A_TCCR0                    1
     _A_PORTA                    1
     _A_DDRA                     1
     _A_PORTB                    1
     _A_DDRB                     1
     _A_PORTC                    1
     _A_DDRC                     1
     _A_PORTD                    1
     _A_DDRD                     1
     _A_ADMUX                    1
     _A_ADCSRA                   1
     OSICB                       6
     Task1Stk                  100
     Task2Stk                  100
     Task3Stk                  100
     Task4Stk                  100
     main                       84
     AvrInit                    42
     Task1                      22
     Task2                      10
     Task3                      10
     Task4                      10
     timer0_interrupt_routine   22
     ADC_interrupt_routine      18
      Others                     6

 
  12 bytes in segment ABSOLUTE
 218 bytes in segment CODE
   6 bytes in segment INITTAB
 406 bytes in segment NEAR_Z
 
 218 bytes of CODE memory (+  6 bytes shared)
 406 bytes of DATA memory (+ 12 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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