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

📄 cmx_csdproximity.lis

📁  PSoC(可编程片上系统)是Cypress半导体公司生产的包含有8位微处理器核和数字与模拟混合的信号阵列芯片
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 02D3 5100              mov A,[__r0]
 02D5 60D5              mov REG[0xd5],A
 02D7 5200              mov A,[X+0]
 02D9 3F00              mvi [__r1],A
 02DB 5201              mov A,[X+1]
 02DD 3F00              mvi [__r1],A
 02DF                   .dbline 107
 02DF           ;       }
 02DF 8027              xjmp L11
 02E1           L10:
 02E1                   .dbline 110
 02E1           ;       // else return zero
 02E1           ;       else
 02E1           ;       {
 02E1                   .dbline 111
 02E1           ;               iRetValue = 0;
 02E1 560100            mov [X+1],0
 02E4 560000            mov [X+0],0
 02E7                   .dbline 112
 02E7           ;               iCSDPROXIMITYPrev[bInstanceID] = iRetValue;
 02E7 62D000            mov REG[0xd0],>__r0
 02EA 5206              mov A,[X+6]
 02EC 5300              mov [__r1],A
 02EE 550000            mov [__r0],0
 02F1 6500              asl [__r1]
 02F3 6B00              rlc [__r0]
 02F5 060000            add [__r1],<_iCSDPROXIMITYPrev
 02F8 0E0000            adc [__r0],>_iCSDPROXIMITYPrev
 02FB 5100              mov A,[__r0]
 02FD 60D5              mov REG[0xd5],A
 02FF 5200              mov A,[X+0]
 0301 3F00              mvi [__r1],A
 0303 5201              mov A,[X+1]
 0305 3F00              mvi [__r1],A
 0307                   .dbline 113
 0307           ;       }
 0307           L11:
 0307           L9:
 0307           L7:
 0307                   .dbline 115
 0307           ;       
 0307           ;       return iRetValue;       
 0307 62D000            mov REG[0xd0],>__r0
 030A 5201              mov A,[X+1]
 030C 5300              mov [__r1],A
 030E 5200              mov A,[X+0]
 0310 5300              mov [__r0],A
 0312                   .dbline -2
 0312           L5:
 0312 38F6              add SP,-10
 0314 20                pop X
 0315                   .dbline 0 ; func end
 0315 7F                ret
 0316                   .dbsym l bRefValue 9 c
 0316                   .dbsym l bResolution 8 c
 0316                   .dbsym l bScanSpeed 7 c
 0316                   .dbsym l bInstanceID 6 c
 0316                   .dbsym l iDetectionThreshold 4 I
 0316                   .dbsym l bHysteresis 3 c
 0316                   .dbsym l bBaseInstanceID 2 c
 0316                   .dbsym l iRetValue 0 I
 0316                   .dbsym l pPBlock -5 pX
 0316                   .dbend
 0316                   .dbfunc e CMX_CSDPROXIMITY_GetBaseline _CMX_CSDPROXIMITY_GetBaseline fI
 0316           ;        pPBlock -> X-5
 0316           _CMX_CSDPROXIMITY_GetBaseline::
 0316                   .dbline -1
 0316 10                push X
 0317 4F                mov X,SP
 0318                   .dbline 135
 0318           ; }
 0318           ; 
 0318           ; //-----------------------------------------------------------------------------
 0318           ; //  FUNCTION NAME: CSDPROXIMITY_GetBaseline(const CMX_CSDPROXIMITY_ParameterBlock * pPBlock)
 0318           ; //
 0318           ; //  DESCRIPTION:
 0318           ; //    Get current Baseline count from the base driver.
 0318           ; //
 0318           ; //-----------------------------------------------------------------------------
 0318           ; //
 0318           ; //  ARGUMENTS: parameter block
 0318           ; //
 0318           ; //  RETURNS: int
 0318           ; //
 0318           ; //  THEORY of OPERATION or PROCEDURE: The functions gets the CapSense button
 0318           ; //     Baseline count
 0318           ; //
 0318           ; ///////////////////////////////////////////////////////////////////////////////
 0318           ; int CMX_CSDPROXIMITY_GetBaseline(const CMX_CSDPROXIMITY_ParameterBlock * pPBlock)
 0318           ; {
 0318                   .dbline 136
 0318           ;       return CSD_waSnsBaseline[pPBlock->CSDButtBaseBLK->bInstanceID];
 0318 62D000            mov REG[0xd0],>__r0
 031B 52FC              mov A,[X-4]
 031D 0102              add A,2
 031F 5300              mov [__r1],A
 0321 52FB              mov A,[X-5]
 0323 0900              adc A,0
 0325 10                push X
 0326 08                push A
 0327 5800              mov X,[__r1]
 0329 28                romx
 032A 5300              mov [__r0],A
 032C 18                pop A
 032D 75                inc X
 032E 0900              adc A,0
 0330 28                romx
 0331 5300              mov [__r1],A
 0333 20                pop X
 0334 5100              mov A,[__r0]
 0336 10                push X
 0337 5800              mov X,[__r1]
 0339 28                romx
 033A 20                pop X
 033B 5300              mov [__r1],A
 033D 550000            mov [__r0],0
 0340 6500              asl [__r1]
 0342 6B00              rlc [__r0]
 0344 060000            add [__r1],<_CSD_waSnsBaseline
 0347 0E0000            adc [__r0],>_CSD_waSnsBaseline
 034A 5100              mov A,[__r0]
 034C 60D4              mov REG[0xd4],A
 034E 3E00              mvi A,[__r1]
 0350 5300              mov [__r0],A
 0352 3E00              mvi A,[__r1]
 0354 5300              mov [__r1],A
 0356                   .dbline -2
 0356           L12:
 0356 20                pop X
 0357                   .dbline 0 ; func end
 0357 7F                ret
 0358                   .dbsym l pPBlock -5 pX
 0358                   .dbend
 0358                   .dbfunc e CMX_CSDPROXIMITY_GetRawCount _CMX_CSDPROXIMITY_GetRawCount fI
 0358           ;        pPBlock -> X-5
 0358           _CMX_CSDPROXIMITY_GetRawCount::
 0358                   .dbline -1
 0358 10                push X
 0359 4F                mov X,SP
 035A                   .dbline 156
 035A           ; }
 035A           ; 
 035A           ; //-----------------------------------------------------------------------------
 035A           ; //  FUNCTION NAME: CSDPROXIMITY_GetRawCount(const CMX_CSDPROXIMITY_ParameterBlock * pPBlock)
 035A           ; //
 035A           ; //  DESCRIPTION:
 035A           ; //    Get current Raw count from the base driver.
 035A           ; //
 035A           ; //-----------------------------------------------------------------------------
 035A           ; //
 035A           ; //  ARGUMENTS: parameter block
 035A           ; //
 035A           ; //  RETURNS: int
 035A           ; //
 035A           ; //  THEORY of OPERATION or PROCEDURE: The functions gets the CapSense button
 035A           ; //     Raw count
 035A           ; //
 035A           ; ///////////////////////////////////////////////////////////////////////////////
 035A           ; int CMX_CSDPROXIMITY_GetRawCount(const CMX_CSDPROXIMITY_ParameterBlock * pPBlock)
 035A           ; {
 035A                   .dbline 157
 035A           ;       return CSD_waSnsResult[pPBlock->CSDButtBaseBLK->bInstanceID];
 035A 62D000            mov REG[0xd0],>__r0
 035D 52FC              mov A,[X-4]
 035F 0102              add A,2
 0361 5300              mov [__r1],A
 0363 52FB              mov A,[X-5]
 0365 0900              adc A,0
 0367 10                push X
 0368 08                push A
 0369 5800              mov X,[__r1]
 036B 28                romx
 036C 5300              mov [__r0],A
 036E 18                pop A
 036F 75                inc X
 0370 0900              adc A,0
 0372 28                romx
 0373 5300              mov [__r1],A
 0375 20                pop X
 0376 5100              mov A,[__r0]
 0378 10                push X
 0379 5800              mov X,[__r1]
 037B 28                romx
 037C 20                pop X
 037D 5300              mov [__r1],A
 037F 550000            mov [__r0],0
 0382 6500              asl [__r1]
 0384 6B00              rlc [__r0]
 0386 060000            add [__r1],<_CSD_waSnsResult
 0389 0E0000            adc [__r0],>_CSD_waSnsResult
 038C 5100              mov A,[__r0]
 038E 60D4              mov REG[0xd4],A
 0390 3E00              mvi A,[__r1]
 0392 5300              mov [__r0],A
 0394 3E00              mvi A,[__r1]
 0396 5300              mov [__r1],A
 0398                   .dbline -2
 0398           L13:
 0398 20                pop X
 0399                   .dbline 0 ; func end
 0399 7F                ret
 039A                   .dbsym l pPBlock -5 pX
 039A                   .dbend
 039A                   .dbfunc e CMX_CSDPROXIMITY_GetDifference _CMX_CSDPROXIMITY_GetDifference fI
 039A           ;    bInstanceID -> X+0
 039A           ;        pPBlock -> X-5
 039A           _CMX_CSDPROXIMITY_GetDifference::
 039A                   .dbline -1
 039A 10                push X
 039B 4F                mov X,SP
 039C 3801              add SP,1
 039E                   .dbline 177
 039E           ; }
 039E           ; 
 039E           ; //-----------------------------------------------------------------------------
 039E           ; //  FUNCTION NAME: CSDPROXIMITY_GetDifference(const CMX_CSDPROXIMITY_ParameterBlock * pPBlock)
 039E           ; //
 039E           ; //  DESCRIPTION:
 039E           ; //    Get current Difference count from the base driver.
 039E           ; //
 039E           ; //-----------------------------------------------------------------------------
 039E           ; //
 039E           ; //  ARGUMENTS: parameter block
 039E           ; //
 039E           ; //  RETURNS: int
 039E           ; //
 039E           ; //  THEORY of OPERATION or PROCEDURE: The functions gets the CapSense button
 039E           ; //     Difference count
 039E           ; //
 039E           ; ///////////////////////////////////////////////////////////////////////////////
 039E           ; int CMX_CSDPROXIMITY_GetDifference(const CMX_CSDPROXIMITY_ParameterBlock * pPBlock)
 039E           ; {     
 039E                   .dbline 178
 039E           ;       BYTE bInstanceID = pPBlock->CSDButtBaseBLK->bInstanceID;
 039E 62D000            mov REG[0xd0],>__r0
 03A1 52FC              mov A,[X-4]
 03A3 0102              add A,2
 03A5 5300              mov [__r1],A
 03A7 52FB              mov A,[X-5]
 03A9 0900              adc A,0
 03AB 10                push X
 03AC 08                push A
 03AD 5800              mov X,[__r1]
 03AF 28                romx
 03B0 5300              mov [__r0],A
 03B2 18                pop A
 03B3 75                inc X
 03B4 0900              adc A,0
 03B6 28                romx
 03B7 5300              mov [__r1],A
 03B9 20                pop X
 03BA 5100              mov A,[__r0]
 03BC 10                push X
 03BD 5800              mov X,[__r1]
 03BF 28                romx
 03C0 20                pop X
 03C1 5400              mov [X+0],A
 03C3                   .dbline 179
 03C3           ;       return CSD_waSnsDiff[bInstanceID];
 03C3 5200              mov A,[X+0]
 03C5 5300              mov [__r1],A
 03C7 550000            mov [__r0],0
 03CA 6500              asl [__r1]
 03CC 6B00              rlc [__r0]
 03CE 060000            add [__r1],<_CSD_waSnsDiff
 03D1 0E0000            adc [__r0],>_CSD_waSnsDiff
 03D4 5100              mov A,[__r0]
 03D6 60D4              mov REG[0xd4],A
 03D8 3E00              mvi A,[__r1]
 03DA 5300              mov [__r0],A
 03DC 3E00              mvi A,[__r1]
 03DE 5300              mov [__r1],A
 03E0                   .dbline -2
 03E0           L14:
 03E0 38FF              add SP,-1
 03E2 20                pop X
 03E3                   .dbline 0 ; func end
 03E3 7F                ret
 03E4                   .dbsym l bInstanceID 0 c
 03E4                   .dbsym l pPBlock -5 pX
 03E4                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile ./cmx_csdproximity.c
 0000           _iCSDPROXIMITYPrev::
 0000 0000              .byte 0,0
 0002                   .dbsym e iCSDPROXIMITYPrev _iCSDPROXIMITYPrev A[2:1]I

⌨️ 快捷键说明

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