1초마다 1칸씩 LED 시프트하기
1초마다 1칸씩 LED를 시프트 합니다. 마지막 LED가 ON 되면 처음으로 돌아갑니다. 
 
 
 
전체 소스 Codevision 용
| 
 /********************************************* LED 이동하기 PORTA ==> LED 연결 
 
 
 Tools : Codevision *********************************************/ 
 
 #include <mega128.h> 
 // time delay for us void Delay_10us(char time_us) { register char i; for(i = 0; i < time_us; i++) // 4 cycle + { #asm PUSH R0 ; // 2 cycle + POP R0 ; // 2 cycle + PUSH R0 ; // 2 cycle + POP R0 ; // 2 cycle + 
 #endasm } } 
 // time delay for ms void Delay_ms(unsigned int time_ms) { register unsigned int i; for(i = 0; i < time_ms; i++) { Delay_10us(50); Delay_10us(50); Delay_10us(50); Delay_10us(50); Delay_10us(50); } } 
 void main(void) { char byteA=0xFE; 
 DDRA=0xFF; // PORTA = 1; 
 
 while (1) { Delay_ms(100); 
 PORTA = byteA; byteA = (byteA<<1) | 0x01; 
 if(0xff == byteA) byteA=0xFE; 
 
 } } | 
 
주요 부품
| ATMEGA128 | 

 
	
		 


 
    
 
    
 
     

WATSIM 이라는 프로그램인데..
현재는 기본적인 I/O 만 실험할 수 있습니다.
자세한 내용은 http://avr128.com/14 를 참조하세요..