第9章 MC9S12XS128定时器模块及其应用实例_第1页
第9章 MC9S12XS128定时器模块及其应用实例_第2页
第9章 MC9S12XS128定时器模块及其应用实例_第3页
第9章 MC9S12XS128定时器模块及其应用实例_第4页
第9章 MC9S12XS128定时器模块及其应用实例_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MC9S12XS单片机原理 及嵌入式系统开发 合肥工业大学 吴 晔,张 阳,滕 勤 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 本章内容本章内容 v9.1 TIM模块概述 v9.2 TIM模块结构和工作原理 v9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置 v9.4 TIM模块的输入捕捉功能及寄存器设置 v9.5 TIM模块的输出比较功能及寄存器设置 v9.6 TIM模块的脉冲累加器功能及寄存器设置 v9.7 TIM模块应用实例 MC9

2、S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 定时器定时器/ /计数器的特点:计数器的特点: v(1)可以有多种工作方式定时方式或计数方式等。 v(2)计数器的模值可变计数的最大值有一定的限制,取决于计数器 的位数。计数的最大值限制了定时的最大值。 v(3)可以根据规定的定时或计数值,当定时时间到或到达计数终点时, 发出中断请求信号,以便实现定时或计数控制。 v定时器计数脉冲来自于系统工作时钟或经过分频后的系统

3、时钟,即 驱动脉冲为内部时钟信号; v计数器计数脉冲来自于芯片外部引脚,即驱动脉冲为外部时钟信号。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 嵌入式系统中定时器嵌入式系统中定时器/ /计数器模块的作用:计数器模块的作用: v【产生波形输出】从MCU的I/O引脚向外输出一系列符合一定时序规范 的周期信号。 v【测量输入波形】从MCU的I/O引脚上检测外部输入的一系列周期信号 的脉宽、周期或频率。 v【统

4、计脉冲或边沿个数】对端口引脚输入的、由外部事件产生的触发 信号进行计数。 v【作为定时基准】产生内部定时,例如用于定时采样等。 vMC9S12XS128定时器模块称为TIM(Timer Module)。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 本节内容本节内容 v9.2 TIM模块结构和工作原理 v9.2.1 TIM模块结构 v9.2.2 TIM模块工作原理 v9.2.3 TIM模块寄存器 v9.2.4 TIM模块中断系统 MC9S12XSMC

5、9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.2 TIM9.2 TIM模块结构和工作原理模块结构和工作原理 9.2.1 TIM9.2.1 TIM模块结构模块结构 v【TIM组成】 v1个16位自由运行计数器 v8个16位输入捕捉/输出比较通道 v1个16位脉冲累加器 v【特点】 v模块时钟输入具有7位预分频器 v8个输入捕捉通道带有边沿检测器 v8个输出比较通道的输出极性可选择 v16位脉冲累加器带有边沿检测器 MC9S12XSMC9S12XS单片机原理及嵌入式系统

6、开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.2 TIM9.2 TIM模块结构和模块结构和 工作原理工作原理 9.2.2 TIM9.2.2 TIM模块工作原模块工作原 理理 v【工作模式】 停止(STOP)模式 冻结(Freeze)模式 等待(Wait)模式 正常(Normal)模式 v【定时器模块框图定时器模块框图】 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其

7、应用实例 9.2 TIM9.2 TIM模块结构和工作原模块结构和工作原 理理 9.2.2 TIM9.2.2 TIM模块工作原理模块工作原理 v【详细功能框图详细功能框图】 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.2 TIM9.2 TIM模块结构和工作原理模块结构和工作原理 9.2.2 TIM9.2.2 TIM模块工作原理模块工作原理 v【自由运行计数器】 vTIM的核心16位自由运行计数器,也称为自由运行主定时器。 v系统复位时自由运行计数

8、器为$0000。 v模块运行时自由运行计数器从$0000$FFFF循环递增计数。 v溢出复零时置位中断标志。 v时钟源TIMCLK PCLK,PACLK,PACLK/256,PACLK/65536。 v预分频器时钟PCLK由总线时钟经过一个7位预分频器得到。 v预分频系数 8种。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 9.2.2 TIM9.2.2 TIM模块工作原理模块工作原理 v【输入捕捉】 v

9、输入捕捉(Input Capture,IC):通过捕获自由运行计 数器的计数值来检测外部事件和记录选定的输入信号 跳变边沿的时间。 v当外部事件发生或信号发生变化时,指定的输入捕捉 通道对应的引脚上产生一个规定的跳变沿(上升沿或 下降沿)。定时器输入通道根据相应引脚上的电平变 化,将当前自由运行计数器中的计数值捕捉到通道寄 存器中。 v如果此时允许输入捕捉中断,则产生一次输入捕捉中 断申请,利用中断服务程序可读取通道计数器数值, 获得事件发生的时刻或信号变化的时刻。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC

10、9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 9.2.2 TIM9.2.2 TIM模块工作原理模块工作原理 v【输出比较】 v输出比较(Output Compare,OC):输出比 较功能利用编程实现特定时刻输出需要的 电平,实现对外部电路的控制。 v用户根据需要设置输出比较寄存器值,自 由运行计数器值与输出比较寄存器值每隔 4个总线周期比较一次,当两者相等时, 会在相应通道引脚上输出预先设定的电平。 v如果允许输出比较中断,则产生一次中断 申请。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开

11、发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 9.2.2 TIM9.2.2 TIM模块工作原理模块工作原理 v【脉冲累加器】 v脉冲累加器(Pulse accumulator,PA):通过检测相应引脚上的有效边沿统计脉冲个数。 TIM模块只有一个16位的脉冲累加器,与PT7引脚复用,其工作方式有事件计数方式和门控 时间累加方式两种。 v【计数方式】 v工作方式不同,脉冲累加器的计数脉冲的来源不同。 事件计数方式计数脉冲来自输入引脚,脉冲累加器相当于普通计数器,即对有效边 沿计数,有效边

12、沿可设定为上升沿或下降沿。输入引脚上每产生一个有效边沿跳变,脉冲 累加计数器的值加1。 v当脉冲累加器溢出时,将置位中断标志。如果允许脉冲累加器溢出中断,则产生一次中断 申请。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 9.2.2 TIM9.2.2 TIM模块工作原理模块工作原理 v【脉冲累加器】 v【计数方式】 门控时间累加方式门控信号来自输入引脚,时钟信号来自内部时钟 PACLK,即总线时钟的64

13、分频(ECLK/64),门控信号可设定为高电平有效或 低电平有效。在有效电平期间,脉冲累加器对PACLK时钟信号进行计数。此时, 脉冲累加器相当于可控计数器,可用来测量脉冲宽度。 v门控时间累加方式下,输入引脚上的有效电平将触发脉冲累加器开始对 ECLK/64时钟进行计数,输入引脚上有效电平结束时的跳变沿将停止计数,同 时置位中断标志。如果允许脉冲累加器中断,则产生一次中断申请。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 T

14、IM模块概述模块概述 9.2.3 TIM9.2.3 TIM模块寄存器模块寄存器 vMC9S12XS128的TIM模块共有48个寄存器,其中9个是系统保留寄存器。 vTIM模块的内存映射表给出了这些寄存器的地址、名称和访问权限。 v对于每个寄存器,所列的地址是地址偏移量,每个寄存器的绝对地址 是TIM模块的基本地址与每个寄存器地址偏移量之和。 vTIM模块的基本地址是0 x0040。 vTIM模块的寄存器分为3类:控制寄存器、数据寄存器和状态寄存器。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128

15、定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 9.2.3 TIM9.2.3 TIM模块寄存器模块寄存器 v【控制寄存器】 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 9.2.3 TIM9.2.3 TIM模块寄存器模块寄存器 v【数据寄存器】 v【状态寄存器】 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章

16、 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 9.2.4 TIM9.2.4 TIM模块中断系统模块中断系统 【ECT模块中断源】 vTIM模块共有11个中断源: v1 1个自由运行定时器溢出中断个自由运行定时器溢出中断 v8 8个定时器通道中断个定时器通道中断 v1 1个脉冲累加器输入中断个脉冲累加器输入中断 v1 1个脉冲累加器溢出中断个脉冲累加器溢出中断 vTIM模块只检测中断并产生中断请 求,不会对中断请求进行处理, 用户根据需要自行编写中断服务 程序处理相应的中断事件。 MC9S12XSMC9S

17、12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.1 TIM9.1 TIM模块概述模块概述 9.1.3 ECT9.1.3 ECT模块的中断系统模块的中断系统 v【ECT模块中断源】 v默认中断优先级次序:从上到下优先级为从高到低。 v写入HPRIO中的代码值实际上是中断矢量起始地址的低字节。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应

18、用实例 本节内容本节内容 v9.3 TIM模块的自由运行计数器和定时器 基本寄存器及设置 v9.3.1 自由运行主定时器与时钟频率设置 v9.3.2 TIM模块基本寄存器及设置 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置模块的自由运行计数器和定时器基本寄存器及设置 9.3.1 9.3.1 自由运行主定时器与时钟频率设置自由运行主定时器与时钟频率设置 v16位自由运行主定时器的

19、工作频率决定输入捕捉/输出比较的分辨能力。 v定时器计数寄存器TCNT对多路转换器输出的时钟信号进行计数,当计数值从 $FFFF溢出变为$0000时,主定时器中断标志寄存器TFLG2中的中断标志TOF置位, 如果此时定时器系统控制寄存器TSCR2中的中断允许位TOI=1,将向CPU申请中断。 v设置TOI=0将禁止自由运行计数器溢出中断,向TFLG2中写入$80将清除TOF标志。 v自由运行主定时器的时钟TIMCLK由4选1多路转换器提供,时钟源的切换由16位脉 冲累加器控制寄存器 PACTL中的CLK1和CLK0确定,时钟可以是PCLK、PACLK、 PACLK/256、PACLK/6553

20、6。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置模块的自由运行计数器和定时器基本寄存器及设置 9.3.1 9.3.1 自由运行主定时器与时钟频率设置自由运行主定时器与时钟频率设置 v其中,PCLK称为P时钟,由自由运行计数器预分频器将总线时钟进行2k 分频后得到(k=07) ,分频系数由定时器系统控制寄存器TSCR2中的PR2、 PR1和PR0三位确定(此时,要求定时器系统控

21、制寄存器TSCR1中的PRNT=0, 即定时器为普通定时器)。 vPACLK是16位脉冲累加器的时钟,频率为ECLK/64。 v为了提高定时器性能,TIM模块增加一个精确定时器分频因子选择寄存器 PTPSR,通过定时器系统控制寄存器TSCR1中的PRNT位选择是否使用PTPSR 寄存器。当TSCR1寄存器中的PRNT=1(定时器为精确定时器)时,PTPSR 寄存器的8位可以对主定时器的预分频值进行附加设置,用来扩大定时范 围。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例

22、定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置模块的自由运行计数器和定时器基本寄存器及设置 9.3.1 9.3.1 自由运行主定时器与时钟频率设置自由运行主定时器与时钟频率设置 v定时器系统控制寄存器TSCR1中的TEN位是TIMCLK时钟的总开关。 v当TEN=0时,自由运行主定时器的时钟被关断,定时器停止工作,但并不 影响脉冲累加器在事件计数方式下的正常工作。 v输出比较通道7(OC7)对自由运行主定时器具有特殊的控制功能。 v当定时器系统控制寄存器TSCR2中的控制位TCRE=1时,如果OC7比较成功, 则定时器计数寄存器TCNT自动复位

23、到$0000。这样可利用OC7实现TCNT在 $0000$xxxx($FFFF)之间的循环计数,从而在保持较高时钟频率 (高分辨力)前提下,缩短计数周期,以满足特殊需要。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置模块的自由运行计数器和定时器基本寄存器及设置 9.3.2 9.3.2 TIMTIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v定时器系

24、统控制寄存器TSCR1和TSCR2用于确定定时器是否工作, 设置自由运行计数器预分频器的分频因子、是否允许定时器溢出中断、 是否允许通过通道7输出比较事件复位定时器计数寄存器TCNT。 v定时器计数寄存器TCNT自由运行主定时器的数据寄存器,用来对 TIMCLK时钟计数。 v主定时器中断标志寄存器TFLOG2表示主定时器是否产生溢出。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设

