아트메가128의 8 bit 타이머/카운터 블록의 다이어그램은 다음과 같다

13.2 오버플로 인터럽트

TCNTn(n=0, 2) REG (Timer/Counter Regitser)

8 bit 레지스터로 2^8 -1 까지 셀 수 있다. 255가 넘어가면 0으로 오버플로우 한다. *비교 일치 인터럽트의 경우, 자동으로 초기화되지 않아 ‘TCNTn =0’ 처럼 따로 초기화를 해야 한다.

비활성화 상태가 디폴트이며 TCCRn Reg의 CS0 bit를 조작하여 활성화할 수 있다.

  • TCCR reg (Timer/Counter Control Register)
    • 7번 bit 의 경우, Force Output Compare 으로 세트될 경우 , 비교 일치가 발생한 것과 동일한 효과가 파형 출력핀 OC에 출력된다

TIMSK reg (Timer/Counter Interrupt Mask Register)

0, 1, 6, 7 bit 를 조작하여 각각 0번, 2번 타이머/카운터의 Interrupt를 Enable, disable 할 수 있다.

OCIEn = Timer/Counter Output Compare Match Interrupt Enable TOIEn = Timer/Counter Overflow Interrupt Enable

TIFR(Timer/Counter Interrupt Flag Register)

그림 13-6.

OCFn = Ouput Compare Flag TOVn = Timer/Counter Overflow Flag

오버플로우, 비교 일치의 조건을 만족할 경우 해당하는 bit 가 세트되고, TIMSK의 해당 비트도 세트된 경우 인터럽트를 발생시킨다.

인터럽트 벡터 이름

main 함수 위에 ISR(”인터럽트 벡터 이름”) { 실행 내용} 식으로 사용한다.

13.3 비교 일치 인터럽트

OCRn reg (Output Compare Register)

*비교 인터럽트를 사용하기 위해서는 먼저 OCR reg 에 비교값을 설정해야 한다.

그림 13-7

비교 일치가 발생하는 경우 지정된 핀 외에도 지정된 핀을 통해 신호를 출력하는 것이 가능하다.

13.4 파형 출력

Timer/Counter 1번의 비교 일치 C와 Timer/Counter 2번의 비교 일치의 경우 동일하게 Port B 7 을 사용하는 것을 유의

TCCR0 register

bit 7의 FOC0의 경우, 쓰기 전용 비트로써 1이 세트될 경우 비교 출력이 일어난 것과 동일한 효과를 가져온다.

WGM (Waveform Generator mode) Bit

 

WGM Bit는 어떤 파형을 생성할지 결정한다

COM (Compare Match Output)

비교 일치 출력 모드를 설정한다.

WGM에 따라 달라지지만 정상 모드와 CTC 모드의 경우는 동일하다.

13.5 ASSR reg (Asynchronous Status Register)

외부 클릭에 의하여 비동기 모드로 동작하는 경우에 관련된 기능을 수행한다

'MCU > ATmega128a' 카테고리의 다른 글

29. 적외선 통신  (0) 2022.06.07
14. 16 bit 타이머/카운터  (0) 2022.06.02

+ Recent posts