您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第6讲_定时器、PWM
成都信息工程学院3+1创新实验班-2020/6/286LECTURE定时器、PWM陈子为成都信息工程学院3+1创新实验班-2020/6/28LPC2000CAPMAT捕获外部信号用于对内部事件进行计数的间隔定时器,或者产生系统节拍匹配输出LPC2000系列“微控制器”具有两个功能强大的定时器,它们具有以下特性:具有32位可编程预分频器;多达4路捕获通道,可设置被捕获信号的特征;4个32位匹配寄存器,可设置匹配发生后的动作;4个对应于匹配寄存器的外部输出,可设置匹配输出的信号特征。1定时器0/1成都信息工程学院3+1创新实验班-2020/6/28匹配控制寄存器MCR匹配寄存器MR外部匹配寄存器EMR分频常数寄存器PR分频器PC32位加法计数器TC输出控制逻辑0x00000000定时器控制寄存器TCR捕获寄存器CR捕获控制寄存器CCR比较器CAP0CAP1CAP2CAP3MAT0MAT1MAT2MAT3PCLK使能复位中断标志寄存器IR匹配功能捕获功能定时器原理方框图成都信息工程学院3+1创新实验班-2020/6/28管脚名称管脚方向管脚描述CAP0.3~CAP0.0CPA1.3~CAP1.0输入捕获信号,用来捕获管脚的跳变,可配置为将定时器值装入一个捕获寄存器,并可选择产生一个中断。可选择多个管脚用作捕获功能,而且,假设如果有2个管脚被选择并行提供CAP0.2功能,它们的输入将进行逻辑或,所得结果用作一个捕获输入。定时器引脚描述信号过滤捕获控制寄存器Tx定时器捕获寄存器多个引脚作为捕获功能时,对输入信号相或处理如果输入信号满足设定的要求,将触发捕获动作成都信息工程学院3+1创新实验班-2020/6/28管脚名称管脚方向管脚描述MAT0.3~MAT0.0MAT1.3~MAT1.0输出外部匹配输出0/1。当匹配寄存器0/1(MR3:0)等于定时器计数器(TC)时,该输出可翻转、变为低电平、变为高电平或不变。外部匹配寄存器(EMR)控制该输出的功能。可选择多个管脚并行用作匹配输出功能。例如,同时选择2个管脚并行提供MAT1.3功能。定时器引脚描述信号输出匹配控制寄存器Tx定时器匹配寄存器=当定时器值等于预设的匹配值时,从引脚输出特定的信号信号输出=成都信息工程学院3+1创新实验班-2020/6/28寄存器描述LPC2000微控制器中与定时器相关的寄存器数量较多,但可以分为三类:▪基本功能相关寄存器;▪匹配功能相关寄存器;▪捕获功能相关寄存器;成都信息工程学院3+1创新实验班-2020/6/28寄存器描述——基本功能寄存器名称描述访问复位值TCR定时器控制寄存器。控制定时器计数器功能(禁止或复位)。读写0TC定时器计数器。为32位计数器,计数频率为PCLK经过预分频计数器后频率值。读写0PR预分频控制寄存器。用于设定预分频值,为32位寄存器。读写0PC预分频计数器。为32位计数器,计数频率为PCLK,当计数值等于预分频计数器的值时,TC计数器加一。读写0IR中断标志寄存器。读该寄存器识别中断源,写该寄存器清除中断标志。读写0预分频计数器TxPC定时器计数器TxTC预分频寄存器TxPR定时器控制TxTCR中断标志寄存器TxIRFpclk成都信息工程学院3+1创新实验班-2020/6/28寄存器描述——基本功能寄存器预分频计数器TxPC定时器计数器TxTC预分频寄存器TxPR定时器控制TxTCR中断标志寄存器TxIRFpclkTxPR定时器控制寄存器TCR用于控制定时器计数器的操作。TCR功能描述复位值0计数器使能1:定时器计数器和预分频计数器使能计数;0:定时器计数器和预分频计数器停止计数。01计数器复位为1时定时器计数器和预分频计数器在PCLK的下一个上升沿同步复位。计数器在TCR的bit1恢复为0之前保持复位状态。0TxTCR成都信息工程学院3+1创新实验班-2020/6/28寄存器描述——基本功能寄存器预分频计数器TxPC定时器计数器TxTC预分频寄存器TxPR定时器控制TxTCR中断标志寄存器TxIRFpclkTxPR中断寄存器包含4个位用于匹配中断,另外4个位用于捕获中断。如果有中断产生,IR中的对应位会置位。向对应的IR位写入1会复位中断,写入0无效。位功能描述位功能描述0MR0中断匹配0中断4CR0中断捕获0中断1MR1中断匹配0中断5CR1中断捕获1中断2MR2中断匹配0中断6CR2中断捕获2中断3MR3中断匹配0中断7CR3中断捕获0中断TxIR成都信息工程学院3+1创新实验班-2020/6/28寄存器描述——匹配功能寄存器名称描述访问复位值MCR匹配控制寄存器,用于控制在匹配时是否产生中断或复位TC读写0MR0匹配寄存器0,通过MCR寄存器可以设置匹配发生时的动作读写0MR1匹配寄存器1,通过MCR寄存器可以设置匹配发生时的动作读写0MR2匹配寄存器2,通过MCR寄存器可以设置匹配发生时的动作读写0MR3匹配寄存器3,通过MCR寄存器可以设置匹配发生时的动作读写0EMR外部匹配寄存器,EMR控制外部匹配管脚MATx.0~MATx.3读写0匹配控制MCR匹配值MR0~MR3匹配输出EMR定时器计数器TC成都信息工程学院3+1创新实验班-2020/6/28寄存器描述——匹配功能寄存器匹配控制MCR匹配值MR0~MR3匹配输出EMR定时器计数器TC匹配控制MCR匹配值MR0~MR3匹配输出EMR定时器计数器TCMCR匹配控制寄存器用于控制在发生匹配时所执行的操作。位功能描述复位值0中断(MR0)为1时,MR0与TC值的匹配将产生中断。为0时禁止。01复位(MR0)为1时,MR0与TC值的匹配将使TC复位。为0时禁止。02停止(MR0)为1时,MR0与TC值的匹配将清零TCR的bit0位,使TC和PC停止。为0时该特性被禁止。05:3MR1与匹配0(MR0)对应位功能相同(略)08:6MR2011:9MR30成都信息工程学院3+1创新实验班-2020/6/28寄存器描述——匹配功能寄存器匹配控制MCR匹配值MR0~MR3匹配输出EMR定时器计数器TCEMR位功能描述复位值0外部匹配0反映相应外部匹配的状态,而不管是否连接到管脚。发生匹配时该位的动作由EMR中相应的控制位决定。01外部匹配102外部匹配203外部匹配305:4外部匹配控制0决定相应外部匹配的功能。00:不执行任何动作;01:将对应的外部匹配输出设置为0;10:将对应的外部匹配输出设置为1;11:使对应的外部匹配输出翻转。07:6外部匹配控制109:8外部匹配控制2011:10外部匹配控制30成都信息工程学院3+1创新实验班-2020/6/28寄存器描述——捕获功能寄存器名称描述访问复位值CCR捕获控制寄存器,用于设置捕获信号的触发特征,以及捕获发生时是否产生中断。读写0CR0捕获寄存器0,在捕获0引脚上产生捕获时间时,CR0装载TC的值。只读0CR1功能同上。只读0CR3功能同上。只读0CR3功能同上。只读0捕获控制CCR捕获寄存器CR0~CR3定时器计数器TC成都信息工程学院3+1创新实验班-2020/6/28寄存器描述——捕获功能寄存器捕获控制CCR捕获寄存器CR0~CR3定时器计数器TCCCR位功能描述复位值0CAPn.0上升沿捕获为1时,CAPn.0引脚上0到1的跳变将导致TC的内容装入CR0。为0时,该特性被禁止。01CAPn.0下降沿捕获为1时,CAPn.0引脚上1到0的跳变将导致TC的内容装入CR0。为0时,该特性被禁止。02CAPn.0事件中断为1时,CAPn.0的捕获事件将产生一个中断。为0时该特性被禁止。05:3CAPn.1与CAPn.0对应位功能相同(略)08:6CAPn.2与CAPn.0对应位功能相同(略)011:9CAPn.3与CAPn.0对应位功能相同(略)0成都信息工程学院3+1创新实验班-2020/6/28特殊:LPC2103的定时器两个32位定时器:定时器0和定时器1两个16位定时器:定时器2和定时器3可对捕获输入引脚(CAPx.0~CAPx.2)边沿计数定时器匹配输出可配置为PWM输出功能定时器0有3个捕获输入和3个匹配输出管脚定时器1有4个捕获输入,有4个匹配输出管脚定时器2有3个捕获输入和3个匹配输出管脚定时器3没有捕获输入,有4个匹配输出管脚对于LPC2103的定时器,可多达4个匹配寄存器可配置为PWM,允许使用多达3个匹配输出作为单边沿控制的PWM输出成都信息工程学院3+1创新实验班-2020/6/28LPC2103的定时器特有的寄存器(1)计数控制寄存器TxCTCR(x=0,1,2,3)计数控制寄存器用来选择定时模式还是计数模式,同时在计数模式下,用来选择引脚和选择边沿计数(上升沿还是下降沿)成都信息工程学院3+1创新实验班-2020/6/28(2)PWM控制寄存器PWMxCON(x=0~3)PWM控制寄存器用来控制配置匹配输出为PWM输出。每个匹配输出可独立的设置为PWM输出。对于每个定时器,最多可选择3个单边沿PWM输出在MATn.2:0引脚上。另外一个匹配寄存器用来决定PWM输出的周期,当其它任何一个匹配寄存器发生匹配时,PWM输出将会置为高电平。TxEMR(x=0~3)成都信息工程学院3+1创新实验班-2020/6/28使用定时器的注意要点定时计数器(TC)本身不能产生中断,只有与匹配寄存器发生匹配后才能引起中断事件;在定时器匹配发生后,可以不停止定时器工作,而动态修改匹配寄存器的值;定时器使用匹配功能的同时,还可以使用捕获功能,而不必分时使用;定时器定时时间=MR×(PR+1)/Fpclk成都信息工程学院3+1创新实验班-2020/6/28定时器操作示例操作流程计算定时器的计数频率设置匹配值及工作模式设置捕获方式设置定时器中断VIC启动定时器TCR成都信息工程学院3+1创新实验班-2020/6/28定时器操作示例——定时器0初始化操作流程计算定时器的计数频率设置匹配值及工作模式设置捕获方式设置定时器中断VIC启动定时器TCR操作流程计算定时器的计数频率设置匹配值及工作模式设置捕获方式设置定时器中断VIC启动定时器TCRVoidTime0Init(void){T0TC=0;T0PR=0;T0MCR=0x03;T0MR0=Fpclk/10;T0TCR=0x01;}C代码:定时器设置为0设置预分频值设置匹配模式,复位并中断设置匹配值,0.1S启动定时器0成都信息工程学院3+1创新实验班-2020/6/28LPC2000定时器操作示例——用定时器测量脉冲宽度...T0TC=0;T0PR=0;while((IO0PIN&0x01)!=0);T0TCR=0x01;while((IO0PIN&0x01)==0);T0TCR=0x00;time=T0TC;...C代码:定时器设置为0设置预分频值等待引脚电平变低启动定时器0等待引脚电平变高关闭定时器0读取定时器值,即为脉宽P0.0tVtime成都信息工程学院3+1创新实验班-2020/6/28定时器操作示例——匹配输出VoidMATOut(void){PINSEL0=0x00000800;T0TC=0;T0PR=0;T0MCR=0x02;T0EMR=0xC0;T0MR1=5000;T0TCR=0x01;}C代码:定时器设置为0设置预分频值设置匹配后复位TC设置匹配后MAT0.1输出翻转输出频率周期控制启动定时器0设置引脚连接模块将引脚P0.5设置为输出50%的方波,程序设置了MR1匹配后复位定时器,并且MAT0.1输出电平翻转。成都信息工程学院3+1创新实验班-2020/6/28定时器操作示例——定时器捕获VoidTimeCAP(void){PINSEL0=0x20;T0PR=0;T0CCR=0x02;T0TC=0;T0TCR=0x01;}C代码:设置预分频值为0设置为下降沿捕获清零TC启动定时器设置引脚连接模块示例使用定时器对P0.2引脚的信号进行捕获,并设置为下降沿捕获。当有捕获事件
本文标题:第6讲_定时器、PWM
链接地址:https://www.777doc.com/doc-6188152 .html