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

📄 ecp_ir.lst

📁 TI EVMDM355 开发板的测试程序,包括BOOT,DDR2,NAND,SD,UART,GPIO等芯片外设的测试驱动.
💻 LST
📖 第 1 页 / 共 2 页
字号:
###############################################################################
#                                                                             #
#     IAR Systems MSP430 Assembler V3.42A/W32  27/Jun/2007  12:28:48          #
#     Copyright 1996-2006 IAR Systems. All rights reserved.                   #
#                                                                             #
#           Target option =  MSP430                                           #
#           Source file   =  C:\Data\DM350MSP430\VA3\ECP_IR.s43               #
#           List file     =  C:\Data\DM350MSP430\VA3\Debug\List\ECP_IR.lst    #
#           Object file   =  C:\Data\DM350MSP430\VA3\Debug\Obj\ECP_IR.r43     #
#           Command line  =  C:\Data\DM350MSP430\VA3\ECP_IR.s43               #
#                            -OC:\Data\DM350MSP430\VA3\Debug\Obj\ -s+ -M<>    #
#                            -w+ -LC:\Data\DM350MSP430\VA3\Debug\List\ -t8    #
#                            -r -D__MSP430F155__                              #
#                            -IC:\Program Files\IAR Systems\Embedded Workbench 4.0\430\INC\ #
#                                                                             #
###############################################################################

      1    00FFEC              #include  <msp430x15x.h>
      2    00FFEC              #include "ECP.h"
      3    00FFEC              
      4    00FFEC              ; IR Bit Times
      5    00FFEC              #define BIT_50          29                  //
                                885us @ 32768 ACLK
      6    00FFEC              #define BIT_75          42                  //
                                1282us @ 32768 ACLK
      7    00FFEC              
      8    00FFEC              #define IRBUFFLEN       32                  //
                                IR receive buffer length
      9    00FFEC              
     10    000000              EXTERN SWDelay1333us 
     11    000000              EXTERN SWDelay889us
     12    000000              EXTERN SWDelay5300ns
     13    000000              EXTERN SWDelay1282us
     14    000000              EXTERN IRBits
     15    000000              EXTERN IRData
     16    000000              EXTERN IRBuffer
     17    000000              EXTERN IRReadIndex
     18    000000              EXTERN IRWriteIndex
     19    000000              EXTERN ECPStatus
     20    00FFEC              
     21    00FFEC              ;-----------------------------------------------
                               -------------------------------
     22    00FFEC              ;           Interrupt Vectors
     23    00FFEC              ;-----------------------------------------------
                               -------------------------------
     24    00FFEC                                ORG     0xFFEC                
       ; Timer TBCCR0 CCIFG
     25    00FFEC ....                           DW      TACCR0_CCIFG_Interrupt
                                                                ;
     26    00FFEE                                
     27    00FFEA                                ORG     0xFFEA                
       ; Other Timer interrupts
     28    00FFEA ....                           DW      TACCR1_Interrupt
     29    00FFEC                                
     30    000000                                RSEG IR_CODE
     31    000000              
     32    000000              ; **********************************************
                               ******************************
     33    000000              ; Function: InitIR
     34    000000              ;
     35    000000              ; Purpose:  Initializes the IR port hardware
     36    000000              ;
     37    000000              ; Inputs:   None
     38    000000              ;
     39    000000              ; Returns:  None
     40    000000              ; **********************************************
                               ******************************
     41    000000              PUBLIC InitIR
     42    000000 B24024016001 InitIR            mov   #TASSEL0+MC1+TACLR,&TACT
 L     ; ACLK, Continuous, Clear
     43    000006 E2C22200                       bic.b #IR_IN,&P1DIR           
       ; Make sure IR pin is in
     44    00000A E2D22600                       bis.b #IR_IN,&P1SEL           
       ; IR in to timer
     45    00000E 0412                           push  R4                      
       ; Save Regs
     46    000010 0512                           push  R5
     47    000012 34402000                       mov   #32,R4                  
       ; Loop 32 times
     48    000016 3540....                       mov   #IRBuffer,R5            
                                                                       ; Point
                                                                  to start of
                                                                  buffer
     49    00001A B540CDAB0000 InitIRCLRLoop     mov   #0xABCD,0(R5)           
       ; Init value
     50    000020 2553                           add   #0x0002,R5              
       ; Increment pointer
     51    000022 1483                           dec   R4
     52    000024 FA23                           jnz   InitIRCLRLoop
     53    000026 8243....                       clr   &IRReadIndex            
       ; Init IR Read Index
     54    00002A 8243....                       clr   &IRWriteIndex           
       ; Init IR Write Index
     55    00002E B012....                       call  #ResetIR                
       ; Reset the IR interface
     56    000032 55423000                       mov.b &P5IN,R5                
                                                                   ; Read port
                                                              5
     57    000036 75D02000                       bis.b #MSP430_INT,R5          
       ; Clear MSP430 Interrupt
     58    00003A C2453100                       mov.b R5,&P5OUT               
                                                                ; Write port
                                                           5
     59    00003E F0C2....                       bic.b #ECP_IR_OVERRUN,ECPStatu
 s     ; Clear indicate overrun
     60    000042 3541                           pop   R5
     61    000044 3441                           pop   R4
     62    000046 3041                           ret
     63    000048              
     64    000048              ; **********************************************
                               ******************************
     65    000048              ; Function: ResetIR
     66    000048              ;
     67    000048              ; Purpose:  Resets the IR interface
     68    000048              ;
     69    000048              ; Inputs:   None
     70    000048              ;
     71    000048              ; Returns:  None
     72    000048              ; **********************************************
                               ******************************
     73    000048 F0400E00.... ResetIR           mov.b #14, IRBits             
       ; 2 start bits + 12 data
     74    00004E 9043....                       mov   #1, IRData              
       ; Init to RX IR data
     75    000052 B24010896401                   mov   #CAP+CM1+SCS+CCIE,&TACCT
 L1    ; Capture mode,
     76    000058                                                              
                                     ; Capture on falling edge
     77    000058                                                              
                                     ; Sync Capture
     78    000058                                                              
                                     ; Enable TACCR1 CCIFG INT
     79    000058 3041                           ret    
     80    00005A                                
     81    00005A              TACCR0_CCIFG_Interrupt
     82    00005A 0013                           reti 
     83    00005C                                
     84    00005C 10522E01     TACCR1_Interrupt  add &TAIV,PC                  
                                                                 ; Add offset
                                                            to PC
     85    000060 0013                           reti                          
       ; Vector 0, no interrupt
     86    000062 043C                           jmp TACCR1Interrupt           
       ; Vector 2, TACCR1 Int
     87    000064 693C                           jmp TACCR2Interrupt           
       ; Vector 4, TACCR2 Int
     88    000066 0013                           reti                          
       ; Vector 6 reserved
     89    000068 0013                           reti                          
       ; Vector 8 reserved
     90    00006A 0013                           reti                          
       ; Vector 10 TAIFG
     91    00006C                                
     92    00006C 0412         TACCR1Interrupt   push  R4                      
       ; Save Regs
     93    00006E 14426401                       mov   &TACCTL1,R4             
                                                                      ; Get
                                                                 TACCTL1
     94    000072 34F00001                       and   #CAP,R4                 
       ; Mask Capture mode
     95    000076 0D24                           jz    TACCR1Int_2             
       ; Not capture mode
     96    000078 82436601                       mov   #0x0000, &TACCTL2       
       ; Disable TA2
     97    00007C 14427401                       mov   &TACCR1, R4             
                                                                      ; Get
                                                                 TACCR1
     98    000080 34502A00                       add   #BIT_75, R4             
       ; Add 3/4 bit time
     99    000084 82447401                       mov   R4,&TACCR1
    100    000088 B0401000....                   mov   #CCIE,TACCTL1           
       ; Compare mode, enable int
    101    00008E 3441                           pop   R4                      
       ; Restore Regs
    102    000090 0013                           reti
    103    000092 5440....     TACCR1Int_2       mov.b IRBits,R4               

⌨️ 快捷键说明

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