MSP430 TIMER_A定时器设置示例

发布者:温柔阳光最新更新时间:2021-01-28 来源: eefocus关键字:MSP430  TIMER_A  定时器设置 手机看文章 扫描二维码
随时随地手机看文章

直接设置:

 TA0CCTL0 = CCIE;                          // CCR0 interrupt enabled

 TA0CCR0 = 1000;//意思是周期为1000ms=1Hz

 TA0CTL = TASSEL_2 + MC_1 + TACLR;         // 选择时钟源SMCLK,+递增模式upmode:计时器递增计数到 TAxCCR0+clear TAR


间接?(利用封装好的函数)

void SMCLK_XT2_4Mhz(void)

{


    P7SEL |= BIT2+BIT3;                       // Port select XT2

    UCSCTL6 &= ~XT2OFF;          // Enable XT2

    UCSCTL6 &= ~XT2OFF + XT2DRIVE_1;          // Enable XT2

    UCSCTL3 |= SELREF_2;                      // FLLref = REFO

                                              // Since LFXT1 is not used,

                                              // sourcing FLL with LFXT1 can cause

                                              // XT1OFFG flag to set

    UCSCTL4 |= SELA_2;                        // ACLK=REFO,SMCLK=DCO,MCLK=DCO


    // Loop until XT1,XT2 & DCO stabilizes - in this case loop until XT2 settles

    do

    {

      UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);

                                              // Clear XT2,XT1,DCO fault flags

      SFRIFG1 &= ~OFIFG;                      // Clear fault flags

    }while (SFRIFG1&OFIFG);                   // Test oscillator fault flag


    UCSCTL6 &= ~XT2DRIVE0;                    // Decrease XT2 Drive according to

                                              // expected frequency

    UCSCTL4 |= SELS_5 + SELM_5;               // SMCLK=MCLK=XT2

}


再经过分频,配置寄存器等等,来获得所需要的时间的定时器???(寄存器的配置自己看手册配)


SMCLK_XT2_4Mhz();//设置SMCLK使用XT2, 频率为4MHz


UCSCTL5|=DIVS__32;//使用USC统一时钟系统进行预分频,将SMCLK进行32分频


 TA0CTL |=TASSEL_2 + MC_1 + TACLR;//配置A0计数器,时钟源SMCLK,上升模式,同时清除计数器//*配置计数器

 //TASSEL_2选择了SMCLK,MC_1计数模式,,最后清零TACLR

 //TA0EX0 |= TAIDEX_1;//A0计数器分频,2分频

 TA0CCTL0 = OUTMOD_2 + CCIE;//捕获比较寄存器0输出,输出模式为2,同时使能定时器中断(CCR0单源中断),CCIE捕获比较寄存器的使能配置

 TA0CCR0 = 5;//捕获比较寄存器0//配置捕获比较器


4MHz经过32分频后得到125000Hz,相当于得到的定时器中断为(TA0CCR0/125000)s,在这里就是1/25000s也就是25000Hz一个中断周期?

计数器每次计数到TA0CCR0时产生中断


附上中断服务函数,然后不要忘了使能全局中断

在这里插入图片描述
在这里插入图片描述

GIE实际上是CPU中的SR(Status Register)寄存器中的一位。SR(Status Register)寄存器主要用来记录指令的工作状态。

这句的意思是将SR的GIE位设置为1,bis即bit set。

对应的关全局中断操作是

即将SR的GIE位清除,置0。bic即bit clear。


关键字:MSP430  TIMER_A  定时器设置 引用地址:MSP430 TIMER_A定时器设置示例

上一篇:MSP430F5529定时器中断
下一篇:基于MSP430G2553的闹钟

推荐阅读最新更新时间:2024-11-12 20:28

