标题: sfr WDTRST = 0xA6; sfr P2 = 0xA0; [打印本页]

作者: 1225751467    时间: 2018-5-14 09:46
标题: sfr WDTRST = 0xA6; sfr P2 = 0xA0;
各位大佬,今天看到一个程序,如下
#include<STC89C5x.h>
#define LED P2
sfr  WDTRST  =   0xA6;                                

sbit key = P3^1;                 

/*------------------------------------------------
                    喂狗
------------------------------------------------*/
void Rst_Watchdog( void )
{
        WDTRST  = 0x1E; //先赋值1E 然后赋值E1
    WDTRST  = 0xE1;
}

/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main( void )
{
        int i;
                                    // 设置看门狗时间为1个时钟循环后
        Rst_Watchdog();
                                         //关看门狗一个时钟循环
        for( i = 0; i < 500; i++)
        {
                Rst_Watchdog();               
        }
        LED=0x00;
        while(!key)                 //按下按键不松开,表示程序一直在按键处循环,
                                //并用LED显示0x55
        {
         LED=0x55;                         //模拟出错 正常情况应该一直显示LED,
                                //但是加看门狗之后不间断复位,倒是LED闪烁
        }
}


其中将看门狗WDTRST地址定位0xa6,但是P2的地址为0xa0,实际使用时P2口微亮,请问这两个地址是不是冲突?如何解决?
重新定义WDTRST就报错new 1.c(92): error C202: 'WDTRST': undefined identifier
求教?!





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1