飞思卡尔8位单片机MC9S8定时接口模块ppt课件

上传人:cn****1 文档编号:580473922 上传时间:2024-08-29 格式:PPT 页数:27 大小:910.03KB
返回 下载 相关 举报
飞思卡尔8位单片机MC9S8定时接口模块ppt课件_第1页
第1页 / 共27页
飞思卡尔8位单片机MC9S8定时接口模块ppt课件_第2页
第2页 / 共27页
飞思卡尔8位单片机MC9S8定时接口模块ppt课件_第3页
第3页 / 共27页
飞思卡尔8位单片机MC9S8定时接口模块ppt课件_第4页
第4页 / 共27页
飞思卡尔8位单片机MC9S8定时接口模块ppt课件_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《飞思卡尔8位单片机MC9S8定时接口模块ppt课件》由会员分享,可在线阅读,更多相关《飞思卡尔8位单片机MC9S8定时接口模块ppt课件(27页珍藏版)》请在金锄头文库上搜索。

1、第十章第十章 定时接口模块定时接口模块主要内容v 计数器/定时器的基本工作原理v 定时器模块的编程基础 v 定时器模块的输入捕捉功能 v 定时器模块的输出比较功能v 定时器模块的脉宽调制功能10.1 计数器计数器/定时器的基本工作原理定时器的基本工作原理10.1.1 实现计数与定时的基本方法实现计数与定时的基本方法(1)完全硬件方式)完全硬件方式 在过去许多仪器仪表或设备中,需要进行延时、定时或计数,经在过去许多仪器仪表或设备中,需要进行延时、定时或计数,经常使用数字逻辑电路实现,即完全用硬件电路实现计数常使用数字逻辑电路实现,即完全用硬件电路实现计数/ /定时功能,若定时功能,若要改变计数要

2、改变计数/ /定时的要求,必须改变电路参数,通用性、灵活性差。微定时的要求,必须改变电路参数,通用性、灵活性差。微型电子计算机出现以后,特别是单片微型计算机的发展与普及,这种完型电子计算机出现以后,特别是单片微型计算机的发展与普及,这种完全硬件方式实现定时与计数已较少使用。全硬件方式实现定时与计数已较少使用。 10.1 计数器/定时器的基本工作原理(2)完全软件方式)完全软件方式在计算机中,通过编程,利用计算机执行指令的时间实现定时,在计算机中,通过编程,利用计算机执行指令的时间实现定时,称为完全软件方式,简称软件方式。在这种方式中,一般是根据所需称为完全软件方式,简称软件方式。在这种方式中,

3、一般是根据所需要的时间常数来设计一个延时子程序,延时子程序中包含一定的指令,要的时间常数来设计一个延时子程序,延时子程序中包含一定的指令,设计者要对这些指令的执行时间进行严密的计算或者精确的测试,以设计者要对这些指令的执行时间进行严密的计算或者精确的测试,以便确定延时时间是否符合要求。便确定延时时间是否符合要求。 10.1 计数器/定时器的基本工作原理(3)可编程计数器)可编程计数器/定时器定时器利用专门的可编程计数器定时器实现计数与定时,克服了完全硬利用专门的可编程计数器定时器实现计数与定时,克服了完全硬件方式与完全软件方式的缺点,设定之后与件方式与完全软件方式的缺点,设定之后与CPUCPU

4、并行地工作。应用可编并行地工作。应用可编程计数器定时器,在简单的软件控制下,可以产生准确的时间延时。程计数器定时器,在简单的软件控制下,可以产生准确的时间延时。这种方法的主要思想是根据需要的定时时间,用指令对计数器定时器这种方法的主要思想是根据需要的定时时间,用指令对计数器定时器设置定时常数,并用指令启动计数器定时器。这种方法最突出的优点设置定时常数,并用指令启动计数器定时器。这种方法最突出的优点是计数时不占用是计数时不占用CPUCPU的时间,并且,如果利用计数器定时器产生中断的时间,并且,如果利用计数器定时器产生中断信号就可以建立多作业的环境,所以,可大大提高信号就可以建立多作业的环境,所以

