📄 pwm.h
字号:
/*********************************************************************************************************
** 工程功能 :PWM输出
** 工程作者 :Blue Sky Teams——WCW
** 工程版本 :V1.0
*********************************************************************************************************/
#include<STC12C5A60S2.h>
//详细的介绍请参看STC12C5A60S2.pdf中第10章 STC12C5A60S2系列单片机PCA/PWM的应用
#define thx0 0xFF
#define tlx0 0xFF
/*********************************************************************************************************
** 函数功能 :初始化PCA
** 函数说明 :把PCA的时钟源设置为timer0的溢出频率;
** 入口参数 :无
** 出口参数 :无
*********************************************************************************************************/
void PCA_init()
{
CMOD=0X84;//CIDL=1;在空闲模式下停止PCA计数器工作;
//010;把PCA的时钟源设置为timer0的溢出频率;
//ECF=0;禁止PCA计数溢出中断功能;
CCON=0X00;//CF=0;清零PCA溢出中断请求标志位;
//CR=0;不允许PCA计数器计数
//清零PCA各模块中断请求标志位
CH=0; //清零PCA计数器
CL=0;
CCAPM0=0x42; //设置模块0为8位PWM输出模式;PWM无需中断支持;模块0的脉冲在P1.3脚输出
PCA_PWM0=0x00;
CR=1;//启动PCA计数器
}
/*********************************************************************************************************
** 函数功能 :初始化Timer0
** 函数说明 :Timer0的溢出率为PCA计数器的时钟
** 入口参数 :无
** 出口参数 :无
*********************************************************************************************************/
void Timer0_init()
{
TMOD=0x02; //计数器0设置为8位计数器且自动重载
TH0=thx0; //十个系统时钟Timer0溢出一次
TL0=tlx0;
TR0=1; //开定时器0
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -