Atmega128을 뭘로 프로그래밍하는지에 명시해주지 않아서 구현 부분만 설명을 드리겠습니다.
포트 D에 LED가 8개 물려있다고 가정하고 예제 2번을 설명드리면
#define LED 0xFF
void led()
{
int i;
for(i = 8; i == 0; i--)
{
PORTD = LED << i;
}
}이렇게 비트 쉬프트 연산자를(<<, >>)를 사용하시면 됩니다.
위에 코드는 LED가 전부 켜지는 것까지 구현한건데 i값을 변형하시면 예제가 원하는 형태로 구현이 될 거에요.
3, 4번도 비슷하게 응용해보세요.