5、,可大大提高CPUCPU的利用率。的利用率。 10.1 计数器/定时器的基本工作原理 10.1.2 MC68HC908GP32 MCU的定时接口的基本的定时接口的基本原理的概述原理的概述 MC68HC08MC68HC08系列的单片机可以提供多个独立的定时器,例如,系列的单片机可以提供多个独立的定时器,例如,MC68HC908GP32MC68HC908GP32芯片有两个定时器,分别叫定时器芯片有两个定时器,分别叫定时器1 1、定时器、定时器2 2,它们的,它们的工作原理是一致的,下面的说明均以定时器工作原理是一致的,下面的说明均以定时器1 1为例。为例。 HC08HC08系列的单片机定时器的核心

6、是一个处于不断加系列的单片机定时器的核心是一个处于不断加1 1的的1616位计数寄位计数寄存器,简称为计数器。该计数器的时钟频率由外部晶振时钟(也可以是存器,简称为计数器。该计数器的时钟频率由外部晶振时钟(也可以是由锁相环模块得到的总线时钟)经过预定的分频因子分频得到。由锁相环模块得到的总线时钟)经过预定的分频因子分频得到。 在在定定时时器器内内部部有有个个控控制制和和状状态态寄寄存存器器,通通过过对对它它某某些些位位的的设设置置,就就可以确定多少时间计数器加可以确定多少时间计数器加1 1,即定时间隔。,即定时间隔。 在在定定时时器器内内部部有有个个预预置置寄寄存存器器,当当计计数数器器的的值

7、值等等于于预预置置寄寄存存器器的的值值时时,称称为为计计数数器器溢溢出出,当当计计数数器器溢溢出出时时,计计数数器器的的值值被被赋赋0 0,同同时时将将计计数器溢出标志等状态置于控制和状态寄存器中。数器溢出标志等状态置于控制和状态寄存器中。10.1 计数器/定时器的基本工作原理MC68HC908GP32MC68HC908GP32 MCUMCU定时器基本功能及主要特征:定时器基本功能及主要特征: HC08 HC08系列的单片机定时器具有输入捕捉、输出比较、系列的单片机定时器具有输入捕捉、输出比较、PWMPWM、脉冲输出、脉冲输出、DMADMA直接存储器访问等功能。直接存储器访问等功能。 以下简要

