---
# System prepended metadata

title: WWDT_PIC16F18854_I2C_p143&145_
tags: [PIC16F18854]

---

# WWDT_PIC16F18854_I2C_p143&145_
###### tags:`PIC16F18854`
<style> .red {color:red;} </style> 
## <span class =" red">窗口式看門狗定時器（WWDT）</span>

看門狗定時器（WDT）是一個系統定時器，如果在超過設定時間還未發出==CLRWDT==指令，該定時器將產生一個複位信號\
\
看門狗定時器通常用於從意外事件中恢復系統\
\
窗口式看門狗定時器（WDT）的不同之處在於，僅==當CLRWDT指令在超時期間內在特定窗口內執行時才被接受==\
\
WDT具有以下功能：

* 可選時鐘源
* 多種操作模式
-WDT始終打開
-處於休眠狀態時WDT關閉
-WDT由軟件控制-WDT始終關閉
* 可配置的超時時間為1 ms至256 秒（標稱）
* 可配置的窗口大小，為超時時間的12.5％至100％
* 多種複位條件
* 休眠期間的操作

## <span class =" red">獨立時鐘源:</span>
WDT可以從31 kHz LFINTOSC或31.25 kHz MFINTOSC / 16內部振盪器中獲得時基，具體取決於==WDTCON1的WDTCCS <2：0>== 配置位或 ==WDTCS <2：0>== 位的值。\
\
本章中的時間間隔基於1 ms的最小標稱間隔。\
\
有關LFINTOSC和MFINTOSC的公差，請參見第37.0節“電氣規範”
\


| WDTE<1:0> | SEN(WDTCON0) | 裝置狀態 |看門狗模式|
| -------- | -------- | -------- |-------- |
| 11| X| X  |啟用|
|  -------- |  -------- |  -------- | -------- |
| 10| X| 醒著|啟用
| 10| X| 休眠|不啟用|
|  -------- |  -------- |  -------- | -------- |
| 01| 1| X  |啟用|
| 01| 0| X  |不啟用|
|  -------- |  -------- |  -------- | -------- |
| 00| X| X  |不啟用|
X為don't care
\
![](https://i.imgur.com/hjSoOQA.png)


## <span class =" red">超時時間</span>
WDTPS(WDT0)位將超時時間設置為1 ms至256秒（標稱）\
\
==復位後，默認超時時間為兩秒==

## <span class =" red">看門狗窗口</span>
看門狗定時器具有可選的窗口模式，該模式由WDTCON1寄存器的==WDTCWS <2：0>== 和 ==WINDOW <2：0>==\
\
==在窗口模式下，CLRWDT指令必須在WDT週期的允許窗口內執行==\
\
==如果WDTCWS <2：0> = 111，則窗口大小由WDTCWS <2：0>或WDTCON1的WINDOW <2：0>控制==\
\
==如果發生窗口衝突，將產生一個複位，並且WDTWV(PCON)將被清除。 該位由POR設置或可以在固件中設置。==

## <span class =" red">清除WDT</span>
發生以下任何一種情況時，將清除WDT：
* 任何復位
* 執行了有效的CLRWDT指令
* 器件進入休眠狀態
* 器件從休眠狀態喚醒
* WDT被禁用
* 振盪器起振定時器（OST）正在運行
* 寫入WDTCON0或WDTCON1寄存器

## <span class =" red">CLRWDT注意事項（窗口模式）</span>
在窗口模式下，必須先準備WDT，然後再執行CLRWDT指令清除定時器。\
\
這是通過讀取WDTCON0寄存器執行的。\
\
在未執行此類布防動作的情況下執行CLRWDT指令將觸發窗口衝突

## <span class =" red">休眠期間的操作</span>
當設備進入休眠模式時，WDT被清除。\
\
如果在休眠期間智能了WDT，則WDT將恢復計數。當設備退出休眠模式時，WDT再次被清除。\
\
在啟用OST之前，WDT保持清除狀態。\
\
當器件處於休眠狀態時，如果WDT超時，則不會產生復位。\
\
而是，設備喚醒並恢復操作。 STATUS暫存器中的TO和PD被更改以指示事件。\
\
也可以使用PCON暫存器中的RWDT位。有關更多信息，請參見第3.0節“內存組織”。



| 情況                            | 看門狗 |
| ------------------------------ | ------ |
| WDTE<1:0> = 00                 | Cleared |
| WDTE<1:0> = 01 and SEN = 0     | Cleared |
| WDTE<1:0> = 10 and enter Sleep | Cleared |
| 執行了有效的CLRWDT指令            | Cleared | 
| 振盪器起振定時器（OST）正在運行     | Cleared |
| 設備進入休眠模式                  | Cleared |
| ------------------------------ | ------ |
| 改變INTOSC divider (IRCF bits)  | 不影響   |

