MSP430(G2553)用看门狗定时器来产生周期信号

发布者:WhisperingGlow最新更新时间:2017-02-19 来源: eefocus关键字:MSP430  G2553  看门狗定时器  周期信号 手机看文章 扫描二维码
随时随地手机看文章

#include  

#include  

  

  

volatile unsigned int i = 0;  // 中断服务子程序中所用到的全局变量, 最好定义成 volatile 型, 具体原因和用法可以参考我的其他博文介绍  

  

void main (void)  

{  

    WDTCTL = WDT_MDLY_0_5; // 周期 0.5ms, 设置可参考下面头文件中的截段  

    IE1 |= WDTIE;          // 使能WDT中断  

    P2DIR |= BIT2;         // P2.2输出  

    _EINT();               // 使能全局中断  

    for (;;)  

    {  

        LPM0;              // 进入LPM0  

        _NOP();  

    }  

}  

  

  

// 看门狗中断服务子程序  

#pragma vector=WDT_VECTOR  

__interrupt void WDT_Timer_ISR(void)  

{  

    if (i++ > 1) {  

        P2OUT ^= BIT2;     // 取反  

    }  

}  


//==========================================================================================================================  

// 相关头文件中的定义  

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

* WATCHDOG TIMER 

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

#define __MSP430_HAS_WDT__             /* Definition to show that Module is available */  

  

#define WDTCTL_             (0x0120u)  /* Watchdog Timer Control */  

DEFW(   WDTCTL            , WDTCTL_)  

/* The bit names have been prefixed with "WDT" */  

#define WDTIS0              (0x0001u)  

#define WDTIS1              (0x0002u)  

#define WDTSSEL             (0x0004u)  

#define WDTCNTCL            (0x0008u)  

#define WDTTMSEL            (0x0010u)  

#define WDTNMI              (0x0020u)  

#define WDTNMIES            (0x0040u)  

#define WDTHOLD             (0x0080u)  

#define WDTPW               (0x5A00u)  

  

  

/* WDT-interval times [1ms] coded with Bits 0-2 */  

/* WDT is clocked by fSMCLK (assumed 1MHz) */  

#define WDT_MDLY_32         (WDTPW+WDTTMSEL+WDTCNTCL)                         /* 32ms interval (default) */  

#define WDT_MDLY_8          (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0)                  /* 8ms     " */  

#define WDT_MDLY_0_5        (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1)                  /* 0.5ms   " */  

#define WDT_MDLY_0_064      (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0)           /* 0.064ms " */  

/* WDT is clocked by fACLK (assumed 32KHz) */  

#define WDT_ADLY_1000       (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL)                 /* 1000ms  " */  

#define WDT_ADLY_250        (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0)          /* 250ms   " */  

#define WDT_ADLY_16         (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1)          /* 16ms    " */  

#define WDT_ADLY_1_9        (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0)   /* 1.9ms   " */  

/* Watchdog mode -> reset after expired time */  

/* WDT is clocked by fSMCLK (assumed 1MHz) */  

#define WDT_MRST_32         (WDTPW+WDTCNTCL)                                  /* 32ms interval (default) */  

#define WDT_MRST_8          (WDTPW+WDTCNTCL+WDTIS0)                           /* 8ms     " */  

#define WDT_MRST_0_5        (WDTPW+WDTCNTCL+WDTIS1)                           /* 0.5ms   " */  

#define WDT_MRST_0_064      (WDTPW+WDTCNTCL+WDTIS1+WDTIS0)                    /* 0.064ms " */  

/* WDT is clocked by fACLK (assumed 32KHz) */  

#define WDT_ARST_1000       (WDTPW+WDTCNTCL+WDTSSEL)                          /* 1000ms  " */  

#define WDT_ARST_250        (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0)                   /* 250ms   " */  

#define WDT_ARST_16         (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1)                   /* 16ms    " */  

#define WDT_ARST_1_9        (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0)            /* 1.9ms   " */  


关键字:MSP430  G2553  看门狗定时器  周期信号 引用地址:MSP430(G2553)用看门狗定时器来产生周期信号

上一篇:MSP430用按键中断控制定时器产生持续 1s 的周期信号
下一篇:使用IAR for MSP430 和 Proteus 进行仿真的设置

推荐阅读最新更新时间:2024-03-16 15:33

基于MSP430单片机的电子汽车限速器的研究
我国每年有数十万起交通事故发生,如果汽车限速器能够普及,将会降低交通事故发生率,从而挽回不必要的财产和生命损失。  与近期在市场上热销的电子狗产品相比,汽车限速器更具有主动规避事故的优势,电子狗只是在接近超速测试探头时才提醒驾驶者控制车速。汽车限速器通常分为两大类:一种是在车辆超速时发出语音警报,提醒驾驶者减速;另一种是在车辆超过限定速度后,通过车载电脑发出指令,强制控制车辆行驶速度。第1种限速器只起到警示作用,而第2种汽车限速器将更为有效地降低交通事故。因此,本文着重介绍了第2种限速器的实现原理及设计方法。 1 限速器实现原理 由于早期的汽车是没有限速功能的,所以在设计时要同时考虑到汽车出厂前安装与售出后安装两个不
[单片机]
基于MSP430F247和TMP275的测温仪的设计方案
  1 引言   TI公司的MSP430单片机以独特的低功耗和模块化设计赢得了设计者的青睐。新型MSP430F247其性价比相当高,该16位单片机处理速度快,超低功耗,能节省很多资源;MSP430F247内置I2C模块,方便了程序编写,大大降低了程序的出错率。同时更多的I/O口可以级联更多的外围器件,而无需使用地址数据锁存器件,既方便了程序的编写,也简化了硬件电路的设计。   温度传感器TMP275可直接输出数字信号,而无需取样、放大、滤波和模数信号的转换,可以直接传输给单片机信号处理系统;而且输出信号分辨率可以达到0.0625,测温精度±0.5℃,若使用MSP430F247做控制器,可直接与其自带的I2C模块相连,使用方便。
