Initial value 0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
F0C2 | WGM20 | COM21 | COM20 | WGM21 | CS22 | CS21 | CS20 |
Read/Write W R/W R/W R/W R/W R/W R/W R/W
Initial value 0 0 0 0 0 0 0 0
1.2 TCCR0 TCCR2
. / clk0 (clk2) .
clk0 (clk2) / 1, 2 / 2 2 :
clk0(2) = clkI/O; clk0(2) = clkI/O / n; , 0 (2) clk0(2) = clkFXT.
/ 0 2 3 clkI/O (clk0(2) = clkI/O / n), (clk0(2) = clkTOSK1 / n). AS0 (AS2) ASSR.
, / CS02...CS00 (CS22...CS20) TCCR0 (TCCR2).
3. / T0 T2
CSn2 | CSn1 | CSn0 | ||||
1,2 | 3 | |||||
ASn = 0 | ASn = 1 | |||||
/ | / | |||||
clkI/O | clkI/O | clkTOSC1 | ||||
clkI/O/8 | clkI/O/8 | clkTOSC1/8 | ||||
clkI/O/64 | clkI/O/32 | clkTOSC1/32 | ||||
clkI/O/256 | clkI/O/64 | clkTOSC1/64 | ||||
clkI/O/1024 | clkI/O/128 | clkTOSC1/128 | ||||
Tn, | clkI/O/256 | clkTOSC1/256 | ||||
Tn, | clkI/O/1024 | clkTOSC1/1024 | ||||
: n = 0 2.
. / 0 (2) WGMn1:WGMn0 TCCR0 (TCCR2). / :
4. / 0 (2)
WGMn1 (CTCn) | WGMn0 (PWMn) | ||
Normal | |||
Phase correct PWM | |||
CTC ( ) | |||
Fast PWM |
: n = 0 2.
Normal. /, / 0 ATmega8x ATmega163x . . clkT0 (clkT2) . $FF , $00. clkT0 (clkT2), TCNT0 (TCNT2), 1 TOV0 (TOV2).
|
|
/ 2 3 OCF0 (OCF2) , 10(12) TIMSK 1, . 0 (2) . , 01:00 (21:20) TCCR0 (TCCR2) 5.
5. 0 (2) Normal
n1 | n0 | |
/ n | ||
0 | ||
1 |
: n = 0 2.
0 (2) , . 1 FOC0 (FOC2) TCCR0 (TCCR2). .
( ). , clkT0 (clkT2). , , OCR0 (OCR2). , , $00. clkT0 (clkT2), , TOV0 (TOV2) IFR.
OCF0 (OCF2) TIFR. 0 (2) . 01:00 (COM21:COM20 a TCCR0 (TCCR2), 6.
6. 0 (2)
n1 | n0 | |
/ n | ||
0 | ||
1 |
: n = 0 2.
01:00 (21:20) 01 ( ). f OCn = f clk I/O/2N/(1+OCRn), N .
0 (02) , . 1 FOC0 (F0C2) TCCR0 (TCCR2). .
Fast PWM. Fast PWM ( ) - . , , , .
|
|
, clkT0 (clk T2). $00 $FF, . TOV0 (TOV2) TIFR. OCR0 (OCR2) OCF0 (OCF2) TIFR.
OCR0 (OCR2), , . $FF. (), .
0 (2) 01:00 (21:20) TCCR0 (TCCR1).
7. 0 (2) Fast PWM
n1 | n0 | |
/ n | ||
0 TCNTn OCRn. 1 TCNTn = $00 ( -) | ||
1 TCNTn OCRn. 0 TCNTn = $00 ( -) |
: n = 0 2.
f OCn = f clk I/O/256N, N .
, ($00 $FF). , OCR0 (OCR2) $00, 0 (2) 256- clkT0 (clkT2) .
Phase Correct PWM. Phase Correct PWM ( ), Fast PWM, - . , clkT0 (clkT2). $00 $FF, $00. Fast PWM. , , Phase Correct PWM .
($FF) , clkT0 (clkT2). ($00) TOV0 (TOV2) TIFR. OCR0 (R2) OCF0 (OCF2) TIFR 0 (2). 0 (2) , , 01:00 (21:20) TCCR0 (TCCR2).
8. 0 (2) Phase Correct PWM
n1 | n0 | |
/ n | ||
0 1 ( -) | ||
1 0 ( -) |
: n = 0 2.
|
|
OCR0 (OCR2). $FF.
$00 $FF, .
f OCn = f clk I/O/512N, N .
- .
6- 10- . 2 : ADMUX ADCSRA.
ADC Multiplexer Selection Register ADMUX
Bit 7 6 5 4 3 2 1 0
REFS1 | REFS0 | ADLAR | - | MUX3 | MUX2 | MUX1 | MUX0 |
ADMUX
Read/Write R/W R/W R/W R R/W R/W R/W R/W
Initial value 0 0 0 0 0 0 0 0
1.8 ADMUX
7:6 REFS1:0 Reference Selection Bits. ADC. , . , AREF.
10.
REFS1 | REFS0 | Voltage Reference Selection |
AREF, Vref | ||
AVCC AREF | ||
2.56 AREF |
5 ADLAR: ADC Left Adjust Result. ALDAR ADC Data Register . ALDAR 1, . . ALDAR ADC Data Register , .
3:0 MUX3:0 Analog Channel Selection Bits. , ADC. , , (ADIF ADCSRA ).
11.
MUX3..0 | |
ADC0 | |
ADC1 | |
ADC2 | |
ADC3 | |
ADC4 | |
ADC5 | |
ADC6 | |
ADC7 | |
1.30V(VBG) | |
0V (GND) |
ASC Control and Status Register A ADCSRA
Bit 7 6 5 4 3 2 1 0
ADEN | ADSC | ADFR | ADIF | ADIE | ADPS2 | ADPS1 | ADPS0 |
ADCSRA
Read/Write R/W R/W R/W R/W R/W R/W R/W R/W
Initial value 0 0 0 0 0 0 0 0
1.9 - ADCSRA
7 ADEN: ADC Enable. ADC. ADEN , ADC . - , .
6 ADSC: ADC Start Conversion. . ( ) . ADSC , ADC ADSC , ADC, 25 13. ADC. ADSC . , . .
|
|
5 ADFR: ADC Free Running Select. , ADC . ADC . .
4 ADIF: ADC Interrupt Flag. , ADC . ADC Conversion Complete Interrupt ( ) , ADIE I- SREG . ADIF , . ADIF , .
3 ADIE: ADC Interrupt Enable. I- SREG 1, ADC conversion Complete Interrupt ( ).
2:0 ADPS2:0: ADC Prescaler Select Bits. XTAL ADC.
12. ( )
ADPS2 | ADPS1 | ADPS0 | |
ADC Data Register ADCL ADCH ( )
.
Bit 15 14 13 12 11 10 9 8
- | - | - | - | - | - | ADC9 | ADC8 |
ADC7 | ADC6 | ADC5 | ADC4 | ADC3 | ADC2 | ADC1 | ADC0 |
ADCH
ADCL
7 6 5 4 3 2 1 0
Read/Write R R R R R R R R
R R R R R R R R
Initial value 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1.10 ADLAR = 0 ADLAR = 1
ADLAR MUXn ADMUX , ADCL ADCH. ADLAR , . ADLAR ( ), .
SBI PORTB, 1;
CBI PORTB, 2;
LDI Temp1,0b11111111
OUT PORTB,Temp1;
LDI Temp1,0b00000000
OUT PORTB,Temp1;