8051-ELL库  beta 1.1.6
8051-ELL library API Document Center
STC8x_PCA.h 文件参考
#include "ELL_CORE.h"
#include "STC8Ax_REG.h"
STC8x_PCA.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define PER_LIB_MCU_MUODEL   STC8Ax
 如果没有定义这个宏,默认为STC8Ax。 If the mirco is undefined,select to STC8Ax 更多...
 
#define PER_LIB_PCA_CTRL   1
 如果没有定义这个宏,默认为0。 If the mirco is undefined,select to "0" 更多...
 
#define PER_LIB_PCA_INIT_CTRL   1
 如果没有定义这个宏,默认为0。 If the mirco is undefined,select to "0" 更多...
 
#define PER_LIB_PCA_NVIC_CTRL   1
 如果没有定义这个宏,默认为0。 If the mirco is undefined,select to "0" 更多...
 
#define PER_LIB_PCA_WORK_CTRL   1
 如果没有定义这个宏,默认为0。 If the mirco is undefined,select to "0" 更多...
 
#define PCA0_WORK_STOP()   do{CCAPM0 = 0;}while(0)
 PCA0停止工作宏函数。 更多...
 
#define PCA1_WORK_STOP()   do{CCAPM1 = 0;}while(0)
 PCA1停止工作宏函数。 更多...
 
#define PCA2_WORK_STOP()   do{CCAPM2 = 0;}while(0)
 PCA2停止工作宏函数。 更多...
 
#define PCA3_WORK_STOP()   do{CCAPM3 = 0;}while(0)
 PCA3停止工作宏函数。 更多...
 
#define PCA0_PWM_6BITS_CTRL(duty)
 PCA0做6位PWM时,占空比调节宏函数。 更多...
 
#define PCA0_PWM_7BITS_CTRL(duty)
 PCA0做7位PWM时,占空比调节宏函数。 更多...
 
#define PCA0_PWM_8BITS_CTRL(duty)
 PCA0做8位PWM时,占空比调节宏函数。 更多...
 
#define PCA0_PWM_10BITS_CTRL(duty)
 PCA0做10位PWM时,占空比调节宏函数。 更多...
 
#define PCA1_PWM_6BITS_CTRL(duty)
 PCA1做6位PWM时,占空比调节宏函数。 更多...
 
#define PCA1_PWM_7BITS_CTRL(duty)
 PCA1做7位PWM时,占空比调节宏函数。 更多...
 
#define PCA1_PWM_8BITS_CTRL(duty)
 PCA1做8位PWM时,占空比调节宏函数。 更多...
 
#define PCA1_PWM_10BITS_CTRL(duty)
 PCA1做10位PWM时,占空比调节宏函数。 更多...
 
#define PCA2_PWM_6BITS_CTRL(duty)
 PCA2做6位PWM时,占空比调节宏函数。 更多...
 
#define PCA2_PWM_7BITS_CTRL(duty)
 PCA2做7位PWM时,占空比调节宏函数。 更多...
 
#define PCA2_PWM_8BITS_CTRL(duty)
 PCA2做8位PWM时,占空比调节宏函数。 更多...
 
#define PCA2_PWM_10BITS_CTRL(duty)
 PCA2做10位PWM时,占空比调节宏函数。 更多...
 
#define PCA3_PWM_6BITS_CTRL(duty)
 PCA3做6位PWM时,占空比调节宏函数。 更多...
 
#define PCA3_PWM_7BITS_CTRL(duty)
 PCA3做7位PWM时,占空比调节宏函数。 更多...
 
#define PCA3_PWM_8BITS_CTRL(duty)
 PCA3做8位PWM时,占空比调节宏函数。 更多...
 
#define PCA3_PWM_10BITS_CTRL(duty)
 PCA3做10位PWM时,占空比调节宏函数。 更多...
 
#define PCA_CNT_GET_FLAG()   (CF)
 获取PCA计数器溢出(中断)标志位。 更多...
 
#define PCA_CNT_CLEAR_FLAG()   do{CF = 0;}while(0)
 清除PCA计数器溢出(中断)标志位。 更多...
 
#define PCA0_GET_FLAG()   (CCF0)
 获取PCA0计数器溢出(中断)标志位。 更多...
 
#define PCA1_GET_FLAG()   (CCF1)
 获取PCA1计数器溢出(中断)标志位。 更多...
 
#define PCA2_GET_FLAG()   (CCF2)
 获取PCA2计数器溢出(中断)标志位。 更多...
 
#define PCA3_GET_FLAG()   (CCF3)
 获取PCA3计数器溢出(中断)标志位。 更多...
 
#define PCA0_CLEAR_FLAG()   do{CCF0 = 0;}while(0)
 清除PCA0计数器溢出(中断)标志位。 更多...
 
#define PCA1_CLEAR_FLAG()   do{CCF1 = 0;}while(0)
 清除PCA1计数器溢出(中断)标志位。 更多...
 
#define PCA2_CLEAR_FLAG()   do{CCF2 = 0;}while(0)
 清除PCA2计数器溢出(中断)标志位。 更多...
 
#define PCA3_CLEAR_FLAG()   do{CCF3 = 0;}while(0)
 清除PCA3计数器溢出(中断)标志位。 更多...
 
#define NVIC_PCA_CNT_CTRL(run)
 PCA计数器中断控制宏函数。 更多...
 
#define NVIC_PCA_PRI(pri)
 PCA选择中断优先级宏函数。 更多...
 
