ATmega ADC 관련 레지스터
ADC 관련 레지스터.
ADMUX(ADC Multiplexer Selection Register)
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
REFS1 |
REFS0 |
ADLAR |
MUX4 |
MUX3 |
MUX2 |
MUX1 |
MUX0 |
|
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 |
▶Bit 7:6-REFS1:0 ( Reference Selection Bits)
ADC에서 사용하는 기준전압을 선택한다.
|
REFS1 |
REFS0 |
기준전압 |
|
0 |
0 |
외부의 AREF 단자로 입력된 전압 사용 |
|
0 |
1 |
외부의 AVCC 단자로 입력된 전압 사용 |
|
1 |
0 |
Reserved |
|
1 |
1 |
내부의 기준전압 2.56V 사용 |
▶Bit 5-ADLAR(ADC Left Adjust Result)
변환 결과가 ADC 레지스터에 저장될 때 정렬 방식을 설정하는 데 사용된다. 0일 때 10비트 ADC값을 오른쪽 정렬, 1일 때 왼쪽정렬.
▶Bit 4~0-MUX4:0-(Analog Channel and Gain Selection Bits)
ADC의 아날로그 입력 채널 및 이득을 선택한다.
|
MUX4~0 |
단극성 입력 |
차동입력 | ||
|
+단자 |
-단자 |
이득 | ||
|
00000 |
ADC0 |
| ||
|
00001 |
ADC1 | |||
|
00010 |
ADC2 | |||
|
00011 |
ADC3 | |||
|
00100 |
ADC4 | |||
|
00101 |
ADC5 | |||
|
00110 |
ADC6 | |||
|
00111 |
ADC7 | |||
|
01000 |
|
ADC0 |
ADC0 |
10X |
|
01001 |
ADC1 |
ADC0 |
10X | |
|
01010 |
ADC0 |
ADC0 |
200X | |
|
01011 |
ADC1 |
ADC0 |
200X | |
|
01100 |
ADC2 |
ADC2 |
10X | |
|
01101 |
ADC3 |
ADC2 |
10X | |
|
01110 |
ADC2 |
ADC2 |
200X | |
|
01111 |
ADC3 |
ADC2 |
200X | |
|
10000 |
ADC0 |
ADC1 |
1X | |
|
10001 |
ADC1 |
ADC1 |
1X | |
|
10010 |
ADC2 |
ADC1 |
1X | |
|
10011 |
ADC3 |
ADC1 |
1X | |
|
10100 |
ADC4 |
ADC1 |
1X | |
|
10101 |
ADC5 |
ADC1 |
1X | |
|
10110 |
ADC6 |
ADC1 |
1X | |
|
10111 |
ADC7 |
ADC1 |
1X | |
|
11000 |
ADC0 |
ADC2 |
1X | |
|
11001 |
ADC1 |
ADC2 |
1X | |
|
11010 |
ADC2 |
ADC2 |
1X | |
|
11011 |
ADC3 |
ADC2 |
1X | |
|
11100 |
ADC4 |
ADC2 |
1X | |
|
11101 |
ADC5 |
ADC2 |
1X | |
|
11110 |
1.23V |
| ||
|
11111 |
0V(GND) | |||
ADCSRA(ADC Control and Status Register A)레지스터
ADCSRA레지스터는 ADC의 동작을 설정하거나 동작 상태를 표시하는 기능을 수행한다.
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
ADEN |
ADSC |
ADFR |
ADIF |
ADIE |
ADPS2 |
ADPS1 |
ADPS0 |
|
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 |
▶Bit 7 - ADEN (ADC Enable)
1일 때 ADC enable, 0일 때 ADC turn off.
▶Bit 6 - ADSC (ADC Start Convertion)
1일 때 단일 변환 모드(Single Conversion Mode)에서 A/D 변환을 시작, 0일 때 A/D 변환이 완료되면 하드웨어적으로 0이 됨.
▶Bit 5 - ADFR (ADC Free Running Selection)
1일 때 프리런니옴드. ADC 는 연속적으로 데이터 레지스터를 샘플링하고 업데이트함. 0일 때 프리런닝모드 종료.
▶Bit 4 - ADIF(ADC Interrupt Flag)
1일 때 ADC 변환이 완료되고 데이터 레지스터가 업데이트 되면 1이 됨. ADIE 비트가 1이고 SREG 레지스터의 I-비트가 1이면 ADC 변환종료 인터럽트가 수행됨. 0일 때 인터럽트 벡터가 수행되면 하드웨어적으로 0이 됨.또는 논리 1을 써주면 0이 됨.
▶Bit 3 - ADIE(ADC Interrupt Enable)
1일 때 SREG 레지스터의 I-비트가 1이고 이 비트가 1이면 ADC변환종료 인터럽트가 활성화됨.
▶Bit 2:0 - ADPS (ADC Prescaler Select Bits)
XTAL 주파수와 ADC 입력 클럭간의 분배비를 결정하는 비트.
|
ADPS2 |
ADPS1 |
ADPS0 |
분주비 |
|
0 |
0 |
0 |
2 |
|
0 |
0 |
1 |
2 |
|
0 |
1 |
0 |
4 |
|
0 |
1 |
1 |
8 |
|
1 |
0 |
0 |
16 |
|
1 |
0 |
1 |
32 |
|
1 |
1 |
0 |
64 |
|
1 |
1 |
1 |
128 |
ADCL, ADCH (ADC Data Register) 레지스터
ADCL 및 ADCH 레지스터는 각각 8비트 레지스터로서 A/D 컨버터의 변환 결과를 저장하는 레지스터이다. ADCL과 ADCH 레지스터를 합한 ADCW 레지스터를 사용하기도 한다.
ADLAR=0
|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
|
- |
- |
- |
- |
- |
- |
ADC9 |
ADC8 |
|
|
ADC7 |
ADC6 |
ADC5 |
ADC4 |
ADC3 |
ADC2 |
ADC1 |
ADC0 |
|
|
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 |
ADLAR=1
|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
|
ADC9 |
ADC8 |
ADC7 |
ADC6 |
ADC5 |
ADC4 |
ADC3 |
ADC2 |
|
|
ADC1 |
ADC0 |
- |
- |
- |
- |
- |
- |
|
|
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 |
▶ADC9:0 - ADC Conversion Result
ADC 변환이 종료되면 결과값은 위 두 레지스터에 저장된다.


댓글을 달아 주세요