MSP430-定时器的寄存器介绍以及测试应用

发布者:电子艺术大师最新更新时间:2020-01-13 来源: eefocus关键字:MSP430  定时器  寄存器 手机看文章 扫描二维码
随时随地手机看文章

本文介绍的是MSP430内部的定时器1

 

 

 

 

 

 

测试代码如下:


#include "io430.h"

#include "in430.h"

//demo,led闪烁

void Init_TimeA(void);

int main( void )

{

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  Init_TimeA();

  P2DIR = 0XFF;

  P2OUT = 0XFF;

  return 0;

}

void Init_TimeA(void)

{

  TACTL = TASSEL_1 + ID_3 + MC_1;//定时器的时钟源选择ACLK,增计数模式  32.768k

  CCTL0 = CCIE;//使能CCR0中断

  CCR0 = 4096;//设定周期为1s

  _EINT();//使能总中断

}

 

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

 P2OUT =~P2OUT;

}

 


 

#include "io430.h"

#include "in430.h"

void Init_TimeA(void);

int main( void )

{

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  Init_TimeA();

  P2DIR =0XFF;

  P2OUT =0XFF;

  return 0;

}

void Init_TimeA(void)

{

  TACTL = TASSEL_2 + ID_3 + MC_1;//定时器的时钟源选择ACLK,增计数模式 800khz

  CCTL0 = CCIE;//使能CCR0中断

  CCR0 = 50000;//设定周期为0.5s

  _EINT();//使能总中断

}

 

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

 P2OUT =~P2OUT;

}

如果要精准定时则要使用外部晶振进行定时计数:


#include

#include "clock.h"

/****************************************************************************

                初始化时钟

******************************************************************************/

void Int_Clk(void)

{

  uchar i;

  BCSCTL1&=~XT2OFF;     //开启XT2振荡器

  BCSCTL2|=SELM_2+SELS;    //选择MCLK时钟源为XT2CLK;选择SMCLK时钟源为XT2CLK

  do

  {

    IFG1&=~OFIFG;

    for(i=0;i<100;i++)

      _NOP();

  } 

  while((IFG1&OFIFG)!=0);

  IFG1&=~OFIFG;  

}

 

 


#include

#include"DataType.h"

 

 

/****************************************************************************

                初始定时器A

******************************************************************************/

void Int_TimerA(void)

{

  TACTL = TASSEL_2 + ID_3 + MC_1;//定时器的时钟源选择ACLK,增计数模式  8M

  CCTL0 = CCIE;//使能CCR0中断

  CCR0 = 50000;//设定周期为1s

  _EINT();//使能总中断

}

 

 

 

#include "io430.h"

#include "Timer.h"

#include "clock.h"

int main( void )

{

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  Int_Clk();

  Int_TimerA();

  P2DIR = 0XFF;

  P2OUT = 0XFF;

  return 0;

}

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

 P2OUT = ~P2OUT;

}


关键字:MSP430  定时器  寄存器 引用地址:MSP430-定时器的寄存器介绍以及测试应用

上一篇:MSP430-中断的使用
下一篇:MSP430-定时器的使用(PWM)

推荐阅读最新更新时间:2024-11-12 14:18

MSP430F5438 看门狗实验
简介: 1,学会在定时器和看门狗模式下操作 WDT,了解 WDT 寄存器的配置 2,编程实现WDT 定时功能,WDT 时钟源来自 ACLK,且 ACLK 无失效来自 XT1 晶体 3,实现功能:250ms 定时,每 250ms LED1 亮灭交替闪烁 1,看门狗介绍 看门狗定时器是一个32位的定时器它可以作为看门狗或定时器使用所有F5XX系列的器件中都有增强型看门狗定时器—WDT_A。 什么是看门狗? 从字面的意思理解,看门狗帮我的系统看门,防止我的系统到处乱跑。在实际嵌入式系统中看门狗也是充当这个角色的。看门狗,简称WDT,很明显它实际上是一个定时器,就如同我们所讲的Timer_A3亦或是Timer_B7系统一样,
[单片机]
<font color='red'>MSP430</font>F5438 看门狗实验
MSP430 BootLoader移植
一、 什么是bootlloader? 在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。因此整个系统的加载启动任务就完全由BootLoader来完成。 以上是百度百科上对bootloader的描述,但是我们这里所说的bootloader是为了实现单片机IAP功能,所编写的一段引导程序,从而实现我们APP的程序数据能够通过串口等通信方式写进Flash程序空间最终实现自编程和程序更新的目的,这就是我们这里说的bootloader。 二、 程序架构 具有bootloader的一个完整的应
[单片机]
<font color='red'>MSP430</font> BootLoader移植
基于MSP430为控制核心的设计方案
  本文出于对能源消耗及智能化水平的考虑,传统的路灯控制方式已不能满足社会发展的需求。在分析了单片机MSP430的性能优势之后,从绿色能源、节约能源和性价比的角度出发,提出了一个基于MSP430为控制核心的设计方案。单片机在规定亮灯时间内检测背景光强度,若背景光强度较弱启用热释电红外传感器开始探测人体和车辆发出的红外信号。当有人或车辆进入传感器探测区域,单片机输出脉宽调制信号PWM,并根据背景光强度调整LED路灯的亮度,选用合适的占空比来控制恒定电流源的工作电流来保证道路的可见度,从而完成对LED路灯的智能化控制。实验仿真结果充分证明了系统方案的可行性、高效性和稳定性。   近年来,随着经济的高速发展和汽车的逐渐普及,城市的交
