嵌入式技术基础与实践(第2版)第07章资料电子教案.ppt
《嵌入式技术基础与实践(第2版)第07章资料电子教案.ppt》由会员分享,可在线阅读,更多相关《嵌入式技术基础与实践(第2版)第07章资料电子教案.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式技术基础与实践(第2版)第07章资料7.1 7.1 计数器计数器/定时器的基本工作原理定时器的基本工作原理7.1.1 7.1.1 实现计数与定时的基本方法实现计数与定时的基本方法完全硬件方式完全硬件方式l即完全用硬件电路实现计数即完全用硬件电路实现计数/定时功能定时功能完全软件方式完全软件方式l通过编程,利用计算机执行指令的时间实现定时通过编程,利用计算机执行指令的时间实现定时可编程计数器可编程计数器/定时器定时器l利用专门的可编程计数器利用专门的可编程计数器/定时器实现计数与定时,克定时器实现计数与定时,克服了完全服了完全 硬件方式与完全软件方式的缺点,综合利用了它们各硬件方式与完全软
2、件方式的缺点,综合利用了它们各自的优点自的优点 MC9S08AW60 MC9S08AW60系列中的定时器系统包括两个独系列中的定时器系统包括两个独立的立的TPMTPM:一个:一个6 6通道通道的的TPM1TPM1和一个和一个2 2通道通道的的TPM2TPM2。TPMTPM模块管脚和模块管脚和I/OI/O管脚管脚复用复用。Slide 37.1 7.1 概述概述 定时器定时器/PWM/PWM模块模块TPMTPM(Timer/Pulse-Width ModulatorTimer/Pulse-Width Modulator)v定时器系统的特性定时器系统的特性总共8个通道 每一个通道都可作为输入捕捉、输
3、出比较、或带缓冲的边缘对齐PWM上升沿、下降沿或任何边沿的输入捕捉触发变1、变0或翻转等输出比较动作PWM输出极性可选 每一个TPM的所有通道都可以配置成为带缓冲的中心对齐脉宽调制CPWM(buffered,center-aligned pulse-width modulation)每一个TPM预分频器的时钟源都可以独立选择总线时钟、固定系统时钟或外部管脚:预分频除数可以为1,2,4,8,16,32,64或128可以用外部时钟输入(仅对64管脚的封装):TPM1用TPM1CLK,TPM2用TPM2CLK16位自由运行或者增数/减数的CPWM技术操作16位预置计数寄存器用于控制计数范围定时器系统
4、允许对每个TPM,每个通道一个中断,还有一个计数中止中断Slide 47.1 7.1 概述概述内部结构两个独立的TPM每个TPM都由1个16位的计数器与n(n=6 or 2)个输入/输出通道组成每一个通道都可作为输入捕捉、输出比较、或带缓冲的边缘对齐PWMSlide 57.2 7.2 功能描述功能描述自由计数定时核心是一个16位的计数器三种时钟源之一经过分频之后的脉冲即作为定时器的计数脉冲每过一个计数脉冲,Counter便自动+1,Counter加到FFFF后翻转到$0000,同时置溢出标志位TOF为1,然后重新开始计数溢出时若TOIE为1,还会产生中断请求例如fbus=4MHz,分频比=1,
5、则计数脉冲的周期为0.25us;这样产生溢出的时间间隔就是0.25us65535=16.38375msFbus和分频比的不同可以产生不同的溢出时间间隔;但是这种自由计数定时方式定时有限Slide 67.2 7.2 功能描述功能描述自由计数定时核心是一个16位的计数器只读的16位TPM计数寄存器由两个字节寄存器TPMxCNTH和TPMxCNTL构成。Slide 77.2 7.2 功能描述功能描述预置计数定时向16位模数计数寄存器TPMxMODH:TPMxMODL写入一个确定的数值,则计数器每进行一次计数都会将计数和模数计数寄存器的值进行比较,如果相同就产生溢出,同时置溢出标志位TOF为1,然后重
6、新开始计数,溢出时若TOIE为1,还会产生中断请求若fbus=2MHz,Pre=32,计数间隔2MHz/32,即16s计数一次。如果TPMMOD=62500,则得1秒溢出间隔。自由计数是预置计数在TPMMOD0000H时的特例Slide 87.2 7.2 功能描述功能描述预置计数定时向16位模数计数寄存器TPMxMODH:TPMxMODL写入一个确定的数值,则计数器每进行一次计数都会将计数和模数计数寄存器的值进行比较,如果相同就产生溢出,同时置溢出标志位TOF为1,然后重新开始计数,溢出时若TOIE为1,还会产生中断请求Slide 97.2 7.2 功能描述功能描述TPM时钟源设定Slide
7、107.2 7.2 功能描述功能描述TPM溢出中断Slide 117.2 7.2 功能描述功能描述TPM溢出中断Slide 127.2 7.2 功能描述功能描述TPM1溢出中断向量表首地址为$FFE8TPM2溢出中断向量表首地址为$FFE2每个自由计数器包含三个寄存器:一个8位状态控制寄存器(TPMxSC)一个16位计数器(TPMxCNTH:TPMxCNTL)一个16位模数寄存器(TPMxMODH:TPMxMODL)其中,x=1/2 Slide 137.3 7.3 模块寄存器模块寄存器定时器x状态控制寄存器(TPMxSC)Slide 147.3 7.3 模块寄存器模块寄存器定时器x状态控制寄存
8、器(TPMxSC)Slide 157.3 7.3 模块寄存器模块寄存器定时器x计数寄存器(TPMxCNTH:TPMxCNTL)只读的16位TPM计数寄存器由两个字节寄存器TPMxCNTH和TPMxCNTL构成。读两个字节中的任何一个字节都会把两个字节内容锁存进内部缓冲器,直到另外一个字节也被读取为止。这允许以任何顺序读取连贯的16位寄存器。Slide 167.3 7.3 模块寄存器模块寄存器定时器x模数寄存器(TPMxMODH:TPMxMODL)可读/写的TPM模数寄存器中包含TPM计数器的模数值。当TPM计数器到达这个模数值后,TPM计数器在下一个时钟要么重新从0 x0000开始计数(CPW
9、MS=0),要么从这个模数值往下减1计数(CPWMS=1),同时溢出标志TOF(Timer Overflow Flag)变为1。只写TPMxMODH或者TPMxMODL其中的一个会抑制住TOF和溢出中断直到些另外一个字节也被写为止,因此两个寄存器一定都要写,不能只写一个而不管另一个。复位会使TPM模数寄存器为0 x0000,相当处于自由运行定时器计数模式(模数禁止)。Slide 177.3 7.3 模块寄存器模块寄存器定时器功能框图定时器功能框图7.2 7.2 定时器模块的编程结构与编程实例定时器模块的编程结构与编程实例7.2.1 7.2.1 定时器模块的编程寄存器定时器模块的编程寄存器 TP
10、MTPM状态和控制寄存器状态和控制寄存器 TPM TPM状态和控制寄存器状态和控制寄存器(Timer x Status and Control (Timer x Status and Control RegistersRegisters,TPMxSC)TPMxSC)各个位的定义:各个位的定义:lD7TOFD7TOF为定时器溢出标志位为定时器溢出标志位(Timer Over Flag Bit)(Timer Over Flag Bit)lD6TOIED6TOIE为定时器溢出中断允许位为定时器溢出中断允许位(Timer Overflow Interrupt(Timer Overflow Interr
11、upt Enable Bit)Enable Bit)lD5CPWMSD5CPWMS为中心对齐为中心对齐PWMPWM选择位选择位(Center-Aligned PWM Select Bit)(Center-Aligned PWM Select Bit)数据位数据位D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0定义定义TOFTOIECPWMSCLKSBCLKSAPS2PS1PS0复位复位00000000lD4D4D3CLKSD3CLKS为时钟源选择位为时钟源选择位(Clock Source Select Bit)(Clock Source Select Bit)TPMTPM时钟源
12、选择时钟源选择lD2D2D0PS2D0PS2PS0PS0为定时器分频因子选择位为定时器分频因子选择位(Timer Prescaler(Timer Prescaler Select Bits)Select Bits)CLKSB:CLKSACLKSB:CLKSA预分频器输入的预分频器输入的TPMTPM时钟源时钟源0 0:0 0没有选择的时钟没有选择的时钟(TPM(TPM屏蔽屏蔽)0 0:1 1总线时钟总线时钟(BUSCLK)(BUSCLK)1 1:0 0固定系统时钟固定系统时钟(XCLK)(XCLK)1 1:1 1外部时钟源外部时钟源(TPMCLK)(TPMCLK)TPMTPM计数寄存器计数寄存器
13、 PMPM计数寄存器计数寄存器(Timer x Counter(Timer x Counter Register,TPMxCNTH:TPMxCNTL)Register,TPMxCNTH:TPMxCNTL)是一个是一个1616位寄存器,分为高位寄存器,分为高8 8位、低位、低8 8位,它的作用是:当定时器的状态和控制寄存器的位,它的作用是:当定时器的状态和控制寄存器的TSTOPTSTOP位位=0=0时,即允许计数时,每一计数周期,其值自动加时,即允许计数时,每一计数周期,其值自动加1 1,当它达到设定值,当它达到设定值(在在1616位预置寄存器中位预置寄存器中)时,时,TOF=1TOF=1,同时
14、计,同时计数寄存器自动清数寄存器自动清0 0。复位时,计数寄存器的初值为。复位时,计数寄存器的初值为$0000$0000。TPMTPM预置寄存器预置寄存器 它是一个它是一个1616位寄存器,分为高位寄存器,分为高8 8位、低位、低8 8位,它的作用是:设位,它的作用是:设定计数寄存器的计数溢出值。复位时,预置寄存器的初值为定计数寄存器的计数溢出值。复位时,预置寄存器的初值为$FFFF$FFFF。7.2.2 7.2.2 定时溢出中断构件与编程实例定时溢出中断构件与编程实例MCUMCU方程序方程序MCUMCU的十分秒与的十分秒与PCPC机的十分秒对比测试机的十分秒对比测试PCPC方方C#C#程序程
15、序定时器溢出中断实验定时器溢出中断实验PCPC机方机方C#C#程序界面程序界面7.3 7.3 输入捕捉功能输入捕捉功能v7.3.1 7.3.1 输入捕捉的基本含义输入捕捉的基本含义用途:通过记录输入信号的连续的沿跳变,就可以用软件算出输入信号的周期和脉宽。定时器捕捉到特定的沿跳变后,把计数寄存器当前的值锁存到通道寄存器用来测信号的频率用来测信号的频率定时器COUNTER按指定的时钟速率自由计数,在通道的I/O引脚上输入外接信号,输入捕捉功能就能用来监测该输入信号的跳变。一旦捕捉到外 部信号发生变化时,定时器将自由运行计数器COUNTER 的当前值锁存到输入捕捉寄存器 TPMxCOVH:TPMx
16、COVL,读出TPMxCOVH:TPMxCOVL的计数值即获得了时间信息。如果允许输入捕捉中断,系统还会产生一次中断请求。7.3 7.3 输入捕捉功能输入捕捉功能在在AW60的的LQFP-64封装封装形式中,第形式中,第4、5、6、7、8、11、15、16引脚为引脚为定时器的通道引脚,它定时器的通道引脚,它们是通用们是通用I/O与定时器输与定时器输入捕捉的复用引脚。作入捕捉的复用引脚。作为定时器输入捕捉功能为定时器输入捕捉功能使用时,它们是定时器使用时,它们是定时器通道的输入捕捉引脚通道的输入捕捉引脚7.3 7.3 输入捕捉功能输入捕捉功能v7.4.2 7.4.2 相关寄存相关寄存器器TPMx
17、CnVH:TPMxCnVLTPM通道数值寄通道数值寄存器存器TPMxCnSCTPM通道状态和通道状态和控制寄存器控制寄存器7.3 7.3 输入捕捉功能输入捕捉功能vTPMTPM通道数值寄存器通道数值寄存器n定时器定时器1 1有有6 6个通道,定时器个通道,定时器2 2 有有2 2个通个通道,这道,这8 8个通道都有相应的数值寄存器。个通道都有相应的数值寄存器。通道寄存器在该通道用作输入捕捉时的通道寄存器在该通道用作输入捕捉时的作用是:当指定的沿跳变发生作用是:当指定的沿跳变发生 (即定时即定时系统捕捉到沿跳变系统捕捉到沿跳变)时,锁存计数寄存时,锁存计数寄存器的值。通道寄存器是一个器的值。通道
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 技术 基础 实践 07 资料 电子 教案
限制150内