MC9S12XS128定时器模块及其应用实例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TIM模块共有11个中断源: 1个自由运行定时器溢出中断 8个定时器通道中断 1个脉冲累加器输入中断
1个脉冲累加器溢出中断
TIM模块只检测中断并产生中断请
求,不会对中断请求进行处理, 用户根据需要自行编写中断服务 程序处理相应的中断事件。
《MC9S12XS单片机原理及嵌入式系统开发》
影响脉冲累加器在事件计数方式下的正常工作。
输出比较通道7(OC7)对自由运行主定时器具有特殊的控制功能。
当定时器系统控制寄存器TSCR2中的控制位TCRE=1时,如果OC7比较成功,
则定时器计数寄存器TCNT自动复位到$0000。这样可利用OC7实现TCNT在 $0000~$xxxx(<$FFFF)之间的循环计数,从而在保持较高时钟频率 (高分辨力)前提下,缩短计数周期,以满足特殊需要。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
9.2.2 TIM模块工作原理
【输入捕捉】
输入捕捉(Input Capture,IC):通过捕获自由运行计
数器的计数值来检测外部事件和记录选定的输入信号 跳变边沿的时间。
9.2.1 TIM模块结构
【TIM组成】 1个16位自由运行计数器 8个16位输入捕捉/输出比较通道 1个16位脉冲累加器 【特点】 模块时钟输入具有7位预分频器 8个输入捕捉通道带有边沿检测器 8个输出比较通道的输出极性可选择 16位脉冲累加器带有边沿检测器
《MC9S12XS单片机原理及嵌入式系统开发》
【脉冲累加器】

脉冲累加器(Pulse accumulator,PA):通过检测相应引脚上的有效边沿统计脉冲个数。 TIM模块只有一个16位的脉冲累加器,与PT7引脚复用,其工作方式有事件计数方式和门控 时间累加方式两种。
【计数方式】

工作方式不同,脉冲累加器的计数脉冲的来源不同。
★ 事件计数方式——计数脉冲来自输入引脚,脉冲累加器相当于普通计数器,即对有效边
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
9.2.3 TIM模块寄存器
【数据寄存器】
【状态寄存器】
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
9.2.4 TIM模块中断系统
【ECT模块中断源】
本节内容
9.3 TIM模块的自由运行计数器和定时器
基本寄存器及设置
9.3.1 自由运行主定时器与时钟频率设置
9.3.2 TIM模块基本寄存器及设置
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置
TIM模块的基本地址是0x0040。 TIM模块的寄存器分为3类:控制寄存器、数据寄存器和状态寄存器。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
9.2.3 TIM模块寄存器
【控制寄存器】
《MC9S12XS单片机原理及嵌入式系统开发》
9.6 TIM模块的脉冲累加器功能及寄存器设置
9.7 TIM模块应用实例
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
定时器/计数器的特点:
(1)可以有多种工作方式——定时方式或计数方式等。 (2)计数器的模值可变——计数的最大值有一定的限制,取决于计数器
第9章 MC9S12XS128定时器模块及其应用实例
9.2 TIM模块结构和工作原 理
9.2.2 TIM模块工作原理
【详细功能框图】
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.2 TIM模块结构和工作原理
9.2.2 TIM模块工作原理
的脉宽、周期或频率。
【统计脉冲或边沿个数】对端口引脚输入的、由外部事件产生的触发
信号进行计数。
【作为定时基准】产生内部定时,例如用于定时采样等。
MC9S12XS128定时器模块称为TIM(Timer Module)。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
的位数。计数的最大值限制了定时的最大值。
(3)可以根据规定的定时或计数值,当定时时间到或到达计数终点时,
发出中断请求信号,以便实现定时或计数控制。
定时器——计数脉冲来自于系统工作时钟或经过分频后的系统时钟,即
驱动脉冲为内部时钟信号;
计数器——计数脉冲来自于芯片外部引脚,即驱动脉冲为外部时钟信号。
9.1 TIM模块概述
9.2.3 TIM模块寄存器
MC9S12XS128的TIM模块共有48个寄存器,其中9个是系统保留寄存器。
TIM模块的内存映射表给出了这些寄存器的地址、名称和访问权限。 对于每个寄存器,所列的地址是地址偏移量,每个寄存器的绝对地址
是TIM模块的基本地址与每个寄存器地址偏移量之和。
本节内容
9.2 TIM模块结构和工作原理
Biblioteka Baidu 9.2.1 TIM模块结构
9.2.2 TIM模块工作原理
9.2.3 TIM模块寄存器 9.2.4 TIM模块中断系统
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.2 TIM模块结构和工作原理
门控时间累加方式下,输入引脚上的有效电平将触发脉冲累加器开始对
ECLK/64时钟进行计数,输入引脚上有效电平结束时的跳变沿将停止计数,同 时置位中断标志。如果允许脉冲累加器中断,则产生一次中断申请。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.2.2 TIM模块工作原理
【脉冲累加器】 【计数方式】
★ 门控时间累加方式——门控信号来自输入引脚,时钟信号来自内部时钟
PACLK,即总线时钟的64分频(ECLK/64),门控信号可设定为高电平有效或 低电平有效。在有效电平期间,脉冲累加器对PACLK时钟信号进行计数。此时,
脉冲累加器相当于可控计数器,可用来测量脉冲宽度。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述 嵌入式系统中定时器/计数器模块的作用:
【产生波形输出】从MCU的I/O引脚向外输出一系列符合一定时序规范
的周期信号。
【测量输入波形】从MCU的I/O引脚上检测外部输入的一系列周期信号
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
9.1.3 ECT模块的中断系统
【ECT模块中断源】 默认中断优先级次序:从上到下优先级为从高到低。

写入HPRIO中的代码值实际上是中断矢量起始地址的低字节。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
【自由运行计数器】
TIM的核心——16位自由运行计数器,也称为自由运行主定时器。 系统复位时——自由运行计数器为$0000。 模块运行时——自由运行计数器从$0000~$FFFF循环递增计数。 溢出复零时——置位中断标志。 时钟源TIMCLK—— PCLK,PACLK,PACLK/256,PACLK/65536。 预分频器时钟PCLK——由总线时钟经过一个7位预分频器得到。 预分频系数—— 8种。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置
9.3.1 自由运行主定时器与时钟频率设置
其中,PCLK称为P时钟,由自由运行计数器预分频器将总线时钟进行2k
分频后得到(k=0~7) ,分频系数由定时器系统控制寄存器TSCR2中的PR2、 PR1和PR0三位确定(此时,要求定时器系统控制寄存器TSCR1中的PRNT=0, 即定时器为普通定时器)。
9.3.1 自由运行主定时器与时钟频率设置
16位自由运行主定时器的工作频率决定输入捕捉/输出比较的分辨能力。 定时器计数寄存器TCNT对多路转换器输出的时钟信号进行计数,当计数值从
$FFFF溢出变为$0000时,主定时器中断标志寄存器TFLG2中的中断标志TOF置位, 如果此时定时器系统控制寄存器TSCR2中的中断允许位TOI=1,将向CPU申请中断。
第9章 MC9S12XS128定时器模块及其应用实例
9.2 TIM模块结构和
工作原理
9.2.2 TIM模块工作原 理
【工作模式】
停止(STOP)模式 冻结(Freeze)模式 等待(Wait)模式 正常(Normal)模式 【定时器模块框图】
《MC9S12XS单片机原理及嵌入式系统开发》
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
9.2.2 TIM模块工作原理
【输出比较】
输出比较(Output Compare,OC):输出比
较功能利用编程实现特定时刻输出需要的 电平,实现对外部电路的控制。
用户根据需要设置输出比较寄存器值,自
《MC9S12XS单片机原理 及嵌入式系统开发》
合肥工业大学
吴 晔,张 阳,滕 勤
第9章 MC9S12XS128定时器模块及其应用实例 本章内容
9.1 TIM模块概述 9.2 TIM模块结构和工作原理 9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置 9.4 TIM模块的输入捕捉功能及寄存器设置 9.5 TIM模块的输出比较功能及寄存器设置
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置
9.3.1 自由运行主定时器与时钟频率设置
定时器系统控制寄存器TSCR1中的TEN位是TIMCLK时钟的总开关。 当TEN=0时,自由运行主定时器的时钟被关断,定时器停止工作,但并不
当外部事件发生或信号发生变化时,指定的输入捕捉
通道对应的引脚上产生一个规定的跳变沿(上升沿或
下降沿)。定时器输入通道根据相应引脚上的电平变 化,将当前自由运行计数器中的计数值捕捉到通道寄 存器中。
如果此时允许输入捕捉中断,则产生一次输入捕捉中
断申请,利用中断服务程序可读取通道计数器数值, 获得事件发生的时刻或信号变化的时刻。
设置TOI=0将禁止自由运行计数器溢出中断,向TFLG2中写入$80将清除TOF标志。 自由运行主定时器的时钟TIMCLK由4选1多路转换器提供,时钟源的切换由16位脉
冲累加器控制寄存器 PACTL中的CLK1和CLK0确定,时钟可以是PCLK、PACLK、
PACLK/256、PACLK/65536。
PACLK是16位脉冲累加器的时钟,频率为ECLK/64。 为了提高定时器性能,TIM模块增加一个精确定时器分频因子选择寄存器
PTPSR,通过定时器系统控制寄存器TSCR1中的PRNT位选择是否使用PTPSR 寄存器。当TSCR1寄存器中的PRNT=1(定时器为精确定时器)时,PTPSR 寄存器的8位可以对主定时器的预分频值进行附加设置,用来扩大定时范 围。
由运行计数器值与输出比较寄存器值每隔 4个总线周期比较一次,当两者相等时, 会在相应通道引脚上输出预先设定的电平。
如果允许输出比较中断,则产生一次中断
申请。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
9.2.2 TIM模块工作原理
沿计数,有效边沿可设定为上升沿或下降沿。输入引脚上每产生一个有效边沿跳变,脉冲
累加计数器的值加1。

当脉冲累加器溢出时,将置位中断标志。如果允许脉冲累加器溢出中断,则产生一次中断 申请。
《MC9S12XS单片机原理及嵌入式系统开发》
第9章 MC9S12XS128定时器模块及其应用实例
9.1 TIM模块概述
相关文档
最新文档