基於msp430定時提醒器電路原理圖(單片機MSP430入門-理論⑤--定時器模塊-WDT看門狗)
2023-11-05 13:20:04 2
單片機MSP430入門-理論⑤--定時器模塊-WDT看門狗
上期大概給大家匯總介紹了,在MSP430環境下的時鐘寄存器BCSCTL2,他每個位的意義以及他們的設置方法
本期將重點介紹下,定時器模塊,這次先講下看門狗定時器和他的寄存器,設置等
1.0 定義
1.1 定時器:
MSP430的定時器大概有4種,看門狗定時器,基本定時器,定時器A,定時器B,
1.2 基本定時器功能:
基本定時,支持軟體和各種外圍模塊工作在低頻率,低功耗條件下
1.3 定時器A功能:
基本定時,支持同時進行的多種時序控制,多個捕獲,比較功能和多種輸出波形(PWM),可以以硬體方式支持串行通信
1.4 定時器B功能:
基本定時,功能基本跟定時器A差不多,但比較定時器A更靈活,功能更強大
1.5 看門口定時器功能:
看門狗定時器是一個特殊的定時器,它的功能是當程序運行發生故障時,能使系統按一定時序重啟。這個模塊還有定時器功能,通過CNTCL來控制TMSET位,使WDTCNT從0開始計數,然後按照定時選定的時間周期產生中斷請求,當在定時器模式時,WDTCTL中斷標誌位在定時間到時置位,因該模式下定時器中斷源是單源的,當得到中斷服務時其WDTCTL標誌位復位
2.0 看門狗定時器WDT
2.1 看門狗定時器的原理是,當發生故障的時間,滿足規定的定時時間後,產生一個非屏蔽的中斷,這個中斷會使系統復位
在實際調試中,調試程序或預計程序在某一段可能會出現瞬時的時序錯誤(如外部電路幹擾),這時候選用看門狗定時器中斷,可以避免程序進入死循環炮飛,簡單點說,就是當前工序把看門狗打開,程序正常時下個工序會關閉看門狗,但是這時候如果有幹擾,那下個工序就不會觸發,程序跑飛,這時候看門狗的時間到了就會觸發系統重啟
2.2 WSTCTL是一個16位寄存器,其高字節為口令,口令為5AH,當對他寫入操作時,必須寫口令才能操作,否則會直接導致系統復位
看門狗的定時時間,是通過WDTCTL的低三位(SSEL,IS1,IS0)選擇,當系統時鐘為1MHz時,最大可設置為1秒鐘,最小可設置為64微秒,
ISx(bit1-0): 用來設置看門狗的定時時間,00為看門狗時鐘源/32768(01對應8192,10對應512,11對應64)
SSEL(bit2):這個簡單,選擇時鐘源,0為SMCLK,1為ACLK,
CNTCL:當該位為1時,清除計數值,並使WDTCNT自動復位
TMSEL: 工作模式選擇,0為看門狗模式,1為定時器模式
NMI : 選擇RST/NMI引腳功能,在PUC後被復位,0為RST/NMI引腳為復位端,1為RST/NMI引腳為邊沿觸發的非屏蔽中斷輸入
NMIES : 選擇中斷的邊沿觸發方式,0為上升沿觸發NMI中斷,1為下降沿觸發NMI中斷
HOLD:停止看門狗定時器工作,降低功耗,0為WDT功能激活,1為時鐘禁止輸入,計數停止
,