导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请DX过来帮忙,是关于W77E58的看门狗的问题!!!

* 63956: 请DX过来帮忙,是关于W77E58的看门狗的问题!!!

   li101236 
li101236发表的帖子 

 请DX过来帮忙,是关于W77E58的看门狗的问题!!!
我的看门狗程序在keil C51 7。0 的软件仿真是可以使系统重新启动,但烧写到MCU上就不能重启了。我的设置如下:
    sfr WDCON=0XD8;
    sbit SMOD_1 = WDCON^7;
    sbit POR = WDCON^6;
    sbit WDIF = WDCON^3;
    sbit WTRF = WDCON^2;
    sbit EWT = WDCON^1;
    sbit RWT = WDCON^0;
    #define  WDTC_ENABLE    TA=0xAA;TA=0x55;EWT=1;
    #define  WDTC_DISABLE   TA=0xAA;TA=0x55;EWT=0;
    #define  WDTC_CLEAR     TA=0xAA;TA=0x55;RWT=1;
    #define  WDIF_CLEAR     TA=0xAA;TA=0x55;WDIF=0;
    #define  WDTC_INI_ENABLE  ewdi=1;
    #define  WDTC_INI_DISABLE  ewdi=0;
    #define  WDTC_MODEL0  ckcon=ckcon&0x3F;ckcon=ckcon|0x00;    ///2^17+512
    #define  WDTC_MODEL1  ckcon=ckcon&0x3F;ckcon=ckcon|0x20;    ///2^20+512
    #define  WDTC_MODEL2  ckcon=ckcon&0x3F;ckcon=ckcon|0x40;    ///2^23+512
    #define  WDTC_MODEL3   ckcon=ckcon&0x3F;ckcon=ckcon|0xC0;   ///2^26+512

void DelaymS(unsigned int Count)
{
 unsigned int i=0;
 unsigned char j,l;
 //CLEAR_DOG;
 while(i!=Count)
 {
    //CLEAR_DOG;
    for(j=0;j  <228;j++){l++;}
    i++;
 }
}

/*
void WatchDogIni() interrupt 12
{
 //printf("WatchDog Interrut!");
 WDIF=0;
}
*/

void main()
{
// #ifndef MONITOR51
//    SCON  = 0x50;    /* SCON: mode 1, 8-bit UART, enable rcvr      */
//    tmod |= 0x20;               /* TMOD: timer 1, mode 2, 8-bit reload        */
//    th1   = 221;                /* TH1:  reload value for 1200 baud @ 16MHz   */
//    tr1   = 1;                  /* TR1:  timer 1 run                          */
//    ti    = 1;                  /* TI:   set TI to send first char of UART    */
// #endif
 DelaymS(2000);
 BuzzerControl = 1;
 IO_CONTROL_PORT = IoControl;    //这是一个蜂鸣器控制
 DelaymS(5000);
 //printf("system boot!\n");
 BuzzerControl = 0;
 IO_CONTROL_PORT = IoControl;
 
 DelaymS(2000);
 WDTC_MODEL3;
 //WDTC_CLEAR;
 //WDTC_INI_ENABLE;
 WDTC_ENABLE;
               //Reset();
 while(1)
 {
  BuzzerControl = 1;
  IO_CONTROL_PORT = IoControl;
  DelaymS(200);
  BuzzerControl = 0;
  IO_CONTROL_PORT = IoControl;
  DelaymS(1200);
 }
 
}

我的硬件中,用到了BANK的技术,所有的程序都放在外部的W29C040上,这有关吗?

发表时间:2004年10月8日10:34:39

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:我的也是这样请高手帮忙
[下一篇帖子]:各位大大帮帮我呀!