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

📄 main.lst

📁 一个AT91SAM7X256 PIO中断控制实验
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.40A/W32 EVALUATION    18/Jun/2007  11:29:56 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例\ #
#                       IAR实验代码\实验二\AT91SAM7X256                      #
#                       IO实验代码\AT91SAM7X-BasicTools\src\main.c           #
#    Command line    =  "E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例 #
#                       \IAR实验代码\实验二\AT91SAM7X256                     #
#                       IO实验代码\AT91SAM7X-BasicTools\src\main.c" -lC      #
#                       "E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例 #
#                       \IAR实验代码\实验二\AT91SAM7X256                     #
#                       IO实验代码\AT91SAM7X-BasicTools\compil\FLASH_Debug\L #
#                       ist\" -o "E:\课题\分布式电磁频谱侦察监视系统\ARM学习 #
#                       资料\实例\IAR实验代码\实验二\AT91SAM7X256            #
#                       IO实验代码\AT91SAM7X-BasicTools\compil\FLASH_Debug\O #
#                       bj\" -z9 --debug --cpu_mode thumb --endian little    #
#                       --cpu ARM7TDMI --stack_align 4 --interwork -e --fpu  #
#                       None --dlib_config "C:\Program Files\IAR             #
#                       Systems\Embedded Workbench 4.0                       #
#                       Evaluation\ARM\LIB\dl4tptinl8n.h" -I                 #
#                       "E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例 #
#                       \IAR实验代码\实验二\AT91SAM7X256                     #
#                       IO实验代码\AT91SAM7X-BasicTools\compil\srcIAR\" -I   #
#                       "E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例 #
#                       \IAR实验代码\实验二\AT91SAM7X256                     #
#                       IO实验代码\AT91SAM7X-BasicTools\compil\..\src\" -I   #
#                       "E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例 #
#                       \IAR实验代码\实验二\AT91SAM7X256                     #
#                       IO实验代码\AT91SAM7X-BasicTools\compil\..\..\" -I    #
#                       "C:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Evaluation\ARM\INC\"                             #
#    List file       =  E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例\ #
#                       IAR实验代码\实验二\AT91SAM7X256                      #
#                       IO实验代码\AT91SAM7X-BasicTools\compil\FLASH_Debug\L #
#                       ist\main.lst                                         #
#    Object file     =  E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例\ #
#                       IAR实验代码\实验二\AT91SAM7X256                      #
#                       IO实验代码\AT91SAM7X-BasicTools\compil\FLASH_Debug\O #
#                       bj\main.r79                                          #
#                                                                            #
#                                                                            #
##############################################################################

