嵌入式技术基础与实践(第2版)第07章资料

上传人:n**** 文档编号:93570276 上传时间:2019-07-24 格式:PPT 页数:41 大小:3.75MB
返回 下载 相关 举报
嵌入式技术基础与实践(第2版)第07章资料_第1页
第1页 / 共41页
嵌入式技术基础与实践(第2版)第07章资料_第2页
第2页 / 共41页
嵌入式技术基础与实践(第2版)第07章资料_第3页
第3页 / 共41页
嵌入式技术基础与实践(第2版)第07章资料_第4页
第4页 / 共41页
嵌入式技术基础与实践(第2版)第07章资料_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《嵌入式技术基础与实践(第2版)第07章资料》由会员分享,可在线阅读,更多相关《嵌入式技术基础与实践(第2版)第07章资料(41页珍藏版)》请在金锄头文库上搜索。

1、第7章 定时器模块,主要内容,7.1 计数器/定时器的基本工作原理 7.2 定时器模块的编程结构与编程实例 7.3 定时器模块的输入捕捉功能 7.4 定时器模块的输出比较功能 7.5 定时器模块的脉宽调制(PWM)输出功能,7.1 计数器/定时器的基本工作原理,7.1.1 实现计数与定时的基本方法 完全硬件方式 即完全用硬件电路实现计数/定时功能 完全软件方式 通过编程,利用计算机执行指令的时间实现定时 可编程计数器/定时器 利用专门的可编程计数器/定时器实现计数与定时,克服了完全 硬件方式与完全软件方式的缺点,综合利用了它们各自的优点,MC9S08AW60系列中的定时器系统包括两个独 立的T

2、PM:一个6通道的TPM1和一个2通道的TPM2。 TPM模块管脚和I/O管脚复用。,Slide 4,7.1 概述,定时器/PWM模块TPM(Timer/Pulse-Width Modulator),定时器系统的特性 总共8个通道 每一个通道都可作为输入捕捉、输出比较、或带缓冲的边缘对齐PWM 上升沿、下降沿或任何边沿的输入捕捉触发 变1、变0或翻转等输出比较动作 PWM输出极性可选 每一个TPM的所有通道都可以配置成为带缓冲的中心对齐脉宽调制CPWM(buffered, center-aligned pulse-width modulation) 每一个TPM预分频器的时钟源都可以独立选择总

3、线时钟、固定系统时钟或外部管脚: 预分频除数可以为1,2,4,8,16,32,64或128 可以用外部时钟输入(仅对64管脚的封装):TPM1用TPM1CLK,TPM2用TPM2CLK 16位自由运行或者增数/减数的CPWM技术操作 16位预置计数寄存器用于控制计数范围 定时器系统允许 对每个TPM,每个通道一个中断,还有一个计数中止中断,Slide 5,7.1 概述,内部结构 两个独立的TPM 每个TPM都由1个16位的计数器与n (n=6 or 2)个输入/输出通道组成 每一个通道都可作为输入捕捉、输出比较、或带缓冲的边缘对齐PWM,Slide 6,7.2 功能描述,自由计数定时 核心是一

4、个16位的计数器 三种时钟源之一经过分频之后的脉冲即作为定时器的计数脉冲 每过一个计数脉冲, Counter便自动+1,Counter加到FFFF后翻转到$0000,同时置溢出标志位TOF为1,然后重新开始计数 溢出时若TOIE为1,还会产生中断请求 例如fbus=4MHz,分频比=1,则计数脉冲的周期为0.25us;这样产生溢出的时间间隔就是0.25us65535=16.38375ms Fbus和分频比的不同可以产生不同的溢出时间间隔;但是这种自由计数定时方式定时有限,Slide 7,7.2 功能描述,自由计数定时 核心是一个16位的计数器 只读的16位TPM计数寄存器由两个字节寄存器TPM

5、xCNTH和TPMxCNTL构成。,Slide 8,7.2 功能描述,预置计数定时 向16位模数计数寄存器TPMxMODH:TPMxMODL写入一个确定的数值,则计数器每进行一次计数都会将计数和模数计数寄存器的值进行比较,如果相同就产生溢出,同时置溢出标志位TOF为1,然后重新开始计数,溢出时若TOIE为1,还会产生中断请求 若fbus=2MHz,Pre=32,计数间隔2MHz/32,即16s计数一次。如果TPMMOD=62500,则得1秒溢出间隔。 自由计数是预置计数在TPMMOD0000H时的特例,Slide 9,7.2 功能描述,预置计数定时 向16位模数计数寄存器TPMxMODH:TP

