MSP430学习小结1-看门狗的使用总结

发布者:快乐旅人最新更新时间:2018-04-18 来源: eefocus关键字:MSP430  看门狗 手机看文章 扫描二维码
随时随地手机看文章

看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。在很多单片机中都内置了看门狗,看门狗本身是一个定时器,当定时器溢出时即进行系统复位,因此需要在程序中对看门狗定时器进行清零,即常说的喂狗。
由于我用过AVR的单片机,和AVR的相比,MSP430的看门狗要灵活的多,首先默认看门狗是开着的,因此如果不使用看门狗的话要关闭,指令如下:
WDTCTL = WDTPW + WDTHOLD
如果打开看门狗则需要在程序中清零,指令如下:
WDTCTL=WDTPW+WDTCNTCL

这只是基本的应用,430的看门狗要稍微复杂一些,首先从IAR的头文件中看看定义了几种工作状态:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


     从头文件的定义中可以看出主要有两种方式,一种就是当做普通的定时器使用,一种才是作为看门狗,另外就是时钟源可选,选择8M或者32K的晶振来获得不同的延时,通过上面可以看出看门狗定时器最大的时间可以到1S,在程序中可以灵活的利用看门狗定时器实现想要的功能。

下面介绍两个典型应用:
1、在动态数码管显示中的应用,具体代码可以参考我之前的笔记,部分代码如下:
 WDTCTL = WDT_ADLY_1_9;        //   设置内部看门狗工作在定时器模式,1.9ms中断一次   
    //可以去看头文件中具体的配置,这里使用的手表晶振64分频计算可得是1.9ms   
    IE1 |= WDTIE;                 // 使能看门狗中断

__interrupt void watchdog_timer(void)   

}
这个程序主要是将看门狗定时器当做普通定时器使用,1.9ms刚好适合动态扫描间隔,在看门狗中断中对数码管进行动态扫描,这样使用相对于开一个定时器来说要有所方便。因此在需要的定时与看门狗定时器的几个时间相同时可以考虑使用看门狗。
2、普通延时
WDTCTL = WDT_ADLY_1000;               //间隔定时器,定时1000ms
 //延时2s
    for(i = 0; i < 3; i++)
    {

        IFG1 &= ~WDTIFG;
        while(!(IFG1 & WDTIFG));
        IFG1 &= ~WDTIFG; 
    }
这个程序同样是将看门狗当普通定时器使用,在主程序中读取中断标志位,实现延时效果,上面的程序为什么是延时2S自己分析。

这里面举了两个例子,是最近学习的一点小体会,当然还是不能忘了看门狗的本能工作,在程序较为简单时可以考虑使用看门狗定时器简化设计。另外还有一点觉得比较重要的是虽然头文件中对寄存器都有了很好的定义,但是还是很有必要对着头文件和寄存器把主要的寄存器看一面,弄清每一种工作模式的使用方式和注意点。


关键字:MSP430  看门狗 引用地址:MSP430学习小结1-看门狗的使用总结

上一篇:MSP430学习小结2-程序主体结构安排及低功耗
下一篇:MSP430学习笔记7-4*4键盘的对应数码管显示

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