#define NVIC_PCA0_CTRL(run)
 PCA0中断控制宏函数。 更多...
 
#define NVIC_PCA1_CTRL(run)
 PCA1中断控制宏函数。 更多...
 
#define NVIC_PCA2_CTRL(run)
 PCA2中断控制宏函数。 更多...
 
#define NVIC_PCA3_CTRL(run)
 PCA3中断控制宏函数。 更多...
 

枚举

enum  PCAType_Type { PCA_TYPE_CAP = 0X00 , PCA_TYPE_PWM = 0x42 , PCA_TYPE_TIM = 0x48 , PCA_TYPE_POP = 0x4C }
 PCA工作类型枚举体 更多...
 
enum  PCA_CAPMode_Type { PCA_CAP_Mode_Falling = 0x01 , PCA_CAP_Mode_Rising = 0X02 , PCA_CAP_Mode_Edge = 0x03 }
 PCA做CAP时,触发模式枚举体。 更多...
 
enum  PCACLKSrc_Type {
  PCA_SCLK_DIV_12 = 0x00 , PCA_SCLK_DIV_2 = 0x02 , PCA_TIMER0 = 0x04 , PCA_ECI = 0x06 ,
  PCA_SCLK_DIV_1 = 0x08 , PCA_SCLK_DIV_4 = 0x0A , PCA_SCLK_DIV_6 = 0x0C , PCA_SCLK_DIV_8 = 0x0E
}
 PCA时钟源枚举体 更多...
 
enum  PCA_PWMBits_Type { PCA_PWM_8Bits = 0x00 , PCA_PWM_7Bits = 0x01 , PCA_PWM_6Bits = 0x02 , PCA_PWM_10Bits = 0x03 }
 PCA做PWM时,分辨率枚举体。 更多...
 
enum  PCA_CAPTri_Type { PCA_CAPTri_Null = 0x00 , PCA_CAPTri_Falling = 0x10 , PCA_CAPTri_Rising = 0x20 , PCA_CAPTri_Edge = 0x30 }
 PCA做CAP时,触发中断方式枚举体。 更多...
 

函数

FSCSTATE PCA_CNT_Init (PCACLKSrc_Type clkSrc, BOOL run)
 PCA计数器初始化,必须放在所有PCA函数的后面。 更多...
 
FSCSTATE PCA0_PWM_Init (PCA_PWMBits_Type pwmBits, uint16_t duty)
 PCA0做PWM初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA1_PWM_Init (PCA_PWMBits_Type pwmBits, uint16_t duty)
 PCA1做PWM初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA2_PWM_Init (PCA_PWMBits_Type pwmBits, uint16_t duty)
 PCA2做PWM初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA3_PWM_Init (PCA_PWMBits_Type pwmBits, uint16_t duty)
 PCA3做PWM初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA0_CAP_Init (PCA_CAPMode_Type mode)
 PCA0做CAP初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA1_CAP_Init (PCA_CAPMode_Type mode)
 PCA1做CAP初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA2_CAP_Init (PCA_CAPMode_Type mode)
 PCA2做CAP初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA3_CAP_Init (PCA_CAPMode_Type mode)
 PCA3做CAP初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA0_TIM_Init (uint16_t time)
 PCA0做TIMER初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA1_TIM_Init (uint16_t time)
 PCA1做TIMER初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA2_TIM_Init (uint16_t time)
 PCA2做TIMER初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA3_TIM_Init (uint16_t time)
 PCA3做TIMER初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA0_POP_Init (uint16_t fre)
 PCA0做POP初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA1_POP_Init (uint16_t fre)
 PCA1做POP初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA2_POP_Init (uint16_t fre)
 PCA2做POP初始化,必须放在PCA计数器初始化之前。 更多...
 
FSCSTATE PCA3_POP_Init (uint16_t fre)
 PCA3做POP初始化,必须放在PCA计数器初始化之前。 更多...
 
void PCA0_TIM_POP_ReValue (void)
 PCA0做TIMER或POP时,重载载计数器。 更多...
 
void PCA1_TIM_POP_ReValue (void)
 PCA1做TIMER或POP时,重载载计数器。 更多...
 
void PCA2_TIM_POP_ReValue (void)
 PCA2做TIMER或POP时,重载载计数器。 更多...
 
void PCA3_TIM_POP_ReValue (void)
 PCA3做TIMER或POP时,重载载计数器。 更多...
 
FSCSTATE GPIO_PCA_SWPort (GPIOSWPort_Type port)
 PCA切换复用IO函数。 更多...
 
FSCSTATE NVIC_PCA_CNT_Init (NVICPri_Type pri, BOOL run)
 PCA计数器中断初始化函数。 更多...
 
FSCSTATE NVIC_PCA0_TIM_POP_Init (BOOL run)
 PCA0做TIMER或POP中断初始化函数。 更多...
 
FSCSTATE NVIC_PCA1_TIM_POP_Init (BOOL run)
 PCA1做TIMER或POP中断初始化函数。 更多...
 
FSCSTATE NVIC_PCA2_TIM_POP_Init (BOOL run)
 PCA2做TIMER或POP中断初始化函数。 更多...
 
FSCSTATE NVIC_PCA3_TIM_POP_Init (BOOL run)
 PCA3做TIMER或POP中断初始化函数。 更多...
 
FSCSTATE NVIC_PCA0_PWM_CAP_Init (PCA_CAPTri_Type triMode, BOOL run)
 PCA0做PWM或CAP中断初始化函数。 更多...
 
