J-KIT-128-1 3

[마이크로프로세서] 인터럽트 개요

인터럽트 개요 개요 이전까지는 이벤트(프로그램이나 시스템 내에서 발생하는 특정한 상황이나 사용자의 액션)를 체크하기 위해 프로그램이 돌아가는 동안 이를 주기적으로 체크하는 방식을 사용했다. 예를 들어, 스위치를 눌러 왕복하고 있던 LED의 방향을 바꾸거나, FND의 출력 상태를 바꾸는 등의 작업이 해당된다. 이처럼 CPU가 주기적으로 이벤트를 확인하고 동작을 수행하는 것을 폴링(Polling)이라고 한다. 과연 이 방식이 효율적일까? 주기적으로 하드웨어 장치의 상태를 검사하며 변화가 있는지 확인하기 때문에, 프로그램의 흐름이 예측이 가능하며, 검사 시간과 간격을 프로그래머가 제어할 수 있다. 즉, 동기성을 갖고 있는 폴링 방식은 변화가 없을 때도 계속해서 상태를 검사하기 때문에 CPU 자원을 낭비하기 십..

[마이크로프로세서] ATmega 128 디지털 입출력 제어 (3)

본문 FND 제어 이번 시간에는 FND(Flexible Numeric Display)를 조작해 보는 시간을 가지도록 해 보자. 7-segments로도 알려진 FND는 LED의 어느 단자를 공통 단자로 사용하느냐에 따라 Common Anode와 Common Cathode로 나뉜다. Common Anode는 모든 LED의 Anode가 공통으로 연결되어 있어, LED를 점등시키려면 해당 LED의 Cathode에 GND를 공급해야 한다. 반면 Common Cathode는 모든 LED의 Cathode의 Cathode가 공통으로 연결되어 있어, LED를 점등시키려면 해당 LED의 Anode에 전압을 공급해야 한다. J-KIT-128-1의 경우 공동 음극형으로 설계되어 있다. FND의 구동 방식은 모든 LED 제어 ..

[마이크로프로세서] ATmega 128 디지털 입출력 제어 (2)

본문 LED와 스위치 제어 이론 지난 시간에 배운 입출력 포트를 레지스터로 제어하여 LED를 점등해 보자. 일단 J-KIT-128-1의 회로도를 살펴보면, LED가 PORTA와 연결되어 있음을 알 수 있다. 또한 LED가 LED의 양극이 MCU와 연결되어 있다는 것을 확인할 수 있다. 이는 Current Source 방식을 채용하고 있다는 것을 의미한다. 이 방식은 핀의 출력이 1일 때 LED가 점등된다. 실습을 진행하기 위해선 핀당 허용 전류를 확인하고, 저항을 선택하는 과정이 필요하나 J-KIT-128은 이미 모듈화가 되어 있어 생략해도 된다. 그리고 LED 점등 시 추가적인 제어를 위해 스위치를 사용한다. 스위치 1은 PORTE의 4번 핀과 연결되어 있고, 스위치 2는 PORTE의 5번 핀과 연결되..