#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay (uint);
uchar a;
void main ()
{
while (1)
a=0xfe;
{
P1=a;
a=_crol_(a,1);
delay (500);
}
}
void delay(uint z)
{
uint x,y;
for (x=z;x>0;x--)
for (y=110;y>0;y--);
}
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_DELAY?罗__灯
哪里出现了错误?
改后,还是不行,下载程序,单片机无反应。你空间那个有些麻烦
追答程序中那个a=0xfe; 应该放在while(1)之前
void main ()
{
a=0xfe;
while (1)
{
P1=a;
a=_crol_(a,1);
delay (500);
}
}
你用的是循环左移,给a所赋的初值应该放在while外面。
还有就是,编译有警告,但是.hex文件是可以生成的吧,如果有.hex文件应该可以下载到单片机里面的啊
下载到单片机后,单片机无反应
追答void main(void)
{
uchar i,mm;
while(1)
{
mm=0xfe;
P1=mm;
delay(500);
for(i=0;i<8;i++)
{mm=_crol_(mm,1);P1=mm;delay(500);}
for(i=0;i<8;i++)
{mm=_cror_(mm,1);P1=mm;delay(500);}
}
}
用这个主函数试试看
下载程序后,单片机无反应