18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 單片機 >> 正文

C51單片機看門狗電路

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2012-2-15
采用89C51單片機和X25045組成的看門狗電路,X25045硬件連接圖如圖1所示。X25045芯片內包含有一個看門狗定時器,可通過軟件預置係統的監控時間。在看門狗定時器預置的時間內若沒有總線活動,則X25045將從RESET輸出一個高電平信號,經過微分電路C2、R3輸出一個正脈衝,使CPU複位。圖1電路中,CPU的複位信號共有3個:上電複位(C1、R2),人工複位(S、R1、R2)和Watchdog複位(C2、R3),通過或門綜合後加到RESET端。C2、R3的時間常數不必太大,有數百微秒即可,因為這時CPU的振蕩器已經在工作。

  

x25045看門狗電路圖,單片機看門狗 

 

  看門狗定時器的預置時間是通過X25045的狀態寄存器的相應位來設定的。如表1所示,X25045狀態寄存器共有6位有含義(yi) ,其中WD1、WD0和看門狗電路有關(guan) ,其餘(yu) 位和EEPROM的工作設置有關(guan) 。

  

狀態寄存器 

 

  WD1=0,WD0=0,預置時間為(wei) 1.4s。

  WD1=0,WD0=1,預置時間為(wei) 0.6s。

  WD1=1,WD0=0,預置時間為(wei) 0.2s。

  WD1=1,WD0=1,禁止看門狗工作。

  看門狗電路的定時時間長短可由具體(ti) 應用程序的循環周期決(jue) 定,通常比係統正常工作時最大循環周期的時間略長即可。編程時,可在軟件的合適地方加一條喂狗指令,使看門狗的定時時間永遠達不到預置時間,係統就不會(hui) 複位而正常工作。當係統跑飛,用軟件陷阱等別的方法無法捕捉回程序時,則看門狗定時時間很快增長到預置時間,迫使係統複位。

  以下是C語言編寫(xie) 的看門狗程序部分。

  #include reg51.h

  sbit cs=P1^2;/*片選信號由P1.2產(chan) 生*/

  sbit sck=P1^3; /*時鍾信號由P1.3 產(chan) 生*/

  sbit si=P1^0; /*SI由P1.0產(chan) 生*/

  sbit so=P1^1; /*SO由P1.1產(chan) 生*/

  sbit c=ACC^7; /*定義(yi) 位變量*/

  bdata unsigned char com;

  void tran() /*發送一字節數據子函數*/

  {

  unsigned char i;

  for(i=0; i<8; i++)

  { ACC=com; /*將數據放入a中*/

  si=c;

  sck=0; /*sck產(chan) 生一個(ge) 上跳變*/

  sck=1;

  com=com<<1; /*左移一位*/

  }

  return;

  }

  main()

  {

  com=0x06; /*發寫(xie) 讀使能命令*/

  cs=0;

  tran();

  cs=1;

  com=0x01; /*發寫(xie) 狀態字命令*/

  cs=0;

  tran();

  com=0x00; /*定時1.4s*/

  tran();

  cs=1;

  ...;係統正常運行的程序部分

  }

  需要注意的是,在程序正常運行的時候,應該在適當的地方加一條喂狗指令,使係統正常運行時的定時時間達不到預置時間。係統就不會(hui) 複位。喂狗指令如下。

  main()

  {

  ...;係統正常運行的程序部分

  {

  cs=0; /*產(chan) 生cs脈衝(chong) */

  cs=1;

  }

  }

  X25045的看門狗電路使用十分方便。X25045內(nei) 部還集成了512BEEPROM和電壓運行監視係統,隻需這樣一塊芯片,外加晶振和複位電路就可以組成單片機的應用係統,非常適合於(yu) 便攜式儀(yi) 器和嵌入式係統的設計。

Tags:單片機看門狗,看門狗  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