一、程序说明: SST单片机带有5路PCA模块,PCA功能比普通的单片机相比提供更强的计时性,同时更少CPU的干预,用它可以减少软件的开销和改进精度。利用PCA的脉冲宽度调制(PWM)模式可以产生一个8位PWM,它通过比PCA定时器的低位(CL)和比较寄存器的低位(CCAPnL)产生。当CL<CCAPnL时输出为低;当CL>=CCAPnL是输出为高。要进入这个模式,可以对CCAPMn的PWM和ECOM位置位。 在PWM 模式,输出的频率决定于PCA定时器的源。由于只有一对CH 和CL寄存器,所有模块共享PCA定时器和频率。输出的占空比由装在高位CCAPnH的值控制。由于写入CCAPnH寄存器不是同步的,写入高位的值不会马上装入CCAPnL做比较,直到输出的另一个周期(当CL从255到0翻转)。用下面的公式计算任何占空比CCAPnH 值: CCAPnH=256(1-占空比) CCAPnH 是8 位整数,占空比是分数。 脉冲宽度调制频率 PCA定时器模式 | PWM 频率 | 12MHz | 16MHz | 1/12振荡频率 | 3.9KHz | 5.2KHz | 1/4振荡频率 | 11.8KHz | 15.6KHz | 定时器0溢出: 8位 16位 8位自动重装 | 15.5Hz 0.06Hz 3.9KHz 到15.3KHz | 20.3Hz 0.08Hz 5.2KHz 到20.3KHz | 外部输入(最大) | 5.9KHz | 7.8KHz | 二、相关寄存器介绍: PCA定时器/计数器模式寄存器(CMOD) 位置 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | D9H | CIDL | WDTE | - | - | - | CPS1 | CPS0 | ECF | 标志 功能 CIDL 计数器空闲控制,CIDL=0时,PCA在空闲模式下继续工作。CIDL=1时,PCA在空闲模式下关闭。 WDTE 看门狗定时器使能:WDTE=0时,禁止PCA模块4的看门狗功能。WDTE=1时,使能。 CPS1 PCA计数脉宽选择位1 CPS0 PCA计数脉宽选择位0 CPS1 | CPS0 | 选择PCA输入* | 0 | 0 | 0 |
来源: 作者: 2006/9/25 16:50:53
| |