옴의 ATmega128을 이용하여 PORTC에 연결된 LED를 ON/OFF 합니다.
위의 그림을 보면 8개의 LED에 연결된 전원 연결과 포트 C의 풀업 저항을 토글하기 위해 JP1이 설치되어 있는 것을 볼 수 있습니다.
LED가 켜지려면 양극의 전압이 음극의 전압보다 높아야 하므로 포트에 0V가 출력되면 LED가 켜지고 포트에 5V가 출력되면 LED가 꺼지는 것을 알 수 있다.
(0V는 논리값 0, 5V는 논리값 1)
헤더 파일 mega128a.h는 ATmega128에서 사용하는 레지스터와 주소를 정리한 헤더 파일이므로 선언하고 delay.h도 지연 함수를 사용하도록 정의되어 있습니다.
그런 다음 포트 C의 모든 LED를 DDRC의 출력으로 설정했습니다.
(0xFF = 0b11111111, 0은 입력, 1은 출력)
PORTC = 0x55 = 0b01010101이므로 짝수 LED는 켜짐으로 선언됩니다.
아래의 무한 루프로 인해 LED의 0번째 비트에 해당하는 LED만 ON/OFF 동작을 보였다.
(지연 기능을 사용하는 이유는 사용하지 않을 때는 눈으로 ON/OFF 동작을 확인할 수 없기 때문에 지연을 지정하여 확인합니다.
)