FSCSTATE NVIC_PCA1_PWM_CAP_Init (PCA_CAPTri_Type triMode, BOOL run)
 PCA1做PWM或CAP中断初始化函数。 更多...
 
FSCSTATE NVIC_PCA2_PWM_CAP_Init (PCA_CAPTri_Type triMode, BOOL run)
 PCA2做PWM或CAP中断初始化函数。 更多...
 
FSCSTATE NVIC_PCA3_PWM_CAP_Init (PCA_CAPTri_Type triMode, BOOL run)
 PCA3做PWM或CAP中断初始化函数。 更多...
 

宏定义说明

◆ NVIC_PCA0_CTRL

#define NVIC_PCA0_CTRL (   run)
值:
do{ \
CCAPM0 = (CCAPM0 & 0xFE) | (run); \
}while(0)
sfr CCAPM0
Definition: STC15x_REG.h:891

PCA0中断控制宏函数。

PCA0 interrupt switch control macro function.

参数
[in]run使能控制位。Enable control bit.

◆ NVIC_PCA1_CTRL

#define NVIC_PCA1_CTRL (   run)
值:
do{ \
CCAPM1 = (CCAPM1 & 0xFE) | (run); \
}while(0)
sfr CCAPM1
Definition: STC15x_REG.h:892

PCA1中断控制宏函数。

PCA1 TIM / POP interrupt switch control macro function.

参数
[in]run使能控制位。Enable control bit.

◆ NVIC_PCA2_CTRL

#define NVIC_PCA2_CTRL (   run)
值:
do{ \
CCAPM2 = (CCAPM2 & 0xFE) | (run); \
}while(0)
sfr CCAPM2
Definition: STC15x_REG.h:893

PCA2中断控制宏函数。

PCA2 interrupt switch control macro function.

参数
[in]run使能控制位。Enable control bit.

◆ NVIC_PCA3_CTRL

#define NVIC_PCA3_CTRL (   run)
值:
do{ \
CCAPM3 = (CCAPM3 & 0xFE) | (run); \
}while(0)
sfr CCAPM3
Definition: STC15x_REG.h:894

PCA3中断控制宏函数。

PCA3 interrupt switch control macro function.

参数
[in]run使能控制位。Enable control bit.

◆ NVIC_PCA_CNT_CTRL

#define NVIC_PCA_CNT_CTRL (   run)
值:
do{ \
CMOD = (CMOD & 0xFE) | run; \
}while(0)
sfr CMOD
Definition: STC15x_REG.h:888

PCA计数器中断控制宏函数。

PCA interrupt switch control macro function.

参数
[in]run使能控制位。Enable control bit.

◆ NVIC_PCA_PRI

#define NVIC_PCA_PRI (   pri)
值:
do{ \
IPH = (IPH & 0x7F) | ((pri & 0x02) << 6); \
IP = (IP & 0x7F) | ((pri & 0x01) << 7); \
}while(0)
sfr IPH
Definition: STC15x_REG.h:212
sfr IP
Definition: STC15x_REG.h:210

PCA选择中断优先级宏函数。

PCA select interrupt priority macro function.

参数
[in]pri中断优先级. Priority of interrupt.

◆ PCA0_CLEAR_FLAG

#define PCA0_CLEAR_FLAG ( )    do{CCF0 = 0;}while(0)

清除PCA0计数器溢出(中断)标志位。

Clear the PCA0 overflow (interrupt) flag macro function.

◆ PCA0_GET_FLAG

#define PCA0_GET_FLAG ( )    (CCF0)

获取PCA0计数器溢出(中断)标志位。

Get the PCA0 overflow (interrupt) flag macro function.

返回
[bit] 标志位。Flag.

◆ PCA0_PWM_10BITS_CTRL

#define PCA0_PWM_10BITS_CTRL (   duty)
值:
do{ \
CCAPM0 = PCA_TYPE_PWM; \
PCA_PWM0 = (PCA_PWM0 & 0x3F)|(0x03 << 6); \
PCA_PWM0 = (PCA_PWM0 & 0XFE) | ((duty & 0x400) >> 10); \
PCA_PWM0 = (PCA_PWM0 & 0XFD) | ((duty & 0x400) >> 9); \
PCA_PWM0 = (PCA_PWM0 & 0XF3) | ((duty & 0x300) >> 6); \
PCA_PWM0 = (PCA_PWM0 & 0XCF) | ((duty & 0x300) >> 4); \
CCAP0L = (uint8_t)duty; \
CCAP0H = (uint8_t)duty; \
} while (0)
unsigned char uint8_t
Definition: ELL_TYPE.h:72
sfr PCA_PWM0
Definition: STC15x_REG.h:904
@ PCA_TYPE_PWM
Definition: STC8x_PCA.h:103

PCA0做10位PWM时,占空比调节宏函数。

When PCA0 is used as 10-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA0_PWM_6BITS_CTRL

#define PCA0_PWM_6BITS_CTRL (   duty)
值:
do{ \
CCAPM0 = PCA_TYPE_PWM; \
PCA_PWM0 = (PCA_PWM0 & 0x3F)|(0x02 << 6); \
PCA_PWM0 = (PCA_PWM0 & 0XFE) | ((duty & 0x40) >> 6); \
PCA_PWM0 = (PCA_PWM0 & 0XFD) | ((duty & 0x40) >> 5); \
CCAP0L = (uint8_t)(duty & 0x003F); \
CCAP0H = (uint8_t)(duty & 0x003F); \
}while(0)