6、MxMODL写入一个确定的数值,则计数器每进行一次计数都会将计数和模数计数寄存器的值进行比较,如果相同就产生溢出,同时置溢出标志位TOF为1,然后重新开始计数,溢出时若TOIE为1,还会产生中断请求,Slide 10,7.2 功能描述,TPM时钟源设定,Slide 11,7.2 功能描述,TPM溢出中断,Slide 12,7.2 功能描述,TPM溢出中断,Slide 13,7.2 功能描述,TPM1溢出中断向量表首地址为$FFE8 TPM2溢出中断向量表首地址为$FFE2,每个自由计数器包含三个寄存器: 一个8位状态控制寄存器 (TPMxSC) 一个16位计数器 (TPMxCNTH:TPMxC

7、NTL) 一个16位模数寄存器 (TPMxMODH:TPMxMODL) 其中,x=1/2,Slide 14,7.3 模块寄存器,定时器x状态控制寄存器(TPMxSC),Slide 15,7.3 模块寄存器,定时器x状态控制寄存器(TPMxSC),Slide 16,7.3 模块寄存器,定时器x计数寄存器(TPMxCNTH:TPMxCNTL) 只读的16位TPM计数寄存器由两个字节寄存器TPMxCNTH和TPMxCNTL构成。读两个字节中的任何一个字节都会把两个字节内容锁存进内部缓冲器,直到另外一个字节也被读取为止。这允许以任何顺序读取连贯的16位寄存器。,Slide 17,7.3 模块寄存器,定

8、时器x模数寄存器(TPMxMODH:TPMxMODL) 可读/写的TPM模数寄存器中包含TPM计数器的模数值。当TPM计数器到达这个模数值后,TPM计数器在下一个时钟要么重新从0x0000开始计数(CPWMS=0),要么从这个模数值往下减1计数(CPWMS=1),同时溢出标志TOF(Timer Overflow Flag)变为1。只写TPMxMODH或者TPMxMODL其中的一个会抑制住TOF和溢出中断直到些另外一个字节也被写为止,因此两个寄存器一定都要写,不能只写一个而不管另一个。复位会使TPM模数寄存器为0x0000,相当处于自由运行定时器计数模式(模数禁止)。,Slide 18,7.3

9、模块寄存器,定时器功能框图,7.2 定时器模块的编程结构与编程实例,7.2.1 定时器模块的编程寄存器 TPM状态和控制寄存器 TPM状态和控制寄存器(Timer x Status and Control Registers,TPMxSC)各个位的定义: D7TOF为定时器溢出标志位(Timer Over Flag Bit) D6TOIE为定时器溢出中断允许位(Timer Overflow Interrupt Enable Bit) D5CPWMS为中心对齐PWM选择位(Center-Aligned PWM Select Bit),D4D3CLKS为时钟源选择位(Clock Source Se

10、lect Bit) TPM时钟源选择 D2D0PS2PS0为定时器分频因子选择位(Timer Prescaler Select Bits),TPM计数寄存器 PM计数寄存器(Timer x Counter Register,TPMxCNTH:TPMxCNTL)是一个16位寄存器,分为高8位、低8位,它的作用是:当定时器的状态和控制寄存器的TSTOP位=0时,即允许计数时,每一计数周期,其值自动加1,当它达到设定值(在16位预置寄存器中)时,TOF=1,同时计数寄存器自动清0。复位时,计数寄存器的初值为$0000。 TPM预置寄存器 它是一个16位寄存器,分为高8位、低8位,它的作用是:设定计数

11、寄存器的计数溢出值。复位时,预置寄存器的初值为$FFFF。,7.2.2 定时溢出中断构件与编程实例,MCU方程序 MCU的十分秒与PC机的十分秒对比测试PC方C#程序,定时器溢出中断实验PC机方C#程序界面,7.3 输入捕捉功能,7.3.1 输入捕捉的基本含义 用途:通过记录输入信号的连续的沿跳变,就可以用软件算出输入信号的周期和脉宽。定时器捕捉到特定的沿跳变后,把计数寄存器当前的值锁存到通道寄存器 用来测信号的频率 定时器COUNTER按指定的时钟速率自由计数,在通道的I/O引脚上输入外接信号,输入捕捉功能就能用来监测该输入信号的跳变。一旦捕捉到外 部信号发生变化时,定时器将自由运行计数器C

