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

📄 cmx_blinkingled.lis

📁 sypress psoc express 驱动led发光的应用程序.
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0000                   cpu LMM
                        .module cmx_blinkingled.c
                        .area text(rom, con, rel)
 0000                   .dbfile ./cmx_blinkingled.c
 0000                   .dbfunc e CMX_BLINKINGLED_Instantiate _CMX_BLINKINGLED_Instantiate fV
 0000           ;         PPChan -> X+2
 0000           ;     Blink_port -> X+1
 0000           ;      Blink_pin -> X+0
 0000           ;        pPBlock -> X-5
 0000           _CMX_BLINKINGLED_Instantiate::
 0000                   .dbline -1
 0000 10                push X
 0001 4F                mov X,SP
 0002 3803              add SP,3
 0004                   .dbline 43
 0004           ; //*****************************************************************************
 0004           ; //*****************************************************************************
 0004           ; //  FILENAME:  CMX_BlinkingLed.c
 0004           ; //  Version: 1.1.0.1, Updated on 2007/05/18 at 17:38:12
 0004           ; //  Application: PSoC Express 2.0
 0004           ; //
 0004           ; //  DESCRIPTION:  This is driver for BLINKINGLED.
 0004           ; //-----------------------------------------------------------------------------
 0004           ; //      Copyright (c) Cypress MicroSystems 2004. All Rights Reserved.
 0004           ; //*****************************************************************************
 0004           ; //*****************************************************************************
 0004           ; 
 0004           ; #include "m8c.h"
 0004           ; #include "CMX_BlinkingLed.h"
 0004           ; #include "cmx.h"
 0004           ; #include "projectproperties.h"
 0004           ; #include "SystemTimer.h"
 0004           ; 
 0004           ; 
 0004           ; BYTE BlinkingLedState[CMX_BLINKINGLED_COUNT];  // Allocate state byte for each instance
 0004           ; BYTE BlinkingLedCount[CMX_BLINKINGLED_COUNT];  // Allocate count byte for each instance
 0004           ;  
 0004           ; //-----------------------------------------------------------------------------
 0004           ; //  FUNCTION NAME: BLINKINGLED_Instantiate(pBlock)
 0004           ; //
 0004           ; //    DESCRIPTION: 
 0004           ; //      Initialize this instance of the BlinkingLED
 0004           ; //
 0004           ; //-----------------------------------------------------------------------------
 0004           ; //
 0004           ; //  ARGUMENTS: 
 0004           ; //    pPBlock  == Pointer to parameter block.
 0004           ; //
 0004           ; //  RETURNS: None
 0004           ; //
 0004           ; //  SIDE EFFECTS: 
 0004           ; //
 0004           ; //  THEORY of OPERATION or PROCEDURE: 
 0004           ; //
 0004           ; ////////////////////////////////////////////////////////////////////////////////
 0004           ; 
 0004           ; void CMX_BLINKINGLED_Instantiate(const CMX_BLINKINGLED_ParameterBlock * pPBlock)
 0004           ; {
 0004                   .dbline 48
 0004           ;     BYTE Blink_pin;
 0004           ;       BYTE Blink_port;
 0004           ;       BYTE PPChan;
 0004           ; 
 0004           ;       PPChan = DIOChannelPins[(pPBlock->BLINKINGLED_ChannelID)];   // Get pin and port info
 0004 62D000            mov REG[0xd0],>__r0
 0007 52FC              mov A,[X-4]
 0009 0106              add A,6
 000B 5300              mov [__r1],A
 000D 52FB              mov A,[X-5]
 000F 0900              adc A,0
 0011 10                push X
 0012 5800              mov X,[__r1]
 0014 28                romx
 0015 20                pop X
 0016 5300              mov [__r1],A
 0018 550000            mov [__r0],0
 001B 060000            add [__r1],<_DIOChannelPins
 001E 0E0000            adc [__r0],>_DIOChannelPins
 0021 5100              mov A,[__r0]
 0023 10                push X
 0024 5800              mov X,[__r1]
 0026 28                romx
 0027 20                pop X
 0028 5402              mov [X+2],A
 002A                   .dbline 49
 002A           ;       Blink_pin = pinlu[(BYTE)(PPChan & 0x0F)];              // Create pin mask
 002A 5202              mov A,[X+2]
 002C 210F              and A,15
 002E 5300              mov [__r1],A
 0030 550000            mov [__r0],0
 0033 060000            add [__r1],<_pinlu
 0036 0E0000            adc [__r0],>_pinlu
 0039 5100              mov A,[__r0]
 003B 10                push X
 003C 5800              mov X,[__r1]
 003E 28                romx
 003F 20                pop X
 0040 5400              mov [X+0],A
 0042                   .dbline 50
 0042           ;       Blink_port = portlu[(BYTE)((PPChan & 0xF0) >>4)];      // Extract port address
 0042 5202              mov A,[X+2]
 0044 21F0              and A,-16
 0046 67                asr A
 0047 67                asr A
 0048 67                asr A
 0049 67                asr A
 004A 210F              and A,15
 004C 5300              mov [__r1],A
 004E 550000            mov [__r0],0
 0051 060000            add [__r1],<_portlu
 0054 0E0000            adc [__r0],>_portlu
 0057 5100              mov A,[__r0]
 0059 10                push X
 005A 5800              mov X,[__r1]
 005C 28                romx
 005D 20                pop X
 005E 5401              mov [X+1],A
 0060                   .dbline 51
 0060           ;       GlobalSelectDisconnect(Blink_pin,Blink_port);          // Disconnect Global
 0060 10                push X
 0061 5201              mov A,[X+1]
 0063 08                push A
 0064 5200              mov A,[X+0]
 0066 20                pop X
 0067 7C0000            xcall _GlobalSelectDisconnect
 006A 20                pop X
 006B                   .dbline 53
 006B           ;       
 006B           ;       DiscreteDriveMode(Blink_pin, Blink_port, pPBlock->BLINKINGLED_DriveMode); // Set mode to Strong
 006B 62D000            mov REG[0xd0],>__r0
 006E 52FC              mov A,[X-4]
 0070 0104              add A,4
 0072 5300              mov [__r1],A
 0074 52FB              mov A,[X-5]
 0076 0900              adc A,0
 0078 10                push X
 0079 5800              mov X,[__r1]
 007B 28                romx
 007C 20                pop X
 007D 10                push X
 007E 08                push A
 007F 5201              mov A,[X+1]
 0081 08                push A
 0082 5200              mov A,[X+0]
 0084 08                push A
 0085 7C0000            xcall _DiscreteDriveMode
 0088 38FD              add SP,-3
 008A 20                pop X
 008B                   .dbline -2
 008B                   .dbline 54
 008B           ; }
 008B           L2:
 008B 38FD              add SP,-3
 008D 20                pop X
 008E                   .dbline 0 ; func end
 008E 7F                ret
 008F                   .dbsym l PPChan 2 c
 008F                   .dbsym l Blink_port 1 c
 008F                   .dbsym l Blink_pin 0 c
 008F                   .dbsym l pPBlock -5 pX
 008F                   .dbend
 008F                   .dbfunc e CMX_BLINKINGLED_SetValue _CMX_BLINKINGLED_SetValue fV
 008F           ;       bPinPort -> X+1
 008F           ;      bInstance -> X+0
 008F           ;          bMode -> X-6
 008F           ;        pPBlock -> X-5
 008F           _CMX_BLINKINGLED_SetValue::
 008F                   .dbline -1
 008F 10                push X
 0090 4F                mov X,SP
 0091 3802              add SP,2
 0093                   .dbline 80
 0093           ; //-----------------------------------------------------------------------------
 0093           ; //  FUNCTION NAME: BLINKINGLED_SetValue(pPBlock,  bMode)
 0093           ; //
 0093           ; //  DESCRIPTION: 
 0093           ; //    Sets LED mode between Off, On, and Blink.
 0093           ; //
 0093           ; //-----------------------------------------------------------------------------
 0093           ; //
 0093           ; //  ARGUMENTS: 
 0093           ; //    pPBlock == Pointer to Parameter block
 0093           ; //    bMode   == New Mode 
 0093           ; //               0 = Off
 0093           ; //               1 = On
 0093           ; //               2 = Blink
 0093           ; //
 0093           ; //
 0093           ; //  RETURNS: None
 0093           ; //
 0093           ; //  SIDE EFFECTS: 
 0093           ; //
 0093           ; //  THEORY of OPERATION or PROCEDURE: 
 0093           ; //
 0093           ; ////////////////////////////////////////////////////////////////////////////////
 0093           ; 
 0093           ; void CMX_BLINKINGLED_SetValue(const CMX_BLINKINGLED_ParameterBlock * pPBlock, BYTE bMode)

⌨️ 快捷键说明

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