PCA0做6位PWM时,占空比调节宏函数。

When PCA0 is used as 6-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA0_PWM_7BITS_CTRL

#define PCA0_PWM_7BITS_CTRL (   duty)
值:
do{ \
CCAPM0 = PCA_TYPE_PWM; \
PCA_PWM0 = (PCA_PWM0 & 0x3F)|(0x01 << 6); \
PCA_PWM0 = (PCA_PWM0 & 0XFE) | ((duty & 0x80) >> 7); \
PCA_PWM0 = (PCA_PWM0 & 0XFD) | ((duty & 0x80) >> 6); \
CCAP0L = (uint8_t)(duty & 0x007F); \
CCAP0H = (uint8_t)(duty & 0x007F); \
}while(0)

PCA0做7位PWM时,占空比调节宏函数。

When PCA0 is used as 7-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA0_PWM_8BITS_CTRL

#define PCA0_PWM_8BITS_CTRL (   duty)
值:
do{ \
CCAPM0 = PCA_TYPE_PWM; \
PCA_PWM0 = (PCA_PWM0 & 0x3F)|(0x00 << 6); \
PCA_PWM0 = (PCA_PWM0 & 0XFE) | ((duty & 0x100) >> 8); \
PCA_PWM0 = (PCA_PWM0 & 0XFD) | ((duty & 0x100) >> 7); \
CCAP0L = (uint8_t)duty; \
CCAP0H = (uint8_t)duty; \
}while(0)

PCA0做8位PWM时,占空比调节宏函数。

When PCA0 is used as 8-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA0_WORK_STOP

#define PCA0_WORK_STOP ( )    do{CCAPM0 = 0;}while(0)

PCA0停止工作宏函数。

PCA0 stops working macro function.

◆ PCA1_CLEAR_FLAG

#define PCA1_CLEAR_FLAG ( )    do{CCF1 = 0;}while(0)

清除PCA1计数器溢出(中断)标志位。

Clear the PCA1 overflow (interrupt) flag macro function.

◆ PCA1_GET_FLAG

#define PCA1_GET_FLAG ( )    (CCF1)

获取PCA1计数器溢出(中断)标志位。

Get the PCA1 overflow (interrupt) flag macro function.

返回
[bit] 标志位。Flag.

◆ PCA1_PWM_10BITS_CTRL

#define PCA1_PWM_10BITS_CTRL (   duty)
值:
do{ \
CCAPM1 = PCA_TYPE_PWM; \
PCA_PWM1 = (PCA_PWM1 & 0x3F)|(0x03 << 6); \
PCA_PWM1 = (PCA_PWM1 & 0XFE) | ((duty & 0x400) >> 10); \
PCA_PWM1 = (PCA_PWM1 & 0XFD) | ((duty & 0x400) >> 9); \
PCA_PWM1 = (PCA_PWM1 & 0XF3) | ((duty & 0x300) >> 6); \
PCA_PWM1 = (PCA_PWM1 & 0XCF) | ((duty & 0x300) >> 4); \
CCAP1L = (uint8_t)duty; \
CCAP1H = (uint8_t)duty; \
}while(0)
sfr PCA_PWM1
Definition: STC15x_REG.h:905

PCA1做10位PWM时,占空比调节宏函数。

When PCA1 is used as 10-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA1_PWM_6BITS_CTRL

#define PCA1_PWM_6BITS_CTRL (   duty)
值:
do{ \
CCAPM1 = PCA_TYPE_PWM; \
PCA_PWM1 = (PCA_PWM1 & 0x3F)|(0x02 << 6); \
PCA_PWM1 = (PCA_PWM1 & 0XFE) | ((duty & 0x40) >> 6); \
PCA_PWM1 = (PCA_PWM1 & 0XFD) | ((duty & 0x40) >> 5); \
CCAP1L = (uint8_t)(duty & 0x003F); \
CCAP1H = (uint8_t)(duty & 0x003F); \
}while(0)

PCA1做6位PWM时,占空比调节宏函数。

When PCA1 is used as 6-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA1_PWM_7BITS_CTRL

#define PCA1_PWM_7BITS_CTRL (   duty)
值:
do{ \
CCAPM1 = PCA_TYPE_PWM; \
PCA_PWM1 = (PCA_PWM1 & 0x3F)|(0x01 << 6); \
PCA_PWM1 = (PCA_PWM1 & 0XFE) | ((duty & 0x80) >> 7); \
PCA_PWM1 = (PCA_PWM1 & 0XFD) | ((duty & 0x80) >> 6); \
CCAP1L = (uint8_t)(duty & 0x007F); \
CCAP1H = (uint8_t)(duty & 0x007F); \
}while(0)

PCA1做7位PWM时,占空比调节宏函数。

When PCA1 is used as 7-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA1_PWM_8BITS_CTRL

#define PCA1_PWM_8BITS_CTRL (   duty)
值:
do{ \
CCAPM1 = PCA_TYPE_PWM; \
PCA_PWM1 = (PCA_PWM1 & 0x3F)|(0x00 << 6); \
PCA_PWM1 = (PCA_PWM1 & 0XFE) | ((duty & 0x100) >> 8); \
PCA_PWM1 = (PCA_PWM1 & 0XFD) | ((duty & 0x100) >> 7); \
CCAP1L = (uint8_t)duty; \
CCAP1H = (uint8_t)duty; \
}while(0)

