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

📄 adcinc14.lis

📁 此程序是用CYPRESS单片机编写
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0000              ENDIF ;  PGMODE LOCKED
 0000              IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
 0000                 RAM_CHANGE_PAGE_MODE FLAG_PGMODE_10b ; LMM with independent IndexPage
 0000              ENDIF ; PGMODE FREE
 0000              ENDIF ; SYSTEM_LARGE_MEMORY_MODEL
 0000              macro RAM_X_POINTS_TO_STACKPAGE
 0000              IF ( SYSTEM_LARGE_MEMORY_MODEL )
 0000                 or   F, FLAG_PGMODE_01b
 0000              ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
 0000              macro RAM_X_POINTS_TO_INDEXPAGE
 0000              IF ( SYSTEM_LARGE_MEMORY_MODEL )
 0000                 and  F, ~FLAG_PGMODE_01b
 0000              ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
 0000              macro RAM_PROLOGUE( ACTUAL_CLASS )
 0000           
 0000              IF ( @ACTUAL_CLASS & RAM_USE_CLASS_1 )
 0000              ; Nothing to do
 0000              ENDIF ; RAM_USE_CLASS_1
 0000           
 0000              IF ( @ACTUAL_CLASS & RAM_USE_CLASS_2 )
 0000                 IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
 0000                    RAM_X_POINTS_TO_STACKPAGE         ; exit native paging mode!
 0000                 ENDIF
 0000              ENDIF ; RAM_USE_CLASS_2
 0000           
 0000              IF ( @ACTUAL_CLASS & RAM_USE_CLASS_3 )
 0000                 IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
 0000                    RAM_X_POINTS_TO_INDEXPAGE         ; exit native paging mode!
 0000                 ENDIF
 0000              ENDIF ; RAM_USE_CLASS_3
 0000           
 0000              IF ( @ACTUAL_CLASS & RAM_USE_CLASS_4 )
 0000              ; Nothing to do
 0000              ENDIF ; RAM_USE_CLASS_4
 0000           
 0000              macro RAM_EPILOGUE( ACTUAL_CLASS )
 0000           
 0000              IF ( @ACTUAL_CLASS & RAM_USE_CLASS_1 )
 0000              ; Nothing to do
 0000              ENDIF ; RAM_USE_CLASS_1
 0000           
 0000              IF ( @ACTUAL_CLASS & RAM_USE_CLASS_2 )
 0000                 RAM_RESTORE_NATIVE_PAGING
 0000              ENDIF ; RAM_USE_CLASS_2
 0000           
 0000              IF ( @ACTUAL_CLASS & RAM_USE_CLASS_3 )
 0000                 RAM_RESTORE_NATIVE_PAGING
 0000              ENDIF ; RAM_USE_CLASS_3
 0000           
 0000              IF ( @ACTUAL_CLASS & RAM_USE_CLASS_4 )
 0000              ; Nothing to do
 0000              ENDIF ; RAM_USE_CLASS_4
 0000           
 0000              macro REG_PRESERVE( IOReg )
 0000              mov   A, reg[ @IOReg ]
 0000              push  A
 0000              macro REG_RESTORE( IOReg )
 0000              pop   A
 0000              mov   reg[ @IOReg ], A
 0000              macro ISR_PRESERVE_PAGE_POINTERS
 0000              IF ( SYSTEM_LARGE_MEMORY_MODEL )
 0000                 REG_PRESERVE PRV_PP
 0000                 REG_PRESERVE CUR_PP
 0000                 REG_PRESERVE IDX_PP
 0000                 REG_PRESERVE MVR_PP
 0000                 REG_PRESERVE MVW_PP
 0000              ENDIF
 0000              macro ISR_RESTORE_PAGE_POINTERS
 0000              IF ( SYSTEM_LARGE_MEMORY_MODEL )
 0000                 REG_RESTORE MVW_PP
 0000                 REG_RESTORE MVR_PP
 0000                 REG_RESTORE IDX_PP
 0000                 REG_RESTORE CUR_PP
 0000                 REG_RESTORE PRV_PP
 0000              ENDIF
                export  ADCINC14_Start
                export _ADCINC14_Start
                export  ADCINC14_SetPower
                export _ADCINC14_SetPower
                export  ADCINC14_Stop
                export _ADCINC14_Stop
                export  ADCINC14_GetSamples
                export _ADCINC14_GetSamples
                export  ADCINC14_StopAD
                export _ADCINC14_StopAD
                export  ADCINC14_fIsData
                export _ADCINC14_fIsData
                export  ADCINC14_fIsDataAvailable
                export _ADCINC14_fIsDataAvailable
                export  ADCINC14_iGetData
                export _ADCINC14_iGetData
                export  ADCINC14_ClearFlag
                export _ADCINC14_ClearFlag
                export  ADCINC14_iGetDataClearFlag
                export _ADCINC14_iGetDataClearFlag
                
                ;-----------------------------------------------
                ;  Constant Definitions
                ;-----------------------------------------------
 0001           LSB:       equ 1
 0000           MSB:       equ 0
 0000           
 0001           CALCTIME_LSB:      equ   (ADCINC14_CALCTIME & 0x0000FF)
 0000           CALCTIME_ISB:      equ   ((ADCINC14_CALCTIME & 0x00FF00) >> 8)
 0000           CALCTIME_MSB:      equ   ((ADCINC14_CALCTIME & 0xFF0000) >> 16)
 0000           
                AREA UserModules (ROM, REL)
                
 0000           .SECTION
 0000           ;-----------------------------------------------------------------------------
 0000           ;  FUNCTION NAME: ADCINC14_Start
 0000           ;  FUNCTION NAME: ADCINC14_SetPower
 0000           ;
 0000           ;  DESCRIPTION:
 0000           ;     Applies power setting to the module's analog PSoc block.
 0000           ;
 0000           ;-----------------------------------------------------------------------------
 0000           ;
 0000           ;  ARGUMENTS:
 0000           ;   A  Contains power level setting 0 to 3
 0000           ;
 0000           ;  RETURNS:  NA
 0000           ;
 0000           ;  SIDE EFFECTS:
 0000           ;    The A and X registers may be modified by this or future implementations
 0000           ;    of this function.  The same is true for all RAM page pointer registers in
 0000           ;    the Large Memory Model.  When necessary, it is the calling function's
 0000           ;    responsibility to perserve their values across calls to fastcall16 
 0000           ;    functions.
 0000           ;
 0000            ADCINC14_Start:
 0000           _ADCINC14_Start:
 0000            ADCINC14_SetPower:
 0000           _ADCINC14_SetPower:
                   IF ( RAM_USE_CLASS_2 & RAM_USE_CLASS_1 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_1
                
                   IF ( RAM_USE_CLASS_2 & RAM_USE_CLASS_2 )
                      IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      or   F, FLAG_PGMODE_01b
                   ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
                      ENDIF
                   ENDIF ; RAM_USE_CLASS_2
                
                   IF ( RAM_USE_CLASS_2 & RAM_USE_CLASS_3 )
                      IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and  F, ~FLAG_PGMODE_01b
                   ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
                      ENDIF
                   ENDIF ; RAM_USE_CLASS_3
                
                   IF ( RAM_USE_CLASS_2 & RAM_USE_CLASS_4 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_4
                
 0000 2103         and   A,ADCINC14_bfPOWERMASK                      ; Mask only the valid power setting bits
 0002 4F           mov   X, SP                                       ; Get location of next location on stack
 0003 08           push  A                                           ; Save power value on temp location
 0004 5D87         mov   A, reg[ADCINC14_bfAtoDcr3]                  ; Get current value of AtoDcr3
 0006 21FC         and   A, ~ADCINC14_bfPOWERMASK                    ; Mask off old power value
 0008 2B00         or    A, [X]                                      ; OR in new power value
 000A 29F0         or    A, f0h                                      ; Make sure other register is set correctly
 000C 6087         mov   reg[ADCINC14_bfAtoDcr3], A                  ; Reload CR with new power value
 000E 18           pop   A                                           ; Restore the stack and power value
                   IF ( RAM_USE_CLASS_2 & RAM_USE_CLASS_1 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_1
                
                   IF ( RAM_USE_CLASS_2 & RAM_USE_CLASS_2 )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                   IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_11b
                   ENDIF
                   ENDIF ;  PGMODE LOCKED
                   IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_10b
                   ENDIF
                   ENDIF ; PGMODE FREE
                   ENDIF ; SYSTEM_LARGE_MEMORY_MODEL
                   ENDIF ; RAM_USE_CLASS_2
                
                   IF ( RAM_USE_CLASS_2 & RAM_USE_CLASS_3 )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                   IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_11b
                   ENDIF
                   ENDIF ;  PGMODE LOCKED
                   IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
                   IF ( SYSTEM_LARGE_MEMORY_MODEL )
                      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
                      or    F,  FLAG_PGMODE_MASK & FLAG_PGMODE_10b
    

⌨️ 快捷键说明

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