MSP430_定时器Timer_A的讲解.doc_第1页
MSP430_定时器Timer_A的讲解.doc_第2页
MSP430_定时器Timer_A的讲解.doc_第3页
全文预览已结束

下载本文档

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

文档简介

电子设计大赛准备之msp430单片机定时器Timer_ATimer_A定时器:注:MSP430有两个16位定时器Timer_A和Timer_B.二者基本相同。主要有TACTL,TAR,CCTL0,CCR0,CCTL1,CCR1,CCTL2,CCR2,TAIV几个寄存器。其中最主要的是TACTL寄存器,它决定Timer_A的输入时钟信号,Timer_A的工作模式,Timer_A的开启与停止,中断的申请等。定时器A大致可分为四个功能模块:计数器、比较/捕获寄存器0、比较/捕获寄存器1、比较/捕获寄存器2.计数器是主体,它是一个开启和关闭的定时器,如果开启它就是一直在循环计数,只会有一个溢出中断,也就是当计数由0xffff到0时会产生一个中断。那怎么实现定时功能呢?这就要靠三个比较/捕获寄存器了以后用CCRx表示。CCR0比较特殊,通过他可以改变计数器的最大计数值,也就是当计数器计数到CCR0的值时自动会将计数器清零。但这需要设置相应的工作模式,模式列表如下:0停止模式,用于定时器的暂停 1增计数模式,计数器计数到CCR0,再清零计数2连续计数模式,计数器增计数到0xffff,再清零计数 3增/减计数模式,增计数到CCR0,再减计数到0当计数器计数到CCR0时,CCR0单元会产生一个中断。同样当计数器计数到CCR1和CCR2时,两个单元也都会个产生一个中断。这样我们可以通过定时器A得到三个定时时间了。看程序中的定时器初始化模块。CCTLx是相应比较/捕获寄存器的控制寄存器。它可对比较/捕获寄存器进行设置,在这里只用到比较功能,也就是当计数到CCRx时产生中断,由于CCTLx默认的是比较功能,所以一般也就只用到CCIE这个控制字,就是开启相应比较器的中断。CCRx就是相应比较器的值。下面介绍几个Timer_A的重要寄存器:TACTL寄存器:15109876543210未用SSEL1SSEL0ID1ID0MC1MC0未用CLRTAIETALFGSSEL_1 SSEL_0 是时钟源的选择0TACLK,使用外部引脚信号作为输入 1ACLK,辅助时钟2SMCLK,子系统主时钟 3INCLK,外部输入时钟对TACTL进行模式设置的同时也开启了定时器,要停止只需把MC_0赋值给TACTL就可以。ID1 ID0 是时钟源的分频选择00不分频 012分频 104分频 118分频MC1 MC0 是模式选择0停止模式,用于定时器的暂停 1增计数模式,计数器计数到CCR0,再清零计数2连续计数模式,计数器增计数到0xffff,再清零计数 3增/减计数模式,增计数到CCR0,再减计数到0CLR定时器清楚位TAIE定时器中断允许位TAIFG定时器溢出标志位TAR寄存器:16位计数器,是执行计数的单元,是计数器的主体。我的理解:即存储你的计数值,0CCR0CCTLx寄存器:捕获比较控制寄存器:15/1413/121110987/6/543210CAPTMOD10CCIS10SCSSCCIxCAPOUTMODxCCIExCCIxOUTCOVCCIFGxCAPTMOD10:选择捕获模式0 0禁止捕获模式 0 1上升沿捕获 1 0下降沿捕获 1 1上升沿与下降沿都捕获CCIS10: 捕获事件输入源0 0选择CCIxA 0 1选择CCIxB1 0选择GND 1 1选择VccSCS选择捕获信号与定时器时钟同步、异步关系0:异步捕获 1:同步捕获(实际中经常使用同步模式,捕获总是有效的)SCCIx比较相等信号EQUx将选中的捕获/比较输入信号CCIx(CCIxA,CCIxB,Vcc和GND)进行锁存,然后可由SCCIx读出。CAP选择捕获模式还是比较模式。0:比较模式 1:捕获模式OUTMODx: 选择输出模式0 0 0输出 0 0 1置位 0 1 0PWM翻转/复位0 1 1PWM置位/复位 1 0 0翻转 1 0 1复位 1 1 0PWM翻转/置位 1 1 1PWM复位/置位CCIEx捕获/比较模块中断允许位0:禁止中断 1:允许中断CCIx捕获/比较模块的输入信号捕获模式:由CCIS0和CCIS1选择的输入信号可通过该位读出 比较模式:CCIx复位OUT输出信号(如果OUTMODx选择输出模式0,则该位对应于输入状态)0:输出低电平 1:输出高电平COV捕获溢出标志0:没有捕获溢出 1:发生捕获溢出当CAP=0时,选择比较模式。捕获信号发生复位。没有使COV置位的捕获事件当CAP=1时,选择捕获模式。如果捕获寄存器的值被读出前再次发生捕获事件,则COV置位。程序检测COV来判断原值读出前是否又发生捕获事件。读捕获寄存器时不会使溢出标志复位,须用软件复位。CCIFGx捕获比较中断标志捕获模式:寄存器CCRx捕获了定时器TAR值时置位比较模式:定时器TAR值等于寄存器CCRx值时置位4CCRx 捕捉/比较寄存器:可读可写在捕获模式,当满足捕获条件,硬件自动将计数器TAR数据写入该寄存器。如果测量某窄脉冲(高电平)的脉冲长度,可定义上升沿和下降沿都捕获。在上升沿时,捕获一个定时器数据,这个数据在捕获寄存器中读出;再等待下降沿到来,在下降沿时又捕获一个定时器数据;那么两次捕获的定时器数据差就是窄脉冲的高电平宽度。其中CCR0经常用作周期寄存器,其它CCRx相同。5TAIV 中断向量寄存器:Timer_A模块使用两个中断向量。一个单独分配给捕获/比较寄存器CCR0;另一个作为共用中断向量用于定时器和其它的捕获/比较寄存器。捕获/比较寄存器CCR0中断向量具有最高的优先级。因为CCR0能用于定义增计数和增/减计数模式的周期。因此,它需要最快速的服务。CCIFG0在被中断服务时能自动复位。CCR1CCRx和定时器共用另一个中断向量,属于多源中断,对应的中断标志CCIFG1CCIFGx和TAIFG1在读中断向量字TAIV后,自动复位。如果不访问TAIV寄存器,则不能自动复位

温馨提示

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

评论

0/150

提交评论