PCA1做8位PWM时,占空比调节宏函数。

When PCA1 is used as 8-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA1_WORK_STOP

#define PCA1_WORK_STOP ( )    do{CCAPM1 = 0;}while(0)

PCA1停止工作宏函数。

PCA1 stops working macro function.

◆ PCA2_CLEAR_FLAG

#define PCA2_CLEAR_FLAG ( )    do{CCF2 = 0;}while(0)

清除PCA2计数器溢出(中断)标志位。

Clear the PCA2 overflow (interrupt) flag macro function.

◆ PCA2_GET_FLAG

#define PCA2_GET_FLAG ( )    (CCF2)

获取PCA2计数器溢出(中断)标志位。

Get the PCA2 overflow (interrupt) flag macro function.

返回
[bit] 标志位。Flag.

◆ PCA2_PWM_10BITS_CTRL

#define PCA2_PWM_10BITS_CTRL (   duty)
值:
do{ \
CCAPM2 = PCA_TYPE_PWM; \
PCA_PWM2 = (PCA_PWM2 & 0x3F)|(0x03 << 6); \
PCA_PWM2 = (PCA_PWM2 & 0XFE) | ((duty & 0x400) >> 10); \
PCA_PWM2 = (PCA_PWM2 & 0XFD) | ((duty & 0x400) >> 9); \
PCA_PWM2 = (PCA_PWM2 & 0XF3) | ((duty & 0x300) >> 6); \
PCA_PWM2 = (PCA_PWM2 & 0XCF) | ((duty & 0x300) >> 4); \
CCAP2L = (uint8_t)duty; \
CCAP2H = (uint8_t)duty; \
}while(0)
sfr PCA_PWM2
Definition: STC15x_REG.h:906

PCA2做10位PWM时,占空比调节宏函数。

When PCA2 is used as 10-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA2_PWM_6BITS_CTRL

#define PCA2_PWM_6BITS_CTRL (   duty)
值:
do{ \
CCAPM2 = PCA_TYPE_PWM; \
PCA_PWM2 = (PCA_PWM2 & 0x3F)|(0x02 << 6); \
PCA_PWM2 = (PCA_PWM2 & 0XFE) | ((duty & 0x40) >> 6); \
PCA_PWM2 = (PCA_PWM2 & 0XFD) | ((duty & 0x40) >> 5); \
CCAP2L = (uint8_t)(duty & 0x003F); \
CCAP2H = (uint8_t)(duty & 0x003F); \
}while(0)

PCA2做6位PWM时,占空比调节宏函数。

When PCA2 is used as 6-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA2_PWM_7BITS_CTRL

#define PCA2_PWM_7BITS_CTRL (   duty)
值:
do{ \
CCAPM2 = PCA_TYPE_PWM; \
PCA_PWM2 = (PCA_PWM2 & 0x3F)|(0x01 << 6); \
PCA_PWM2 = (PCA_PWM2 & 0XFE) | ((duty & 0x80) >> 7); \
PCA_PWM2 = (PCA_PWM2 & 0XFD) | ((duty & 0x80) >> 6); \
CCAP2L = (uint8_t)(duty & 0x007F); \
CCAP2H = (uint8_t)(duty & 0x007F); \
}while(0)

PCA2做7位PWM时,占空比调节宏函数。

When PCA2 is used as 7-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA2_PWM_8BITS_CTRL

#define PCA2_PWM_8BITS_CTRL (   duty)
值:
do{ \
CCAPM2 = PCA_TYPE_PWM; \
PCA_PWM2 = (PCA_PWM2 & 0x3F)|(0x00 << 6); \
PCA_PWM2 = (PCA_PWM2 & 0XFE) | ((duty & 0x100) >> 8); \
PCA_PWM2 = (PCA_PWM2 & 0XFD) | ((duty & 0x100) >> 7); \
CCAP2L = (uint8_t)duty; \
CCAP2H = (uint8_t)duty; \
}while(0)

PCA2做8位PWM时,占空比调节宏函数。

When PCA2 is used as 8-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA2_WORK_STOP

#define PCA2_WORK_STOP ( )    do{CCAPM2 = 0;}while(0)

PCA2停止工作宏函数。

PCA2 stops working macro function.

◆ PCA3_CLEAR_FLAG

#define PCA3_CLEAR_FLAG ( )    do{CCF3 = 0;}while(0)

清除PCA3计数器溢出(中断)标志位。

Clear the PCA3 overflow (interrupt) flag macro function.

◆ PCA3_GET_FLAG

#define PCA3_GET_FLAG ( )    (CCF3)

获取PCA3计数器溢出(中断)标志位。

Get the PCA0 overflow (interrupt) flag macro function.

返回
[bit] 标志位。Flag.

◆ PCA3_PWM_10BITS_CTRL

#define PCA3_PWM_10BITS_CTRL (   duty)
值:
do{ \
CCAPM3 = PCA_TYPE_PWM; \
PCA_PWM3 = (PCA_PWM3 & 0x3F)|(0x03 << 6); \
PCA_PWM3 = (PCA_PWM3 & 0XFE) | ((duty & 0x400) >> 10); \
PCA_PWM3 = (PCA_PWM3 & 0XFD) | ((duty & 0x400) >> 9); \
PCA_PWM3 = (PCA_PWM3 & 0XF3) | ((duty & 0x300) >> 6); \
PCA_PWM3 = (PCA_PWM3 & 0XCF) | ((duty & 0x300) >> 4); \
CCAP3L = (uint8_t)duty; \
CCAP3H = (uint8_t)duty; \
}while(0)
sfr PCA_PWM3
Definition: STC15x_REG.h:907

