原创 Keil C51复位后不改写RAM内容的方法

2009-1-9 21:33 4399 4 4 分类: MCU/ 嵌入式
hotpower 发表于 2009-1-9 21:25 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

14楼: 改写STARTUP.A51的第30行IDATALEN EQU 80H为IDATALEN EQU 0即可


这样就可使C51复位后不会改写RAM内容。

一般应用方法:

volatile unsigned int SystemRamTest;

void SystemInit(void)
{
IE = 0;//关中断
PortInit();
if (SystemRamTest != 0x55aa)//可认为上电
{

//上电初始化程序
}

else

{

//复位初始化

}

//.......................
}

void main()
{
_start_();
SystemInit();
SystemRamTest = 0x55aa;
while(1)
{
  EA = 1;//开中断
  TestMain();//测试主程序
       PCON |= IDL_;//进入空闲状态
     _nop_();
     _nop_();
}
}

参见_start_()

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条