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

📄 csdhl.lis

📁  PSoC(可编程片上系统)是Cypress半导体公司生产的包含有8位微处理器核和数字与模拟混合的信号阵列芯片
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                export _CSD_bDebounce:           
                export  CSD_bDebounce:                        
                export _CSD_bLowBaselineReset:           
                export  CSD_bLowBaselineReset:                
                
                ; Local variables
 0006           _CSD_bEndOfArray:                               ; Temp pointer variable
 0006            CSD_bEndOfArray:                       BLK  1  
 0007           _CSD_fIsPressed:                                ; Temp variable for if any sensor is pressed
 0007            CSD_fIsPressed:                        BLK  1
 0008           _CSD_bCurPos:                                   ; Temp position variable
 0008            CSD_bCurPos:                           BLK  1  
 0009           _CSD_bSnsMaskPtr:                               ; Temp sensor mask pointer used in centroid calculation
 0009            CSD_bSnsMaskPtr:                       BLK  1
 000A           _CSD_bStartIndex:                               ; Temp Start index
 000A            CSD_bStartIndex:                                                BLK  1
 000B           _CSD_wTmpBtnFThreshold:                         ; Temp Difference
 000B            CSD_wTmpBtnFThreshold:                          BLK  2
 000D           
                IF CSD_SLIDERS_EXIST
                ; Local slider variables
 000D           _CSD_wDenom:                                    ; Denominator is also the Ctrd Pos
 000D            CSD_wDenom:                            BLK  2
 000F           _CSD_dNumer:                                    ; Numerator also contains the Ctrd Pos
 000F            CSD_dNumer:                            BLK  2                   
 0011           _CSD_wCtrdPos:                                  ; Ctrd Pos is LMSB and LLSB of the numerator
 0011            CSD_wCtrdPos:                          BLK  2                            
 0013           _CSD_dMultTempX:                                ; Temp multiplication register
 0013            CSD_dMultTempX:                        BLK  4
 0017           _CSD_dMultTempY:                                ; Temp multiplication register
 0017            CSD_dMultTempY:                        BLK  4
 001B           _CSD_bCurSlider:                        
 001B            CSD_bCurSlider:                        BLK  1
 001C           _CSD_bCurCtrdStartPos:                          ; Temp current centroid start position
 001C            CSD_bCurCtrdStartPos:                  BLK  1
 001D           _CSD_bCurCtrdSize:                              ; Temp current centroid size
 001D            CSD_bCurCtrdSize:                      BLK  1
 001E           _CSD_bBiggestCtrdStartPos:                      ; Temp biggest centroid start position
 001E            CSD_bBiggestCtrdStartPos:              BLK  1
 001F           _CSD_bBiggestCtrdSize:                          ; Temp biggest centroid size
 001F            CSD_bBiggestCtrdSize:                  BLK  1
 0020           _CSD_wCurPkValue:                               ; Temp current peak
 0020            CSD_wCurPkValue:                       BLK  2
 0022           _CSD_bCurPkPos:                                 ; Temp current slider pointer
 0022            CSD_bCurPkPos:                         BLK  1
 0023           _CSD_bDiplexInfo:                               ; Temp flag for diplex of current group
 0023            CSD_bDiplexInfo:                                                BLK  1
 0024           _CSD_bDiplexMSB:                                ; Temp that contains the address of the rom diplex table
 0024            CSD_bDiplexMSB:                        BLK  1
 0025           _CSD_bDiplexLSB:
 0025            CSD_bDiplexLSB:                        BLK  1
 0026           _CSD_wDivBtwSns:                                ; Temp divisions between sensors
 0026            CSD_wDivBtwSns:                        BLK  2
                ENDIF
                
                AREA bss
                ; Global variables
 0000           _CSD_waSnsBaseline:                             ; Baseline, one entry for each sensor
 0000            CSD_waSnsBaseline:                     BLK  (2*CSD_TotalSensorCount)
 000E           _CSD_waSnsDiff:                                 ; ABS Diff of raw and and baseline, one entry for each sensor
 000E            CSD_waSnsDiff:                         BLK  (2*CSD_TotalSensorCount)
 001C           _CSD_baSnsBucket:                                 ; Baseline difference accumulator, one entry for each sensor
 001C            CSD_baSnsBucket:                       BLK  CSD_TotalSensorCount
 0023           _CSD_baBtnFThreshold:                           ; Containing variable finger threshold for each button
 0023            CSD_baBtnFThreshold:                   BLK  CSD_TotalSensorCount
 002A           _CSD_baSnsOnMask:                               ; Sensor mask array containing on/off state of sensors
 002A            CSD_baSnsOnMask:                       BLK  ((CSD_TotalSensorCount-1)/8)+1
 002B           _CSD_baSnsDebounce:
 002B            CSD_baSnsDebounce:                     BLK  CSD_TotalSensorCount
 0032           _CSD_baLowBaselineReset:
 0032            CSD_baLowBaselineReset:                BLK  CSD_TotalSensorCount
 0039           
                IF CSD_SLIDERS_EXIST
 0039           _CSD_waCtrdPkValue:                             ; Array containing peak value of centroid
 0039            CSD_waCtrdPkValue:                     BLK  (2*CSD_SliderCount)
                ENDIF
                         
                ; Global variables
                export _CSD_waSnsBaseline
                export  CSD_waSnsBaseline
                export _CSD_waSnsDiff
                export  CSD_waSnsDiff
                export _CSD_baBtnFThreshold
                export  CSD_baBtnFThreshold
                export _CSD_baSnsOnMask
                export  CSD_baSnsOnMask
                
                ; Local variables
                export _CSD_fIsPressed
                export  CSD_fIsPressed
                export _CSD_bEndOfArray
                export  CSD_bEndOfArray
                export _CSD_bCurPos
                export  CSD_bCurPos
                export _CSD_bSnsMaskPtr
                export  CSD_bSnsMaskPtr
                
                IF CSD_SLIDERS_EXIST
                ; Local slider variables
                export _CSD_wDenom
                export  CSD_wDenom
                export _CSD_wCtrdPos
                export  CSD_wCtrdPos
                export _CSD_dNumer
                export  CSD_dNumer
                export _CSD_dMultTempX
                export  CSD_dMultTempX
                export _CSD_dMultTempY
                export  CSD_dMultTempY
                export _CSD_bCurCtrdStartPos
                export  CSD_bCurCtrdStartPos
                export _CSD_bCurCtrdSize
                export  CSD_bCurCtrdSize
                export _CSD_bBiggestCtrdStartPos
                export  CSD_bBiggestCtrdStartPos
                export _CSD_bBiggestCtrdSize
                export  CSD_bBiggestCtrdSize
                export _CSD_wCurPkValue
                export  CSD_wCurPkValue
                export _CSD_bCurPkPos
                export  CSD_bCurPkPos
                export _CSD_bDiplexMSB
                export  CSD_bDiplexMSB
                export _CSD_bDiplexLSB
                export  CSD_bDiplexLSB
                export _CSD_wDivBtwSns
                export  CSD_wDivBtwSns
                ENDIF
                
                ;@PSoC_UserCode_INIT@ (Do not change this line.)
                ;---------------------------------------------------
                ; Insert your custom declarations below this banner
                ;---------------------------------------------------
                
                ;------------------------
                ; User Includes
                ;------------------------
                
                
                ;------------------------
                ; User Constant Definitions
                ;------------------------
                
                
                ;------------------------
                ; User Variable Allocation
                ;------------------------
                
                
                ;---------------------------------------------------
                ; Insert your custom declarations above this banner
                ;---------------------------------------------------
                ;@PSoC_UserCode_END@ (Do not change this line.)
                
                ;------------------------
                ;  Constant Definitions
                ;------------------------
                AREA UserModules (ROM, REL, CON)
                
                ; For using two byte variables
 0001           LSB:  equ  1
 0000           MSB:  equ  0
 0000           
 0000           ; For using four byte variables
 0000           MMSB: equ 0
 0001           MLSB: equ 1
 0002           LMSB: equ 2
 0003           LLSB: equ 3
 0000           
 0000           .SECTION
 0000           ;-----------------------------------------------------------------------------
 0000           ;  FUNCTION NAME: CSD_UpdateSensorBaseline(BYTE bSensorNum)
 0000           ;
 0000           ;  DESCRIPTION:
 0000           ;      Update baseline for one sensor. The algorithm is as follows:
 0000           ;        If difference count is negative baseline become raw count
 0000           ;        If difference count is above noise threshold do not update
 0000           ;        Else difference count is positive and within noise threshold so
 0000           ;        difference is halved and added to the bucket. When the bucket
 0000           ;        reaches the threshold the baseline increments and the bucket resets
 0000           ;-----------------------------------------------------------------------------
 0000           ;  STACK USAGE: 0 BYTES
 0000           ;
 0000           ;  ARGUMENTS: 
 0000           ;      A => Sensor Number
 0000           ;    
 0000           ;  RETURNS:    
 0000           ;      Nothing
 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            CSD_UpdateSensorBaseline:
 0000           _CSD_UpdateSensorBaseline:
                   IF ( RAM_USE_CLASS_3 & RAM_USE_CLASS_1 )
                   ; Nothing to do
                   ENDIF ; RAM_USE_CLASS_1
                
                   IF ( RAM_USE_CLASS_3 & 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_

⌨️ 快捷键说明

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