第章定时接口模块

上传人:无*** 文档编号:176565621 上传时间:2022-12-22 格式:PPT 页数:40 大小:2.50MB
收藏 版权申诉 举报 下载
第章定时接口模块_第1页
第1页 / 共40页
第章定时接口模块_第2页
第2页 / 共40页
第章定时接口模块_第3页
第3页 / 共40页
资源描述:

《第章定时接口模块》由会员分享,可在线阅读,更多相关《第章定时接口模块(40页珍藏版)》请在装配图网上搜索。

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

2、实现,即完全用硬件电路实现计数常使用数字逻辑电路实现,即完全用硬件电路实现计数/定时功能若要改定时功能若要改变计数变计数/定时的要求,必须改变电路参数,通用性、灵活性差。微型电子定时的要求,必须改变电路参数,通用性、灵活性差。微型电子计算机出现以后,特别是单片微型计算机的发展与普及,这种完全硬件计算机出现以后,特别是单片微型计算机的发展与普及,这种完全硬件方式实现定时与计数已较少使用。方式实现定时与计数已较少使用。(2 2)完全软件方式)完全软件方式 在计算机中,通过编程,利用计算机执行指令的时间实现定时,在计算机中,通过编程,利用计算机执行指令的时间实现定时,称为完全软件方式,简称软件方式。

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

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

5、产生中断信号就可以建立多作业的环境,所以,可大大提高CPUCPU的利用率。的利用率。12.1.2 MC68HC908GP32 MCU12.1.2 MC68HC908GP32 MCU的定时接口的的定时接口的 基本原理的概述基本原理的概述 MC68HC08MC68HC08系列的单片机可以提供多个独立的定时器,例如,系列的单片机可以提供多个独立的定时器,例如,GP32GP32芯芯片有两个定时器,分别叫定时器片有两个定时器,分别叫定时器1 1、定时器、定时器2 2,它们的工作原理是一的,它们的工作原理是一的,下面的说明均以定时器下面的说明均以定时器1 1为例。为例。HC08HC08系列的单片机定时器的

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

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

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