PCA3做10位PWM时,占空比调节宏函数。

When PCA3 is used as 10-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA3_PWM_6BITS_CTRL

#define PCA3_PWM_6BITS_CTRL (   duty)
值:
do{ \
CCAPM3 = PCA_TYPE_PWM; \
PCA_PWM3 = (PCA_PWM3 & 0x3F)|(0x02 << 6); \
PCA_PWM3 = (PCA_PWM3 & 0XFE) | ((duty & 0x40) >> 6); \
PCA_PWM3 = (PCA_PWM3 & 0XFD) | ((duty & 0x40) >> 5); \
CCAP3L = (uint8_t)(duty & 0x003F); \
CCAP3H = (uint8_t)(duty & 0x003F); \
}while(0)

PCA3做6位PWM时,占空比调节宏函数。

When PCA3 is used as 6-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA3_PWM_7BITS_CTRL

#define PCA3_PWM_7BITS_CTRL (   duty)
值:
do{ \
CCAPM3 = PCA_TYPE_PWM; \
PCA_PWM3 = (PCA_PWM3 & 0x3F)|(0x01 << 6); \
PCA_PWM3 = (PCA_PWM3 & 0XFE) | ((duty & 0x80) >> 7); \
PCA_PWM3 = (PCA_PWM3 & 0XFD) | ((duty & 0x80) >> 6); \
CCAP3L = (uint8_t)(duty & 0x007F); \
CCAP3H = (uint8_t)(duty & 0x007F); \
}while(0)

PCA3做7位PWM时,占空比调节宏函数。

When PCA3 is used as 7-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA3_PWM_8BITS_CTRL

#define PCA3_PWM_8BITS_CTRL (   duty)
值:
do{ \
CCAPM3 = PCA_TYPE_PWM; \
PCA_PWM3 = (PCA_PWM3 & 0x3F)|(0x00 << 6); \
PCA_PWM3 = (PCA_PWM3 & 0XFE) | ((duty & 0x100) >> 8); \
PCA_PWM3 = (PCA_PWM3 & 0XFD) | ((duty & 0x100) >> 7); \
CCAP3L = (uint8_t)duty; \
CCAP3H = (uint8_t)duty; \
}while(0)

PCA3做8位PWM时,占空比调节宏函数。

When PCA3 is used as 8-bit precision PWM, set the duty cycle macro function.

参数
[in]duty占空比。PWM duty.

◆ PCA3_WORK_STOP

#define PCA3_WORK_STOP ( )    do{CCAPM3 = 0;}while(0)

PCA3停止工作宏函数。

PCA3 stops working macro function.

◆ PCA_CNT_CLEAR_FLAG

#define PCA_CNT_CLEAR_FLAG ( )    do{CF = 0;}while(0)

清除PCA计数器溢出(中断)标志位。

Clear the PCA counter overflow (interrupt) flag macro function.

◆ PCA_CNT_GET_FLAG

#define PCA_CNT_GET_FLAG ( )    (CF)

获取PCA计数器溢出(中断)标志位。

Get the PCA counter overflow (interrupt) flag macro function.

返回
[bit] 标志位。Flag.

◆ PER_LIB_MCU_MUODEL

#define PER_LIB_MCU_MUODEL   STC8Ax

如果没有定义这个宏,默认为STC8Ax。 If the mirco is undefined,select to STC8Ax

◆ PER_LIB_PCA_CTRL

#define PER_LIB_PCA_CTRL   1

如果没有定义这个宏,默认为0。 If the mirco is undefined,select to "0"

◆ PER_LIB_PCA_INIT_CTRL

#define PER_LIB_PCA_INIT_CTRL   1

如果没有定义这个宏,默认为0。 If the mirco is undefined,select to "0"

◆ PER_LIB_PCA_NVIC_CTRL

#define PER_LIB_PCA_NVIC_CTRL   1

如果没有定义这个宏,默认为0。 If the mirco is undefined,select to "0"

◆ PER_LIB_PCA_WORK_CTRL

#define PER_LIB_PCA_WORK_CTRL   1

如果没有定义这个宏,默认为0。 If the mirco is undefined,select to "0"

枚举类型说明

◆ PCA_CAPMode_Type

PCA做CAP时,触发模式枚举体。

CAP trigger mode enumenumeration.

枚举值
PCA_CAP_Mode_Falling 

下降沿捕获。Capture on falling edge.

PCA_CAP_Mode_Rising 

上升沿捕获。Rising edge capture.

PCA_CAP_Mode_Edge 

边沿捕获。Edge capture.

◆ PCA_CAPTri_Type

PCA做CAP时,触发中断方式枚举体。

PCA CAP interrupt trigger enumenumeration.

枚举值
PCA_CAPTri_Null 

无触发模式,不使能中断。 No trigger mode, no interrupt is enabled.

PCA_CAPTri_Falling 

下降沿触发模式,使能中断。 Falling edge trigger mode, enable interrupt.

PCA_CAPTri_Rising 

上升沿触发模式,使能中断。 The rising edge trigger mode enables interrupts.

PCA_CAPTri_Edge 

边沿触发模式,使能中断。 Edge trigger mode, enable interrupt.

◆ PCA_PWMBits_Type

