快速导航
STC12已封装好的函数库
/**********************************
*函数名称:PCA_Init(void)
*输入 :无
*输出 :无
*调用说明:外部调用
*函数说明:PWM模块初始化
***********************************/
void PCA_Init(void)
{
CCON = 0; //PCA初始化
CMOD = 0x00; //空闲时不计数,不产生中断,时钟源为Sysclk/12,PWM频率大约为4KHz
CL = 0x00; //PCA低8位清零
CH = 0x00; //PCA高8位清零
CCAPM0 = 0x42; //8位PWM模式,无中断
CCAP0H = 0xc0; //PWM0占空比(调节此处值调节PWM占空比)
CCAP0L = 0xc0; //PWM0占空比(调节此处值调节PWM占空比)
CCAPM1 = 0x42; //8位PWM模式,无中断
CCAP1H = 0x40; //PWM1占空比(调节此处值调节PWM占空比)
CCAP1L = 0x40; //PWM1占空比(调节此处值调节PWM占空比)
CR = 1; //启动PCA计数器
}
/**********************************
*函数名称:PWM_Set(unsigned char x,unsigned char y)
*输入 :占空比输入1 unsigned char x(0-255),占空比输入unsigned char y(0-255)
*输出 :无
*调用说明:外部调用
*函数说明:占空比设置
***********************************/
void PWM_Set(unsigned char x,unsigned char y)
{
x = ~x;
y = ~y;
CCAP0H = y; //设置比较值
CCAP0L = y;
CCAP1H = x; //设置比较值
CCAP1L = x;
}