《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > C51單片機(jī)看門狗電路
C51單片機(jī)看門狗電路
摘要: 采用89C51單片機(jī)和X25045組成的看門狗電路,X25045硬件連接圖如圖1所示。X25045芯片內(nèi)包含有一個(gè)看門狗定時(shí)器,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒有總線活動(dòng)。
Abstract:
Key words :

  采用89C單片機(jī)" title="51單片機(jī)" target="_blank">51單片機(jī)和X25045組成的看門狗電路,X25045硬件連接圖如圖1所示。X25045芯片內(nèi)包含有一個(gè)看門狗定時(shí)器,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒有總線活動(dòng),則X25045將從RESET輸出一個(gè)高電平信號(hào),經(jīng)過微分電路C2、R3輸出一個(gè)正脈沖,使CPU復(fù)位。圖1電路中,CPU的復(fù)位信號(hào)共有3個(gè):上電復(fù)位(C1、R2),人工復(fù)位(S、R1、R2)和Watchdog復(fù)位(C2、R3),通過或門綜合后加到RESET端。C2、R3的時(shí)間常數(shù)不必太大,有數(shù)百微秒即可,因?yàn)檫@時(shí)CPU的振蕩器已經(jīng)在工作。

  

  圖1 X25045看門狗電路硬件連接圖

  看門狗定時(shí)器的預(yù)置時(shí)間是通過X25045的狀態(tài)寄存器的相應(yīng)位來設(shè)定的。如表1所示,X25045狀態(tài)寄存器共有6位有含義,其中WD1、WD0和看門狗電路有關(guān),其余位和EEPROM的工作設(shè)置有關(guān)。

  

  表1 X25045狀態(tài)寄存器

  WD1=0,WD0=0,預(yù)置時(shí)間為1.4s。

  WD1=0,WD0=1,預(yù)置時(shí)間為0.6s。

  WD1=1,WD0=0,預(yù)置時(shí)間為0.2s。

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

  看門狗電路的定時(shí)時(shí)間長短可由具體應(yīng)用程序的循環(huán)周期決定,通常比系統(tǒng)正常工作時(shí)最大循環(huán)周期的時(shí)間略長即可。編程時(shí),可在軟件的合適地方加一條喂狗指令,使看門狗的定時(shí)時(shí)間永遠(yuǎn)達(dá)不到預(yù)置時(shí)間,系統(tǒng)就不會(huì)復(fù)位而正常工作。當(dāng)系統(tǒng)跑飛,用軟件陷阱等別的方法無法捕捉回程序時(shí),則看門狗定時(shí)時(shí)間很快增長到預(yù)置時(shí)間,迫使系統(tǒng)復(fù)位。

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

  #include reg51.h

  sbit cs=P1^2;/*片選信號(hào)由P1.2產(chǎn)生*/

  sbit sck=P1^3; /*時(shí)鐘信號(hào)由P1.3 產(chǎn)生*/

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

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

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

  bdata unsigned char com;

  void tran() /*發(fā)送一字節(jié)數(shù)據(jù)子函數(shù)*/

  {

  unsigned char i;

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

  { ACC=com; /*將數(shù)據(jù)放入a中*/

  si=c;

  sck=0; /*sck產(chǎn)生一個(gè)上跳變*/

  sck=1;

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

  }

  return;

  }

  main()

  {

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

  cs=0;

  tran();

  cs=1;

  com=0x01; /*發(fā)寫狀態(tài)字命令*/

  cs=0;

  tran();

  com=0x00; /*定時(shí)1.4s*/

  tran();

  cs=1;

  ...;系統(tǒng)正常運(yùn)行的程序部分

  }

  需要注意的是,在程序正常運(yùn)行的時(shí)候,應(yīng)該在適當(dāng)?shù)牡胤郊右粭l喂狗指令,使系統(tǒng)正常運(yùn)行時(shí)的定時(shí)時(shí)間達(dá)不到預(yù)置時(shí)間。系統(tǒng)就不會(huì)復(fù)位。喂狗指令如下。

  main()

  {

  ...;系統(tǒng)正常運(yùn)行的程序部分

  {

  cs=0; /*產(chǎn)生cs脈沖*/

  cs=1;

  }

  }

  X25045的看門狗電路使用十分方便。X25045內(nèi)部還集成了512BEEPROM和電壓運(yùn)行監(jiān)視系統(tǒng),只需這樣一塊芯片,外加晶振和復(fù)位電路就可以組成單片機(jī)的應(yīng)用系統(tǒng),非常適合于便攜式儀器和嵌入式系統(tǒng)的設(shè)計(jì)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 91久久香蕉国产线看 | 免费看成人频视在线视频 | 免费看黄色三级毛片 | 国产日韩欧美swag在线观看 | 久久精品视频免费观看 | 亚洲一区免费在线 | 日本久久草 | 国产精品亚洲一区在线播放 | 欧美一级一极性活片免费观看 | 久草久草久草 | 99九九99九九九视频精品 | 视频在线观看一区 | 一级毛片中国 | 日本韩国欧美在线观看 | 国产成人高清精品免费5388密 | 国产网站免费 | 成人午夜影院在线观看 | 日韩欧美第一页 | 91久久青青草原线免费 | 美国欧美一级毛片 | 国产全部理论片线观看 | 香蕉久久成人网 | 国内精品伊人久久久影视 | avtom影院入口永久在线 | 怡红院在线视频观看 | 精品视频在线视频 | 爽爽窝窝午夜精品一区二区 | 欧美成人免费高清二区三区 | 欧美高清视频在线观看 | 欧美一区永久视频免费观看 | 性欧美videos精品 | 国产一级片在线 | 欧美一级黄 | 久草手机在线播放 | 欧美成年黄网站色高清视频 | 久久精品视频网 | 久久91亚洲精品中文字幕奶水 | 亚洲一级大片 | 欧美一欧美一级毛片 | 久久久久网站 | 亚洲日本一区二区三区高清在线 |