9、时器功能框图12.2 12.2 定时器模块的编程基础定时器模块的编程基础 D7 D7 TOF TOF位:定时器溢出标志位位:定时器溢出标志位 。当。当1616位计数寄存器位计数寄存器T1CNTT1CNT中中的值达到设定值的值达到设定值(在在1616位预置寄存器位预置寄存器T1MODT1MOD中中)时,时,TOF=1TOF=1,同时,同时T1CNT=$0000T1CNT=$0000。D6 D6 TOIE TOIE位:定时器溢出中断允许位(位:定时器溢出中断允许位(Timer Overflow Timer Overflow Interrupt Enable BitInterrupt Enable

10、Bit)。该位用来设置是否允许定时器溢出中断。)。该位用来设置是否允许定时器溢出中断。TOIE=1TOIE=1,允许定时器溢出中断,允许定时器溢出中断,TOIE=0TOIE=0,不允许定时器溢出中断。,不允许定时器溢出中断。12.2.1 12.2.1 定时器模块的定时器模块的3 3个基本寄存器个基本寄存器(1 1)T1T1状态和控制寄存器(状态和控制寄存器(Timer 1 Status and Control RegisterTimer 1 Status and Control Register,T1SCT1SC)T1SCT1SC的地址:的地址:$0020$0020,定义为:,定义为:数据位

11、D7 D6 D5 D4 D3 D2 D1 D0定义 TOF TOIE TSTOP TRST -PS2 PS1 PS0复位 0 0 1 0 0 0 0 0(1 1)T1T1状态和控制寄存器(状态和控制寄存器(Timer 1 Status and Timer 1 Status and Control RegisterControl Register,T1SCT1SC)D5 D5 TSTOP TSTOP位:定时器计数停止位(位:定时器计数停止位(Timer Count Stop BitTimer Count Stop Bit)。该位用来控制计)。该位用来控制计数器的计数停止和恢复。对该位写入数器的计

12、数停止和恢复。对该位写入1 1,定时器的计数寄存器将保持当前的值,停止,定时器的计数寄存器将保持当前的值,停止计数。计数。D4 D4 TRST TRST位:定时器复位位位:定时器复位位(Timer Reset Bit)(Timer Reset Bit)。向该位写入。向该位写入1 1将清除定时器将清除定时器的计数寄存器和设定的分频因子,该位通常为的计数寄存器和设定的分频因子,该位通常为0 0。D3 D3 未定义。未定义。D2 D2D0 D0 PS2 PS2PS0PS0位:定时器分频因子选择位(位:定时器分频因子选择位(Timer Timer PrescalerPrescaler Select S

13、elect BitsBits)。这三位定义定时器的分频因子,记为:)。这三位定义定时器的分频因子,记为:p p,定义如下,定义如下:PS2PS2、PS1PS1、PS0=000 001 010 011 100 101 110 111 PS0=000 001 010 011 100 101 110 111 p=1 2 4 8 16 32 64 p=1 2 4 8 16 32 64 未定义未定义其中设其中设fBUSfBUS为总线频率,则定时器的计数寄存器的计数频率为:计数频率为总线频率,则定时器的计数寄存器的计数频率为:计数频率fBUSfBUS/p/p。复位时,复位时,PS2PS2、PS1PS1、P

14、S0=000PS0=000,即,即p=1p=1,此时,计数频率,此时,计数频率fBUSfBUS。分频因子的选取应根。分频因子的选取应根据总线频率据总线频率fBUSfBUS、预置寄存器的设定值、希望的溢出时间的综合考虑确定。、预置寄存器的设定值、希望的溢出时间的综合考虑确定。(2 2)T1T1计数寄存器(计数寄存器(T1 Counter RegisterT1 Counter Register,T1CNTHT1CNTH、T1CNTLT1CNTL)它是一个它是一个1616位寄存器,分为高位寄存器,分为高8 8位、低位、低8 8位,地址分别为位,地址分别为$0021$0021、$0022$0022,它

15、的作用是:当定时器的状态和控制寄存器的,它的作用是:当定时器的状态和控制寄存器的TSTOPTSTOP位位=0=0时,时,即允许计数时,每一计数周期,其值自动加即允许计数时,每一计数周期,其值自动加1 1,当它达到设定值,当它达到设定值(在在1616位预置寄存器中位预置寄存器中)时,时,TOF=1TOF=1,同时计数寄存器自动清,同时计数寄存器自动清0 0。(3 3)T1T1预置寄存器(预置寄存器(T1 Counter Modulo RegisterT1 Counter Modulo Register,T1MODHT1MODH、T1MODLT1MODL)它是一个它是一个1616位寄存器,分为高位

16、寄存器,分为高8 8位、低位、低8 8位,地址分别为位,地址分别为$0023$0023、$0024$0024,它的作用是:设定计数寄存器的计数溢出值。复位时,预置,它的作用是:设定计数寄存器的计数溢出值。复位时,预置寄存器的初值为寄存器的初值为$FFFF$FFFF。12.2.212.2.2定时溢出中断汇编工程实例定时溢出中断汇编工程实例 为了理解定时器的基本功能,这里给出利用定时器溢出编写定时的例为了理解定时器的基本功能,这里给出利用定时器溢出编写定时的例子,并把子,并把“时分秒时分秒”发送到发送到PCPC机,以便比较。同时,在机,以便比较。同时,在PCPC机方,用一机方,用一个十分简明的程序

17、,接收个十分简明的程序,接收MCUMCU发送来发送来“时分秒时分秒”并显示,同时还可以并显示,同时还可以将将PCPC机的当前时间发送到机的当前时间发送到MCUMCU,作为时间基准值。通过这个例子,理,作为时间基准值。通过这个例子,理解定时器溢出中断的编程方法和系统时间的产生方法。解定时器溢出中断的编程方法和系统时间的产生方法。1)MCU方程序2)PC方VB程序1)MCU方程序 2)PC方VB程序PCPC方的界面见图。程序主要功能是:接收方的界面见图。程序主要功能是:接收MCUMCU发送来发送来“时分秒时分秒”并显并显示,也可以单击示,也可以单击“发送发送”按钮,发送按钮,发送PCPC机的当前时

