ɵƬɵϵͳУڵƬĹпܻܵųĸţɳܷɣӶѭбϣɵƬƵϵͳ޷ϵͳͣ״̬ԤϵĺԳڶԵƬ״̬ʵʱĿǣһרڼⵥƬ״̬оƬ׳ơŹ(watch dog)

         뿴Ź·ĿʹƬ״̬ʵ乤£ŹоƬ͵ƬһI/OI/OͨƬĳƣʹʱŹоƬߵƽ(͵ƽ)һǷɢطڵƬмģһƬڸɳܷɺĳһνѭ״̬ʱŹ͵ƽĳ㲻ִܱеʱŹ·ͻڵòƬźţ㽫͵ƬλͳһλźţʹƬλӶƬӳ洢ʼλ¿ʼִгʵ˵ƬԶλ

         ͨŹ·ҪһרŵĿŹоƬӵƬʵ֣·ƴӣSTCƬڲԴпŹͨӦ⹦ܼĴþͿʵֿŹӦãSTC89ϵеƬڲһרŵĿŹʱĴWatch Dog Timer ĴӦܼ¸֪ʶ㡣

         ŹʱĴ(WDT_CONTR)

STCƬŹʱĴ⹦ܼĴеֽڵַΪE1HλѰַ üĴSTCƬĿŹƲ֣ͣŹÿŹʱȡƬλʱüĴһȫ0STCسϿøλؿŹֻͣؿŹѡ񣬴ҸҪʺԼϵͳѡλĶ4.2.1ʾ

1ŹʱĴ(WDT_CONTR)

λ
 D7
 D6
 D5
 D4
 D3
 D2
 D1
 D0
 
λ
 --
 --
 EN_WDT
 CLR_WDT
 IDLE_WDT
 PS2
 PS1
 PS0
 

              EN_WDTŹλΪ1ʱŹ

              CLR_WDT Ź塰0λΪ1ʱŹʱ¼Ӳ              Զ塰0λ

              IDLE_WDTŹIDLEģʽλΪ1ʱŹʱڵƬ              ġģʽ塰0λʱ, ŹʱڵƬġģʽ                 ʱ

              PS2PS1PS0ŹʱԤƵֵֵͬӦԤƵ4.2.2ʾ 


  2 12MŹʱԤƵֵ

PS2
 PS1
 PS0
 ԤƵ
 Źʱ
 
0
 0
 0
 2
 65.5ms
 
0
 0
 1
 4
 131.0ms
 
0
 1
 0
 8
 262.1ms
 
0
 1
 1
 16
 524.2ms
 
1
 0
 0
 32
 1.0485s
 
1
 0
 1
 64
 2.0971s
 
1
 1
 0
 128
 4.1943s
 
1
 1
 1
 256
 8.3886s
 

                     ŹʱԤƵֱӵĹϵʽ£

Źʱ=(NԤƵ32768)/Ƶ

     ʽNʾSTCƬʱģʽSTCƬʱģʽ٣Ҳ12ʱģʽʱģʽ£STCƬ˾51ƬͬĻڣ12ΪһڣһΪ˫٣ֱΪ6ʱģʽʱģʽ£STCƬ˾51ƬٶҪһڵ˫ٵسѡ񣬴ҿزԳٶȡԤƵֵPS2PS1PS0ȷ4.2.2ʾƵʼΪǰϵͳʱƵʡ

         ͨһʹÿŹͲʹÿŹʱеSTCƬĸ߿ص㣬һδܷɵҲΪʹƬҵĳʾÿŹʱʹԶλС

         TX-1Cʵʵ趨ŹʱΪ2ңȻһܣʱһᣬȻϨ𷢹ܣʹȴѭ״̬ѭдԼÿ1ιһΣǷ

         ½ļpart3.4.2.c£

                   #include <reg52.h>                     //52ϵеƬͷļ

#define uchar unsigned char

#define uint unsigned int 

sfr WDT_CONTR=0xe1;

sbit led1=P1^0;

void delayms(uint xms)                                    

{

         uint i,j;

         for(i=xms;i>0;i--)                         //i=xmsʱԼxms

                  for(j=110;j>0;j--);

}

void main()

{

         WDT_CONTR=0x35;

         led1=0;

         delayms(500);

         led1=1;       

         while(1) 

         {

                  delayms(1000);

                  WDT_CONTR=0x35;              

         }

}

         

         (1)sfr WDT_CONTR=0xe1;STCƬ¼ĿŹĴΪreg52.hͷļûжԸüĴĶ壬ԺҪµļĴʱͬȻҲдreg52.hͷļС

         (2)ʼ󣬵ܺʱԼ500msϨʱɹι֮еʱ䳬Źʱ䣬ŹλƬҿɵʱʱ俴ʵʾЧ

         (3)ιʱʹú趨ŹĴͬ䣬ֻҪŹĴеCLR_WDTλ1Źʱ¼CLR_WDTλ1ӲԶ㡣

         (4)ʾΪܵϨٲ˵ûбλʼֹͣwhile(1)ѭУŹڱι¡

         ֻwhile(1)ѭеġWDT_CONTR=0x35;ɾʾΪСƲͣ˸Ϊ˿ŹãŹʱʱʹƬλͷִгС˸

         ӦÿŹʱҪĲͬλιÿι֮ʱһСڿŹʱʱ䣬򽫻᲻ͣĸλ