8、给出以下简要给出MC68HC908GP32MC68HC908GP32的定时器的主要特征:的定时器的主要特征: 每个定时器具有两路独立的输入捕捉输出比较通道。每个定时器具有两路独立的输入捕捉输出比较通道。 带缓冲(带缓冲(BufferedBuffered)和不带缓冲(和不带缓冲(UnbufferedUnbuffered)的脉宽调制波。的脉宽调制波。 七种可编程选择的分频因子。七种可编程选择的分频因子。 预置计数。预置计数。 计数器停止或清除。计数器停止或清除。 16 16位输入捕捉和通道寄存器。位输入捕捉和通道寄存器。 定时器溢出中断、每路通道的输入捕捉输出比较中断。定时器溢出中断、每路通道的输

9、入捕捉输出比较中断。10.1 计数器/定时器的基本工作原理 定时器功能框图定时器功能框图返回返回10.3 定时器模块的输入捕捉功能 10.2 定时器模块的编程基础定时器模块的编程基础10.2.1 定时器模块的定时器模块的3个基本寄存器个基本寄存器(1)T1状态和控制寄存器(状态和控制寄存器(Timer 1 Status and Control Register,T1SC) T1SC的地址:的地址:$0020,定义为:,定义为:数据位 D7 D6 D5 D4 D3 D2 D1 D0定义 TOF TOIE TSTOP TRST - PS2 PS1 PS0复位 0 0 1 0 0 0 0 0 D7

10、TOF位:定时器溢出标志位位:定时器溢出标志位 。当当16位计数寄存器位计数寄存器T1CNT中中的值达到设定值的值达到设定值(在在16位预置寄存器位预置寄存器T1MOD中中)时,时,TOF=1,同时同时T1CNT=$0000。 D6 TOIE位:定时器溢出中断允许位(位:定时器溢出中断允许位(Timer Overflow Interrupt Enable Bit)。)。该位用来设置是否允许定时器溢出中断。该位用来设置是否允许定时器溢出中断。TOIE=1,允许定时器溢出中断,允许定时器溢出中断,TOIE=0,不允许定时器溢出中断。不允许定时器溢出中断。10.2 定时器模块的编程基础(1)T1状态

11、和控制寄存器(状态和控制寄存器(Timer 1 Status and Control Register,T1SC)D5 TSTOP位:定时器计数停止位位:定时器计数停止位(Timer Count Stop Bit)。)。该位用来控制计数器的计数停止和恢复。对该位写入该位用来控制计数器的计数停止和恢复。对该位写入1,定时器的计数寄,定时器的计数寄存器将保持当前的值,停止计数。存器将保持当前的值,停止计数。D4 TRST位:定时器复位位位:定时器复位位(Timer Reset Bit )。向该位写入向该位写入1将将清除定时器的计数寄存器和设定的分频因子,该位通常为清除定时器的计数寄存器和设定的分频

12、因子,该位通常为0。D3 未定义。未定义。D2D0 PS2PS0位:定时器分频因子选择位(位:定时器分频因子选择位(Timer Prescaler Select Bits)。)。这三位定义定时器的分频因子,记为:这三位定义定时器的分频因子,记为:p,定定义如下义如下:PS2、PS1、PS0=000 001 010 011 100 101 110 111 p =1 2 4 8 16 32 64 未定义未定义其中设其中设fBUS为总线频率,则定时器的计数寄存器的计数频率为:计为总线频率,则定时器的计数寄存器的计数频率为:计数频率数频率fBUS/p。复位时,复位时,PS2、PS1、PS0=000,即

13、,即p=1,此时,计此时,计数频率数频率fBUS。分频因子的选取应根据总线频率分频因子的选取应根据总线频率fBUS、预置寄存器的预置寄存器的设定值、希望的溢出时间的综合考虑确定。设定值、希望的溢出时间的综合考虑确定。10.2 定时器模块的编程基础(2)T1计数寄存器(计数寄存器(T1 Counter Register,T1CNTH、T1CNTL) 它是一个它是一个16位寄存器,分为高位寄存器,分为高8位、低位、低8位,地址分别为位,地址分别为$0021、$0022,它的作用是:当定时器的状态和控制寄存器的,它的作用是:当定时器的状态和控制寄存器的TSTOP位位=0时,时,即允许计数时,每一计数

14、周期,其值自动加即允许计数时,每一计数周期,其值自动加1,当它达到设定值,当它达到设定值(在在16位位预置寄存器中预置寄存器中)时时,TOF=1,同时计数寄存器自动清同时计数寄存器自动清0。 (3)T1预置寄存器(预置寄存器(T1 Counter Modulo Register, T1MODH、T1MODL) 它是一个它是一个16位寄存器,分为高位寄存器,分为高8位、低位、低8位,地址分别为位,地址分别为$0023、$0024,它的作用是:设定计数寄存器的计数溢出值。复位时,预置寄存,它的作用是:设定计数寄存器的计数溢出值。复位时,预置寄存器的初值为器的初值为$FFFF。10.2 定时器模块的

15、编程基础为了理解定时器的基本功能,这里给出利用定时器溢出编写定时为了理解定时器的基本功能,这里给出利用定时器溢出编写定时的例子,并把的例子,并把“时分秒时分秒”发送到发送到PC机,以便比较。同时,在机,以便比较。同时,在PC机方,机方,用一个十分简明的程序,接收用一个十分简明的程序,接收MCU发送来发送来“时分秒时分秒”并显示,同时还并显示,同时还可以将可以将PC机的当前时间发送到机的当前时间发送到MCU,作为时间基准值。通过这个例子,作为时间基准值。通过这个例子,理解定时器溢出中断的编程方法和系统时间的产生方法。理解定时器溢出中断的编程方法和系统时间的产生方法。1) MCU方程序方程序2)

16、PC方方VB程序程序10.2.2 10.2.2 定时溢出中断编程汇编程序例定时溢出中断编程汇编程序例 10.2 定时器模块的编程基础10.2.3 10.2.3 定时溢出中断编程定时溢出中断编程C C语言程序例语言程序例 1 1)定时溢出中断编程定时溢出中断编程C C语言程序例主程序语言程序例主程序2 2)定时溢出中断编程定时溢出中断编程C C语言程序例矢量表文件语言程序例矢量表文件返回返回10.3 定时器模块的输入捕捉功能 10.3 定时器模块的输入捕捉功能定时器模块的输入捕捉功能10.3.1 10.3.1 输入捕捉的基本含义输入捕捉的基本含义(1 1)与输入捕捉功能相关的引脚)与输入捕捉功能

17、相关的引脚 在在 MC68HC908GP32MC68HC908GP32的的 DIP-40DIP-40封封 装装 形形 式式 中中 , 第第 2121、 2222脚脚 标标 记记 是是“PTD4/T1CH0PTD4/T1CH0、PTD5/T1CH1PTD5/T1CH1”,它它们们是是普普通通I/OI/O与与定定时时器器输输入入捕捕捉捉的的复复用用引引脚脚。作作为为定定时时器器输输入入捕捕捉捉功功能能使使用用时时,它它们们是是定定时时器器1 1的的两两个个通通道道输入捕捉引脚。输入捕捉引脚。(2 2)输入捕捉的基本含义)输入捕捉的基本含义 输输入入捕捕捉捉功功能能是是用用来来监监测测外外部部的的事

18、事件件和和输输入入信信号号。当当外外部部事事件件发发生生或或信信号号发发生生变变化化时时,在在指指定定的的输输入入捕捕捉捉引引脚脚上上发发生生一一个个指指定定的的沿沿跳跳变变(可可以以指指定定该该跳跳变变是是上上升升沿沿还还是是下下降降沿沿)。定定时时器器捕捕捉捉到到特特定定的的沿沿跳跳变变后,把计数寄存器当前的值锁存到通道寄存器。后,把计数寄存器当前的值锁存到通道寄存器。 10.3 定时器模块的输入捕捉功能 10.3.2 10.3.2 输入捕捉的寄存器输入捕捉的寄存器(1 1)T1T1通道寄存器通道寄存器 (T1 Channel RegisterT1 Channel Register) 定定

19、时时器器1有有两两个个通通道道,相相对对应应的的通通道道寄寄存存器器有有:定定时时器器1通通道道0寄寄存存器器T1CH0(16位位寄寄存存器器),地地址址是是:$0026、$0027;定定时时器器1通通道道1寄寄存存器器T1CH1 (16位寄存器位寄存器) ,地址是:,地址是:$0029、$002A。 通通道道寄寄存存器器在在该该通通道道用用作作输输入入捕捕捉捉时时的的作作用用是是:当当指指定定的的沿沿跳跳变变发发生生 ( (即定时系统捕捉到沿跳变即定时系统捕捉到沿跳变) ) 时,锁存计数寄存器的值。时,锁存计数寄存器的值。 通通道道寄寄存存器器是是一一个个16位位的的寄寄存存器器,分分为为高

20、高字字节节和和低低字字节节,在在读读取取的的时时候候要要分分别别读读取取。为为了了防防止止两两次次读读取取之之间间该该寄寄存存器器的的内内容容发发生生变变化化而而产产生生虚虚假假的的输输入入捕捕捉捉计计数数值值,系系统统会会在在读读取取高高字字节节时时锁锁存存低低字字节节的的内内容容,这时即使又发生特定的沿跳变,通道寄存器的内容也不会改变。这时即使又发生特定的沿跳变,通道寄存器的内容也不会改变。 所以,若要读取整个通道寄存器,必须先读高字节,再读低字节。所以,若要读取整个通道寄存器,必须先读高字节,再读低字节。10.3 定时器模块的输入捕捉功能 (2 2)T1T1通道通道0 0状态和控制寄存器