18、间。机的当前时间。12.2.3 12.2.3 定时溢出中断编程定时溢出中断编程C C语言程序例语言程序例1 1)定时溢出中断编程定时溢出中断编程C C语言程序例主程序语言程序例主程序2 2)定时溢出中断编程定时溢出中断编程C C语言程序例矢量表文件语言程序例矢量表文件12.3 12.3 定时器模块的输入捕捉功能定时器模块的输入捕捉功能12.3.1 12.3.1 输入捕捉的基本含义输入捕捉的基本含义(1)与输入捕捉功能相关的引脚 在在MC68HC908GP32MC68HC908GP32的的DIP-40DIP-40封装形式中,第封装形式中,第2121、2222脚标记是脚标记是“PTD4/T1CH0

19、PTD4/T1CH0、PTD5/T1CH1”PTD5/T1CH1”,它们是普通,它们是普通I/OI/O与定时器输入捕捉的与定时器输入捕捉的复用引脚。作为定时器输入捕捉功能使用时,它们是定时器复用引脚。作为定时器输入捕捉功能使用时,它们是定时器1 1的两个的两个通道输入捕捉引脚。通道输入捕捉引脚。(2)输入捕捉的基本含义 输入捕捉功能是用来监测外部的事件和输入信号。当外部事件发输入捕捉功能是用来监测外部的事件和输入信号。当外部事件发生或信号发生变化时,在指定的输入捕捉引脚上发生一个指定的沿跳生或信号发生变化时,在指定的输入捕捉引脚上发生一个指定的沿跳变(可以指定该跳变是上升沿还是下降沿)。定时器

