第6讲_定时器、PWM_第1页
第6讲_定时器、PWM_第2页
第6讲_定时器、PWM_第3页
第6讲_定时器、PWM_第4页
第6讲_定时器、PWM_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

6,LECTURE,定时器、PWM,陈子为,捕获外部信号,用于对内部事件进行计数的间隔定时器,或者产生系统节拍,匹配输出,LPC2000系列“微控制器”具有两个功能强大的定时器,它们具有以下特性:具有32位可编程预分频器;多达4路捕获通道,可设置被捕获信号的特征;4个32位匹配寄存器,可设置匹配发生后的动作;4个对应于匹配寄存器的外部输出,可设置匹配输出的信号特征。,1定时器0/1,定时器原理方框图,定时器引脚描述,多个引脚作为捕获功能时,对输入信号相或处理,如果输入信号满足设定的要求,将触发捕获动作,定时器引脚描述,当定时器值等于预设的匹配值时,从引脚输出特定的信号,寄存器描述,LPC2000微控制器中与定时器相关的寄存器数量较多,但可以分为三类:基本功能相关寄存器;匹配功能相关寄存器;捕获功能相关寄存器;,寄存器描述,基本功能寄存器,寄存器描述,基本功能寄存器,TxPR,TxPR寄存器为32为寄存器,该寄存器指定了预分频计数器的最大值。,寄存器描述,基本功能寄存器,TxPR,TxPC,TxPC寄存器为32为寄存器。预分频计数器每个pclk周期加1。当其到达预分频寄存器中保存的值时,定时器计数器加1,预分频计数器在下个pclk周期复位。这样,当PR=0时,定时器计数器每个pclk周期加1,当PR=1时,定时器计数器每2个pclk周期加1。,寄存器描述,基本功能寄存器,TxPR,定时器控制寄存器TCR用于控制定时器计数器的操作。,TxTCR,寄存器描述,基本功能寄存器,TxPR,当预分频计数器到达计数的上限时,定时器计数器寄存器(TxTC)加1。TC从0 x00000000计数一直到0 xFFFFFFFF,然后翻转至0,除非中途被复位。计数值翻转不会引起中断。,TxTC,寄存器描述,基本功能寄存器,TxPR,中断寄存器包含4个位用于匹配中断,另外4个位用于捕获中断。如果有中断产生,IR中的对应位会置位。向对应的IR位写入1会复位中断,写入0无效。,TxIR,寄存器描述,匹配功能寄存器,寄存器描述,匹配功能寄存器,MCR,匹配控制寄存器用于控制在发生匹配时所执行的操作。,寄存器描述,匹配功能寄存器,匹配寄存器(MR0MR3)值与定时器计数值相比较,当两个值相等时自动触发在MCR寄存器中设置的动作。,MR0MR3,寄存器描述,匹配功能寄存器,外部匹配寄存器提供外部匹配管脚MATn.0MATn.3(n为0或1)的控制和状态。,EMR,寄存器描述,匹配功能寄存器,EMR,寄存器描述,捕获功能寄存器,寄存器描述,捕获功能寄存器,CCR,特殊:LPC2103的定时器,两个32位定时器:定时器0和定时器1两个16位定时器:定时器2和定时器3可对捕获输入引脚(CAPx.0CAPx.2)边沿计数定时器匹配输出可配置为PWM输出功能定时器0有3个捕获输入和3个匹配输出管脚定时器1有4个捕获输入,有4个匹配输出管脚定时器2有3个捕获输入和3个匹配输出管脚定时器3没有捕获输入,有4个匹配输出管脚对于LPC2103的定时器,可多达4个匹配寄存器可配置为PWM,允许使用多达3个匹配输出作为单边沿控制的PWM输出,LPC2103的定时器特有的寄存器,(1)计数控制寄存器TxCTCR(x=0,1,2,3)计数控制寄存器用来选择定时模式还是计数模式,同时在计数模式下,用来选择引脚和选择边沿计数(上升沿还是下降沿),(2)PWM控制寄存器PWMxCON(x=03)PWM控制寄存器用来控制配置匹配输出为PWM输出。每个匹配输出可独立的设置为PWM输出。对于每个定时器,最多可选择3个单边沿PWM输出在MATn.2:0引脚上。另外一个匹配寄存器用来决定PWM输出的周期,当其它任何一个匹配寄存器发生匹配时,PWM输出将会置为高电平。,使用定时器的注意要点,定时计数器(TC)本身不能产生中断,只有与匹配寄存器发生匹配后才能引起中断事件;在定时器匹配发生后,可以不停止定时器工作,而动态修改匹配寄存器的值;定时器使用匹配功能的同时,还可以使用捕获功能,而不必分时使用;定时器定时时间=MR(PR+1)/Fpclk,定时器操作示例,定时器设置为匹配时复位计数器并产生中断。预分频设置为2,匹配寄存器设置为6。在发生匹配的定时器周期结束时,定时器计数值复位。这样就使匹配值具有完整长度的周期。,PR=2,MRx=6,匹配时使能中断和复位,预分频计数器计数频率为PCLK,定时器计数器计数频率为PCLK/3,最后一个周期复位定时器计数器,产生匹配中断,定时器操作示例,操作流程,定时器操作示例,定时器0初始化,VoidTime0Init(void)T0TC=0;T0PR=0;T0MCR=0 x03;T0MR0=Fpclk/10;T0TCR=0 x01;,C代码:,定时器操作示例,用定时器测量脉冲宽度,.T0TC=0;T0PR=0;while(IO0PIN.,C代码:,P0.0,定时器操作示例,匹配输出,VoidMATOut(void)PINSEL0=0 x00000800;T0TC=0;T0PR=0;T0MCR=0 x02;T0EMR=0 xC0;T0MR1=5000;T0TCR=0 x01;,C代码:,将引脚P0.5设置为输出50%的方波,程序设置了MR1匹配后复位定时器,并且MAT0.1输出电平翻转。,定时器操作示例,定时器捕获,VoidTimeCAP(void)PINSEL0=0 x20;T0PR=0;T0CCR=0 x02;T0TC=0;T0TCR=0 x01;,C代码:,示例使用定时器对P0.2引脚的信号进行捕获,并设置为下降沿捕获。当有捕获事件产生时自动把定时器的当前值装载到T0CR0寄存器中。,#includeconfig.h/*函数名称:Timer1Init*函数功能:定时器1初始化*输入参数:无*输出参数:无*/voidTimer1Init(void)T1TCR=0 x02;/*定时器0复位*/T1PR=0;/*不设时钟分频*/PWM1CON=0 x0C;/*使能PWM输出*/T1MCR=0 x02;/*设置T0MR0匹配后复位T0TC*/T1MR0=Fpclk/2000;/*设置PWM输出的周期*/T1MR2=(Fpclk/2000)/2;/*设置PWM1.2输出占空比为50*/T1MR3=(Fpclk/2000)/4)*3;/*设置PWM1.3输出占空比为25*/T1TCR=0 x01;/*启动定时器0*/,P0.19输出的波形占空比为50,P0.20输出的占空比为25。,定时器操作示例,定时器PWM输出,/*函数名称:main*函数功能:定时器1PWM输出*输入参数:无*输出参数:无*/intmain(void)PINSEL1=(PINSEL1,结果观察:用示波器观察P0.19与P0.20脚的波形,或者用逻辑分析仪LA1024在PC机上观察P0.19与P0.20脚的波形,2脉宽调制器PWM,特性,LPC2000系列微控制器的脉宽调制器建立在独立的32位标准定时器之上,具有如下特性:带可编程32位预分频的32位定时器/计数器;7个匹配寄存器,可实现6个单边沿控制或3个双边沿控制PWM输出,或两者的混合输出;脉冲周期和宽度可以是任何的定时器计数值;匹配寄存器更新与脉冲输出同步,防止产生错误脉冲。,注意:LPC2103无PWM模块,其PWM功能是通过定时器完成的。,PWM简介,LPC2000的PWM基于标准的定时器模块,具有定时器的所有特性,它是定时器功能中匹配事件的功能扩展。使用PWM功能,可以在指定引脚输出需要的波形。输出波形可分为两类:单边沿输出;双边沿输出。,使用两个匹配寄存器就可以实现单边沿控制的PWM输出。其中一个匹配寄存器(PWMMR0)控制PWM周期,另一个匹配寄存器控制PWM边沿的位置,即占空比。PWMMR0是所有PWM输出共用的,所以每增加一路PWM输出,实际上只要增加一个控制占空比的匹配寄存器。当PWMMR0发生匹配时,输出都会变成高电平。,单边沿输出,PWMMR0控制PWM周期,不同占空比的单边沿控制PWM输出,所有单边沿输出在周期开始时都为高电平,并在匹配发生前一直保持高电平,实现双边沿输出需要3个匹配寄存器进行控制。其中PWMMR0用于控制PWM周期,其它两个匹配寄存器分别控制PWM输出的前沿和后沿的位置。与单边沿输出一样,PWMMR0是所有输出共用的,所以每增加一路双边沿输出,需要增加两个匹配控制寄存器。,双边沿输出,双边沿控制PWM输出正负脉冲,PWMMR0控制PWM周期,PWM简介,PWM输出触发关系,举例说明:使用PWM通道5输出时。如果为单边沿输出,那么匹配0事件置位输出引脚,匹配5事件复位输出引脚。如果为双边沿输出,那么匹配4事件置位输出引脚,匹配5事件复位输出引脚。,PWM引脚描述,PWM寄存器描述,PWM模块的控制寄存器数量较多,但是因为它是建立在标准定时器的基础上,所以一部分寄存器功能与定时器功能类似。所有寄存器大致可以分为两类:基本功能寄存器匹配控制寄存器,PWM寄存器描述,基本功能寄存器,大部分寄存器的功能与定时器部件相同,所以仅介绍与之不同的地方,PWM定时器控制寄存器TCR用于控制定时器计数器的操作。,PWMTCR,PWM寄存器描述,基本功能寄存器,寄存器描述,基本功能寄存器,中断寄存器包含11个位。其中7个位用于匹配中断,其它的位保留。中断发生时,对应位将被置1。向对应的IR位写入1会复位中断,写入0无效。,PWMIR,PWM寄存器描述,匹配功能寄存器,PWM寄存器描述,匹配功能寄存器,PWMMCR,PWM寄存器描述,匹配功能寄存器,PWMMRx,PWM匹配寄存器值连续与PWM定时器计数值相比较。当这两个值相等时自动触发相应动作。这些动作包括产生中断、复位PWM定时器计数器或停止定时器。,PWM寄存器描述,匹配功能寄存器,PWM锁存使能寄存器用于控制PWM匹配寄存器的更新。在产生PWM时,为了保证一个周期的完整,在更改PWM匹配寄存器之后,并不能立即生效。而是在MR0发生匹配并且PWMLER中的相应位置位时才能使修改值生效。,PWMLER,PWM寄存器描述,匹配功能寄存器,PWMLER,PWM寄存器描述,匹配功能寄存器,PWMPCR,PWM匹配控制寄存器用于使能并选择每个PWM通道的类型。,PWM寄存器描述,匹配功能寄存器,使用PWM的注意要点,修改匹配寄存器之后,必须设置锁存使能寄存器中的相应位,否则匹配寄存器的值不能生效;修改匹配寄存器时,不需要停止PW

温馨提示

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

评论

0/150

提交评论