21、(状态和控制寄存器(T1 Channel0 Status and T1 Channel0 Status and Control RegisterControl Register,T1SC0T1SC0) D7 :通道标志位,用来标志定时器:通道标志位,用来标志定时器1通道通道0发生了输入捕捉。发生了输入捕捉。 D6 :通道中断允许位,用来设置是否允许发生输入捕捉中断。:通道中断允许位,用来设置是否允许发生输入捕捉中断。 D5D4:模式选择位。每一个定时器都可以工作在输入捕捉,输出比较和:模式选择位。每一个定时器都可以工作在输入捕捉,输出比较和PWM输出模式,这两位用来选择这些工作模式。输出模式,

22、这两位用来选择这些工作模式。 D3D2 :跳变沿:跳变沿/输出电平选择位。输出电平选择位。 D1 :溢出翻转控制标志位,定时器通道用做输入:溢出翻转控制标志位,定时器通道用做输入捕捉时,此位无用。捕捉时,此位无用。 D0 :通道最大占空比设置位:通道最大占空比设置位 ,定时器通道用作,定时器通道用作输入捕捉时,此位无用。输入捕捉时,此位无用。数据位 D7 D6 D5 D4 D3 D2 D1 D0定义CH0F CH0IE MS0B MS0A ELS0B ELS0A TOV0 CH0MAX复位 1 1 1 1 1 1 1 110.4 定时器模块的输出比较功能 通道控制寄存器控制位通道控制寄存器控制

23、位 MS0B:MS0AELS0B:ELS0A工作模式工作模式跳变沿跳变沿/输出电平输出电平X 0X 10 00 0预设输出电平预设输出电平初始输出高电平初始输出高电平初始输出低电平初始输出低电平0 00 00 00 11 01 1输入捕捉输入捕捉上升沿捕捉上升沿捕捉下降沿捕捉下降沿捕捉跳变沿捕捉跳变沿捕捉0 10 10 10 11 01 1输出比较输出比较输出电平翻转输出电平翻转输出高电平输出高电平输出低电平输出低电平1 X0 1带缓冲的输出比较带缓冲的输出比较或带缓冲的或带缓冲的PWM输输出出输出电平翻转输出电平翻转1 X1 0输出高电平输出高电平1 X1 1输出低电平输出低电平10.4 定

24、时器模块的输出比较功能 (3)T1通道通道1状态和控制寄存器(状态和控制寄存器(Timer1 Channel 1 Status and Control Register,T1SC1) 含义同含义同T1通道通道0状态和控制寄存器状态和控制寄存器 ,只是没有,只是没有D5(MS1B)位,因位,因为为MS0B是选择是选择CH0缓冲方式的,缓冲方式的,CH1没有缓冲方式,所以没有没有缓冲方式,所以没有MS1B位。位。数据位 D7 D6 D5 D4 D3 D2 D1 D0定义CH1F CH1IE - MS1A ELS1B ELS1A TOV1 CH1MAX复位 1 1 1 1 1 1 1 110.4 定

25、时器模块的输出比较功能 10.3.3 10.3.3 输入捕捉中断编程实例输入捕捉中断编程实例 下下面面程程序序验验证证定定时时器器1 1通通道道0(0(引引脚脚21)21)输输入入捕捕捉捉中中断断的的产产生生,当当中中断断发发生生时时取取反反指指示示灯灯PTA1PTA1。定定时时器器1 1通通道道0 0的的输输入入捕捕捉捉中中断断向向量量的的地地址址是是$FFF6$FFF6。 (1 1)输入捕捉中断编程实例汇编语言程序输入捕捉中断编程实例汇编语言程序 (2 2)输入捕捉中断编程实例输入捕捉中断编程实例C C语言主程序语言主程序 (3 3)输入捕捉中断编程实例输入捕捉中断编程实例C C语言矢量表

26、文件语言矢量表文件返回返回10.3 定时器模块的输入捕捉功能 10.4 定时器模块的输出比较功能定时器模块的输出比较功能 10.4.1 输出比较的基本含义输出比较的基本含义 (1 1)与输出比较功能相关的引脚)与输出比较功能相关的引脚 在在MC68HC908GP32的的DIP-40封装形式中,第封装形式中,第21、22脚标记是脚标记是“PTD4/T1CH0、PTD5/T1CH1”,它们是普通它们是普通I/O与定时器输入捕捉的复与定时器输入捕捉的复用引脚。作为定时器输入捕捉功能使用时,它们是定时器用引脚。作为定时器输入捕捉功能使用时,它们是定时器1的两个通道的两个通道输入捕捉引脚,同时也可定义它

27、们为输出比较引脚。输入捕捉引脚,同时也可定义它们为输出比较引脚。(2 2)输出比较的含义)输出比较的含义 输输出出比比较较的的功功能能是是用用程程序序的的方方法法在在规规定定的的时时刻刻输输出出需需要要的的电电平平,实实现对外部电路的控制。现对外部电路的控制。10.4 定时器模块的输出比较功能 10.4.2 输出比较的寄存器输出比较的寄存器(1 1)T1T1通道寄存器通道寄存器 (T1 Channel RegisterT1 Channel Register) 通通道道寄寄存存器器在在该该通通道道用用作作输输出出比比较较时时的的作作用用是是:存存放放要要与与计计数数寄寄存存器进行比较的数值。器进