MSP430F1611学习笔记
/* MSP430的I/O口的驱动能力*/ 每个I/O口最大输出或者吸收电流为6mA 所有I/O电流总和不超过48mA // 晶振频率: 8.000200Mhz /*MSP430的3V与5V逻辑兼容性问题*/ MSP430单片机的任何一个引脚输入电压不能超过VCC+0.3V,不能低于-0.3V,否则将启动内部泄放电路.泄放电路最大只能吸收2mA电流,超过2mA可能会损坏I/O口. /* 发光二极管压降*/ 红色的压降为2.0--2.2V ×××的压降为1.8—2.0V 绿色的压降为3.0—3.2V。 正常发光时的额定电流均为20mA。 白色发光二极管的正向电压降约为3.5V左右,需要正向工作电流≥15mA左右时,才能使其正常发光。
[单片机]
基于MSP430F5529的两路寻迹小车附OLED显示代码
基于MSP430的寻迹小车,寻迹小车主要涉及到I/0口的输入输出,以及定时器产生PWM,个人认为,基本上不管是玩Arduino、C51、STM32或者MSP430单片机都应该必须会的。 主要器件 在这里笔者分享一下自己做的寻迹小车: 主控使用Ti官方的MSP430F5529,相比G2553,F5529引脚功能比较多些,其他型号的单片机都可以参考 两个寻迹传感器,TCRT5000红外反射传感器,检测到黑线或者悬空输出高电平 一个TB6612电机驱动,驱动两路4个130小电机足够了 0.96寸OLED显示,I2c通信协议,显示内容可以自行设置 电路接线放在程序注释里了 主函数 main函数代码如下 /*
[单片机]
基于<font color='red'>MSP430</font>F5529的两路寻迹小车附OLED显示代码
DS18B20 MSP430 C程序
DS18B20 MSP430程序 MSP430高级开发板上的DS18B20温度传感器的程序 /**********************************************************/ //MSP430 Advanced Developping Components - ////DS18B20 One-Wire Digital Thermometer Demos ////- http://www.just430.cn ////- tel :(0)13500717874 /**********************************************************/ //M
[单片机]
基于MSP430F149与GTM900C实现全自动电饭锅远程控制系统设计
引言 随着物联网和软件技术的快速发展,轻松便捷的煮饭方式越来越受人们青睐,智能、环保、节能型高端电饭锅将会成为未来备受瞩目的商品,特别是可远程控制的全自动智能电饭锅将会成为未来发展的方向。 目前国内外对智能家居的技术研究较多,多数是用无线数据传输技术实现,但系统设计成本高。而对电饭锅的全自动化技术研究则少之有少,没有引起人们的重视。本文改造了传统的电饭锅,设计了可全自动化控制的电饭锅,并采用GPRS模块,普通手机等简单、廉价的设备开发出了一款可靠性较好的远程电饭锅控制系统,能使电饭锅及时、适量、准确的为人们做饭。 1系统的硬件构成及原理 系统总体框图如图1所示,设计采用的是模块化的设计思想,有利于系统的组装和调试,缩短开发
[单片机]
基于<font color='red'>MSP430</font>F149与GTM900C实现全自动电饭锅远程控制系统设计
MSP430——UART(四)
最近由于在做去年送药小车国赛题,需要使用到MSP430和OPENMV之间的通信,故着手看看MSP430的串口模式。 第一步:IO口配置 我使用的这款芯片是MSP430F5529,他的TX端设置在P3.3,RX端设置在P3.4,故首先第一步开启两个IO口的输入。 //P3.3 = USCI_A0 TXD GPIO_setAsPeripheralModuleFunctionInputPin( GPIO_PORT_P3, GPIO_PIN3|GPIO_PIN4 ); 第二步:串口配置 USCI_A_UART_initParam param1 = {0}; param1.selectClockS
[单片机]
<font color='red'>MSP430</font>——UART(四)
如何测量MSP430的功耗
众所周知,MSP430以其超低功耗而著称。但是很多用户反应,在实际应用中,测量MSP430的功耗时,测量结果和MSP430数据手册相差甚远。其实这里主要涉及到两方面的内容: 1. 如何使用MSP430合理的设计硬件和软件,使整个应用最大限度的达到低功耗? 2. 如何测量MSP430的功耗? 就如何测量MSP430功耗,我来分享一下我个人的经验。 一、未使用的GPIO的处理 为了使MSP430最大限度的达到低功耗,对于MSP430未使用的GPIO而言,应该将其设置为输出;或者是设置为输入,但是将管脚的电平固定,可以通过外部电路将管脚连接至Vcc或者GND,也可使能内部上下拉电阻,将管脚电平固定。 对于MSP430
[单片机]
如何测量<font color='red'>MSP430</font>的功耗
MSP430液晶LCD048
概述 TI公司MSP430系列单片机是一种超低功耗的混合信号控制器,其中包括一系列器件,它们针对不用的应用由不同的模块组成。其中FLASH系列使高效电子系统变得轻巧,FLASH存储器也具有很强的灵活性。同时为了在低频率振荡器的驱动下得到较高的稳定频率,某些MSP430器件上使用了锁频技术FLL或增强型锁频环技术FLL+。如MSP430F425的时钟模块中使用了FLL+技术,这样可以得到稳定的频率。 液晶驱动 MSP430器件上的液晶显示器的控制/驱动将简化液晶显示器的显示。不同型号的液晶驱动能力不同,我们采用 MSP430的F42X系列,有128段驱动能力。 液晶的驱动有4种方法:静态,2MUX或1/2占空比,3MUX或
[单片机]
<font color='red'>MSP430</font>液晶LCD048
讲讲我自己对ADC12模块的心得——MSP430f5529
AD部分主要配置ADC12模块的时钟、参考源、采样通道、采样模式、存储和采样保持。 我就一个部分一个部分来。 第一个是ADC12模块的时钟,这个是模块运行时的时钟,跟采样定时器是两个概念,曾经我有一段时间被迷惑住了。这个由ADC12CTL1里面的ADC12SSEL和ADC12DIV配置,可以选择ADC12OSC/ACLK/SMCLK/MCLK,TI例程里面好像都是选择的ADC12OSC,这个是5MHZ,不过频率容易受外界影响而改变。这个部分配置好了就得到了ADC12CLK。 第二个参考源,这个部分可以用单片机的参考模块控制,也可以用ADC12模块控制,REFCTL0 &= ~REFMSTR;这句就是设置ADC模块直接控
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved