8-bit AVR Microcontrollers

ADC Data Register Low and High Byte (ADLAR=0)

The ADCL and ADCH register pair represents the 16-bit value, ADC data register. The low byte [7:0] (suffix L) is accessible at the original offset. The high byte [15:8] (suffix H) can be accessed at offset + 0x01. For more details on reading and writing 16-bit registers, refer to Accessing 16-bit Timer/Counter Registers.

When an ADC conversion is complete, the result is found in these two registers.

When ADCL is read, the ADC data register is not updated until ADCH is read. Consequently, if the result is left adjusted and no more than 8-bit precision is required, it is sufficient to read ADCH. Otherwise, ADCL must be read first, then ADCH.

The ADLAR bit and the MUXn bits in ADMUX affect the way the result is read from the registers. If ADLAR is set (ADLAR=1), the result is left adjusted. If ADLAR is cleared (ADLAR=0, which is the default value), the result is right adjusted.

Name:
ADCL and ADCH
Offset:
0x78
Reset:
0x00
Access:
ADLAR = 0
Bit15141312111098
ADC[9:8]
AccessRR
Reset00
Bit76543210
ADC[7:0]
AccessRRRRRRRR
Reset00000000

Bits 9:0 – ADC[9:0]: ADC Conversion Result

ADC Conversion Result

These bits represent the result from the conversion. Refer to ADC Conversion Result for details.