28、行比较的数值。 完完整整的的设设置置输输出出比比较较功功能能应应该该包包括括对对寄寄存存器器两两个个字字节节的的写写入入。通通道道寄寄存存器器和和标标志志位位在在复复位位时时被被清清零零,在在初初始始化化输输出出比比较较功功能能时时应应该该小小心心谨谨慎,一般采用以下的步骤:慎,一般采用以下的步骤: 写入通道寄存器的高位字节,禁止输出比较功能;写入通道寄存器的高位字节,禁止输出比较功能; 取状态寄存器,清除取状态寄存器,清除OCFOCF位;位; 写入通道寄存器低位字节,使输出比较功能工作。写入通道寄存器低位字节,使输出比较功能工作。10.4 定时器模块的输出比较功能 (2 2)T1T1通道通道

29、0 0状态和控制寄存器(状态和控制寄存器(T1 Channel0 Status and T1 Channel0 Status and Control RegisterControl Register,T1SC0T1SC0)T1SC0寄存器在输出比较时,寄存器在输出比较时,D7D2位与用作输入捕捉时的含位与用作输入捕捉时的含义相同,义相同,D1位此时无意义,在用作输出比较时其含义说明如下位此时无意义,在用作输出比较时其含义说明如下:D1 :溢出翻转控制标志位,在定时器通道用作输出比较功能时,:溢出翻转控制标志位,在定时器通道用作输出比较功能时,如果置位该位,在通道的定时器发生溢出时,输出比较模块

30、会自动翻如果置位该位,在通道的定时器发生溢出时,输出比较模块会自动翻转输出电平。在一个完整的脉冲中,必然有两次电平的跳变。这就需转输出电平。在一个完整的脉冲中,必然有两次电平的跳变。这就需要两次进入输出比较处理例程,两次计算下一次输出比较的计数值。要两次进入输出比较处理例程,两次计算下一次输出比较的计数值。如果能够使脉冲的周期恰好等于定时器通道的溢出周期,并且置位溢如果能够使脉冲的周期恰好等于定时器通道的溢出周期,并且置位溢出翻转控制标志位,那么在每次脉冲周期到的时候输出比较模块将自出翻转控制标志位,那么在每次脉冲周期到的时候输出比较模块将自动翻转输出电平而节省了一次输出比较的处理。需要注意的

31、是,置位动翻转输出电平而节省了一次输出比较的处理。需要注意的是,置位溢出翻转控制标志位后,如果定时器溢出和输出比较同时发生,模块溢出翻转控制标志位后,如果定时器溢出和输出比较同时发生,模块将优先处理定时器溢出事件。如果定时器溢出的处理例程比较耗时,将优先处理定时器溢出事件。如果定时器溢出的处理例程比较耗时,输出比较将不能得到及时的处理。这在编写程序时一定要非常留意。输出比较将不能得到及时的处理。这在编写程序时一定要非常留意。10.4 定时器模块的输出比较功能 10.4.310.4.3不带缓冲输出比较与带缓冲的输出比较不带缓冲输出比较与带缓冲的输出比较 (1 1)不带缓冲的输出比较)不带缓冲的输

