久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 89S系列單片機的WDT不可靠,我自制個有效的片外看門狗 [打印本頁]

作者: Kxuan163    時間: 2020-12-11 23:00
標題: 89S系列單片機的WDT不可靠,我自制個有效的片外看門狗
本帖最后由 Kxuan163 于 2020-12-18 23:06 編輯

一、制作因由:
    筆者開發了一個以AT89s52為MCU的家電控制系統。
    在未有看門狗之前,控制系統受到來自所控對象電路通/斷或電網波動之類的干擾,時有程序指針跑飛的死機異常。
為保障控制系統工作可靠穩定,決定使用看門狗(Watchdog)。
    起初,試用AT89s52片內的看門狗WDT, 實踐中發現WDT不可靠----當晶振受干擾而停振時,WDT失效。
決定改用抗干擾能力較強的片外看門狗。有行家提及,可選用片外狗芯片MAX708、MAX813、X25045.....
筆者手頭上無該類芯片實物及資料。于是自行設計制作了本文所述的片外看門狗。
    半年多以來的使用實踐表明,筆者自制的這個片外看門狗有效、實用。


二、基本工作原理:
(1)在單片機程序正常運行狀態:
每隔t0時間,T0中斷服務程序"喂狗"一次,使它暫不"犬吠"
t0≈65毫秒,由T0初始化程序設置定(請參閱下述的程序塊代碼 )。
所謂"喂狗",就是由單片機PO.3引腳輸出低電平信號,送至片外狗電路的U3_2腳,使狗不"犬吠"。
("喂狗"的實際細節請參閱下述的流程圖)
(2)因外界干擾導致程序指針跑飛或晶振停振,不能定時喂狗:
若停止喂狗時間長達td(≈6秒),則狗"犬吠",使單片機復位,復位后恢復平定時喂狗功能。
所謂"犬吠",就是由J5_3腳輸出高電平信號送至單片機RST引腳(細節請參閱下述的流程圖)。
td時間長短取決于R3阻值與C2電容值的乘積,即RC充放電時間常數。

三、片外看門狗電路圖:



四、片外看門狗工作流程圖:
[attach]257674[/attach]


五、89s52單片機與喂狗相關的程序塊:
;;--------------------------------------------
         ORG   000BH      ;定時器T0中斷處理入口地址
         AJMP   T0_INT
;;--------------------------------------------
;;
;;
;;--------------------------------------------
SET_T0:   ;; T0初始化,
          ;; 定時65ms的計數值 =65000μs/1μs =65000
          ;; 方式1,16位計數器,計數值 =65536-65000 =536 =218H
         MOV   TMOD, #01H    ;; T0定時模式.方式1(16位計數器)
         MOV   TH0,  #02H    ;; 裝入計數初值高字節
         MOV   TL0,  #18H    ;; 裝入計數初值低字節
         SETB  TR0           ;; 啟動T0
         SETB  ET0           ;; 允許T0中斷
         SETB  EA            ;; MPU開中斷
         RET
;;-------------------------------------------  
;;
;;
;;-------------------------------------------  
T0_INT:     ;; T0定時中斷處理程序,每隔65ms喂狗一次  
         CLR   P0.3          ;; 89s52的P0.3引腳輸出低電平
         MOV   TH0,  #02H    ;; 重裝計數初值高字節
         MOV   TL0,  #18H    ;; 重裝計數初值低字節
         RETI
;;--------------------------------------------  




作者: szb314    時間: 2020-12-12 10:47
ST的 sot23的狗 1塊錢一個
作者: Kxuan163    時間: 2020-12-12 14:31
szb314 發表于 2020-12-12 10:47
ST的 sot23的狗 1塊錢一個

謝謝提供信息。
作者: Kxuan163    時間: 2022-9-2 16:20
我網購得DS1232芯片(¥0.92/片)重新制作看門狗。
.
仿真圖如下:



代碼如下:
#include<reg51.h>
#include <intrins.h>
#define FLUX

sbit P2_7=P2^7;         

void delayms(unsigned char ms) // 延時ms函數
{                                               
        unsigned char i;
        while(ms--)
        {
                for(i = 0; i < 120; i++);
        }
}

void main()
{

        int x, LED ;

        LED = 0x55; // 奇數燈亮
        P0 = LED;
        delayms(150);

        LED = 0xAA;         // 偶數燈亮
        P0 = LED;
        delayms(150);                               

//   LED =0xff;         // 全滅
//   P0 = LED;

   while(1)
    {
     FLUX
          LED = 0xfe;
          P0 = LED;
      P2_7 =0;
          for(x =1; x<=8; x++)
           {
            delayms(125);
                P2_7 =  ! P2_7;      //P2.7腳電平反轉,作喂狗信號
                LED = _crol_(LED,1); //循環右移1位,點亮下一個LED
            P0 = LED;
           }
        }  

}








歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美在线小视频 | 国产这里只有精品 | 香蕉国产在线视频 | 中文字幕精品一区久久久久 | 亚洲毛片在线观看 | 欧美精品三区 | 欧美专区在线 | 久久99深爱久久99精品 | 精品一区二区三区视频在线观看 | 国产成人免费视频网站视频社区 | 亚洲欧美在线视频 | 久久伊人精品 | 欧美日韩一区二区电影 | 欧美一区二区免费在线 | 久久精品亚洲精品国产欧美 | 精品国产一区久久 | 日韩视频一区在线观看 | a网站在线观看 | 国产目拍亚洲精品99久久精品 | 日韩精品一区二区三区中文在线 | 亚洲综合大片69999 | 欧美精品一区二区蜜桃 | 亚洲精品日韩综合观看成人91 | 中文字幕高清 | 亚洲欧美一区二区三区在线 | 神马久久久久久久久久 | 91在线资源| 玖玖视频网 | 狠狠入ady亚洲精品经典电影 | 久久久久国产精品一区二区 | 国产欧美日韩综合精品一区二区 | 国产成人jvid在线播放 | 精品精品 | 亚洲国产精品一区二区www | 亚洲成网 | 国产一区2区 | 视频一区二区中文字幕日韩 | 亚洲免费在线 | 一区二区视频在线 | 国产精品a久久久久 | 99久久婷婷国产综合精品电影 |