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

📄 ecp_userinput.lst

📁 TI EVMDM355 开发板的测试程序,包括BOOT,DDR2,NAND,SD,UART,GPIO等芯片外设的测试驱动.
💻 LST
📖 第 1 页 / 共 3 页
字号:
###############################################################################
#                                                                             #
#     IAR Systems MSP430 Assembler V3.42A/W32  29/Jun/2007  14:45:59          #
#     Copyright 1996-2006 IAR Systems. All rights reserved.                   #
#                                                                             #
#           Target option =  MSP430                                           #
#           Source file   =  C:\Data\DM350MSP430\VA3\ECP_UserInput.s43        #
#           List file     =  C:\Data\DM350MSP430\VA3\Debug\List\ECP_UserInput.lst#
#           Object file   =  C:\Data\DM350MSP430\VA3\Debug\Obj\ECP_UserInput.r43#
#           Command line  =  C:\Data\DM350MSP430\VA3\ECP_UserInput.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    000000              EXTERN ButtonData
     21    000000              EXTERN ButtonIndex
     22    000000              EXTERN DebouncedButtonState
     23    000000              EXTERN ButtonRepeatCnt
     24    00FFEC              
     25    00FFEC              ;-----------------------------------------------
                               -------------------------------
     26    00FFEC              ;           Interrupt Vectors
     27    00FFEC              ;-----------------------------------------------
                               -------------------------------
     28    00FFEC                                ORG     0xFFEC                
       ; Timer TBCCR0 CCIFG
     29    00FFEC ....                           DW      TACCR0_CCIFG_Interrupt
                                                                ;
     30    00FFEE                                
     31    00FFEA                                ORG     0xFFEA                
       ; Other Timer interrupts
     32    00FFEA ....                           DW      TACCR1_Interrupt
     33    00FFEC                                
     34    00FFF8                                ORG     0FFF8h                
         ; TimerB interrupt vector
     35    00FFF8 ....                           DW      TIMERB_ISR
     36    00FFFA                                
     37    000000                                RSEG USER_INPUT_CODE
     38    000000              
     39    000000              ; **********************************************
                               ******************************
     40    000000              ; Function: InitIR
     41    000000              ;
     42    000000              ; Purpose:  Initializes the IR port hardware
     43    000000              ;
     44    000000              ; Inputs:   None
     45    000000              ;
     46    000000              ; Returns:  None
     47    000000              ; **********************************************
                               ******************************
     48    000000              PUBLIC InitIR
     49    000000 B24024016001 InitIR            mov   #TASSEL0+MC1+TACLR,&TACT
 L     ; ACLK, Continuous, Clear
     50    000006 E2C22200                       bic.b #IR_IN,&P1DIR           
       ; Make sure IR pin is in
     51    00000A E2D22600                       bis.b #IR_IN,&P1SEL           
       ; IR in to timer
     52    00000E 0412                           push  R4                      
       ; Save Regs
     53    000010 0512                           push  R5
     54    000012 34402000                       mov   #32,R4                  
       ; Loop 32 times
     55    000016 3540....                       mov   #IRBuffer,R5            
                                                                       ; Point
                                                                  to start of
                                                                  buffer
     56    00001A B540CDAB0000 InitIRCLRLoop     mov   #0xABCD,0(R5)           
       ; Init value
     57    000020 2553                           add   #0x0002,R5              
       ; Increment pointer
     58    000022 1483                           dec   R4
     59    000024 FA23                           jnz   InitIRCLRLoop
     60    000026 8243....                       clr   &IRReadIndex            
       ; Init IR Read Index
     61    00002A 8243....                       clr   &IRWriteIndex           
       ; Init IR Write Index
     62    00002E B012....                       call  #ResetIR                
       ; Reset the IR interface
     63    000032 55423000                       mov.b &P5IN,R5                
                                                                   ; Read port
                                                              5
     64    000036 75D02000                       bis.b #MSP430_INT,R5          
       ; Clear MSP430 Interrupt
     65    00003A C2453100                       mov.b R5,&P5OUT               
                                                                ; Write port
                                                           5
     66    00003E F0C2....                       bic.b #ECP_IR_OVERRUN,ECPStatu
 s     ; Clear indicate overrun
     67    000042 3541                           pop   R5
     68    000044 3441                           pop   R4
     69    000046 3041                           ret
     70    000048              
     71    000048              ; **********************************************
                               ******************************
     72    000048              ; Function: ResetIR
     73    000048              ;
     74    000048              ; Purpose:  Resets the IR interface
     75    000048              ;
     76    000048              ; Inputs:   None
     77    000048              ;
     78    000048              ; Returns:  None
     79    000048              ; **********************************************
                               ******************************
     80    000048 F0400E00.... ResetIR           mov.b #14, IRBits             
       ; 2 start bits + 12 data
     81    00004E 9043....                       mov   #1, IRData              
       ; Init to RX IR data
     82    000052 B24010896401                   mov   #CAP+CM1+SCS+CCIE,&TACCT
 L1    ; Capture mode,
     83    000058                                                              
                                     ; Capture on falling edge
     84    000058                                                              
                                     ; Sync Capture
     85    000058                                                              
                                     ; Enable TACCR1 CCIFG INT
     86    000058 3041                           ret 
     87    00005A                                
     88    00005A                                
     89    00005A              ; **********************************************
                               ******************************
     90    00005A              ; Function: InitButtons
     91    00005A              ;
     92    00005A              ; Purpose:  Initializes the pushbutton port
                                hardware
     93    00005A              ;
     94    00005A              ; Inputs:   None
     95    00005A              ;
     96    00005A              ; Returns:  None
     97    00005A              ; **********************************************
                               ******************************
     98    00005A              ; Button press should be solved in 50msec.
     99    00005A              ; Expected bounce time is about 2msec.
    100    00005A              ; Sample timer at 5ms intervals and sum up 10
                                samples
    101    000000              PUBLIC InitButtons
    102    00005A 0412         InitButtons       push  R4                      
       ; Save Regs
    103    00005C 0512                           push  R5
    104    00005E B2439201                       mov   #0xFFFF,&TBCCR0
    105    000062 34401001                       mov   #TBSSEL0+MC0,R4         
       ; ACLK, Continous
    106    000066 34D00018                       bis   #CNTL1+CNTL0,R4         
       ; 8 bit count
    107    00006A 82448001                       mov   R4,&TBCTL               
                                                                ; Write to
                                                           Timer B control
    108    00006E E2C22200                       bic.b #IR_IN,&P1DIR           
       ; Make sure IR pin is in
    109    000072 E2D22600                       bis.b #IR_IN,&P1SEL           
       ; IR in to timer
    110    000076 34400500                       mov   #5,R4                   
       ; Loop 5 times
    111    00007A 3540....                       mov   #ButtonData,R5          
                                                                         ;
                                                                    Point to
                                                                    start of
                                                                    buffer
    112    00007E F540F8000000 InitButtonCLRLoop mov.b #0xF8,0(R5)             

⌨️ 快捷键说明

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