历史上的今天
返回首页

历史上的今天

今天是:2025年03月25日(星期二)

正在发生

2020年03月25日 | MSP430教程10:MSP430单片机WDT看门狗定时器

2020-03-25 来源:eefocus

看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。程序中设置看门狗清零指令WDTCTL=WDTPW+WDTCNTCL,当程序跑飞不能及时清零看门狗,导致看门狗溢出复位,这样程序可以恢复正常运行状态。

 

一、WDT寄存器包括WDTCNT和WDTCTL,两个寄存器在上电和系统复位内容全部清零 

1.记数单元WDTCNT:WDTCNT是16位增记数器,由MSP430选定的时钟电路产生的固定周期脉冲信号对记数器进行加法记数。WDTCNT不能直接软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。 

 

2.控制寄存器WDTCTL:WDTCTL由两部分组成,高8位用作口令,即5AH(头文件中定义为WDTPW),低8位是对WDT操作的控制命令。写入WDT控制命令时先写入口令WDTPW,口令写错将导致系统复位。读WDTCTL时不需口令,低字节WDTCTL的值,高字节读出始终为69H。 
bit  15-8  7  6  5  4  3  2  1  0 
口令  HOLD  NMIES  NMI  TMSEL  CNTCL  SSEL  IS1  IS0 

IS1 SI0   选择看门狗定时器的定时输出,T为WDTCNT的输入时钟源周期。 TMSEL WDT工作模式选择 
  0    0     T*2的15次方                                                                                  0      看门狗模式 
  0    1     T*2的13次方                                                                                  1      定时器模式 
  1    0     T*2的9次方                                                                              NMI    选择RST/NMI引脚功能   
  1    1     T*2的6次方                                                                                    0      RST/NMI为复位端 
SSEL     选择WDTCNT的时钟源                                                                 1      RST/NMI为非屏蔽中断输入 
   0         SMCLK                                       
   1         ACLK 
NMIES   选择NMI中断的边沿触发方式                                                        HOLD   停止看门狗定时器工作 
   0         上升沿触发NMI中断                                                                        0       看门狗功能激活 
   1         下降沿触发NMI中断                                                                        1       时钟禁止输入,记数停止 

二、WDT的操作

 

1.用户通过设置WDTCTL中的TMSEL和HOLD控制位使WDT工作在看门狗模式、定时器模式和低功耗模式三种模式。

 

a.看门狗模式 (TMSEL=0 ,HOLD=0)   如果记数时间到,就会产生复位和激活系统上电清除信号,系统从上电复位的地址重启动       中断向量为RESET_VECTOR

 

b.定时器模式(TMSEL=1,HOLD=0)   这一模式产生选定时间的周期性中断 中断标志位为WDTIFG  中断向量为 WDT_VECTOR

 

c.低功耗模式(TMSEL=X,HOLD=1)   WDTCTL=WDTPW+WDTHOLD; 

2.WDT通过SSEL 和IS0 IS1 3位可以确定与8种时钟源相关的时间(ACLK=32768Hz,SMCLK=1MHz) 
   WDT_MDLY_32                                          WDT_MRST_32 
   WDT_MDLY_8                                            WDT_MRST_8 
   WDT_MDLY_0_5                                        WDT_MRST_0_5     
   WDT_MDLY_0_064                                     WDT_MRST_0_064 
   
   WDT_ADLY_1000                                       WDT_ARST_1000 
   WDT_ADLY_250                                         WDT_ARST_250 
   WDT_ADLY_16                                          WDT_ARST_16 
   WDT_ADLY_1_9                                        WDT_ARST_1_9 

 

三、看门狗应用 
使用看门狗定时器产生一个方波(周期性取反P1.0) 

#include "msp430x201x.h" 
void main(void) 

  WDT=WDT_MDLY_32; 
  IE1 |=WDTIE; 
  P1DIR |=0x01; 
  _EINT(); 
  for(;;) 
   { 
        _BIS_SR(CPUOFF); 
        _NOP(); 
   } 


interrupt[WDT_VECTOR] void watchdog_timer(void) 

   P1OUT^=0x01; 
}

推荐阅读

史海拾趣

ACI [Applied Concepts, Inc.]公司的发展小趣事

随着全球电子市场的不断扩大,ACI公司开始将目光投向海外市场。公司积极实施国际化战略,通过设立海外分支机构、参加国际展会等方式拓展市场。同时,ACI还加强了与国际同行的交流与合作,共同推动电子行业的发展。通过国际化布局,ACI成功打开了海外市场的大门,为公司的发展注入了新的动力。

AIM公司的发展小趣事

AIM公司自创立以来,便以其前瞻性的视野和独特的技术理念,在电子行业中崭露头角。创始团队凭借对市场的敏锐洞察和对技术的深刻理解,将公司定位为提供创新解决方案的引领者。在创立初期,AIM便投入大量资源进行技术研发,逐渐在行业中建立了自己的技术优势和品牌形象。

