타이머/카운터란?
Atmega128에는 8비트 타이머, 16비트 타이머가 있는데요,
8비트에는 Timer/Counter 0, Timer/Counter 2
16비트에는 Timer/Counter 1, Timer/Counter 3
이렇게 총 4개의 Timer/Counter가 Atmega128 안에 내장되어 있어요!
Timer/Counter 0, Timer/Counter 2
8비트 타이머이기 때문에 기본적으로
타이머를 센 갯수가 2의 8승이 될 때 인터럽트가 발생해요.
(256개)
내부 인터럽트이기 때문에 클럭이 꼭 필요하고,
이 클럭을 넣어주는 핀이 각각 TOSC1(Timer/Counter 0)과 T2(Timer/Counter 2)에요.
Timer/Counter 0 분주기는
카운터 0, 1, 2, 3중 가장 많은 분주기를 지원해요!
1, 8, 32, 64, 128, 256, 1024분주를 지원한답니다.
최대값이 1024이므로 2의 10승이라 하여, 10비트 분주기를 지원한다고 할 수 있어요.
반면에, Timer/Counter 2 분주기는
1, 6, 64, 256, 1024분주를 지원해요.(Timer/Counter 1과 3도 같습니다)
Timer/Counter 0과 2는 Overflow, Output Compare Match를 지원해요.
동작모드는
Normal, CTC, Fast PWM, Phase Correct Match가 있습니다.
Timer/Counter 1, Timer/Counter 3
16비트 타이머이기 때문에 기본적으로
타이머를 센 갯수가 2의 16승이 될 때 인터럽트가 발생해요.
(65536개)
내부 인터럽트이기 때문에 클럭이 꼭 필요하고,
이 클럭을 넣어주는 핀이 각각 T1, IC1과 T3, IC3이에요.
Timer/Counter 1과 3의 분주기는
Timer/Counter 2와 같이 1, 6, 64, 256, 1024분주를 지원해요.
Timer/Counter 1과 3은 Overflow, Output Compare Match A/B/C 뿐만 아니라
Input Capture 인터럽트를 지원해요.
동작모드는
Normal, CTC, Fast PWM, Phase Correct PWM,
Phase and Frequency Correct PWM이 있습니다.
'하드웨어, 펌웨어 > AVR' 카테고리의 다른 글
[Atmega128] 타이머? 분주? 주기? 계산 방법! (Normal 모드) (0) | 2019.10.28 |
---|---|
[Atmega128] 타이머/카운터의 동작, 회로 (0) | 2019.10.23 |
[Atmega128] 외부 인터럽트 사용법 (0) | 2019.10.21 |
[Atmega128] 외부 인터럽트 제어 레지스터 (0) | 2019.10.17 |
[Atmega128] 외부 인터럽트 (0) | 2019.10.16 |