编辑: 没心没肺DR 2019-07-31
如何使用 如何使用 如何使用 如何使用 HT66F40 CTM Timer 功能 功能 功能 功能

1 如何使用 如何使用 如何使用 如何使用 HT66F40 CTM Timer 功能 功能 功能 功能 简介 简介 简介 简介 HT66Fx0 系列 MCU 提供了一个新的功能单元 TM, 即Timer Modules, 集成了 Timer 和PWM 的功能,提供包括普通 Timer 定时、外部计数、可编程 Duty/Period PWM 输出或单脉冲输 出、输入捕捉等丰富的功能.

TM 依据功能可分为简易型 TM(CTM)、标准型 TM(STM)和 增强型 TM(ETM). 本文即以 HT66F40 为母体,通过具体范例说明 CTM 中TIMER 的使用. 工作原理 工作原理 工作原理 工作原理 CTM 的核心是一个向上计数的

10 位计数器和两个比较器,具体结构如下图标: 简易型 简易型 简易型 简易型 TM 方框图 方框图 方框图 方框图 注意:本范例中的 n=0 计数器的时钟源可以通过设定 T0CK0~T0CK2 选择为 fSYS/

4、fSYS、fH/

16、fH/

64、fTBC 或者 为TCK0 输入. 两个内部比较器: CCRP 即T0RP 和CCRA 即TM0A, 用于设定比较基准值, CCRP 有3位宽,只对计数器的高

3 位进行比较,而CCRA 的位数和计数器一样,可以跟 计数器比较所有的位.当设定好相关的寄存器 CTM 开始运行后计数器向上计数,系统会将 预先写入 CCRA 的值与计数器中的值进行比较.计数器在计数溢出或者与设定 CCRA 的值 相等时,可以自动清除为零并产生一个中断信号,同时系统会根据程序设定产生相应的输 出信号.计数器中 TM0DH/TM0DL 的值无法改变,但是可以读出,只能通过设定 T0ON 位由0→1 才能清除为零计数器.T0POL 可以对 TP0_0 和TP0_1 输出逻辑进行控制,当被设 定为 1,可以强制对 TP0_0 和TP0_1 输出逻辑翻转. HT66F40 输出引脚介绍: 文件编码:AN0237S 如何使用 如何使用 如何使用 如何使用 HT66F40 CTM Timer 功能 功能 功能 功能

2 引引引引脚 脚脚脚功能描述 功能描述 功能描述 功能描述 TMPC0 PRM2 TP0_0 CCRA/CCRP 匹配输出引脚 T0CP0 1:使能 TP0 功能 0:I/O 功能或者其它功能 TP00PS 0: 设定 TP0_0 on PA0 1: 设定 TP0_0 on PC6 TP0_1 CCRA/ CCRP 匹配输出引脚 T0CP1 1:使能 TP0 功能 0:I/O 功能或者其它功能 TP01PS 0: 设定 TP0_1 on PC5 1: 设定 TP0_1 on PD5 在TIMER 模式中,可通过设定 T0CCLR 来选择由 CCRP 匹配清除为零还是由 CCRA 匹配 清除为零计数器.当T0CCLR 设定为 1,T0ON 位由 0→1 时主定时器开始计数,当主计数 器与 CCRA 发生匹配时,T0AF 中断标志位设定为 1.若相应的中断使能,程序将进入相应 的中断服务程序.当T0CCLR 设为 0,T0ON 位由 0→1 时主定时器开始计,当主计数器与 CCRP 发生匹配时,T0PF 中断标志位设定为 1.若相应的中断使能,程序将进入相应的中 断服务程序.注意,由于 CCRP 和CCRA 匹配中断的入口位置一样,需要在进入中断服务 程序后,通过判断 T0AF 和T0PF 来区分是 CCRA 还是 CCRP 匹配中断.T0AF,T0PF 都不 会自动清零,需要在中断程序中,软件清零.否则不能响应下次中断. Timer Mode 模式时序图: 注意:上图为 n=0,T0CCLR=1 的时序图 在Timer Mode 中,CTM O/P Pin 无作用. CTM 工作在 Timer Mode 可以用来做为定时器且比较匹配模式很相似, 但CTM 工作在 Timer Mode 没有输出口信号. 如何使用 如何使用 如何使用 如何使用 HT66F40 CTM Timer 功能 功能 功能 功能

3 CTM 工作在 Timer 模式其设定步骤如下表: 步步步步骤骤骤骤操作内容 操作内容 操作内容 操作内容 寄存器 寄存器 寄存器 寄存器 设定位 设定位 设定位 设定位 功能描述 功能描述 功能描述 功能描述

1 设定时钟源 TM0C0 T0CK0~ T0CK2 选择 CTM 的时钟源 TM0AH / TM0AL 所有的位

2 设定 CCRA,CCRP 寄存器值 TM0C0 T0RP0 ~ T0RP2 设定比较寄存器

3 选择 CCRA 或者 CCRP 比较 TM0C1 T0CCLR: 0:CCRP 比较 1:CCRA 比较 选择 CCRA 还是 CCRP 重置计数器

