# Timer/Counter0
1. 비트 수 : 8비트
2. 카운터 입력 : TOSC1
3. 관련 Resister : TCCR0, TCNT0, OCR0, ASSR, SFIOR, TIMSK, TIFR
4. 동작모드 : Normal, PC PWM, CTC, Fast PWM
5. 입력신호 : T0
6. 출력신호 : OC0
7. 인터럽트 : overflow interrupt, output compare match interrupt
# Waveform Generator
1. WGMn1:0 : 4가지 모드 선택
2. COMn1:0 : 파형출력모양 선택
# 타이머/카운터의 4가지 모드
1. 일반모드
- overflow interrupt사용
- up 카운터
2. PC PWM
- output compare match interrupt사용
- up / down 카운터
3. CTC
- overflow / output compare match interrupt 모두 사용 가능
- 카운팅 최대값 변경 가능(주기 조절 가능)
- up 카운터
4. Fast PWM
- overflow / output compare match interrupt 모두 사용 가능
- up 카운터
- PC PWM에 비해 신호변화 2배, 신호주기 2배
# 음계에 따른 TCNT0 초기화 값 설정
음계에 따른 버저 출력을 하기 위해서 TCNT0의 초기화 값을 직접주어서 조절해야함
32분주, overflow interrupt일 경우
TCNT0 = 256 - ( ( ( 1 / 주파수 ) * 1,000,000 ) / 2 ) / 2
1 / 주파수 : 주기
1,000,000 : us의 단위 맞춤
/ 2 : 32분주 했을 때 새로운 클럭의 주기는 2us이므로
/ 2 : ON,OFF조절 (듀티비 50)

'학습 > ATmega128' 카테고리의 다른 글
| 타이머/카운터 기초 (0) | 2021.11.19 |
|---|---|
| 시리얼 통신 - 양방향#2 (0) | 2021.11.05 |
| 시리얼 통신 - 양방향 #1 (0) | 2021.10.14 |
| 시리얼통신 - 단방향 통신 (0) | 2021.10.05 |
| 외부 인터럽트 #3 (0) | 2021.09.30 |