编辑: 贾雷坪皮 | 2018-02-02 |
3 注意:本范例中的 n=0. 在PWM 模式中,T0CCLR 无作用. 在设定 PWM 模式前,可对 PRM2 寄存器设定相应的位,将TP0 引脚设定在不同的 I/O 引脚.再对 TMPC0 寄存器进行设定,选择 I/O 相应的 TP0 功能使能. CTM 工作在 PWM 模式其设定步骤如下表: 步骤 步骤 步骤 步骤 操作内容 操作内容 操作内容 操作内容 寄存器 寄存器 寄存器 寄存器 设定位 设定位 设定位 设定位 功能描述 功能描述 功能描述 功能描述
1 设定时钟源 TM0C0 T0CK0~ T0CK2 选择 CTM 的时钟源
2 PWM 控制 TM0C1 T0DPX :
1 : CCRA 控制 Period CCRP 控制 Duty
0 : CCRA 控制 Duty CCRP 控制 Period 选择用 CCRA 还是 CCRP 控制 PWM 的Period 和Duty TM0AH/TM0AL 所有的位
3 设定 CCRA, CCRP 寄存 器值 TM0C0 T0RP0 ~ T0RP2 设定比较寄存器
4 设定 CTM 工 作模式 TM0C1 T0M1, T0M0=10 '
10'
为CTM 工作在 PWM 模式
5 选择 CTM 的 输出引脚 PRM2 TP01PS : 0:PC5 输出 TP0_1 1:PD5 输出 TP0_1 TP00PS : 0:PA0 输出 TP0_0 1:PC6 输出 TP0_0 选择 CTM 的TP0_0 和TP0_1 从哪个 I/O 引脚输出
6 使能 CTM 的 输出引脚 TMPC0 T0CP1, T0CP0=11 使能 CTM 的相应引脚功能
7 设定 TP0 输 出的初始值 TM0C1 T0OC : 0:输出低电平 1:输出高电平 设定 PWM 输出是 Active High 好还是 Active Low 如何使用 如何使用 如何使用 如何使用 HT66F40 CTM PWM 功能 功能 功能 功能
4 8 设定 TP0 的 输出功能 TM0C1 T0IO1/T0IO0 :
00 : TP0 输出无效电平
01 : TP0 输出有效电平
10 : TP0 为PWM 输出
11 :未定义 设定 TP0_0 和TP0_1 是否为 PWM 输出
9 设定 TP0 的 输出极性 TM0C1 T0POL :
1 : 输出反相
0 : 输出同相 TP0 的输出 极性控制 INTC1 MF0E
10 设定中断允 许位 MFI0 T0AE, T0PE 使能 CTM 和多个功能的中断
11 开启 CTM TM0C0 T0ON 0→1 重置计数器,且CTM 开始工作 T0PAU 0→1 CTM 暂停工作,计数器值保持不变
12 CTM 停止功 能TM0C0 T0ON 1→0 CTM 停止工作,计数器内容不变 应用电路 应用电路 应用电路 应用电路 说明: 对CTM 而言在 PWM 模式,可提供两个引脚(TP0_0/TP0_1)输出脉冲.脉冲输出可选择从 TP0_0 (引脚
1 or 引脚 12) 输出或从 TP0_1 (引脚 13)输出, 或者 TP0_0 和TP0_1 同时输出. 如何使用 如何使用 如何使用 如何使用 HT66F40 CTM PWM 功能 功能 功能 功能
5 S/W 流程图 流程图 流程图 流程图(范例 范例 范例 范例 1) 开始 关闭CP/AD/LCD功能, 将I/O口作为普通I/O口将PC/PA设置为输出模式 TM工作在PWM模式, 时钟源为fSYS/4 TP0 CCRP匹配清除主计时 器,PWM的周期为512us TP0 CCRA初值为64,即PWM的占空比为64us 循环跳转 选择TP0 I/O输出引脚 并开启TP0输出功能 注:上面为 T0DPX 为0时,即CCRP 控制 PWM 的Period,CCRA 控制 PWM 的Duty 的 流程. 程序说明 程序说明 程序说明 程序说明( ( ( (范例 范例 范例 范例 1) ) ) ) 本范例是使用 CTM 的PWM 程序,通过 CTM 的TP0_0 或TP0_1 观察 PWM 输出. 主程序流程介绍:程序首先所使用到的数据储存器清除为零初始化.对CP0C,CP1C 赋值 08H,关闭比较器功能.对ACERL 和SCOMEN 清除为零,关闭 A/D 输入功能和 LCD 功能.PC 和PA 端口设定为输出模式,且PA、PC 需设定为低电平,否则 TP0 输出电平相反. PRM2 [1:0]=00 为TP0 从PC5 和PA0 输出,TMPC0[1:0]=11 为使能 TP0 的引脚输出功能, TM0C0 [6:4]=000 为选择 CTM 的时钟源........