[单片机]
基于<font color='red'>MSP430</font>F247和TMP275的测温仪的设计方案
MSP430读写flash程序
//****************************************************************************** //****************************************************************************** #include #define FLASH_ADDRESS 0x01000 //定义FLASH信息区地址B段 unsigned char write_buff ={0x01,0x03,0x04,0x09}; //用于存放被数组 unsigned char checkout ;
[单片机]
msp430 CCR0捕获/比较寄存器--比较功能中断定时
/************************************************************** CCR0捕获/比较寄存器--比较功能中断定时 简述:本程序是利用了定时器A 模块中的CCR0 捕获/比较寄存器的值与定时器A 的值进行 比较。如果比较相等就产生CCR0 中断,进入Timer A0 中断服务程序进行中断处理。以P1.0 作为指示,反转速度= 32768/(2*1000) = 16.384 。 ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO ~800kHz 本程序TA(Timer A)采用增计数模式。在增计数模式时,当TA 中的计数值与C
[单片机]
德州仪器推出带有两颗MSP430与 Chipcon RF模块连接器的开发工具
2007 年 4 月 5 日,北京讯 日前,德州仪器 (TI) 宣布推出 MSP430 实验板, 其部件号为 MSP-EXP430FG4618。该工具可帮助设计人员利用高集成度片上信号链 (SCoC) MSP430FG4618 或 14 引脚小型F2013 微控制器快速开发超低功耗医疗、工业与消费类嵌入式系统。该电路板除集成两个 16 位 MSP430 器件外,还包含一个 TI(Chipcon 产品线)射频 (RF) 模块连接器,以用于开发低功耗无线网络。另外,它还支持多种输入输出选项,其中包括扩音器、蜂鸣器、液晶显示屏 (LCD)、电容触摸板、按钮以及引脚板原型空间等。如欲了解有关最新 MSP430 实验板的更多详情,敬请访问:
[新品]
MSP430第十六章:看门狗
1. 介绍 看门狗定时器模块WDT_A的作用是在软件发生死机或跑飞后控制程序重启。当超过设定的时间而没有喂狗时,就会产生复位中断。如果不需要看门狗功能,可配置为普通定时器或者关闭。 8个可选定时时间 看门狗工作模式 定时器模式 带密码保护的控制寄存器 可选时钟源 允许关闭降低功耗 时钟故障保护 2. 看门狗操作 看门狗定时器模块可以配置为看门狗或普通定时器。WDTCTL是一个16位密码保护的读写寄存器。任何读或写访问都必须使用word指令,并且写访问必须使用密码05Ah。任何对WDTCTL的写操作,只要高字节的值不是05Ah,就会违反密码,并触发PUC系统重置。对WDTCTL的任何读取都是在高字节读取069h。字节读取WD
[单片机]
<font color='red'>MSP430</font>第十六章:<font color='red'>看门狗</font>
MSP430G2553单片机使用printf函数进行串口打印输出
以前在使用keil编写51单片机程序的时候,经常使用printf函数打印输出一些关键的过程数据到电脑,方便监控程序的运行状况。最近使用IAR for MSP430 调试 MSP430G2553 程序的时候,发现了一些小问题,MSP430G2553单片机并没有按照我的预期输出数据到电脑。 带着疑惑我查看了keil的帮助文件里面的printf函数说明,原来printf函数最终是调用putchar函数来实现打印输出字符的。 putchar,该函数将制定的表达式的值所对应的字符输出到标准输出终端上。表达式可以是字符型或整型,它每次只能输出一个字符。我们来看keil标准函数库里的putchar函数的函数体。 根据说明提示,我在
[单片机]
<font color='red'>MSP430</font>G2553单片机使用printf函数进行串口打印输出
MSP430F5529火箭板 --->基于定时器A的LED灯闪烁实验
实验内容:上电点亮MSP430F5529 Launch Pad 上板载的红色LED,同时使用定时器让绿色LED闪烁 实验准备: 1、硬件:MSP430F5529 Launch Pad 2、软件:Code Composer Studio集成开发工具(CCS) 3、CCS的使用安装方法可参考 《Windows环境Code Composer Studio 下载和使用教程》 文章链接: link 4、本次实验使用到的物理层的分析可参考文章: link 一、定时器——Timer_A   在进入正题之前,我们先来了解一下MSP430F5529的定时器,本次实验我们使用Timer_A定时器,这里需要注意的是MSP430F5529一共有
[单片机]
<font color='red'>MSP430</font>F5529火箭板 --->基于<font color='red'>定时器</font>A的LED灯闪烁实验
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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