<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MSP430教程10:MSP430單片機WDT看門(mén)狗定時(shí)器

MSP430教程10:MSP430單片機WDT看門(mén)狗定時(shí)器

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

本文引用地址:http://dyxdggzs.com/article/201611/316501.htm

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

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

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

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

二、WDT的操作

1.用戶(hù)通過(guò)設置WDTCTL中的TMSEL和HOLD控制位使WDT工作在看門(mén)狗模式、定時(shí)器模式低功耗模式三種模式。

a.看門(mén)狗模式(TMSEL=0 ,HOLD=0)如果記數時(shí)間到,就會(huì )產(chǎn)生復位和激活系統上電清除信號,系統從上電復位的地址重啟動(dòng)中斷向量為RESET_VECTOR

b.定時(shí)器模式(TMSEL=1,HOLD=0)這一模式產(chǎn)生選定時(shí)間的周期性中斷中斷標志位為WDTIFG中斷向量為WDT_VECTOR

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

2.WDT通過(guò)SSEL和IS0 IS1 3位可以確定與8種時(shí)鐘源相關(guān)的時(shí)間(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

三、看門(mén)狗應用
使用看門(mén)狗定時(shí)器產(chǎn)生一個(gè)方波(周期性取反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;
}



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>