PCA做PWM时,分辨率枚举体。

PCA PWM bits mode enumenumeration.

枚举值
PCA_PWM_8Bits 

8-bit PCA_PWM mode.

PCA_PWM_7Bits 

7-bit PCA_PWM mode.

PCA_PWM_6Bits 

6-bit PCA_PWM mode.

PCA_PWM_10Bits 

10-bit PCA_PWM mode.

◆ PCACLKSrc_Type

PCA时钟源枚举体

PCA working clock enumeration body.

枚举值
PCA_SCLK_DIV_12 

系统时钟12分频。System clock / 12.

PCA_SCLK_DIV_2 

系统时钟2分频。System clock / 2.

PCA_TIMER0 

定时器0溢出频率。Overflow pulse of timer 0.

PCA_ECI 

外部时钟源。External input clock of ECI pin.

PCA_SCLK_DIV_1 

系统时钟1分频。System clock / 1.

PCA_SCLK_DIV_4 

系统时钟4分频。System clock / 4.

PCA_SCLK_DIV_6 

系统时钟6分频。System clock / 6.

PCA_SCLK_DIV_8 

系统时钟8分频。System clock / 8.

◆ PCAType_Type

PCA工作类型枚举体

PCA type control enumenumeration.

枚举值
PCA_TYPE_CAP 

PAC工作在捕获模式。PAC works in capture mode.

PCA_TYPE_PWM 

PAC工作在PWM模式。PAC works in PWM mode.

PCA_TYPE_TIM 

PAC工作在定时器模式。PAC works in timer mode.

PCA_TYPE_POP 

PAC工作在脉冲输出模式。PAC works in pulse output mode.

函数说明

◆ GPIO_PCA_SWPort()

FSCSTATE GPIO_PCA_SWPort ( GPIOSWPort_Type  port)

PCA切换复用IO函数。

PCA switch out port control function.

参数
[in]port复用IO枚举体。IO switch enumerator.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA0_PWM_CAP_Init()

FSCSTATE NVIC_PCA0_PWM_CAP_Init ( PCA_CAPTri_Type  triMode,
BOOL  run 
)

PCA0做PWM或CAP中断初始化函数。

PCA0 PWM and CAP NVIC function.

参数
[in]triMode触发模式。 Interrupt trigger mode.
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA0_TIM_POP_Init()

FSCSTATE NVIC_PCA0_TIM_POP_Init ( BOOL  run)

PCA0做TIMER或POP中断初始化函数。

PCA0 Timer and POP NVIC function .

参数
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA1_PWM_CAP_Init()

FSCSTATE NVIC_PCA1_PWM_CAP_Init ( PCA_CAPTri_Type  triMode,
BOOL  run 
)

PCA1做PWM或CAP中断初始化函数。

PCA1 PWM and CAP NVIC function.

参数
[in]triMode触发模式。 Interrupt trigger mode.
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA1_TIM_POP_Init()

FSCSTATE NVIC_PCA1_TIM_POP_Init ( BOOL  run)

PCA1做TIMER或POP中断初始化函数。

PCA1 Timer and POP NVIC function .

参数
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA2_PWM_CAP_Init()

FSCSTATE NVIC_PCA2_PWM_CAP_Init ( PCA_CAPTri_Type  triMode,
BOOL  run 
)

PCA2做PWM或CAP中断初始化函数。

PCA2 PWM and CAP NVIC function.

参数
[in]triMode触发模式。 Interrupt trigger mode.
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA2_TIM_POP_Init()

FSCSTATE NVIC_PCA2_TIM_POP_Init ( BOOL  run)

PCA2做TIMER或POP中断初始化函数。

PCA2 Timer and POP NVIC function .

参数
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA3_PWM_CAP_Init()

FSCSTATE NVIC_PCA3_PWM_CAP_Init ( PCA_CAPTri_Type  triMode,
BOOL  run 
)

PCA3做PWM或CAP中断初始化函数。

PCA3 PWM and CAP NVIC function.

参数
[in]triMode触发模式。 Interrupt trigger mode.
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA3_TIM_POP_Init()

FSCSTATE NVIC_PCA3_TIM_POP_Init ( BOOL  run)

PCA3做TIMER或POP中断初始化函数。

PCA3 Timer and POP NVIC function .

参数
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_PCA_CNT_Init()

FSCSTATE NVIC_PCA_CNT_Init ( NVICPri_Type  pri,
BOOL  run 
)

PCA计数器中断初始化函数。

PCA Counter NVIC function.

参数
[in]pri中断优先级。interrupt priority.
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA0_CAP_Init()

FSCSTATE PCA0_CAP_Init ( PCA_CAPMode_Type  mode)

PCA0做CAP初始化,必须放在PCA计数器初始化之前。

PCA0 CAP init function,it must first is initialized.

参数
[in]mode捕获模式。Capture mode.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA0_POP_Init()

FSCSTATE PCA0_POP_Init ( uint16_t  fre)

PCA0做POP初始化,必须放在PCA计数器初始化之前。

PCA0 POP init function,it must first is initialized.

参数
[in]fre脉冲输出频率。Output frequency.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA0_PWM_Init()

FSCSTATE PCA0_PWM_Init ( PCA_PWMBits_Type  pwmBits,
uint16_t  duty 
)

PCA0做PWM初始化,必须放在PCA计数器初始化之前。

PCA0 PWM init function,it must first is initialized.