12、OUNTER 的当前值锁存到输入捕捉寄存器 TPMxCOVH:TPMxCOVL,读出TPMxCOVH:TPMxCOVL的计数值即获得了时间信息。如果允许输入捕捉中断,系统还会产生一次中断请求。,7.3 输入捕捉功能,在AW60的LQFP-64封装形式中,第4、5、6、7、8、11、15、16引脚为定时器的通道引脚,它们是通用I/O与定时器输入捕捉的复用引脚。作为定时器输入捕捉功能使用时,它们是定时器通道的输入捕捉引脚,7.3 输入捕捉功能,7.4.2 相关寄存器 TPMxCnVH : TPMxCnVL TPM通道数值寄存器 TPMxCnSC TPM通道状态和控制寄存器,7.3 输入捕捉功能,T

13、PM通道数值寄存器 定时器1有6个通道,定时器2 有2个通道,这8个通道都有相应的数值寄存器。通道寄存器在该通道用作输入捕捉时的作用是:当指定的沿跳变发生 (即定时系统捕捉到沿跳变) 时,锁存计数寄存器的值。通道寄存器是一个16位的寄存器,分为高字节和低字节,在读取的时候要分别读取。为了防止两次读取之间该寄存器的内容发生变化而产生虚假的输入捕捉计数值,系统会在读取高字节时锁存低字节的内容,这时即使又发生特定的沿跳变,通道寄存器的内容也不会改变。所以,若要读取整个通道寄存器,必须先读高字节,再读低字节。,TPMxCnVH : TPMxCnVL,7.3 输入捕捉功能,TPM通道状态和控制寄存器,D

14、7CHnF为通道n标志位(Channel n Flag Bit): 发生输入捕捉时,置1. 读该寄存器并向该位写入0,清该标志 D6CHInE为通道中断允许位(Channel n Interrupt Enable Bit) =1:允许通道n中断; =0:禁止通道n中断; D5D4MSnBMSnA为通道n模式选择位(Mode Select Bit) D3D2ELSnBELSnA为跳变沿/输出电平选择位(Edge/Level Select Bit) D1TO0为溢出翻转控制标志位(Toggle on Overflow Bit) D0CHMAX为通道最大占空比设置位(Channel X Maximu

15、m Duty Cycle Bit),TPMxCnSC,7.3 输入捕捉功能,7.3 定时器模块的输入捕捉功能,7.3.1 输入捕捉的基本含义 与输入捕捉功能相关的引脚 在AW60的LQFP-64封装形式中,第4、5、6、7、8、11、15、16引脚为定时器的通道引脚,它们是通用I/O与定时器输入捕捉的复用引脚。作为定时器输入捕捉功能使用时,它们是定时器通道的输入捕捉引脚 输入捕捉的基本知识 输入捕捉功能是用来监测外部的事件和输入信号。当外部事件发生或信号发生变化时,在指定的输入捕捉引脚上发生一个指定的沿跳变(可以指定该跳变是上升沿还是下降沿)。定时器捕捉到特定的沿跳变后,把计数寄存器当前的值锁

16、存到通道寄存器,7.3.2 输入捕捉的寄存器,TPM通道数值寄存器(Timer x Channel n Value Register , TPMxCnVH : TPMxCnVL) 定时器1有6个通道,定时器2 有2个通道,这8个通道都有相应的数值寄存器。通道寄存器在该通道用作输入捕捉时的作用是:当指定的沿跳变发生 (即定时系统捕捉到沿跳变) 时,锁存计数寄存器的值。通道寄存器是一个16位的寄存器,分为高字节和低字节,在读取的时候要分别读取。为了防止两次读取之间该寄存器的内容发生变化而产生虚假的输入捕捉计数值,系统会在读取高字节时锁存低字节的内容,这时即使又发生特定的沿跳变,通道寄存器的内容也不会改变。所以,若要读取整个通道寄存器,必须先读高字节,再读低字节。,TPM通道状态和控制寄存器 TPM通道状态和控制寄存器(Timer x Channel n Status and C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号