Bel Power Solutions公司的发展小趣事

随着技术的不断进步,Bel Power Solutions始终保持着对创新的热情。公司不断加大研发投入,积极引进先进技术和人才,推动产品的升级换代。其中,一项重要的技术突破是公司成功研发出具有高效能、高可靠性特点的电源转换技术。这一技术的推出,不仅提升了公司产品的竞争力,还为客户提供了更加优质、可靠的电源解决方案。同时,公司还根据市场需求,推出了多款定制化、个性化的电源产品,满足了不同客户的特殊需求。

意普(ESPE)公司的发展小趣事

随着工业自动化和智能化的不断发展,意普(ESPE)公司开始将光电保护技术与智能制造相结合,推出了多款智能光电保护产品。这些产品具有更高的检测精度和更快的反应速度,能够更好地保护操作人员的安全。同时,公司还积极参与工业互联网和物联网的建设,推动光电保护技术的智能化发展。

Beck IPC GmbH公司的发展小趣事

随着技术的不断成熟和市场需求的扩大,Beck IPC开始寻求新的业务领域。公司凭借在嵌入式通讯领域的深厚积累,成功拓展至机器到机器(M2M)通讯和工业物联网(IIoT)解决方案领域。同时,公司积极开拓国际市场,与多个国家和地区的合作伙伴建立了紧密的合作关系。通过引进国际先进技术和理念,Beck IPC不断提升自身实力,逐渐在全球范围内树立起良好的品牌形象。

EEMB Co Ltd公司的发展小趣事

EEMB集团成立于1995年,初期以外销为主,总部位于武汉东西湖金银湖畔。公司创始人们凭借对电子行业的敏锐洞察力和对锂电池技术的深入研究,决定专注于锂电池的研发与生产。他们组建了一支技术实力强大的研发团队,并开始着手设计和生产高性能的锂电池产品。在初期的几年里,公司逐渐在市场上建立起了一定的声誉,并开始与一些知名的工业企业和设备制造商建立合作关系。

问答坊 | AI 解惑

一种改进的电压跟随PFCCukAC/DC变换器

一种改进的电压跟随PFCCukAC/DC变换器 随着半导体器件的发展,电力电子装置的大量应用,导致大量谐波电流涌入电网,污染电网,这一问题已引起了各国的重视。为了限制总的谐波含量(THD)以提高功率因数,制定了许多标准,如IEC1000?3?2。近年来,如 ...…

查看全部问答>

求助:FFT-v2.1.1的介绍

本帖最后由 paulhyde 于 2014-9-15 09:50 编辑 哪位高手手头上有altera公司的FFT-v2.1.1 ipcore的介绍,麻烦发给我一份,不胜感激。 邮箱:hutiao-001@163.com  …

查看全部问答>

截图软件

找到一个很好的截图软件 分享一下…

查看全部问答>

eboot编译出错!!

在移植2440的usb下载nk功能到2410的eboot中时: s3c2410a_usbd.c文件中:三个函数定义和实现 BOOL UbootReadData (DWORD cbData, LPBYTE pbData); BOOL InitUSB (); void Isr_Init(); main.c文件中: // For USB Download function. extern ...…

查看全部问答>

关于MB90092 子屏显示的问题

我现在想用富士通的视频叠加MB90092芯片子屏显示功能,主屏可以正常显示。 子屏显示的字符为一段乱码,代码如下: void  MB90092_DisChar (UCHAR x,UCHAR y,int addr,UCHAR mul,UCHAR bc,UCHAR cc,UCHAR ff) {       ...…

查看全部问答>

小巧的LPC1114做图象开发板

    LPC1114到了,相机不在身边,拍不了照。呵呵!     前面已经我为他设计了一个舞台,该搭建了,让他在上面尽情的发挥。 [ 本帖最后由 zhdphao 于 2010-7-31 17:38 编辑 ]…

查看全部问答>

关于c8051F330单片机内部温度传感器的问题

是不是所有c8051f系列单片机(内部自带温度传感器),ADC在左对齐,单端方式下产生的代码与输入电压的关系都是这个方程式:CODE=Vin*(Gain/Vref)*2^16。还有输出电压与温度的关系式怎么有两个,Vtemp=2.5mV/C*Temp+0.603V和Vtemp=2.86mV/C*Temp+0. ...…

查看全部问答>

【TI原创】基于LM3S8962的网络收音机(五) --- PC端发送程序

为了配合LM3S8962+VS1053的调试,从网上下载并修改了一个发送文件的程序,用来完成:   1.  网络下载存储播放; 2.  网络实时播放   为进一步实现网络收音机的功能打下结实的基础。   代码功能简单,如下所示: # ...…

查看全部问答>