[单片机]
基于<font color='red'>MSP430</font>为控制核心的设计方案
5. avr定时器/计数器1 快速PWM输出 (比较输出--快速PWM模式)
快速PWM 模式(WGM13:0 = 5、6、 7、14 或15) 可用来产生高频的PWM 波形。快速PWM模式与其他PWM模式的不同之处是其单边斜坡工作方式。计数器从BOTTOM计到TOP,然后立即回到BOTTOM 重新开始。对于普通的比较输出模式,输出比较引脚OC1x在TCNT1 与OCR1x 匹配时置位,在TOP 时清零;对于反向比较输出模式,OCR1x 的动作正好相反。由于使用了单边斜坡模式,快速PWM 模式的工作频率比使用双斜坡的相位修正PWM 模式高一倍。此高频操作特性使得快速PWM 模式十分适合于功率调节,整流和DAC应用。高频可以减小外部元器件( 电感,电容) 的物理尺寸,从而降低系统成本。 工作于快速PWM 模式
[单片机]
msp430程序丢失问题分析及解决方法
   TI 的MSP430系列是一款功耗低、市面流行的SOC结构的CPU,适合做智能仪表。IAR对其支持得很好,下面就以IAR调试为例来说说MSP430调试过程中一些问题。   1、接上仿真器,发现不能下载,IAR提示找不到目标。   (1)并口驱动能力不足,在电脑的BIOS界面下设置成ECP或者ECP+EPP模式;(2)JTAG线太长,一般超过20CM不推荐,而且这个线最好不要交叉缠绕,会影响实时在线调试;   (3)负载太大,一般功耗相对比较大,电流超过20MA以上的板子,建议用外接电源,光靠并口的电源,MCU的电压被拉低到不能写FLASH。   2、程序下载到一半,突然告警并报错,说某某地址写不进去。   (
[单片机]
<font color='red'>msp430</font>程序丢失问题分析及解决方法
MSP430学习笔记-低功耗与中断系统
年前忙于项目都有段时间没更新博客了,趁年后有点时间更新了一篇,在这篇学习笔记里我们来探讨一下MSP430系列单片机的低功耗模式与中断系统,从下一篇开始,将会开始更新MSP430外设部分的学习笔记。 一、低功耗模式 MSP430系列单片机的一大特色便是其优秀的低功耗运行能力,据说德州仪器曾经演示过使用水果电池来作为MSP430的电源驱动MSP430正常工作,足以见得其功耗之低。 1、低功耗设计的三个基本原则 在介绍低功耗模式的配置之前,先明确低功耗设计的三个基本原则,即:1、工作频率与功耗成正比;2、工作电压与功耗成正比;3、工作模块数与功耗成正比。通过这三个原则我们可以得出以下结论:为了尽量降低单片的功耗,应在满足设计需求
[单片机]
<font color='red'>MSP430</font>学习笔记-低功耗与中断系统
MSP430主系统时钟以及430的低功耗设置
如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外部晶体振荡器,这是一个很重要的步骤,因为经过此步骤,可以极大地提高430的处理能力,DCO在内部,可以为cpu提供强劲稳定的时钟 #include msp430x14x.h void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; volatile unsigned int i; P5DIR |=BIT4;//设置P5.4为输出 P5SEL |=BIT4;//设置片内主系统时钟的
[单片机]
<font color='red'>MSP430</font>主系统时钟以及430的低功耗设置
C8051F020定时器中断使用
C8051F020内部有5 个计数器/定时器:其中三个16 位计数器/定时器与标准8051 中的计数器/定时器兼容,还有两个16 位自动重装载定时器可用于ADC、SMBus、 UART 1 或作为通用定时器使用。这些计数器/定时器可以用于测量时间间隔,对外部事件计数或产生 周期 性的中断请求。 将定时器与中断系统的结合将给我们编程带来很大的帮助,程序条理性强易编写易读。 下面我将利用可装载的计数器中断程序编写流程总结如下: 一:定时器初始化 1:停止定时器,清中断溢出位。 通过设置SFR中TMRnCN,停止将TMRnCN^2置0,清中断溢出位TMRnCN^7。 2:计数值和装载值的设置
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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