在AT89C2051上使用WILLAR刻录程序

时间:2012-08-13 13:56:26

标签: microcontroller 8051 atmel

当我使用WILLAR在AT89C2051上刻录程序时,例如:

#include <reg51.h>
#define port P3
void delay(unsigned int); 
void main(void)
{
    for(;;)
    {
       port = 0x0;
       delay(1000);
       port = 0x0ff;
       delay(1000);
    }
}

void delay(unsigned int a)
{
    unsigned int i;
    unsigned int j;
    for(i=0; i<a; i++)
    for(j=0; j<120; j++);
}

它会显示一条消息:The data out of range will be ignored。但是如果我使用端口P1而不是端口P3,我的程序会成功烧录。

问题出在哪里?

1 个答案:

答案 0 :(得分:0)

端口3是特殊保留形式timer/read/write/interrupt/的多用途。 其他港口是通用的。 port0和port1可能有上拉 您不希望全局定义端口3,而是可以在程序中使用带有六进制值

的P3

port=0xff代替port=0xfff