MSP430_定时器Timer_A的讲解

上传人:豆浆 文档编号:11122631 上传时间:2017-10-12 格式:DOC 页数:3 大小:34KB
返回 下载 相关 举报
MSP430_定时器Timer_A的讲解_第1页
第1页 / 共3页
MSP430_定时器Timer_A的讲解_第2页
第2页 / 共3页
MSP430_定时器Timer_A的讲解_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《MSP430_定时器Timer_A的讲解》由会员分享,可在线阅读,更多相关《MSP430_定时器Timer_A的讲解(3页珍藏版)》请在金锄头文库上搜索。

1、电子设计大赛准备之 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.计数器是主体,它是一个开启和关闭的定时器,如果开启它就是一直在循

2、环计数,只会有一个溢出中断,也就是当计数由 0xffff到 0时会产生一个中断。那怎么实现定时功能呢?这就要靠三个比较/捕获寄存器了以后用 CCRx表示。CCR0 比较特殊,通过他可以改变计数器的最大计数值,也就是当计数器计数到 CCR0的值时自动会将计数器清零。但这需要设置相应的工作模式,模式列表如下:0停止模式,用于定时器的暂停 1增计数模式,计数器计数到CCR0,再清零计数2连续计数模式,计数器增计数到 0xffff,再清零计数 3增/减计数模式,增计数到 CCR0,再减计数到 0当计数器计数到 CCR0时,CCR0 单元会产生一个中断。同样当计数器计数到 CCR1和 CCR2时,两个单

3、元也都会个产生一个中断。这样我们可以通过定时器 A得到三个定时时间了。看程序中的定时器初始化模块。CCTLx 是相应比较/捕获寄存器的控制寄存器。它可对比较/捕获寄存器进行设置,在这里只用到比较功能,也就是当计数到 CCRx时产生中断,由于CCTLx默认的是比较功能,所以一般也就只用到 CCIE这个控制字,就是开启相应比较器的中断。CCRx 就是相应比较器的值。下面介绍几个 Timer_A的重要寄存器:TACTL寄存器:1510 9 8 7 6 5 4 3 2 1 0未用 SSEL1 SSEL0 ID1 ID0 MC1 MC0 未用 CLR TAIE TALFGSSEL_1 SSEL_0 是时

4、钟源的选择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寄存器

5、:16位计数器,是执行计数的单元,是计数器的主体。我的理解:即存储你的计数值,0CCR0CCTLx寄存器:捕获比较控制寄存器:15/14 13/12 11 10 9 8 7/6/5 4 3 2 1 0CAPTMOD10 CCIS10 SCS SCCIx CAP OUTMODx CCIEx CCIx OUT COV CCIFGxCAPTMOD10:选择捕获模式0 0禁止捕获模式 0 1上升沿捕获 1 0下降沿捕获 1 1上升沿与下降沿都捕获CCIS10: 捕获事件输入源0 0选择 CCIxA 0 1选择 CCIxB1 0选择 GND 1 1选择 VccSCS选择捕获信号与定时器时钟同步、异步关系

6、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和 C

7、CIS1选择的输入信号可通过该位读出 比较模式:CCIx 复位OUT输出信号(如果 OUTMODx选择输出模式 0,则该位对应于输入状态)0:输出低电平 1:输出高电平COV捕获溢出标志0:没有捕获溢出 1:发生捕获溢出当 CAP=0时,选择比较模式。捕获信号发生复位。没有使 COV置位的捕获事件当 CAP=1时,选择捕获模式。如果捕获寄存器的值被读出前再次发生捕获事件,则 COV置位。程序检测 COV来判断原值读出前是否又发生捕获事件。读捕获寄存器时不会使溢出标志复位,须用软件复位。CCIFGx捕获比较中断标志捕获模式:寄存器 CCRx捕获了定时器 TAR值时置位比较模式:定时器 TAR值等

8、于寄存器 CCRx值时置位4CCRx 捕捉/比较寄存器:可读可写在捕获模式,当满足捕获条件,硬件自动将计数器 TAR数据写入该寄存器。如果测量某窄脉冲(高电平)的脉冲长度,可定义上升沿和下降沿都捕获。在上升沿时,捕获一个定时器数据,这个数据在捕获寄存器中读出;再等待下降沿到来,在下降沿时又捕获一个定时器数据;那么两次捕获的定时器数据差就是窄脉冲的高电平宽度。其中 CCR0经常用作周期寄存器,其它 CCRx相同。5TAIV 中断向量寄存器:Timer_A模块使用两个中断向量。一个单独分配给捕获/比较寄存器 CCR0;另一个作为共用中断向量用于定时器和其它的捕获/比较寄存器。捕获/比较寄存器 CC

9、R0中断向量具有最高的优先级。因为 CCR0能用于定义增计数和增/减计数模式的周期。因此,它需要最快速的服务。CCIFG0 在被中断服务时能自动复位。CCR1CCRx和定时器共用另一个中断向量,属于多源中断,对应的中断标志 CCIFG1CCIFGx和 TAIFG1在读中断向量字 TAIV后,自动复位。如果不访问 TAIV寄存器,则不能自动复位,须用软件清除。-155 4 1 000 中断向量 0-中断优先级 中断源 缩写 TAIV 的内容最高 捕获/比较器 1 CCIFG1 2捕获/比较器 2 CCIFG2 4. 捕获/比较器 x CCIFGx -最低 定时器溢出 TAIFG1 10没有中断将挂起

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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