E:\课题\分布式电磁频谱侦察监视系统\ARM学习资料\实例\IAR实验代码\实验二\AT91SAM7X256 IO实验代码\AT91SAM7X-BasicTools\src\main.c
      1          //*----------------------------------------------------------------------------
      2          //*         ATMEL Microcontroller Software Support  -  ROUSSET  -
      3          //*----------------------------------------------------------------------------
      4          //  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
      5          //  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
      6          //  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
      7          //  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
      8          //  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
      9          //  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
     10          //  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     11          //  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     12          //  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     13          //  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     14          //*----------------------------------------------------------------------------
     15          //* File Name           : main.c
     16          //* Object              : main application written in C
     17          //* Creation            : JPP   16/Sep/2005
     18          //*----------------------------------------------------------------------------
     19          
     20          // Include Standard files
     21          #include "project.h"
     22          
     23          
     24          /* Global variables */
     25          #define      SPEED 		( AT91B_MAIN_OSC /1000)

   \                                 In segment DATA_I, align 4, align-sorted
     26          unsigned int LedSpeed = SPEED *20 ;
   \                     LedSpeed:
   \   00000000                      DS8 4
   \   00000004                      REQUIRE `?<Initializer for LedSpeed>`

   \                                 In segment DATA_C, align 4, align-sorted
     27          const int led_mask[AT91B_NB_LEB]= {AT91B_LED4, AT91B_LED2, AT91B_LED3,AT91B_LED1 };
   \                     led_mask:
   \   00000000   000040000000       DC32 4194304, 1048576, 2097152, 524288
   \              100000002000
   \              00000800    
     28          
     29          //*--------------------------------------------------------------------------------------
     30          //* Function Name       : change_speed
     31          //* Object              : Adjust "LedSpeed" value depending on SW1 and SW2 are pressed or not
     32          //* Input Parameters    : none
     33          //* Output Parameters   : Update of LedSpeed value.
     34          //*--------------------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     35          void change_speed ( void )
     36          {//* Begin
   \                     change_speed:
   \   00000000   00B5               PUSH     {LR}
     37              if ( (AT91F_PIO_GetInput(AT91D_BASE_PIO_SW) & AT91B_SW1) == 0 )
   \   00000002   0C49               LDR      R1,??change_speed_0  ;; 0xfffff43c
   \   00000004   0A68               LDR      R2,[R1, #+0]
   \   00000006   ....               LDR      R0,??DataTable1  ;; LedSpeed
   \   00000008   9200               LSLS     R2,R2,#+2
   \   0000000A   06D4               BMI      ??change_speed_1
     38              {
     39                  if ( LedSpeed > SPEED ) LedSpeed -=SPEED ;
   \   0000000C   0268               LDR      R2,[R0, #+0]
   \   0000000E   0A4B               LDR      R3,??change_speed_0+0x4  ;; 0x4801
   \   00000010   9A42               CMP      R2,R3
   \   00000012   02D3               BCC      ??change_speed_1
   \   00000014   094B               LDR      R3,??change_speed_0+0x8  ;; 0xffffb800
   \   00000016   D218               ADDS     R2,R2,R3
   \   00000018   0260               STR      R2,[R0, #+0]
     40              }
     41              if ( (AT91F_PIO_GetInput(AT91D_BASE_PIO_SW) & AT91B_SW3) == 0 )
   \                     ??change_speed_1:
   \   0000001A   0968               LDR      R1,[R1, #+0]
   \   0000001C   4901               LSLS     R1,R1,#+5
   \   0000001E   07D4               BMI      ??change_speed_2
     42              {
     43                  if ( LedSpeed < AT91B_MAIN_OSC ) LedSpeed +=SPEED ;
   \   00000020   0168               LDR      R1,[R0, #+0]
   \   00000022   074A               LDR      R2,??change_speed_0+0xC  ;; 0x1194000
   \   00000024   9142               CMP      R1,R2
   \   00000026   03D2               BCS      ??change_speed_2
   \   00000028   9022               MOVS     R2,#+144
   \   0000002A   D201               LSLS     R2,R2,#+7        ;; #+18432
   \   0000002C   8918               ADDS     R1,R1,R2
   \   0000002E   0160               STR      R1,[R0, #+0]
     44              }
     45          }//* End
   \                     ??change_speed_2:
   \   00000030   01BC               POP      {R0}
   \   00000032   0047               BX       R0               ;; return
   \                     ??change_speed_0:
   \   00000034   3CF4FFFF           DC32     0xfffff43c
   \   00000038   01480000           DC32     0x4801
   \   0000003C   00B8FFFF           DC32     0xffffb800
   \   00000040   00401901           DC32     0x1194000
     46          
     47          //*--------------------------------------------------------------------------------------
     48          //* Function Name       : wait
     49          //* Object              : Software waiting loop
     50          //* Input Parameters    : none. Waiting time is defined by the global variable LedSpeed.
     51          //* Output Parameters   : none
     52          //*--------------------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     53          void wait ( void )
     54          {//* Begin
   \                     wait:
   \   00000000   00B5               PUSH     {LR}
     55              unsigned int waiting_time ;

⌨️ 快捷键说明

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