#include<reg51.h>
#include <intrins.h>
void delay (unsigned int b) //延迟
{
unsigned char j;
for(;b>0;b--)
for(j=1;j<200;j++);
}
void main()
{
unsigned char LED;
unsigned char i;
unsigned char j;
unsigned char k;
j=0;
P1=0x00;
for(i=0;i<5;i++)
{
delay(500);
P1=~P1; //左边是输出寄存器,右边是输入寄存器
j++;
if(5==j)
{
LED=0xff;
for(k=0;k<9;k++)
{
if(k==0)
{
LED<<=1;
delay(500);
}
else
{
LED=~LED;
LED<<=1; //原数据取反后左移 再取反
LED=~LED;
/*P1=LED; //51具有锁存器
LED=_crol_(LED,1); */
delay(500);
}
P1=LED;
}
}
}
}
为什么在protel上可以跑,在实验板上跑不起来。
|