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

📄 cmx_blinkingled.lis

📁 sypress psoc express 驱动led发光的应用程序.
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0093           ; {
 0093                   .dbline 84
 0093           ;     BYTE bPinPort;
 0093           ;     BYTE bInstance;
 0093           ; 
 0093           ;     bInstance = pPBlock->BLINKINGLED_INSTANCE;
 0093 62D000            mov REG[0xd0],>__r0
 0096 52FC              mov A,[X-4]
 0098 0105              add A,5
 009A 5300              mov [__r1],A
 009C 52FB              mov A,[X-5]
 009E 0900              adc A,0
 00A0 10                push X
 00A1 5800              mov X,[__r1]
 00A3 28                romx
 00A4 20                pop X
 00A5 5400              mov [X+0],A
 00A7                   .dbline 86
 00A7           ;         
 00A7           ;     if (bMode >= 2) {    // If Value is 2 or great, put LED in blink mode.
 00A7 3DFA02            cmp [X-6],2
 00AA C090              jc L4
 00AC           X0:
 00AC                   .dbline 86
 00AC                   .dbline 88
 00AC           ; 
 00AC           ;        if ( (SystemTimer_bGetTickCntr() - BlinkingLedCount[bInstance]) >= pPBlock->BLINKINGLED_BlinkRate) {
 00AC 10                push X
 00AD 7C0000            xcall _SystemTimer_bGetTickCntr
 00B0 62D000            mov REG[0xd0],>__r0
 00B3 20                pop X
 00B4 5300              mov [__r0],A
 00B6 52FC              mov A,[X-4]
 00B8 0101              add A,1
 00BA 5300              mov [__r3],A
 00BC 52FB              mov A,[X-5]
 00BE 0900              adc A,0
 00C0 10                push X
 00C1 5800              mov X,[__r3]
 00C3 28                romx
 00C4 20                pop X
 00C5 5300              mov [__r2],A
 00C7 5200              mov A,[X+0]
 00C9 5300              mov [__r5],A
 00CB 550000            mov [__r4],0
 00CE 060000            add [__r5],<_BlinkingLedCount
 00D1 0E0000            adc [__r4],>_BlinkingLedCount
 00D4 5100              mov A,[__r4]
 00D6 60D4              mov REG[0xd4],A
 00D8 3E00              mvi A,[__r5]
 00DA 1400              sub [__r0],A
 00DC 5100              mov A,[__r0]
 00DE 3A00              cmp A,[__r2]
 00E0 C042              jc L6
 00E2           X1:
 00E2                   .dbline 88
 00E2                   .dbline 89
 00E2           ;           BlinkingLedCount[bInstance] = SystemTimer_bGetTickCntr();
 00E2 10                push X
 00E3 7C0000            xcall _SystemTimer_bGetTickCntr
 00E6 62D000            mov REG[0xd0],>__r0
 00E9 20                pop X
 00EA 5300              mov [__r0],A
 00EC 5200              mov A,[X+0]
 00EE 5300              mov [__r3],A
 00F0 550000            mov [__r2],0
 00F3 060000            add [__r3],<_BlinkingLedCount
 00F6 0E0000            adc [__r2],>_BlinkingLedCount
 00F9 5100              mov A,[__r2]
 00FB 60D5              mov REG[0xd5],A
 00FD 5100              mov A,[__r0]
 00FF 3F00              mvi [__r3],A
 0101                   .dbline 90
 0101           ;           BlinkingLedState[bInstance] ^= 0x01;
 0101 5200              mov A,[X+0]
 0103 5300              mov [__r1],A
 0105 550000            mov [__r0],0
 0108 060000            add [__r1],<_BlinkingLedState
 010B 0E0000            adc [__r0],>_BlinkingLedState
 010E 5100              mov A,[__r0]
 0110 60D4              mov REG[0xd4],A
 0112 3E00              mvi A,[__r1]
 0114 7A00              dec [__r1]
 0116 5300              mov [__r2],A
 0118 360001            xor [__r2],1
 011B 5100              mov A,[__r0]
 011D 60D5              mov REG[0xd5],A
 011F 5100              mov A,[__r2]
 0121 3F00              mvi [__r1],A
 0123                   .dbline 91
 0123           ;        }
 0123           L6:
 0123                   .dbline 92
 0123           ;        bMode = BlinkingLedState[bInstance];
 0123 62D000            mov REG[0xd0],>__r0
 0126 5200              mov A,[X+0]
 0128 5300              mov [__r1],A
 012A 550000            mov [__r0],0
 012D 060000            add [__r1],<_BlinkingLedState
 0130 0E0000            adc [__r0],>_BlinkingLedState
 0133 5100              mov A,[__r0]
 0135 60D4              mov REG[0xd4],A
 0137 3E00              mvi A,[__r1]
 0139 54FA              mov [X-6],A
 013B                   .dbline 93
 013B           ;     }
 013B           L4:
 013B                   .dbline 95
 013B           ; 
 013B           ;     bPinPort = DIOChannelPins[(pPBlock->BLINKINGLED_ChannelID)]; 
 013B 62D000            mov REG[0xd0],>__r0
 013E 52FC              mov A,[X-4]
 0140 0106              add A,6
 0142 5300              mov [__r1],A
 0144 52FB              mov A,[X-5]
 0146 0900              adc A,0
 0148 10                push X
 0149 5800              mov X,[__r1]
 014B 28                romx
 014C 20                pop X
 014D 5300              mov [__r1],A
 014F 550000            mov [__r0],0
 0152 060000            add [__r1],<_DIOChannelPins
 0155 0E0000            adc [__r0],>_DIOChannelPins
 0158 5100              mov A,[__r0]
 015A 10                push X
 015B 5800              mov X,[__r1]
 015D 28                romx
 015E 20                pop X
 015F 5401              mov [X+1],A
 0161                   .dbline 96
 0161           ;       if ((pPBlock->BLINKINGLED_DRIVESENSE ^ bMode ) == 0) {   // Set LED to ON or OFF depending on mode.
 0161 52FC              mov A,[X-4]
 0163 0102              add A,2
 0165 5300              mov [__r1],A
 0167 52FB              mov A,[X-5]
 0169 0900              adc A,0
 016B 10                push X
 016C 5800              mov X,[__r1]
 016E 28                romx
 016F 20                pop X
 0170 5300              mov [__r0],A
 0172 52FA              mov A,[X-6]
 0174 3400              xor [__r0],A
 0176 3C0000            cmp [__r0],0
 0179 B00E              jnz L8
 017B                   .dbline 96
 017B                   .dbline 97
 017B           ;        DISetPin(bPinPort,1);
 017B 10                push X
 017C 5001              mov A,1
 017E 08                push A
 017F 5201              mov A,[X+1]
 0181 20                pop X
 0182 7C0000            xcall _DISetPin
 0185 20                pop X
 0186                   .dbline 98
 0186 800C              xjmp L9
 0188           L8:
 0188                   .dbline 98
 0188                   .dbline 99
 0188 10                push X
 0189 5000              mov A,0
 018B 08                push A
 018C 5201              mov A,[X+1]
 018E 20                pop X
 018F 7C0000            xcall _DISetPin
 0192 20                pop X
 0193                   .dbline 100
 0193           L9:
 0193                   .dbline -2
 0193                   .dbline 101
 0193           ;     } else {
 0193           ;        DISetPin(bPinPort,0);
 0193           ;     }
 0193           ; }
 0193           L3:
 0193 38FE              add SP,-2
 0195 20                pop X
 0196                   .dbline 0 ; func end
 0196 7F                ret
 0197                   .dbsym l bPinPort 1 c
 0197                   .dbsym l bInstance 0 c
 0197                   .dbsym l bMode -6 c
 0197                   .dbsym l pPBlock -5 pX
 0197                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile ./cmx_blinkingled.c
 0000           _BlinkingLedCount::
 0000 00                .byte 0
 0001                   .dbsym e BlinkingLedCount _BlinkingLedCount A[1:1]c
                        .area data(ram, con, rel)
 0000                   .dbfile ./cmx_blinkingled.c
 0000           _BlinkingLedState::
 0000 00                .byte 0
 0001                   .dbsym e BlinkingLedState _BlinkingLedState A[1:1]c

⌨️ 快捷键说明

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