32、出比较 不带缓冲的输出比较的功能表现在更改下一次输出比较时需要对输不带缓冲的输出比较的功能表现在更改下一次输出比较时需要对输出比较计数器重新写入。出比较计数器重新写入。 (2 2)带缓冲的输出比较)带缓冲的输出比较 使用使用MC68HC908GP32MC68HC908GP32的带缓冲的输出比较功能就可以克服不带缓冲的带缓冲的输出比较功能就可以克服不带缓冲的输出比较缺陷。带缓冲的输出比较功能使用了同一定时器的两路通道,的输出比较缺陷。带缓冲的输出比较功能使用了同一定时器的两路通道,将这两路通道联合起来共同组成一个带缓冲的输出比较。该输出比较波将这两路通道联合起来共同组成一个带缓冲的输出比较。该输

33、出比较波形将出现在形将出现在TCH0TCH0引脚上,而原来的引脚上,而原来的TCH1TCH1引脚仍然可以作为普通的引脚仍然可以作为普通的I/OI/O引引脚使用。脚使用。 返回返回10.3 定时器模块的输入捕捉功能 10.5 定时器模块的脉宽调制输出功能定时器模块的脉宽调制输出功能10.5.110.5.1脉冲宽度调制器脉冲宽度调制器PWMPWM PWMPWM产生一个在高电平和低电平之间重复交替的输出信号,这个信产生一个在高电平和低电平之间重复交替的输出信号,这个信号被称为号被称为PWMPWM信号,也叫信号,也叫脉宽调制波脉宽调制波。通过指定所需的时钟周期和占空。通过指定所需的时钟周期和占空比来控

34、制高电平和低电平的持续时间。比来控制高电平和低电平的持续时间。 占空比占空比为信号处于高电平的时间(或时钟周期数)占整个信号周期为信号处于高电平的时间(或时钟周期数)占整个信号周期的百分比,方波的占空比是的百分比,方波的占空比是50%50%。 脉冲宽度脉冲宽度是指脉冲处于高电平的时间。是指脉冲处于高电平的时间。 PWMPWM的常见应用是为其他设备产生类似于时钟的信号。的常见应用是为其他设备产生类似于时钟的信号。 PWMPWM的另一的另一个常见用途是控制输入到某个设备的平均电流或电压。个常见用途是控制输入到某个设备的平均电流或电压。 10.5 定时器模块的脉宽调制输出功能10.5.2 10.5.

35、2 用定时器实现用定时器实现PWMPWM定时器的每一个通道都可以设置为在溢出时自动翻转电平,利用这定时器的每一个通道都可以设置为在溢出时自动翻转电平,利用这个特性,定时器通道就可以实现个特性,定时器通道就可以实现PWMPWM。当使用脉宽调制功能时,需要按照一定的顺序来初始化当使用脉宽调制功能时,需要按照一定的顺序来初始化PWMPWM模块:模块:在在定定时时器器的的状状态态和和控控制制寄寄存存器器中中,首首先先置置位位计计数数器器停停止止位位TSTOPTSTOP,然后置位计数器的复位位然后置位计数器的复位位TRSTTRST,重新开始计数器的计数。重新开始计数器的计数。在预置计数寄存器中写入希望的