4 设定 TP0 的输出功能 TM0C1 T0IO1 / T0IO0

00 : 无作用 01:无作用 10:无作用 11:无作用 TP0 当作普通 I/O 口使用

5 设定 SM 工作模式 TM0C1 T0M1, T0M0=11

11 为CTM 工作在在 Timer Mode INTC1 MF0E

6 设定中断允许位 MFI0 T0AE, T0PE 使能 CTM 和多个功能的 中断

7 开启 CTM TM0C0 T0ON 0→1 重置计数器,并CTM 开 始工作 T0PAU 0→1 CTM 暂停工作,计数器 值保持不变

8 CTM 停止功能 TM0C0 T0ON 1→0 CTM 停止工作,计数器 内容不变 应用电路 应用电路 应用电路 应用电路 说明: CTM 工作在 Timer Mode 时,无直接输出口.Pulse Output (PC 口)为应用举例中,为了让应 用开发者清楚,将定时时间通过翻转 PC 口输出. 如何使用 如何使用 如何使用 如何使用 HT66F40 CTM Timer 功能 功能 功能 功能

4 流程图 流程图 流程图 流程图( ( ( (范例 范例 范例 范例 1) ) ) ) 注:上图流程为 T0CCLR=1,主计数与 CCRA 进行匹配定时模式. 程序说明 程序说明 程序说明 程序说明( ( ( (范例 范例 范例 范例 1) ) ) ) 本范例是使用 CTM 的Timer 定时程序,通过 CTM 的CCRA 匹配中断翻转 I/O 的方式将定 时时间宽度输出,以达到定时的目的. 主程序流程介绍:程序首先所使用到的数据储存器清除为零初始化.对CP0C,CP1C 赋值 08H,关闭比较器功能.对ACERL 和SCOMEN 清除为零,关闭 A/D 转换输入功能和 LCD 功能.PC 端口设定为输出模式,用以输出定时时间的宽度.TM0C0 [6:4]=000 为选择 CTM 的时钟源为fSYS/4, TM0C1[7:6]=11为CTM工作在 Timer Mode, TM0C1 [0]=1即T0CCLR =1, 为选择 CCRA 与主计数匹配,TM0AH TM0AHL=0080H 为256us 定时初值,T0ON=1 为 开启 CTM Timer,最后再开启相关中断标志位,程序进去死循环,等待定时溢出. CTM 中断服务程序:在CTM 的中断服务程序中,首先清除 CCRA 匹配中断标志位,然后 翻转 PC 口,中断返回. 如何使用 如何使用 如何使用 如何使用 HT66F40 CTM Timer 功能 功能 功能 功能

5 程序范例 程序范例 程序范例 程序范例( ( ( (范例 范例 范例 范例 1) ) ) ) 范例

1 程序详细档案 Timer1.zip. 注:以上程序为 T0CCLR=1,主计数与 CCRA 进行匹配定时模式. 实际输出波形图及说明. 注:上图为 T0CCLR=1,主计数与 CCRA 进行匹配定时模式. S/W Flowchart( ( ( (范例 范例 范例 范例 2) ) ) ) 注:上图流程为 T0CCLR=0, 主计数与 CCRP 进行匹配定时模式. PC 口翻转的 周期为 512us 如何使用 如何使用 如何使用 如何使用 HT66F40 CTM Timer 功能 功能 功能 功能

6 程序说明 程序说明 程序说明 程序说明( ( ( (范例 范例 范例 范例 2) ) ) ) 本范例是使用 CTM 的Timer 定时程序,通过 CTM 的CCRP 匹配中断翻转 I/O 的方式将定 时时间宽度输出,以达到定时的目的. 主程序流程介绍:程序首先所使用到的数据储存器清除为零初始化.对CP0C,CP1C 赋值 08H,关闭比较器功能.对ACERL 和SCOMEN 清除为零,关闭 A/D 转换输入功能和 LCD 功能.PC 端口设定为输出模式,用以输出定时时间的宽度.TM0C0[6:4]=000 为选择 CTM 的时钟源为 fSYS/4,TM0C1 [7:6]=11 为CTM 工作在 Timer Mode,TM0C1 [0]=0 即T0CCLR =0为CCRP 与主计数进行匹配, TM0C0[2:0]=100 为512us 溢出, T0ON=1为开启 CTM Timer, 最后再开启相关中断标志位,程序进去死循环,等待定时溢出. CTM 中断服务程序:在CTM 的中断服务程序中,首先清除 CCRP 匹配中断标志位,然后 翻转 PC 口,中断返回. 程序范例 程序范例 程序范例 程序范例( ( ( (范例 范例 范例 范例 2) ) ) ) 范例

2 程序详细档案 Timer2.zip. 注:以上程序为 T0CCLR=0,主计数与 CCRP 进行匹配定时模式. 实际输出波形图及说明. 注:以上程序为 T0CCLR=0,主计数与 CCRP 进行匹配定时模式. 结论 结论 结论 结论 本文通过上面 CTM Timer Mode 的应用实例, 对CTM Timer Mode 的运用进行了阐述,使用 者可根据具体情况来产生定时时间等. PC 口翻转的 周期为 1024us ........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题