칼럼 [Tech Insight] LED 제어와 시뮬레이션
마이크로콘트롤러(이하 MCU)로 LED를 제어하는 것은 제어의 기본이라고 할 수 있다. 그런데 실무에서는 소스 코드(source code)가 상당히 긴 편이므로 기본적인 코드를 많이 숙지하면 응용에 도움이 된다. 그래서 LED 제어로 기본 응용을 파악하고, 노하우를 잘 익히면 LED 제어를 다양하게 할 수 있다. LED 제어에는 기본적으로 DDR(Data Direction Register) 레지스터와 PORT 레지스터를 사용한다. DDR 레지스터는 Atmega128 MCU의 PORT 입출력을 결정하며, PORT 레지스터는 실제 데이터를 설정해 준다. DDR 레지스터와 PORT 레지스터의 리셋 후 초깃값은 0이다. 여기서는 Atmega128 MCU를 사용하여 LED를 제어하는 방법을 살펴본다. 간단한 LED 제어 비교적 간단한 LED 제어에 대한 회로는 그림 1과 같다. 이 회로에서 PORT에 직접 LED가 연결되어 있으며, 스위치를 이용하여 선택적인 동작을 할 때는 Buffer IC(74HC244)를 사용할 수도 있다. LED는 Active Low 방식으로 구동된다. 회로를 구동하기 위하여 WinAVR2010의 Mfile에서 Makefile을 만든다. Mak