36、脉宽调制波的周期值。在预置计数寄存器中写入希望的脉宽调制波的周期值。在对应通道的通道寄存器中写入希望的脉宽调制波的脉宽值。在对应通道的通道寄存器中写入希望的脉宽调制波的脉宽值。在在对对应应的的通通道道的的状状态态和和控控制制寄寄存存器器中中,首首先先根根据据是是否否是是带带缓缓冲冲的的脉脉宽宽调调制制设设置置正正确确的的MSxBMSxB:MSxAMSxA两两位位(不不带带缓缓冲冲的的为为0:1,0:1,带带缓缓冲冲的的为为1 1:0 0). .然然后后置置位位溢溢出出翻翻转转位位TOVxTOVx,最最后后根根据据脉脉宽宽调调制制波波的的极极性性设设置置ELSxBELSxB:ELSxAELSxA

37、两位。两位。10.5 定时器模块的脉宽调制输出功能10.5.3 10.5.3 不带缓冲脉宽调制输出与带缓冲脉宽调不带缓冲脉宽调制输出与带缓冲脉宽调制输出制输出(1 1)不带缓冲脉宽调制输出)不带缓冲脉宽调制输出 在在定定时时器器预预置置计计数数寄寄存存器器中中写写入入需需要要的的脉脉宽宽调调制制波波的的周周期期,在在希希望望输输出出波波形形的的通通道道的的通通道道寄寄存存器器中中写写入入需需要要的的脉脉宽宽调调制制波波的的脉脉宽宽。如如果果需需要要更更改脉宽调制波的脉宽,就必须重新改写当前定时器通道的通道寄存器。改脉宽调制波的脉宽,就必须重新改写当前定时器通道的通道寄存器。 (2 2)带缓冲脉

38、宽调制输出)带缓冲脉宽调制输出 在这种方式下,一个定时器的两个通道联合起来交替控制原来通道在这种方式下,一个定时器的两个通道联合起来交替控制原来通道1 1的脉宽调制输出从而构成一个带缓冲的脉宽调制输出。的脉宽调制输出从而构成一个带缓冲的脉宽调制输出。需要注意两点:需要注意两点: 使使用用了了脉脉宽宽调调制制功功能能,就就不不能能使使用用输输出出比比较较翻翻转转。因因为为脉脉宽宽调调制制默默认认时时钟钟溢溢出出时时输输出出翻翻转转,如如果果输输出出比比较较发发生生时时输输出出也也是是翻翻转转,那那么么整整个个脉脉宽宽调调制制波波就就有有可能出现两种截然相反的极性。可能出现两种截然相反的极性。 使

39、用带缓冲的脉宽调制波,就不能向当前活动的寄存器执行写入命令。因使用带缓冲的脉宽调制波,就不能向当前活动的寄存器执行写入命令。因为如果这样,就和不带缓冲的脉宽调制波一样了,也就失去了带缓冲的脉宽调制为如果这样,就和不带缓冲的脉宽调制波一样了,也就失去了带缓冲的脉宽调制的优点。的优点。 10.5 定时器模块的脉宽调制输出功能10.5.4 PWM编程汇编语言例编程汇编语言例返回返回 10.5.5 PWM编程编程C语言例语言例10.5 定时器模块的脉宽调制输出功能 本章首先从一般角度讨论计数器本章首先从一般角度讨论计数器/ /定时器的工作原理,然后介绍定时器的工作原理,然后介绍FreescaleFreescale MC68HC908GP32 MCU MC68HC908GP32 MCU的定时接口模块的基本功能与编程基础,的定时接口模块的基本功能与编程基础,给出利用定时中断计时的例子。在此基础上,讨论定时接口模块的输给出利用定时中断计时的例子。在此基础上,讨论定时接口模块的输入捕捉功能、输出比较功能、脉宽调制输出功能,给出了输入捕捉、入捕捉功能、输出比较功能、脉宽调制输出功能,给出了输入捕捉、脉宽调制输出的简明实例,要求理解基本原理与用途,重点掌握脉宽脉宽调制输出的简明实例,要求理解基本原理与用途,重点掌握脉宽调制输出的编程方法。调制输出的编程方法。 本章小结本章小结返回返回

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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