一种采用MSP430F2274无线充电电路设计图
采用MSP430F2274超低功耗单片机作为无线传能充电器的监测控制核心,通过开关选择充电的速度,实现快速充电和常态充电功能,电能充满后给出充满提示且自动停止充电。无线充电系统主要采用电磁感应原理,通过线圈进行能量耦合实现能量的传递。系统工作时输入端将交流市电经全桥整流电路变换成直流电,或用24V直流电端直接为系统供电。当接收线圈与发射线圈靠近时,在接收线圈中产生感生电压,当接收线圈回路的谐振频率与发射频率相同时产生谐振,电压达最大值,具有最好的能量传输效果。通过2个电感线圈耦合能量,次级线圈输出的电流经接受转换电路变化成直流电为电池充电。交直流输入采用单刀双闸继电器,交流上电常开闭合,常闭打开实现交流优先,交流断电继电器断电,
[单片机]
一种采用<font color='red'>MSP430</font>F2274无线充电电路设计图
IAR for MSP430的安装
1 IAR的下载 1.1部分亮点 IAR是一款比较良心的编程软件,博主我一直写的是MATLAB和KEIL,初次接触IAR就发现了这款软件的某些吸引人的地方。对于长期从事编程的同学来说,配色方案绝对是重中之重,IAR的配色方案一开始就吸引了我。 IAR另外一个特别吸引我的地方就是分频,对于屏幕的要求,当然是越多越好,IAR像MATLAB一样提供了分屏功能,就这两个亮点就足够吸引博主我!(注意的是有些人可能不会关闭分屏显示,其实只要双击分屏线就可以取消了) 1.2关于下载 IAR的下载大家可以直接去TI官方下载,博主我这里可以免费为大家提供一个百度云下载链接 链接:https://pan.baidu.com/s/1A-Jb-T
[单片机]
IAR for <font color='red'>MSP430</font>的安装
基于MSP430f5529 编码电机测速 接收脉冲数 PWM调速 CCS编译器 代码分析
前言:2022年TI杯大学生电子设计竞赛,小车跟随行驶系统(C题)要求:设计一套小车跟随行驶系统,采用TI的MCU,由一辆领头小车和一辆跟随小车组成,要求小车具有循迹功能,且速度在0.3~1m/s可调......本文着重介绍速度在0.3~1m/s可调的一种实现方式。 正文: 一、首先了解编码电机测速的原理(移步下方链接,不过多赘述) 霍尔增量式编码器左右车轮线速度的计算_许你一世阳光yyds的博客-CSDN博客 二、获取关键参数,及oled使用 由此我们得知,我们需要获取的关键数据为编码电机 轮子转动一个脉冲走过的距离(m/脉) 这个参数可以是 1. 从你所购买电机的店铺获得;2. 自己做实验测出来。下面我们从
[单片机]
MSP430教程13:MSP430单片机比较器A模块
比较器A模块 以下图可以看出比较器A的结构大概可以分4部分构成,分别为模拟输入,比较器A核心,低通虑波器,基准电压部分和中断部分组成。 首先,整个比较器A的工作必需由CAON位置为1时才能工作的,此位属CACTL1控制寄存器。单片机上电时此位是为0的,也就是说比较器是不工作的。 以下大概讲述几个部分电路的功能和一些相关信息。 模拟输入电路: 外部模拟引脚信号CA0,CA1(正负端)可以分别由P2CA0,P2CA1位控制开或关。经过软件的设置可以分别与内部的几个基准电压进行比较(0.5VCC,0.25VCC,三极管门值电压)或外部其中的电压进行比较。 应用的硬件比较可以分为以下三种组合: 两个外部引脚输入信号进行比较 其中一个外部
[单片机]
<font color='red'>MSP430</font>教程13:<font color='red'>MSP430</font>单片机比较器A模块
基于MSP430F449的电子血压计设计
随着生活水平的不断提高以及城市老龄化比例的提高,医疗电子设备的家庭化逐渐成为了趋势。其中家用电子血压计就是典型的家庭医疗检测设备之一。目前血压计大致上可分为两种:一是水银式血压计,其优点为数值稳定,其缺点为无法一个人自行操作,必须专业医护人员操作,且肉眼观察误差极大,主观性强,体积较大不易携带。二是电子式血压计,其优点为:使用简易,可一人独自操作;测量值便于记录,体积轻巧便于携带。电子式血压计具备了诸多优点,越来越受到普通家庭的欢迎。本文介绍了以MSP430F449为控制核心,辅以BP01型压力传感器与MCU之间模拟信号处理电路以及LCD显示、语音提示,实现家用电子血压计的设计。 血压测量原理 血压的概念就是血液流经血管壁时的
[单片机]
基于<font color='red'>MSP430</font>F449的电子血压计设计
MSP430单片机在电力系统操作电源中的应用
1 引言 随着电力系统现代自动化水平的提高以及高频开关电源结构的日趋复杂,促使人们采用新的控制手段来迅速反映模块变化,以大幅度提高开关电源模块稳定运行水平.在整个控制系统中,要求处理采样数据及采用的算法也越来越多.传统的微处理器如MSC51系列等单片机由于内部集成资源相对少、外围电路复杂、系统抗干扰能力差、不擅长数据处理的缺点以逐渐不能满足高科技水平的需要. MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处理器. 由于其超低功耗、强大的处理能力、高性能模拟技术及丰富的片上外围模块、系统工作稳定、方便高效的开发环境得到广大用户的高度评价。本文采用MSP430单片机控制开关电源时期
[单片机]
如何给MSP430开发板下载程序 并做一个串口实验
1简介 我们需要下面这些软件 CH340驱动软件:是使用BSL下载程序的话,电脑需要和单片机通信,他们之间的桥梁就是CH340芯片,电脑想要识别CH340芯片就需要驱动。下载程序需要使用CH340芯片,让单片机接受指令也需要使用CH340芯片,总之电脑和单片机之间的通信就是靠CH340芯片。 IAR软件:我们需要在这个软件里面写c代码,然后利用这个软件的编译功能,将c代码编译成hex文件,hex文件就是机器文件,单片机依靠这个文件来工作,这个文件最终是要下载到单片机里面去的。 串口助手软件:下载程序有专门用的软件,和单片机相互通信也有专门的软件,串口助手软件可以帮助你和单片机通信,可以在串口助手软件中写一个字符串发送给单片机,同
[单片机]
如何给<font color='red'>MSP430</font>开发板下载程序 并做一个串口实验
基于MSP430F149的水稻插秧机水平智能控制系统
摘要:以超低功耗微处理器 MSP430F149 为核心,设计一种水稻插秧机的水平智能控制系统。该控制系统实现对插植部位置的实时、有效控制,保证插植部的倾角范围控制在±4°以内。介绍了系统的组成结构、软硬件设计及结果分析。实验证明该控制系统可靠性高、移植能力强,可控制的角度范围在±45°以内,可方便应用于各种智能控制插秧机。 关键词:MSP4310F149;插秧机;水平控制;智能控制;农业机械 随着我国农业机械化、智能化的发展,对农业机械的要求越来越高。传统的插秧机工作时,插秧深度位于同一水平面,当遇到田地低陷时,秧苗的入土深度就会减少,反之,当田土抬高时,秧苗的入土深度就会增加,在一定程度上会影响秧苗的存活率。因此需要一
[工业控制]
基于<font color='red'>MSP430</font>F149的水稻插秧机水平智能控制系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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