타이머/카운터 2

[마이크로프로세서] 타이머/카운터 (2)

본문 기본 개념 이번 시간에는 타이머/카운터의 모드에 대해 알아보는 시간을 가져보자. 위의 그림은 타이머/카운터의 블록 다이어그램을 간소하게 표현한 것이다. 해당 회로도를 보고, 간략하게 ATmega 128이 어떻게 타이머/카운터를 제어하는지 이해하면 좋을 것 같다. 외부 클럭을 입력으로 받는 타이머/카운터 0과 내부 클럭을 입력으로 받는 타이머/카운터 2는 몇 가지 차이점이 있다. 타이머/카운터 0에는 T/C Oscillator라는 자체 발진 회로가 있어, 외부 클럭이 불안정하거나 사용할 수 없을 경우에도 독립적으로 타이밍을 생성할 수 있다. 이는 타이머/카운터 0이 외부 클럭 소스에 완전히 의존하지 않도록 해준다. 또한, 외부 클럭에 프리스케일러가 달려 있어 타이밍을 조절할 수 있는 유연성을 제공한다..

[마이크로프로세서] 타이머/카운터 (1)

타이머/카운터 개요 타이머/카운터(Timer/Counter)는 시간 관련 작업을 처리하고, 일정 시간 간격을 측정하거나, 특정 이벤트의 발생 횟수를 세는 데 사용된다. 이때 클럭의 주파수를 알면 클럭 주기를 알 수 있으므로, 타이머로 활용할 수 있다. 예를 들어, 3bit 타이머/카운터의 경우, 카운터의 상태가 111에서 000으로 변화할 때 오버플로우 인터럽트 플래그가 발생한다. 이때, MCU 내부 클럭을 사용하는 것을 타이머 모드, 외부 클럭 또는 외부 이벤트를 사용하는 것을 카운터 모드라고 한다. 이러한 타이머/카운터는 특정 작업 간의 시간 지연을 생성하고, 정확한 타이밍을 제공한다. 이전에 FND 혹은 LED를 제어할 때 주었던 delay는, 그 함수가 실행되는 시점에 모든 작업이 멈춘다. 이로 ..