12C5A60S2的P1.4 PWM输出 这样初始化代码,到底是8位PWM还是9位PWM?
本帖最后由 DebugLab 于 2024-9-8 17:54 编辑//*********************************************************************************/
//PWM模块初始化
//*********************************************************************************/
void PWM_SET(void)
{
CCON = 0; // 初始化 PCA 控制寄存器
// PCA 定时器停止运行
// 清除 CF 标志位
// 清除所有模块中断标志位
CL = 0; // 重置 PCA 基本定时器低字节
CH = 0; // 重置 PCA 基本定时器高字节
CMOD = 0x14; // 设置 PCA 定时器时钟源为系统时钟 Fosc/8
// CMOD = 0x02; // 设置 PCA 定时器时钟源为系统时钟 Fosc/2
// 禁止 PCA 定时器溢出中断
//CCAP0H = CCAP0L = 0x80; // PWM0 端口输出占空比为 50%的方波
//CCAPM0 = 0x42; // PCA 模块 0 工作在 8 位 PWM 模式且无 PCA 中断
CCAP1H = CCAP1L =0; // PWM1 端口输出占空比为 0%的方波
PCA_PWM1 = 0x03; // 9位PWM输出模式
CCAPM1 = 0x42; // PCA 模块 1 工作在 9 位 PWM 模式且无 PCA 中断
CR = 1; // PCA 定时器开始运行
}
PWM输出 这样初始化代码,到底是8位PWM还是9位PWM?我总感觉哪儿不对, 在24M主频工作下 发光管指示 闪动的好像5秒钟一次,我看不懂错在哪儿了,有大神帮我指点吗?
CMOD = 0x14; 这句10进制与16进制和稀泥了,应该是CMOD = 0x0E;
页:
[1]