参数
[in]pwmBitsPWM分辨率。PWM accuracy of bits.
[in]dutyPWM占空比。PWM duty.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA0_TIM_Init()

FSCSTATE PCA0_TIM_Init ( uint16_t  time)

PCA0做TIMER初始化,必须放在PCA计数器初始化之前。

PCA0 TIMER init function,it must first is initialized.

参数
[in]time定时时间。Timing.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA0_TIM_POP_ReValue()

void PCA0_TIM_POP_ReValue ( void  )

PCA0做TIMER或POP时,重载载计数器。

PCA0 TIM and POP reload value function.

参数
[in]None.
返回
None.

◆ PCA1_CAP_Init()

FSCSTATE PCA1_CAP_Init ( PCA_CAPMode_Type  mode)

PCA1做CAP初始化,必须放在PCA计数器初始化之前。

PCA1 CAP init function,it must first is initialized.

参数
[in]mode捕获模式。Capture mode.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA1_POP_Init()

FSCSTATE PCA1_POP_Init ( uint16_t  fre)

PCA1做POP初始化,必须放在PCA计数器初始化之前。

PCA1 POP init function,it must first is initialized.

参数
[in]fre脉冲输出频率。Output frequency.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA1_PWM_Init()

FSCSTATE PCA1_PWM_Init ( PCA_PWMBits_Type  pwmBits,
uint16_t  duty 
)

PCA1做PWM初始化,必须放在PCA计数器初始化之前。

PCA1 PWM init function,it must first is initialized.

参数
[in]pwmBitsPWM分辨率。PWM accuracy of bits.
[in]dutyPWM占空比。PWM duty.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA1_TIM_Init()

FSCSTATE PCA1_TIM_Init ( uint16_t  time)

PCA1做TIMER初始化,必须放在PCA计数器初始化之前。

PCA1 TIMER init function,it must first is initialized.

参数
[in]time定时时间。Timing.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA1_TIM_POP_ReValue()

void PCA1_TIM_POP_ReValue ( void  )

PCA1做TIMER或POP时,重载载计数器。

PCA1 TIM and POP reload value function.

参数
[in]None.
返回
None.

◆ PCA2_CAP_Init()

FSCSTATE PCA2_CAP_Init ( PCA_CAPMode_Type  mode)

PCA2做CAP初始化,必须放在PCA计数器初始化之前。

PCA2 CAP init function,it must first is initialized.

参数
[in]mode捕获模式。Capture mode.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA2_POP_Init()

FSCSTATE PCA2_POP_Init ( uint16_t  fre)

PCA2做POP初始化,必须放在PCA计数器初始化之前。

PCA2 POP init function,it must first is initialized.

参数
[in]fre脉冲输出频率。Output frequency.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA2_PWM_Init()

FSCSTATE PCA2_PWM_Init ( PCA_PWMBits_Type  pwmBits,
uint16_t  duty 
)

PCA2做PWM初始化,必须放在PCA计数器初始化之前。

PCA2 PWM init function,it must first is initialized.

参数
[in]pwmBitsPWM分辨率。PWM accuracy of bits.
[in]dutyPWM占空比。PWM duty.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA2_TIM_Init()

FSCSTATE PCA2_TIM_Init ( uint16_t  time)

PCA2做TIMER初始化,必须放在PCA计数器初始化之前。

PCA2 TIMER init function,it must first is initialized.

参数
[in]time定时时间。Timing.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA2_TIM_POP_ReValue()

void PCA2_TIM_POP_ReValue ( void  )

PCA2做TIMER或POP时,重载载计数器。

PCA2 TIM and POP reload value function.

参数
[in]None.
返回
None.

◆ PCA3_CAP_Init()

FSCSTATE PCA3_CAP_Init ( PCA_CAPMode_Type  mode)

PCA3做CAP初始化,必须放在PCA计数器初始化之前。

PCA3 CAP init function,it must first is initialized.

参数
[in]mode捕获模式。Capture mode.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA3_POP_Init()

FSCSTATE PCA3_POP_Init ( uint16_t  fre)

PCA3做POP初始化,必须放在PCA计数器初始化之前。

PCA3 POP init function,it must first is initialized.

参数
[in]fre脉冲输出频率。Output frequency.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA3_PWM_Init()

FSCSTATE PCA3_PWM_Init ( PCA_PWMBits_Type  pwmBits,
uint16_t  duty 
)

PCA3做PWM初始化,必须放在PCA计数器初始化之前。

PCA3 PWM init function,it must first is initialized.

参数
[in]pwmBitsPWM分辨率。PWM accuracy of bits.
[in]dutyPWM占空比。PWM duty.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA3_TIM_Init()

FSCSTATE PCA3_TIM_Init ( uint16_t  time)

PCA3做TIMER初始化,必须放在PCA计数器初始化之前。

PCA3 TIMER init function,it must first is initialized.

参数
[in]time定时时间。Timing.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ PCA3_TIM_POP_ReValue()

void PCA3_TIM_POP_ReValue ( void  )

PCA3做TIMER或POP时,重载载计数器。

PCA3 TIM and POP reload value function.

参数
[in]None.
返回
None.

◆ PCA_CNT_Init()

FSCSTATE PCA_CNT_Init ( PCACLKSrc_Type  clkSrc,
BOOL  run 
)

PCA计数器初始化,必须放在所有PCA函数的后面。

PCA counter init function,It must be initialized last.

参数
[in]clkSrcPCA时钟源。PCA clock source.
[in]run使能控制位.enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.