25、置模块的自由运行计数器和定时器基本寄存器及设置 9.3.2 TIM9.3.2 TIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v1. 1. 定时器系统控制寄存器定时器系统控制寄存器1 (Timer System Control Register 11 (Timer System Control Register 1,TSCR1)TSCR1) v【作用【作用】用于确定定时器是否启动和等待、冻结模式下的行为、标志清除方式等。 TENTEN:定时器使能位:定时器使能位 v1 = 允许定时器正常运行。 v0 = 禁止主定时器(包括计数器),可用于降低功耗。 vTEN控制着

26、定时器的时钟,要使用TIM模块的输入捕捉/输出比较功能,必须将TEN置位。如 果由于任何原因导致定时器未被激活,则脉冲累加器没有ECLK/64时钟,因为ECLK/64时钟 由定时器预分频器产生,此时脉冲累加器将不能工作于门控时间累加方式。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置模块的自由运行计数器和定时器基本寄存器及设置 9.3.2 TIM9.3.2 TIM模块基本寄存器

27、及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v1. 1. 定时器系统控制寄存器定时器系统控制寄存器1 (Timer System Control Register 11 (Timer System Control Register 1,TSCR1)TSCR1) TSWAITSWAI:等待模式下:等待模式下TIMTIM模块停止位模块停止位 v1 = 当MCU处于等待模式时,禁止定时器模块。定时器中断不能使MCU退出等待模式。 v0 = 在等待期间允许TIM模块继续运行。 vTSWAI还影响脉冲累加器。 TSFRZTSFRZ:冻结模式下定时器和模数计数器停止位:冻结模式下定时器和模数

28、计数器停止位 v1 = 只要MCU处于冻结模式,禁止定时器和模数计数器。 v0 = 冻结模式下允许定时器和模数计数器继续运行。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3.2 TIM9.3.2 TIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v1. 1. 定时器系统控制寄存器定时器系统控制寄存器1 (Timer System Control Register 11 (Timer System Control R

29、egister 1,TSCR1)TSCR1) TFFCA TFFCA :快速清除定时器所有标志位:快速清除定时器所有标志位 v1 = 定时器标志快速清除方式。 v对于TFLG1寄存器,读输入捕捉或写输出比较通道($10$1F)将清除相应通道的标志CnF。 v对于TFLG2寄存器,对TCNT寄存器的任何访问将清除TOF标志。 v对PACNT寄存器的任何访问将清除PAFLG寄存器中的PAOVF和PAIF标志。 v【优点】不需要单独的清零操作,节省了软件的额外开销。需要特别注意的是,防止 由于无意的访问导致标志被意外清除。 v0 = 定时器标志正常清除方式。允许清除定时器标志,使其正常运行。 MC9

30、S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置模块的自由运行计数器和定时器基本寄存器及设置 9.3.2 TIM9.3.2 TIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v1. 1. 定时器系统控制寄存器定时器系统控制寄存器1 (Timer System Control Register 11 (Timer System Control Register

31、1,TSCR1)TSCR1) PRNTPRNT:精确定时器设置位:精确定时器设置位 v0 = 使能普通定时器。TCSR2寄存器的PR0、PR1和PR2位用于计数器的分频因子选 择。 v1 = 使能精确定时器。PTPSR寄存器的所有位被用于精确定时器的分频因子选择。 v复位后该位只能写一次。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置模块的自由运行计数器和定时器基本寄存器及设置

32、 9.3.2 TIM9.3.2 TIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v2. 2. 定时器系统控制寄存器定时器系统控制寄存器2 (Timer System Control Register 22 (Timer System Control Register 2,TSCR2)TSCR2) v【作用【作用】用来设置TIM模块自由运行计数器预分频器的分频因子、是否允许定时 器溢出中断、是否允许通过通道7输出比较事件复位定时器计数寄存器TCNT。 TOITOI:定时器溢出中断允许位:定时器溢出中断允许位 v1 = 允许定时器溢出中断,当TOF标志置位时,允许请求

