專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

MSP430學習點滴—看門狗定時器

作者:xuchen   來源:xuchen的blog   點擊數(shù):  更新時間:2014年05月28日   【字體:

  看門狗有三種工作模式:停止模式,計時器模式,看門狗模式。

控制寄存器WDTCTL由兩部分組成,高8位用作口令,低8位實現(xiàn)對WDT的控制操作。要實現(xiàn)對WDT的操作控制,必須先寫入高字節(jié)看門狗口令�?诹顬�5AH,頭文件里一般將WDTPW宏定義為5AH.WDTCTL寄存器各位定義如下:
15~8 7 6 5 4 3 2 1 0
口令 HOLD NMIES NMI TMSEL CNTCL SSEL IS1 IS0
 
IS0 IS1 選擇看門狗定時器的定時輸出,其中T是WDTCNT的輸入時鐘源周期。一般宏定義WDTIS0為0x0001,WDTIS1為0x0002.
   0 T*2^15(PUC復位后的值)
   1 T*2^13
   2 T*2^9
   3 T*2^6
 
SSEL   選擇WDTCNT的時鐘源。一般宏定義WDTISSEL為0x0004.
   0 SMCLK (PUC復位后的值)
   1 ACLK
 
CNTCL   當該位為1時清除WDTCTL。一般宏定義WDTCNTL為0x0008.
 
TMSEL   工作模式的選擇。一般宏定義WDTTMSEL為0x0010.
   0 看門狗模式(默認)
   1 定時器模式
 
NMI     選擇RST/NMI引腳功能,在PUC后被復位。一般宏定義WDTNMI為0x0020.
   0 RST/NMI引腳為復位端
   1 RST/NMI引腳為邊沿觸發(fā)的非屏蔽中斷輸入。
 
NMIES   選擇中斷的邊沿觸發(fā)方式。一般宏定義WDTNMIES為0x0040.
   0 上升沿觸發(fā)NMI中斷
   1 下降沿觸發(fā)NMI中斷
 
HOLD    停止看門狗定時器工作 降低功耗。一般宏定義WDTHOLD為0x0080.
   0 WDT功能激活
   1 時鐘禁止輸入,計數(shù)停止。
 
因此,可以根據(jù)WDTCTL寄存器的TMSEL和HOLD控制位設置WDT工作在看門狗模式、定時器模式和低功耗模式。
 
C語言實現(xiàn)低功耗模式的語句:
WDTCTL = WDTPW + WDTHOLD;
 
C語言實現(xiàn)定時器模式的語句:
WDTCTL = WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0;
 
C語言實現(xiàn)看門狗模式的語句:
設置看門狗:WDTCTL = WDT_MRST_0_5 = WDTPW+WDTCNTCL+WDTIS1;
清看門狗:WDTCTL = WDTPW+WDTCNTCL;(默認32ms)
關閉窗口

相關文章