历史上的今天
今天是:2025年01月15日(星期三)
2018年01月15日 | SST单片机用PCA功能产生PWM 脉冲的介绍
2018-01-15 来源:eefocus
一、程序说明:
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 | |
上一篇:单片机控制的遥控步进电机程序
下一篇:定时中断实现显示的程序
史海拾趣
|
满足如下条件: 1. WinCE5.0(C++) 2. 从文件读取一个RGB24bit的bitmap 3. 读取的数据转化为RGB16bit,即:RGB565的bitmap 4. 将数据加载到屏幕(或者DDraw的后台缓存中) Thanks in advanced!… 查看全部问答> |
|
Get_Device_Descriptor、Get_Device_Configuration、Set_Configuration由谁首先下发的?设备枚举时的描述符首先存放在哪里?… 查看全部问答> |
|
在ModelSim安装成功后应该是在.....\\ModelSim\\examples\\tutorials\\verilog\\basicSimulation的目录下,有一个counter.v和tcounter.v的两个文件, 主要的疑问就是在count.v中为什么要加入function那一块?老是无法明了。 疑问的部分就是大号粗 ...… 查看全部问答> |
|
工作原理:单片机控制DC9V电机工作,电机通过减速箱后带动一个机械机构转动,挤压洗手液流出,每旋转一圈挤压一次洗手液,限位开关给系统输入一个信号,LED显示挤压洗手液的次数。SW4为电路板安装盒子前盖开关,当前盖闭合时,红灯亮2秒,红外光控 ...… 查看全部问答> |
|
对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,本人觉得架构是非常必要的。前不就发帖与大家一起讨论了一下《谈谈怎样架构你的单片机程序》,发 ...… 查看全部问答> |




