定时器常见的代码解析(CCS)

MSP430F5529中有着A,B,D三种定时器,与平时接触的8位单片机不同,在定时器A能够支持PWM输出、中断捕获比较等功能

上图就为定时器的时钟选择,有三种时钟源选择,分别为SMLCK,ACLK,INCLK,如果需要获得较高频率的定时时间,一般选择主时钟SMCLK较好。
TASSELx为该时钟选择哪个时钟源,并且在ID选择多少分频,随后选择MC哪种定时器的模式开始计数。而其CCRx则可以理解为该定时时间所存储的实际时间数。
以下为所示的代码。使用了定时器TA,并且使用了定时器模式3,定时器中断来完成PWM自加。

#include <msp430f5529.h>
int i = 0,d=0;
void main(void)
{     WDTCTL = WDTPW|WDTHOLD;P1DIR |= BIT2;//设置P1.2为输出模式P1SEL |= BIT2;//设置其IO口为特殊IO口TA0CCR0 = 16; // 设置好PWM的总周期TA0CCR1 = 0; // PWM的工作周期TA0CCTL1 = OUTMOD_3; // TA0CCR1为模式3,为复位且高电平置位模式。输出为TAxR(计数寄存器)=TAxCCRn时,输出置位,输出为TAxR = TAxCCR0时,输出复位TA0CTL = TASSEL_2 + MC_1 +ID_1+TAIE;// 时钟源选择了SMCLK,并且模式1为MC_1为向上计数模式。Timer A control set to SMCLK, 1MHz and count up mode MC_1 ID_1为二分频 TAIE为触发中断  d选择SMCLK 为1Mhz 如果频率想低点可以选择频率较低的是时钟,辅助时钟ACLK_bis_SR_register(LPM0_bits + GIE); // 开启低功耗模式0
}
#pragma vector= TIMER0_A1_VECTOR__interrupt void timer(void){TA0CTL &= ~TAIFG;   //先将全部的IFG先置零,让标志位回0if(d==0){if(i<16 )TA0CCR1=++i;//让其定时每到一个中断就自加1,以此类推使得PWM逐步上升。elsed=1;}else if(d==1){if(i>1)TA0CCR1=--i;elsed=0;}
}

TA定时器相关寄存器介绍

TA0CTL寄存器

BITS Field Description
9-8 TASSEL Timer_A0时钟源选择:00b =TAxCLK,01b=ACLK,10b=SMCLK,11b=INCLK
7-6 ID 时钟分频,00=不分频,01=二分频,10b=四分频,11b=八分频
5-4 MC 计数模式选择,01b=计数至TAxCCR0,10b=计数至0xFFFF,11b = 计数到TAxCCR0再减回到0
2 TACLR 清零计数器
1 TAIE TA中断使能
0 TAIFG TA中断标志位

注意在TA定时器上,还有着捕获比较寄存器,TAxCCTLx(x=1,2…,6).

TA0CCTLn

BITS Field Description
15-14 CM 捕获模式选择
13-12 CCIS 选择TAxCCR0输入的通道
8 CAP 选择捕获或者比较模式 (0:捕获,1:比较)
7-5 OUTMOD 输出模式
4 CCIE 捕获比较中断的使能
2 OUT 要看OUTMOD是否选择模式0,才能进行对这个位操作
0 CCIFG 捕获比较中断标志位

该寄存器实质上是用来设置TA定时器的一些捕获和比较的常用,可以用来实时监测定时器的值,或者
和ADC12一起使用。详情使用可以看上面的例子。

TA0CCRn

该定时器为存放定时器相关的值。

BITS Field Description
15-0 TAxCCR0 用来存放相关捕获和比较的值以供用户使用

TAxIE

该寄存器为中断矢量寄存器,用操作捕获以及比较的值的一个中断寄存器。各个对应的值如下图代码所示
中断服务函数的中断矢量(TIMER0_A1_VECTOR)以及本征函数(__even_in_range(TA0IV,14))的运用

BITS Field Description
15-0 TAIV 对应TAxCCRx的不同中断标志位

相关代码如下:

#pragma vector=TIMER0_A1_VECTOR__interrupt void TIMER0_A1_ISR(void){switch(__even_in_range(TA0IV,14))//中断查询{//注意优先级,标号最低的优先级最高//可以加相关的中断操作,相当于查询中断并且操作case 0:break;//No interruptcase 2:break;//TAxCCR1 CCIFGcase 4:break;//TAxCCR2 CCIFGcase 6:break;//TAxCCR3 CCIFGcase 8:break;//TAxCCR4 CCIFGcase 10:break;//TAxCCR5 CCIFGcase 12:break;//TAxCCR6 CCIFGcase 14:break;//TAxCTL TAIFGdefault :break;}}

