286
7679H–CAN–08/08
AT90CAN32/64/128
Example 1:
– ADMUX = 0xED (ADC3 - ADC2, 10x gain, 2.56V reference, left adjusted result)
– Voltage on ADC3 is 300 mV, voltage on ADC2 is 500 mV.
– ADCR = 512 * 10 * (300 - 500) / 2560 = -400 = 0x270
– ADCL will thus read 0x00, and ADCH will read 0x9C.
Writing zero to ADLAR right adjusts the result: ADCL = 0x70, ADCH = 0x02.
Example 2:
– ADMUX = 0xFB (ADC3 - ADC2, 1x gain, 2.56V reference, left adjusted result)
– Voltage on ADC3 is 300 mV, voltage on ADC2 is 500 mV.
– ADCR = 512 * 1 * (300 - 500) / 2560 = -41 = 0x029
.
– ADCL will thus read 0x40, and ADCH will read 0x0A.
Writing zero to ADLAR right adjusts the result: ADCL = 0x00, ADCH = 0x29.
Table 21-2.
Correlation Between Input Voltage and Output Codes
V
ADCn
Read code
Corresponding decimal value
V
ADCm
+ V
REF
/GAIN
0x1FF
511
V
ADCm
+ 0.999 V
REF
/GAIN
0x1FF
511
V
ADCm
+ 0.998 V
REF
/GAIN
0x1FE
510
...
...
...
V
ADCm
+ 0.001 V
REF
/GAIN
0x001
1
V
ADCm
0x000
0
V
ADCm
- 0.001 V
REF
/GAIN
0x3FF
-1
...
...
...
V
ADCm
- 0.999 V
REF
/GAIN
0x201
-511
V
ADCm
- V
REF
/GAIN
0x200
-512