Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
1414주차주차AVRAVR의의 1616비트비트 타이머타이머//카운터카운터AVRAVR의의 1616비트비트 타이머타이머//카운터카운터
제어제어 레지스터레지스터 및및 관련관련 실습실습
Next-Generation Networks Lab.
타이머/카운터 1, 타이머/카운터 3
번호 항 목 지원
1 비트수 16 bit
2 PWM 3 EA
3 입력 내부 타이머(clk ) 지원 ○3 입력 내부 타이머(clkCPU) 지원 ○
외부 카운터(clkI/O) 지원 ○
Normal ○
4 지원 CTC ○
모드 Fast PWM ○
Ph C PWM ○Phase Correct PWM ○
Phase & Freq Correct PWM ○
Overflow ○Overflow ○
5 인터럽트 Output Compare Match ○
Input Capture ○
104
6 기타 비동기 동작 모드 지원 -
Block Diagram of Timer/Counter #1/#3Block Diagram of Timer/Counter #1/#3
105
카운터카운터 부부
DATA BUS (8-bits)
16-bits REGISTER
106
Accessing 16Accessing 16--bit Registersbit Registers
16-bit registers that can be accessed by the AVR CPU via the 8-bit data
bus The 16-bit register must be byte accessed using two read or writebus. The 16 bit register must be byte accessed using two read or write
operations. Each 16-bit timer has a single 8-bit register for temporary
storing of the high byte of the 16 bit access The same Temporarystoring of the high byte of the 16-bit access. The same Temporary
Register is shared between all 16-bit registers within each 16-bit timer.
T d 16 bit it th hi h b t t b itt b f th l b t To do a 16-bit write, the high byte must be written before the low byte.
For a 16-bit read, the low byte must be read before the high byte.
Accessing 16-bit registers are atomic operations. When both the main code
and the interrupt code update the temporary register, the main code must
disable the interrupts during the 16-bit access.
107
입력입력 캡쳐캡쳐 부부
108
출력출력 비교부비교부
109
110
타이머/카운터 1과3의 레지스터
T/C1 레지스터 T/C3 레지스터 기 능
TCCR1A TCCR3A 타이머/카운터n 제어 레지스터
TCCR1B TCCR3B 타이머/카운터 제어 레지스터TCCR1B TCCR3B 타이머/카운터n 제어 레지스터
TCCR1C TCCR3C 타이머/카운터n 제어 레지스터
TCNT1H TCNT3H 타이머/카운터n High 레지스터TCNT1H TCNT3H 타이머/카운터n High 레지스터
TCNT1L TCNT3L 타이머/카운터n Low 레지스터
OCR1AH OCR3AH 타이머/카운터n 출력 비교A High 레지스터OCR1AH OCR3AH 타이머/카운터n 출력 비교A High 레지스터
OCR1AL OCR3AL 타이머/카운터n 출력 비교A Low 레지스터
OCR1BH OCR3BH 타이머/카운터n 출력 비교B High 레지스터OCR1BH OCR3BH 타이머/카운터n 출력 비교B High 레지스터
OCR1BL OCR3BL 타이머/카운터n 출력 비교B Low 레지스터
OCR1CH OCR3CH 타이머/카운터n 출력 비교C High 레지스터타이머/카운터n 출력 비교C High 레지스터
OCR1CL OCR3CL 타이머/카운터n 출력 비교C Low 레지스터
ICR1H ICR3H 입력 캡쳐n High 레지스터입력 캡쳐 g 레지 터
ICR1L ICR3L 입력 캡쳐n Low 레지스터
타이머/카운터 1
Interrupt Interrupt Name
ICF1 TIMER1_CAPT_vect SIG_INPUT_CAPTURE1
OCF1A TIMER1_COMPA_vect SIG_OUTPUT_COMPARE1A
OCF1B TIMER1 COMPB vect SIG OUTPUT COMPARE1BOCF1B TIMER1_COMPB_vect SIG_OUTPUT_COMPARE1B
OCF1C TIMER1_COMPC_vect SIG_OUTPUT_COMPARE1C
TOV1 TIMER1_OVF_vect SIG_OVERFLOW1_ _ _
타이머/카운터 3
Interrupt Interrupt Name
ICF3 TIMER3_CAPT_vect SIG_INPUT_CAPTURE3
OCF3A TIMER3 COMPA vect SIG OUTPUT COMPARE3AOCF3A TIMER3_COMPA_vect SIG_OUTPUT_COMPARE3A
OCF3B TIMER3_COMPB_vect SIG_OUTPUT_COMPARE3B
OCF3C TIMER3 COMPC vect SIG OUTPUT COMPARE3C
112
_ _ _ _
TOV3 TIMER3_OVF_vect SIG_OVERFLOW3
TCCR1A TCCR1A (Timer/Counter Control Register(Timer/Counter Control Register))
Bit Name Descriptiont a e esc pt o
76
COM1A1COM1A0
Compare Match Output Mode for Channel ADDR bit of OC0 pin must be set to output port.Output of OC0 pin varies according to WGM mode
54
COM1B1COM1B0
Compare Match Output Mode for Channel B4 COM1B0
32
COM1C1COM1C0
Compare Match Output Mode for Channel C2 COM1C0
10
WGM11WGM10
Waveform Generation ModeWGM13, WGM12와 결합하여 모드 설정
113
TCCR1B TCCR1B (Timer/Counter Control Register(Timer/Counter Control Register))
Bit Name Descriptiont a e esc pt o
7 ICNC1 Input Capture Noise Canceler‘1’ Set Noise Canceler
6 ICES1 Input Capture Edge Select‘1’ Captured at a rising edge
32
WGM13WGM12
Waveform Generation ModeWGM11, WGM10과 결합하여 모드 설정
2 CS12 Prescaler Clock Selection210
CS12CS11CS10
Prescaler Clock Selection10-bit Prescaler options: 1, 1/8, 1/64, 1/256, 1/1024, External
114
TCCR1A TCCR1A (Timer/Counter Control Register(Timer/Counter Control Register))
Bit Name Descriptiont a e esc pt o
76
FOC1AFOC1B
Force Output Compare for Channel AForce Output Compare for Channel B
5 FOC1C Force Output Compare for Channel C
115
OC1 Output @ non-PWM mode
116
OC1 Output @ fast PWM mode
117
OC1 Output @ PC-PWM mode and PFC-PWM mode
118
119
120
PrescalerPrescaler
121
TCNT1H/1L (Timer Counter Register 1H/1L)
ICP1H/1L (Input Capture Register 1H/1L) ICP1H/1L (Input Capture Register 1H/1L)
122
OCR1A/1B/1C (Output Compare Register 1A/1B/1C)
123
TIMSK (Timer/Counter Interrupt Mask Register)
Bit Name Description
5 TICIE1 Ti /C t 1 I t C t I t t E bl5 TICIE1 Timer/Counter 1 Input Capture Interrupt Enable
4 OCIE1A Timer/Counter 1A Output Compare Match Interrupt Enable
3 OCIE1B Timer/Co nter 1B O tp t Compare Match Interr pt Enable3 OCIE1B Timer/Counter 1B Output Compare Match Interrupt Enable
2 TOIE1 Timer/Counter 0 Overflow Interrupt Enable
ETIMSK (Extended Timer/Counter Interrupt Mask Register)
124
TIFR (Timer/Counter Interrupt Flag Register)
Bit Name Description
5 ICF1 Timer/Counter 1 Input Capture Flag5 ICF1 Timer/Counter 1 Input Capture Flag
4 OCF1A Timer/Counter 1A Output Compare Flag
3 OCF1B Timer/Counter 1B Output Compare Flag3 OCF1B Timer/Counter 1B Output Compare Flag
2 TOV1 Timer/Counter 1 Overflow Flag
ETIFR
125