日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【51单片机快速入门指南】8:看门狗定时器(WDT)

發布時間:2023/12/9 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【51单片机快速入门指南】8:看门狗定时器(WDT) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 硬知識
  • 測試程序
    • main.c
    • 現象

普中51-單核-A2
STC89C52
Keil uVision V5.29.0.0
PK51 Prof.Developers Kit Version:9.60.0.0


硬知識

???????摘自《STC89C52系列單片機器件手冊》

適用型號:
STC89C51,STC89C52,STC89C53,STC89C14,STC89LE51,STC89LE52,STC89LE53,STC89LE14,STC89C54,STC89C58,STC89C516,STC89C510,STC89C512,STC89C514,STC89LE54,STC89LE58,STC89LE516,STC89LE510,STC89LE512,STC89LE514

???????在工業控制/ 汽車電子/ 航空航天等需要高可靠性的系統中,為了防止“系統在異常情況下,受到干擾,MCU/CPU程序跑飛,導致系統長時間異常工作”,通常是引進看門狗,如果MCU/CPU 不在規定的時間內按要求訪問看門狗,就認為MCU/CPU處于異常狀態,看門狗就會強迫MCU/CPU復位,使系統重新從頭開始按規律執行用戶程序。
???????STC89C52系列單片機內部也引進了此看門狗功能, 使單片機系統可靠性設計變得更加方便/簡潔。為此功能,我們增加如下特殊功能寄存器WDT_CONTR:
WDT_CONTR: 看門狗(Watch-Dog-Timer)控制寄存器

EN_WDT :
???????看門狗允許位, 當設置為“1 ”時,看門狗啟動。
CLR_WDT :
???????看門狗清“0”位,當設為“1”時,看門狗將重新計數。硬件將自動清“0 ”此位。
IDLE_WDT :
???????看門狗“IDLE ”模式位, 當設置為“1”時, 看門狗定時器在“空閑模式”計數
???????當清“0”該位時, 看門狗定時器在“空閑模式”時不計數
PS2,PS1,PS0 :
???????看門狗定時器預分頻值,如下表所示
看門狗溢出時間 =(12×=(12×=(12×Pre-scale×32768)/×32768)/×32768)/Oscillator frequency
可視為16位的定時器:
看門狗溢出時間 =12/=12/=12/Oscillator frequency × 65536 × 2[PS2:PS0]2^{[PS2:PS0]}2[PS2:PS0]

測試程序

main.c

初始化看門狗,[PS2:PS0] = 0,晶振頻率為11.0592MHz,則看門狗溢出時間 =12/=12/=12/ 11.0592M × 65536 × 2[PS2:PS0]=2^{[PS2:PS0]}=2[PS2:PS0]= 0.0711s = 71.1ms

#include <STC89C5xRC.H>#define WDT_EN 0x20 #define WDT_DIS 0x00 #define WDT_CLR 0x10 #define WDT_IDLE_EN 0x08 #define WDT_IDLE_DIS 0x00void main(void) {WDT_CONTR = 0;WDT_CONTR = WDT_EN|WDT_CLR|WDT_IDLE_EN|0;P20 = 0;while(1){ } }

現象

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的【51单片机快速入门指南】8:看门狗定时器(WDT)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。