20、捕捉到特定的沿变(可以指定该跳变是上升沿还是下降沿)。定时器捕捉到特定的沿跳变后,把计数寄存器当前的值锁存到通道寄存器。跳变后,把计数寄存器当前的值锁存到通道寄存器。12.3.2 12.3.2 输入捕捉的寄存器输入捕捉的寄存器(1 1)T1T1通道寄存器通道寄存器 (T1 Channel RegisterT1 Channel Register)定时器定时器1 1有两个通道,相对应的通道寄存器有:定时器有两个通道,相对应的通道寄存器有:定时器1 1通道通道0 0寄寄存器存器T1CH0(16T1CH0(16位寄存器位寄存器),地址是:,地址是:$0026$0026、$0027$0027;定时器;定

21、时器1 1通道通道1 1寄存器寄存器T1CH1(16T1CH1(16位寄存器位寄存器),地址是:,地址是:$0029$0029、$002A$002A。通道寄存器在该通道用作输入捕捉时的作用是:当指定的沿跳变通道寄存器在该通道用作输入捕捉时的作用是:当指定的沿跳变发生发生 (即定时系统捕捉到沿跳变即定时系统捕捉到沿跳变)时,锁存计数寄存器的值。时,锁存计数寄存器的值。通道寄存器是一个通道寄存器是一个1616位的寄存器,分为高字节和低字节,在读取位的寄存器,分为高字节和低字节,在读取的时候要分别读取。为了防止两次读取之间该寄存器的内容发生变化的时候要分别读取。为了防止两次读取之间该寄存器的内容发生

22、变化而产生虚假的输入捕捉计数值,系统会在读取高字节时锁存低字节的而产生虚假的输入捕捉计数值,系统会在读取高字节时锁存低字节的内容,这时即使又发生特定的沿跳变,通道寄存器的内容也不会改变。内容,这时即使又发生特定的沿跳变,通道寄存器的内容也不会改变。所以,若要读取整个通道寄存器,必须先读高字节,再读低字节。所以,若要读取整个通道寄存器,必须先读高字节,再读低字节。(2 2)T1T1通道通道0 0状态和控制寄存器(状态和控制寄存器(T1 Channel0 Status and Control RegisterT1 Channel0 Status and Control Register,T1SC0

23、T1SC0)D7 D7:通道标志位,用来标志定时器:通道标志位,用来标志定时器1 1通道通道0 0发生了输入捕捉。发生了输入捕捉。D6 D6:通道中断允许位,用来设置是否允许发生输入捕捉中断。通道中断允许位,用来设置是否允许发生输入捕捉中断。D5D5D4D4:模式选择位。每一个定时器都可以工作在输入捕捉,输出比较和模式选择位。每一个定时器都可以工作在输入捕捉,输出比较和PWMPWM输出模式,这两位用来选择这些工作模式。输出模式,这两位用来选择这些工作模式。D3D3D2 D2:跳变沿:跳变沿/输出电平选择位。输出电平选择位。D1 D1:溢出翻转控制标志位,定时器通道用做:溢出翻转控制标志位,定时

24、器通道用做输入捕捉时,此位无用。输入捕捉时,此位无用。D0 D0:通道最大占空比设置位:通道最大占空比设置位 ,定时器,定时器通道用作输入捕捉时,此位无用。通道用作输入捕捉时,此位无用。数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义定义CH0F CH0IE MS0B MS0A ELS0B ELS0A TOV0 CH0MAXCH0F CH0IE MS0B MS0A ELS0B ELS0A TOV0 CH0MAX复位复位 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1通道控制寄存器控制位通道控制寄存器控制位MS0BMS0B:MS0AELS0BELS0B:ELS0A工

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

26、出高电平1 X1 X1 11 1输出低电平输出低电平(3 3)T1T1通道通道1 1状态和控制寄存器(状态和控制寄存器(Timer1 Channel 1 Status and Control RegisterTimer1 Channel 1 Status and Control Register,T1SC1T1SC1)含义同含义同T1T1通道通道0 0状态和控制寄存器状态和控制寄存器 ,只是没有,只是没有D5(MS1B)D5(MS1B)位,因为位,因为MS0BMS0B是选择是选择CH0CH0缓冲方式的,缓冲方式的,CH1CH1没有缓冲方式,没有缓冲方式,所以没有所以没有MS1BMS1B位。位。

27、数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义定义CH1F CH1IE -MS1A ELS1B ELS1A TOV1 CH1MAXCH1F CH1IE -MS1A ELS1B ELS1A TOV1 CH1MAX复位复位 1 1 1 1 1 1 1 11 1 1 1 1 1 1 112.3.3 12.3.3 输入捕捉中断编程实例输入捕捉中断编程实例下面程序验证定时器下面程序验证定时器1 1通道通道0(0(引脚引脚21)21)输入捕捉中断的产生,当中断发输入捕捉中断的产生,当中断发生时取反指示灯生时取反指示灯PTA1PTA1。定时器。定时器1 1通道通道0 0的输入捕捉中断向量的

28、地址是的输入捕捉中断向量的地址是$FFF6$FFF6。(1 1)输入捕捉中断编程实例汇编语言程序输入捕捉中断编程实例汇编语言程序 (2)输入捕捉中断编程实例C语言主程序(2)输入捕捉中断编程实例C语言主程序(3)输入捕捉中断编程实例C语言矢量表文件(3)输入捕捉中断编程实例C语言矢量表文件12.4 12.4 定时器模块的输出比较功能定时器模块的输出比较功能12.4.1 12.4.1 输出比较的基本含义输出比较的基本含义 (1 1)与输出比较功能相关的引脚)与输出比较功能相关的引脚 在在MC68HC908GP32MC68HC908GP32的的DIP-40DIP-40封装形式中,第封装形式中,第2

29、121、2222脚标记是脚标记是“PTD4/T1CH0PTD4/T1CH0、PTD5/T1CH1”PTD5/T1CH1”,它们是普通,它们是普通I/OI/O与定时器输入捕捉的与定时器输入捕捉的复用引脚。作为定时器输入捕捉功能使用时,它们是定时器复用引脚。作为定时器输入捕捉功能使用时,它们是定时器1 1的两个的两个通道输入捕捉引脚,同时也可定义它们为输出比较引脚。通道输入捕捉引脚,同时也可定义它们为输出比较引脚。(2 2)输出比较的含义)输出比较的含义 输出比较的功能是用程序的方法在规定的时刻输出需要的电平,输出比较的功能是用程序的方法在规定的时刻输出需要的电平,实现对外部电路的控制。实现对外部

30、电路的控制。12.4 12.4 定时器模块的输出比较功能定时器模块的输出比较功能12.4.1 12.4.1 输出比较的基本含义输出比较的基本含义 (3 3)输出比较过程)输出比较过程12.4.2 12.4.2 输出比较的寄存器输出比较的寄存器(1)T1通道寄存器(T1 Channel Register)通道寄存器在该通道用作输出比较时的作用是:存放要与计数寄通道寄存器在该通道用作输出比较时的作用是:存放要与计数寄存器进行比较的数值。存器进行比较的数值。完整的设置输出比较功能应该包括对寄存器两个字节的写入。通完整的设置输出比较功能应该包括对寄存器两个字节的写入。通道寄存器和标志位在复位时被清零,

31、在初始化输出比较功能时应该小道寄存器和标志位在复位时被清零,在初始化输出比较功能时应该小心谨慎,一般采用以下的步骤:心谨慎,一般采用以下的步骤:写入通道寄存器的高位字节,禁止输出比较功能;写入通道寄存器的高位字节,禁止输出比较功能;取状态寄存器,清除取状态寄存器,清除OCFOCF位;位;写入通道寄存器低位字节,使输出比较功能工作。写入通道寄存器低位字节,使输出比较功能工作。(2 2)T1T1通道通道0 0状态和控制寄存器(状态和控制寄存器(T1 Channel0 Status and Control T1 Channel0 Status and Control RegisterRegister

32、,T1SC0T1SC0)T1SC0 T1SC0寄存器在输出比较时,寄存器在输出比较时,D7D7D2D2位与用作输入捕捉时的含义相同,位与用作输入捕捉时的含义相同,D1D1位此时无意义,在用作输出比较时其含义说明如下位此时无意义,在用作输出比较时其含义说明如下:D1 D1:溢出翻转控制标志位,在定时器通道用作输出比较功能时,如果置位:溢出翻转控制标志位,在定时器通道用作输出比较功能时,如果置位该位,在通道的定时器发生溢出时,输出比较模块会自动翻转输出电平。在该位,在通道的定时器发生溢出时,输出比较模块会自动翻转输出电平。在一个完整的脉冲中,必然有两次电平的跳变。这就需要两次进入输出比较处一个完整

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

34、块将优先处理定时器溢出事件。如果定时器溢出的处理例程较同时发生,模块将优先处理定时器溢出事件。如果定时器溢出的处理例程比较耗时,输出比较将不能得到及时的处理。这在编写程序时一定要非常留比较耗时,输出比较将不能得到及时的处理。这在编写程序时一定要非常留意。意。12.4.312.4.3不带缓冲输出比较与带缓冲的输出比较不带缓冲输出比较与带缓冲的输出比较(1)不带缓冲的输出比较 不带缓冲的输出比较的功能表现在更改下一次输出比较时需要对不带缓冲的输出比较的功能表现在更改下一次输出比较时需要对输出比较计数器重新写入。输出比较计数器重新写入。(2)带缓冲的输出比较 使用使用MC68HC908GP32MC6

35、8HC908GP32的带缓冲的输出比较功能就可以克服不带缓的带缓冲的输出比较功能就可以克服不带缓冲的输出比较缺陷。带缓冲的输出比较功能使用了同一定时器的两路冲的输出比较缺陷。带缓冲的输出比较功能使用了同一定时器的两路通道,将这两路通道联合起来共同组成一个带缓冲的输出比较。该输通道,将这两路通道联合起来共同组成一个带缓冲的输出比较。该输出比较波形将出现在出比较波形将出现在TCH0TCH0引脚上,而原来的引脚上,而原来的TCH1TCH1引脚仍然可以作为普引脚仍然可以作为普通的通的I/OI/O引脚使用。引脚使用。12.5 12.5 定时器模块的脉宽调制输出功能定时器模块的脉宽调制输出功能12.5.1

36、12.5.1脉冲宽度调制器脉冲宽度调制器PWMPWM PWMPWM产生一个在高电平和低电平之间重复交替的输出信号,这个产生一个在高电平和低电平之间重复交替的输出信号,这个信号被称为信号被称为PWMPWM信号信号,也叫也叫脉宽调制波脉宽调制波。通过指定所需的时钟周期和。通过指定所需的时钟周期和占空比来控制高电平和低电平的持续时间。占空比来控制高电平和低电平的持续时间。占空比为信号处于高电平的时间(或时钟周期数)占整个信号周为信号处于高电平的时间(或时钟周期数)占整个信号周期的百分比,方波的占空比是期的百分比,方波的占空比是50%50%。脉冲宽度是指脉冲处于高电平的时间。是指脉冲处于高电平的时间。

37、PWMPWM的常见应用是为其他设备产生类似于时钟的信号。的常见应用是为其他设备产生类似于时钟的信号。PWMPWM的另的另一个常见用途是控制输入到某个设备的平均电流或电压。一个常见用途是控制输入到某个设备的平均电流或电压。12.5 12.5 定时器模块的脉宽调制输出功能定时器模块的脉宽调制输出功能12.5.112.5.1脉冲宽度调制器脉冲宽度调制器PWMPWM 图图12-5 PWM12-5 PWM的占空比的计算方法的占空比的计算方法 12.5.2 12.5.2 用定时器实现用定时器实现PWMPWM 定时器的每一个通道都可以设置为在溢出时自动翻转电平,利用定时器的每一个通道都可以设置为在溢出时自动

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

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

40、冲脉宽调制输出 在定时器预置计数寄存器中写入需要的脉宽调制波的周期,在希在定时器预置计数寄存器中写入需要的脉宽调制波的周期,在希望输出波形的通道的通道寄存器中写入需要的脉宽调制波的脉宽。如望输出波形的通道的通道寄存器中写入需要的脉宽调制波的脉宽。如果需要更改脉宽调制波的脉宽,就必须重新改写当前定时器通道的通果需要更改脉宽调制波的脉宽,就必须重新改写当前定时器通道的通道寄存器。道寄存器。(2)带缓冲脉宽调制输出 在这种方式下,一个定时器的两个通道联合起来交替在这种方式下,一个定时器的两个通道联合起来交替控制原来通道控制原来通道1 1的脉宽调制输出从而构成一个带缓冲的脉的脉宽调制输出从而构成一个带缓冲的脉宽调制输出。宽调制输出。12.5.4 12.5.4 PWMPWM编程汇编语言例编程汇编语言例 具体内容参见教学资料中的例程。具体内容参见教学资料中的例程。12.5.5 12.5.5 PWMPWM编程编程C C语言例语言例12.5.5 12.5.5 PWMPWM编程编程C C语言例语言例12.5.5 12.5.5 PWMPWM编程编程C C语言例语言例

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!