<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MSP430教程10:MSP430單片機WDT看門狗定時器

          MSP430教程10:MSP430單片機WDT看門狗定時器

          作者: 時間:2016-11-13 來源:網(wǎng)絡 收藏
          看門狗定時器用來防止程序因供電電源、空間電磁干擾或其它原因引起的強烈干擾噪聲而跑飛的事故。程序中設置看門狗清零指令WDTCTL=WDTPW+WDTCNTCL,當程序跑飛不能及時清零看門狗,導致看門狗溢出復位,這樣程序可以恢復正常運行狀態(tài)。

          本文引用地址:http://www.ex-cimer.com/article/201611/316501.htm

          一、WDT寄存器包括WDTCNT和WDTCTL,兩個寄存器在上電和系統(tǒng)復位內容全部清零

          1.記數(shù)單元WDTCNT:WDTCNT是16位增記數(shù)器,由MSP430選定的時鐘電路產生的固定周期脈沖信號對記數(shù)器進行加法記數(shù)。WDTCNT不能直接軟件存取,必須通過看門狗定時器的控制寄存器WDTCTL來控制。

          2.控制寄存器WDTCTL:WDTCTL由兩部分組成,高8位用作口令,即5AH(頭文件中定義為WDTPW),低8位是對WDT操作的控制命令。寫入WDT控制命令時先寫入口令WDTPW,口令寫錯將導致系統(tǒng)復位。讀WDTCTL時不需口令,低字節(jié)WDTCTL的值,高字節(jié)讀出始終為69H。
          bit 15-8 765 4 32 10
          口令HOLDNMIES NMITMSELCNTCL SSELIS1 IS0

          IS1 SI0選擇看門狗定時器的定時輸出,T為WDTCNT的輸入時鐘源周期。TMSELWDT工作模式選擇
          00 T*2的15次方0看門狗模式
          01 T*2的13次方1定時器模式
          10 T*2的9次方NMI選擇RST/NMI引腳功能
          11 T*2的6次方0RST/NMI為復位端
          SSEL選擇WDTCNT的時鐘源 1RST/NMI為非屏蔽中斷輸入
          0 SMCLK
          1 ACLK
          NMIES選擇NMI中斷的邊沿觸發(fā)方式HOLD停止看門狗定時器工作
          0上升沿觸發(fā)NMI中斷0看門狗功能激活
          1下降沿觸發(fā)NMI中斷1時鐘禁止輸入,記數(shù)停止

          二、WDT的操作

          1.用戶通過設置WDTCTL中的TMSEL和HOLD控制位使WDT工作在看門狗模式定時器模式低功耗模式三種模式。

          a.看門狗模式(TMSEL=0 ,HOLD=0)如果記數(shù)時間到,就會產生復位和激活系統(tǒng)上電清除信號,系統(tǒng)從上電復位的地址重啟動中斷向量為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_32WDT_MRST_32
          WDT_MDLY_8WDT_MRST_8
          WDT_MDLY_0_5WDT_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_16WDT_ARST_16
          WDT_ADLY_1_9WDT_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;
          }



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();