33、硬件中断。 v0 = 禁止定时器溢出中断。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3.2 TIM9.3.2 TIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v2. 2. 定时器系统控制寄存器定时器系统控制寄存器2 (Timer System Control Register 22 (Timer System Control Register 2,TSCR2)TSCR2) TCRETCRE:定时器计数器复位允许

34、:定时器计数器复位允许 v该位用来设置是否允许通过成功的输出比较7事件复位定时器/计数器。这种工作模式类似 于递增计数模数计数器。 v1 = 通过成功的输出比较7复位自由运行计数器。 v0 = 禁止计数器复位,计数器自由运行。 v如果TC7 = $0000且TCRE = 1,TCNT一直保持$0000。 v如果TC7 = $FFFF且TCRE = 1,当TCNT从$FFFF复位到$0000时,TOF将不会置位。 v【注意】如果TCRE=1且TC70,TCNT的循环周期将是TC7预分频计数器宽度+1个总线时钟。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发

35、 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3.2 TIM9.3.2 TIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v2. 2. 定时器系统控制寄存器定时器系统控制寄存器2 (Timer System Control Register 22 (Timer System Control Register 2, TSCR2)TSCR2) PR2PR2、PR1PR1、PR0PR0:定时器预分频器选择位:定时器预分频器选择位 v当PSCR1中PRNT=0时,这3位规定了插入在总线时钟与主定时器计数器之间

