📄 cmx_genericpwm.lis
字号:
0000 cpu LMM
.module cmx_genericpwm.c
.area text(rom, con, rel)
0000 .dbfile ./cmx_genericpwm.c
0000 .dbfunc e CMX_GENERICPWM_Instantiate _CMX_GENERICPWM_Instantiate fV
0000 ; Polarity -> X+1
0000 ; Instance -> X+0
0000 ; thisBLK -> X-5
0000 _CMX_GENERICPWM_Instantiate::
0000 .dbline -1
0000 10 push X
0001 4F mov X,SP
0002 3802 add SP,2
0004 .dbline 42
0004 ; //*****************************************************************************
0004 ; //*****************************************************************************
0004 ; // FILENAME: CMX_GENERICPWM.c
0004 ; // Version: 1.3.0.1, Updated on 2007/05/18 at 17:39:01
0004 ; // Application: PSoC Express 2.0
0004 ; //
0004 ; // DESCRIPTION: This Driver controls the Generic PWM parameters and returns
0004 ; // the percent duty cycle for the selected channel.
0004 ; //-----------------------------------------------------------------------------
0004 ; // Copyright (c) Cypress MicroSystems 2004-2005. All Rights Reserved.
0004 ; //*****************************************************************************
0004 ; //*****************************************************************************
0004 ;
0004 ; #include "m8c.h"
0004 ; #include "CMX_GENERICPWM.h"
0004 ; #include "cmx.h"
0004 ;
0004 ; // Channel type header file
0004 ; #include "cmx_pwm_chan.h"
0004 ;
0004 ;
0004 ; //-----------------------------------------------------------------------------
0004 ; // FUNCTION NAME: GENERICPWM_Instantiate(const CMX_GERNERICPWM_ParameterBlock * thisBLK)
0004 ; //
0004 ; // DESCRIPTION:
0004 ; // GENERICPWM Initialization
0004 ; //
0004 ; //-----------------------------------------------------------------------------
0004 ; //
0004 ; // ARGUMENTS:
0004 ; // thisBLK => Pointer to parameter Block for this instance.
0004 ; //
0004 ; // RETURNS: None
0004 ; //
0004 ; // SIDE EFFECTS:
0004 ; //
0004 ; // THEORY of OPERATION or PROCEDURE: Initialization for GENERICPWM
0004 ; // Initial conditions set based on parameters set in
0004 ; // GENERICPWM Parameter block
0004 ; //-----------------------------------------------------------------------------
0004 ; void CMX_GENERICPWM_Instantiate(const CMX_GENERICPWM_ParameterBlock * thisBLK)
0004 ; {
0004 .dbline 46
0004 ; BYTE Instance;
0004 ; BYTE Polarity;
0004 ;
0004 ; Instance = thisBLK->GENERICPWM_ChannelID;
0004 62D000 mov REG[0xd0],>__r0
0007 52FC mov A,[X-4]
0009 0101 add A,1
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 5400 mov [X+0],A
0018 .dbline 47
0018 ; Polarity = thisBLK->GENERICPWM_Polarity;
0018 52FC mov A,[X-4]
001A 0102 add A,2
001C 5300 mov [__r1],A
001E 52FB mov A,[X-5]
0020 0900 adc A,0
0022 10 push X
0023 5800 mov X,[__r1]
0025 28 romx
0026 20 pop X
0027 5401 mov [X+1],A
0029 .dbline 49
0029 ;
0029 ; PWMSetPolarity(Instance,Polarity);
0029 10 push X
002A 5201 mov A,[X+1]
002C 08 push A
002D 5200 mov A,[X+0]
002F 20 pop X
0030 7C0000 xcall _PWMSetPolarity
0033 20 pop X
0034 .dbline 50
0034 ; PWMSetDutyCycle(Instance, 0);
0034 5000 mov A,0
0036 08 push A
0037 5200 mov A,[X+0]
0039 08 push A
003A 7C0000 xcall _PWMSetDutyCycle
003D 38FE add SP,-2
003F .dbline 51
003F ; PWMStart(Instance);
003F 10 push X
0040 5200 mov A,[X+0]
0042 7C0000 xcall _PWMStart
0045 20 pop X
0046 .dbline -2
0046 .dbline 52
0046 ; }
0046 L2:
0046 38FE add SP,-2
0048 20 pop X
0049 .dbline 0 ; func end
0049 7F ret
004A .dbsym l Polarity 1 c
004A .dbsym l Instance 0 c
004A .dbsym l thisBLK -5 pX
004A .dbend
004A .dbfunc e CMX_GENERICPWM_SetValue _CMX_GENERICPWM_SetValue fV
004A ; Instance -> X+0
004A ; bDutyCycle -> X-6
004A ; thisBLK -> X-5
004A _CMX_GENERICPWM_SetValue::
004A .dbline -1
004A 10 push X
004B 4F mov X,SP
004C 3801 add SP,1
004E .dbline 75
004E ;
004E ; //-----------------------------------------------------------------------------
004E ; // FUNCTION NAME: GENERICPWM_SetValue(const CMX_GENERICPWM_ParameterBlock * thisBLK, BYTE bPercent_DutyCycle)
004E ; //
004E ; // DESCRIPTION:
004E ; // Sets Percent Duty Cycle Value for given instance.
004E ; //
004E ; //-----------------------------------------------------------------------------
004E ; //
004E ; // ARGUMENTS:
004E ; // thisBLK => Pointer to parameter Block for this instance.
004E ; // bPercent_DutyCycle => Percent duty cycle in which to set PWM.
004E ; //
004E ; // RETURNS: None
004E ; //
004E ; // SIDE EFFECTS:
004E ; //
004E ; // THEORY of OPERATION or PROCEDURE: Initialization for GENERICPWM
004E ; // Parameters set in GENERICPWM Parameter block
004E ; //-----------------------------------------------------------------------------
004E ;
004E ; void CMX_GENERICPWM_SetValue(const CMX_GENERICPWM_ParameterBlock * thisBLK, BYTE bDutyCycle)
004E ; {
004E .dbline 78
004E ; BYTE Instance;
004E ;
004E ; Instance = thisBLK->GENERICPWM_ChannelID;
004E 62D000 mov REG[0xd0],>__r0
0051 52FC mov A,[X-4]
0053 0101 add A,1
0055 5300 mov [__r1],A
0057 52FB mov A,[X-5]
0059 0900 adc A,0
005B 10 push X
005C 5800 mov X,[__r1]
005E 28 romx
005F 20 pop X
0060 5400 mov [X+0],A
0062 .dbline 79
0062 ; PWMSetDutyCycle(Instance, bDutyCycle);
0062 52FA mov A,[X-6]
0064 08 push A
0065 5200 mov A,[X+0]
0067 08 push A
0068 7C0000 xcall _PWMSetDutyCycle
006B 38FE add SP,-2
006D .dbline -2
006D .dbline 80
006D ; }
006D L3:
006D 38FF add SP,-1
006F 20 pop X
0070 .dbline 0 ; func end
0070 7F ret
0071 .dbsym l Instance 0 c
0071 .dbsym l bDutyCycle -6 c
0071 .dbsym l thisBLK -5 pX
0071 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -