led가 다 켜져있다가 맨끝부터 하나씩 차례로 꺼지는 프로그램인데


다 켜진상태에서 시작을 안하고 맨끝이 꺼진상태부터 시작해서 반복때도 다 안켜지고 하나 꺼진거부터 도네.

(0x00상태가 다 켜진거고 0xff상태가 다 꺼진거야.)


어디가 문제길래 이런현상이 나오는거임???


#include<reg51.h>
  void delay(unsigned int i) //시간지연함수
  {
   while(i--);
  }

void main(void)
{
 unsigned char led;
 led=0x00;
 do{
  if(led==0xff) led=0x00; 
  led=(led>>1) | 0x80; // 오를쪽으로 시프트하고 빈자리에 1채움
  P1=led;
  if(led==0xff) led=0x00;  
  delay(0xb100);
  }while(1);
}