36、2分频 的级数。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3.2 TIM9.3.2 TIM模块基本寄存器及模块基本寄存器及 设置设置 v【TIM模块的基本寄存器】 v3.3.精确定时器预分频因子选精确定时器预分频因子选 择寄存器(择寄存器(Precision Timer Precision Timer PrescalerPrescaler Select Register Select Register, PTPSRPTPSR) PTPS7:

37、0PTPS7:0:精确定时器预分频选择:精确定时器预分频选择 位。位。 v这8位规定了主定时器预分频器 的分频比率。只有当TSCR1寄存 器中PRNT=1时,该寄存器才有效。 v预分频因子可跟据PTPS7:0的 值和PRNT位状态,计算公式:预 分频因子=PTPS7:0+1 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3 TIM9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置模块的自由运行计数器和定时器基本寄存器及设置 9.3.2 T

38、IM9.3.2 TIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v4. 4. 定时器计数寄存器定时器计数寄存器(Timer Count Register(Timer Count Register,TCNT)TCNT) v16位主定时器是一个递增计数器,不停地对时钟信号TIMCLK进行计数,定时器计 数寄存器TCNT的内容即为计数结果。 vTCNT寄存器值的访问要求在一个时钟周期内完成,且应该按字访问,分别读/写 操作高字节寄存器和低字节寄存器可能会产生不同的结果。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章

39、 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.3.2 TIM9.3.2 TIM模块基本寄存器及设置模块基本寄存器及设置 v【TIM模块的基本寄存器】 v5. 5. 主定时器中断标志寄存器主定时器中断标志寄存器2(Main Timer Interrupt Flag 22(Main Timer Interrupt Flag 2,TFLG2)TFLG2) vTFLG2寄存器只有一个标志位TOF,表示何时出现自由运行定时器的溢出中断条件。 v当TSCR1寄存器中的TEN=1或PACTL寄存器中的PAEN=1时,TFLG2寄存器的第7位写“1”操作 将清

40、零,写“0”操作无效。 TOFTOF:主定时器溢出标志:主定时器溢出标志 v当16位自由运行定时器从$FFFF溢出变为$0000时,该位置1。向该位写1将清除TOF标志。 vTOF =1时,如果允许溢出中断(TSCR2寄存器中TOI=1),则将引发中断。在禁止中断的情况 下,也可以通过软件查询该标志来进行相应的处理。 v如果TSCR1寄存器中的TFFCA=1,对TCNT的任何访问将清零TFLG2寄存器。 v如果TC7=$FFFF且TSCR1寄存器中的TCRE = 1,当TCNT从$FFFF溢出复零时,TOF将不会置位。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入

41、式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 本节内容本节内容 v9.4 TIM模块的输入捕捉功能及寄存器设置 v9.4.1 TIM模块输入捕捉功能 v9.4.2 与输入捕捉功能相关的寄存器及设置 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.4 TIM9.4 TIM模块的输入捕捉功能及寄存器设置模块的输入捕捉功能及寄存器设置 vS12XS系列MCU的TIM具有8个输入捕捉/

42、输出比较(IC/OC)通道IOC0IOC7,对应 于端口PT0PT7。由于输入捕捉与输出比较通道共享引脚、通道寄存器和中断 逻辑,因此,每个通道同一时刻只能启用其中一个功能,可以通过设置定时器 输入捕捉/输出比较选择寄存器TIOS中的IOSn位,选择输入捕捉/输出比较功能。 9.4.1 TIM9.4.1 TIM模块输入捕捉功能模块输入捕捉功能 v输入捕捉功能通过捕获自由运行计数器来监视外部事件。 v当通道设置为输入捕捉功能时,自由运行定时器启动后,边沿检测器开始监视 引脚事件,一旦引脚电平出现设定的有效跳变,便将自由运行计数器寄存器 TCNT的当前值捕捉到捕捉寄存器TCn(n=07)。 v有效

43、跳变边沿可以是上升沿、下降沿或任意跳变,由定时器控制寄存器TCTL3 和TCTL4中的EDGxB和EDGxA位确定。 v也可设置位EDGxB:EDGxA=00,关闭边沿检测器,停止通道捕捉。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.4 TIM9.4 TIM模块的输入捕捉功能及寄存器设置模块的输入捕捉功能及寄存器设置 9.4.1 TIM9.4.1 TIM模块输入捕捉功能模块输入捕捉功能 v由于同步电路原因,引脚输入的最小脉宽要求大于2个总线时

44、钟周期。 v捕捉完成后,将置位主定时器中断标志寄存器TFLG1中的中断请求标志位CnF, 如果定时器中断允许寄存器TIE中的中断允许位CnI=1,且CCR寄存器中的控制位 I=1,则产生一次输入捕捉中断申请,转向TCn中断服务程序。 v如果不采用中断方式响应引脚事件,可以置CnI=0,通过软件查询标志位CnF来 进行处理。各个IC/OC通道可以单独发出中断请求,或关闭中断。 v事件处理完成后,通过向TFLG1寄存器的对应位写入1,以清除标志CnF。 vTIM模块输入捕捉通道中断标志位C0FC7F的置位条件如图所示。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系

45、统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.4 TIM9.4 TIM模块的输入捕捉功能及寄存器设置模块的输入捕捉功能及寄存器设置 9.4.1 TIM9.4.1 TIM模块输入捕捉功能模块输入捕捉功能 vS12XS系列MCU的8路输入捕捉通道都不带缓冲寄存器,也没有覆盖控制 寄存器,因此,发生一次输入捕捉事件后,TC寄存器会立即写入新值。 v如果发生新的捕捉事件时,上一次的数值还没有被读出,上一次捕捉 的值将被新值所覆盖。 v另外,TIM的输入捕捉没有延迟计数器,不可以通过延迟给定的时间间 隔产生输出脉冲的方法来避免窄脉宽

46、的影响。 vS12XS系列MCU的IC模块事件触发信号只能来自于本通道的输入引脚。 v当输入引脚出现有效事件时,引脚电平变化时刻主定时器的计数值将 被捕获到相应通道的捕捉寄存器中。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.4 TIM9.4 TIM模块的输入捕捉功能及寄存器设置模块的输入捕捉功能及寄存器设置 9.4.29.4.2与输入捕捉功能相关的寄存器及设置与输入捕捉功能相关的寄存器及设置 v1. 1. 定时器输入捕捉定时器输入捕捉/ /输

47、出比较选择寄存器输出比较选择寄存器(Timer Input Capture/Output (Timer Input Capture/Output Compare SelectCompare Select,TIOS)TIOS) v【作用】用于指定各通道的功能,即配置为输入捕捉或输出比较通道。 IOS7:0IOS7:0:输入捕捉或输出比较通道配置位:输入捕捉或输出比较通道配置位 v1 = 相应的通道用作输出比较。 v0 = 相应的通道用作输入捕捉。 vTIM模块各通道设置成输入捕捉通道时,具有内部上拉功能;设置成输出比较通 道时,具有降功率驱动功能。但上电后处于关闭状态,可以根据需要启用。 MC9

48、S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.4 TIM9.4 TIM模块的输入捕捉功能及寄存器设置模块的输入捕捉功能及寄存器设置 9.4.29.4.2与输入捕捉功能相关的寄存器及设置与输入捕捉功能相关的寄存器及设置 v2. 2. 定时器定时器IC/OCIC/OC寄存器寄存器0-7(Timer Input Capture/Output Compare 0-7(Timer Input Capture/Output Compare Registers 0-

49、7Registers 0-7,TC0-TC7)TC0-TC7) v每个IC/OC通道都有一个16位的寄存器。对于IC通道,TCn用于锁存自由运行定 时器/计数器的计数值(n=07)。对于OC通道,TCn用于存放比较值。 v各个寄存器中的位取决于相应通道TIOS寄存器中的位,当相应的输入捕捉边沿 检测器检测到规定的边沿时,这些寄存器用于锁存自由运行计数器的值;输出 比较时用于触发输出动作。 图图9.14 定时器输入捕捉定时器输入捕捉/输出比较寄存器输出比较寄存器 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S1

50、2XS128定时器模块及其应用实例定时器模块及其应用实例 9.4.29.4.2与输入捕捉功能相关的寄存器及设置与输入捕捉功能相关的寄存器及设置 v3. 3. 定时器控制寄存器定时器控制寄存器3 3和和4(Timer Control Registers 3 and 44(Timer Control Registers 3 and 4,TCTL3/ TCTL3/ TCTL4)TCTL4) v【作用】用于设置对应通道的输入捕捉极性。 EDGnBEDGnB,EDGnAEDGnA:输入捕捉边沿控制位:输入捕捉边沿控制位 v这8对控制位对输入捕捉边沿检测电路进行设置,控制位的设置如表9-8所示。 v当ED

51、GnB=EDGnA=0时,第n通道的IC功能与输入引脚断开。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 v9.4.29.4.2与输入捕捉功能相关的寄存器及设置与输入捕捉功能相关的寄存器及设置 v4.4.定时器中断使能寄存器(定时器中断使能寄存器(Timer Interrupt Enable RegisterTimer Interrupt Enable Register,TIETIE) v【作用】TIE寄存器用来对定时器中断进行管理,包含8个中断屏

52、蔽位,与主定 时器中断标志寄存器TFLG1中的标志位一一对应。 v如果TIE中的控制位被清零,禁止相应的中断标志CnF引起硬件中断。如果置位, 允许相应的中断标志引起中断。 C7IC7IC0IC0I:输入捕捉:输入捕捉/ /输出比较输出比较“n”n”中断使能位中断使能位 v1 = 允许输入捕捉/输出比较中断。 v0 = 禁止输入捕捉/输出比较中断。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.4 TIM9.4 TIM模块的输入捕捉功能及寄存器设

53、置模块的输入捕捉功能及寄存器设置 9.4.29.4.2与输入捕捉功能相关的寄存器及设置与输入捕捉功能相关的寄存器及设置 v5 5主定时器中断标志寄存器主定时器中断标志寄存器1 1(Main Timer Interrupt Flag 1Main Timer Interrupt Flag 1,TFLG1TFLG1) v【作用】表示输入捕捉/输出比较通道何时出现中断条件,当发生输入捕捉/输出比较事件 时,这些位被置位。 C7FC7FC0FC0F:输入捕捉:输入捕捉/ /输出比较通道输出比较通道“n”n”标志位标志位 v1 = 输入捕捉/ /输出比较通道已经出现有效动作。 v0 = 上次清除标志以来,

54、输入捕捉/输出比较通道没有出现有效动作。 v向标志寄存器中的某一位写一个1,将清除该标志。当系统控制寄存器TSCR1中的控制位 TFFCA=1时,读输入捕捉通道或写输出比较通道TC0TC7将使相应的通道标志CnF清零。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 本节内容本节内容 v9.5 TIM模块的输出比较功能及寄存器设置 v9.5.1 TIM模块输出比较功能 v9.5.2 与输出比较功能相关的寄存器及设置 MC9S12XSMC9S12XS单片

55、机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.5 TIM9.5 TIM模块的输出比较功能及寄存器设置模块的输出比较功能及寄存器设置 v输出比较用于产生程序控制下的输出动作或定时器事件,该动作或事 件与自由运行计数器同步。 vS12XS MCU的输出比较通道由16位比较器和主定时器计数寄存器TCNT 组成,与输入捕捉共享引脚、通道寄存器、中断逻辑等。 v当定时器通道配置成输出比较方式时,定时器通道寄存器TCn便作为 输出比较寄存器,16位比较器将TCNT的计数值与比较寄存器中的内容

56、与进行比较,若两者相等,便会在该通道的引脚上输出预设的电平, 同时置位中断标志CnF。在产生输出动作时,如果允许中断,还会产 生一个硬件定时中断。 v输出比较通道OC7具有特殊的权限,可以废止其他OC通道的动作,直 接决定各个输出通道的状态。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.5 TIM9.5 TIM模块的输出比较功能及寄存器设置模块的输出比较功能及寄存器设置 9.5.1 9.5.1 TIMTIM模块输出比较功能模块输出比较功能 v如

57、果定时器输入捕捉/输出比较选择寄存器TIOS的相应位TIOSn=1,则定时器 通道IOCn被设置成输出比较(OC)通道(n=07),对应的引脚PTn强制为OC输出 引脚。 v可以根据需要,计算出希望事件出现的时刻,对TCn寄存器赋值。 v当定时器系统控制寄存器TSCR1中的TEN=1时,自由运行定时器启动, 16位比 较器开始监视TCNT的计数值,一旦TCNT=TCn,则根据寄存器TCTL1或TCTL2中 的输出模式选择位OMn和输出电平选择位OLn的设置,在对应引脚产生预定的 动作,动作包括清0、置1和翻转。 v也可以设置OMn:OLn=00,切断输出控制逻辑与引脚的联系,禁止该通道输出。

58、MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9.5 TIM9.5 TIM模块的输出比较功能及寄存器设置模块的输出比较功能及寄存器设置 9.5.1 9.5.1 TIMTIM模块输出比较功能模块输出比较功能 v产生输出动作的同时,内部逻辑还将主定时器中断标志寄存器TFLG1中的中断 请求标志CnF置1。如果定时器中断允许寄存器TIE中的CnI=1,且CCR中的控制 位I=1,则转向TCn中断服务程序。也可以置CnI=0,通过软件查询标志CnF来 确定是

59、否出现OC事件。 v事件处理后,可以向TFLG1寄存器的对应位写入1,以清除中断请求标志CnF。 为了响应随后的事件,需要向TCn寄存器重赋定时常数,即下一次事件的预期 时刻,然后等待下一次事件发生。 vECT模块允许通过设置定时器强制输出比较寄存器CFORC中的强制输出比较位 FOCn(n=07),迫使某个或几个通道立即产生OMn和OLn所规定输出比较动作, 但强制输出比较不会置位通道标志位CnF。 MC9S12XSMC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发 第第9 9章章 MC9S12XS128MC9S12XS128定时器模块及其应用实例定时器模块及其应用实例 9

60、.5 TIM9.5 TIM模块的输出比较功能及寄存器设置模块的输出比较功能及寄存器设置 9.5.1 9.5.1 TIMTIM模块输出比较功能模块输出比较功能 v定时器通道7输出比较的输出控制部分具有特殊功能,在OC7通道比较成功后,可以 “越权”强行设置通道OC0OC6的输出。 vTC7的输出比较不同于其他通道的输出比较,它能够设置在定时器任何一个I/O引脚上 产生输出动作,并且能够设置在比较事件发生时将自由运行计数器复位。 v如果通道OC7的动作与通道OC0OC6的动作同时发生,OC7通道对它们的强行设置具有 更高的优先权。 v设置输出比较7屏蔽寄存器OC7M的OC7Mn=1,则OC7强行参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论