至此,简单的定时器TA已经可以实现绝大多数的功能了,在实际运用中,如电赛中,应该要更好的设置
其模式以及初值,以达到适合的频率周期。

MSP430F5529常用定时器相关推荐

  1. jQuery 一次定时器_Jmeter常用定时器的使用 - 小孙同学

    一.定时器的作用域 1.定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面). 2.当执行一个sampler之前时,所有当前作用域内的定时器都会被 ...

  2. MSP430F5529库函数定时器B

    需提前学习:MSP430F5529库函数学习--串口:MSP430F5529库函数定时器A--捕获实验:MSP430F5529库函数定时器A--硬件PWM:MSP430F5529库函数定时器A--定时 ...

  3. MSP430F5529库函数定时器A——捕获实验

    需提前学习:MSP430F5529库函数学习--串口:MSP430F5529库函数定时器A--硬件PWM 目录 引脚手册获取 实验目的 代码 代码解析 串口数据发送部分 数据捕获部分 定时器部分可选参 ...

  4. (12)MSP430F5529 常用内置函数和一些说明

    (1)  MSP430F5529支持最高工作频率为25MHZ,也就是说你通过 锁相环倍频来提高系统运行速度是有一个限制的, 最高只能到25MHZ(再高没意思了). (2)几个重要的内联函数 (内联函数 ...

  5. jmeter吞吐量_深入理解Jmeter常用定时器

    bug 前言 jmeter并发测试每个请求之间是没有延时的,但实际工作有时候需要增加固定时间来测试,那么可以Jmeter定器组件,完成工作.其实这些知识百度一查就出来,为什么还要写,主要方便自己复习, ...

  6. Jmeter 常用定时器

    测试计划中的元件执行顺序依次为: 配置元件(CSV Data Set Config)-前置处理器-定时器-取样器-后置处理器-断言-监听器 定时器的作用域 定时器是在每个sampler之前执行的,无论 ...

  7. LTE常用定时器参数介绍

    一.接入类定时器 1.初始接入流程说明 主要受T300.T302定时器的影响:          UE RRC连接建立请求消息是由UE的RRC层发起,并向MAC层发出随机接入指示以后,启动T300定时 ...

  8. Android——常用定时器

    文章目录 Timer和TimerTask 自带定时器 CountDownTimer 使用普通子线程延时 使用Hanlder的postDelayed方法 使用系统的AlarmManager来实现定时任务 ...

  9. 【MSP430】MSP430F5529火箭板 --->基于定时器A的LED灯闪烁实验(含Timer_A分析)

    实验内容:上电点亮MSP430F5529 Launch Pad 上板载的红色LED,同时使用定时器让绿色LED闪烁 实验准备: 1.硬件:MSP430F5529 Launch Pad 2.软件:Cod ...

最新文章

  1. 给GAN一句描述,它就能按要求画画,微软CVPR新研究 | 附PyTorch代码
  2. lab2_selenium测试
  3. Spring+SpringMVC+MyBatis整合教程
  4. 2021-04-22 宠店流程图
  5. oracle查询相同想,返回相同总和的查询-Oracle SQL
  6. 3.4 多个例子中的向量化
  7. Oracle性能优化3-sql优化一定要等价
  8. C++ public、protected、private 继承方式的区别
  9. Android应用开发的一些思考
  10. [转]性能调优攻略(2)
  11. matlab开关占空比,高手指导 详解开关电源占空比选择与计算
  12. jquery版本过低安全漏洞问题
  13. 主力用计算机吸筹,通达信主力吸筹指标
  14. 笔记:python 绘图进阶
  15. 思岚科技即将亮相2019上交会 展示机器人自主行走背后的技术
  16. 【限时活动】99=苏宁会员+万达观影年卡
  17. Linux系统中设备主要分为哪几类?
  18. 联盛德W806最小系统开发板第一次上手准备工作
  19. pb怎么封装com组件_从零开始构建 Angular 组件库
  20. posital倾角传感器

热门文章

  1. QOS流量监管与常见POLICER模型
  2. OpenCV 视频流格式----avi与mp4区别
  3. 如何把CAJ文件转换为PDF?
  4. 化装晚会(costume)暴力题解
  5. java wed源码,EShop - WEB源码|JSP源码/Java|源代码 - 源码中国
  6. ggplot2箱式图两两比较_R语言ggplot2箱线图绘图总结
  7. Codechef :Children Trips/TRIPS(树分块)
  8. 微信公众号对话框回复消息链接跳转小程序
  9. 雷电模拟器python编程接口_【Python实践】_接口模拟器
  10. 我的世界红石加法计算机教程,我的世界红石计算器制作教程