C8051F022/3
60
Rev. 1.4
The Temperature Sensor transfer function is shown in Figure 6.2. The output voltage (VTEMP) is the PGA input when the Temperature Sensor is selected by bits AMX0AD3-0 in register AMX0SL; this voltage will be amplified by the
PGA according to the user-programmed PGA settings.
6.2.
ADC Modes of Operation
ADC0 has a maximum conversion speed of 100 ksps. The ADC0 conversion clock is derived from the system clock
divided by the value held in the ADCSC bits of register ADC0CF.
6.2.1.
Starting a Conversion
A conversion can be initiated in one of four ways, depending on the programmed states of the ADC0 Start of Conver-
sion Mode bits (AD0CM1, AD0CM0) in ADC0CN. Conversions may be initiated by:
1.
Writing a ‘1’ to the AD0BUSY bit of ADC0CN;
2.
A Timer 3 overflow (i.e. timed continuous conversions);
3.
A rising edge detected on the external ADC convert start signal, CNVSTR;
4.
A Timer 2 overflow (i.e. timed continuous conversions).
The AD0BUSY bit is set to logic 1 during conversion and restored to logic 0 when conversion is complete. The fall-
ing edge of AD0BUSY triggers an interrupt (when enabled) and sets the AD0INT interrupt flag (ADC0CN.5). Con-
verted data is available in the ADC0 data word MSB and LSB registers, ADC0H, ADC0L. Converted data can be
either left or right justified in the ADC0H:ADC0L register pair (see example in
Figure 6.11) depending on the pro-
grammed state of the AD0LJST bit in the ADC0CN register.
When initiating conversions by writing a ‘1’ to AD0BUSY, the AD0INT bit should be polled to determine when a
conversion has completed (ADC0 interrupts may also be used). The recommended polling procedure is shown below.
Step 1. Write a ‘0’ to AD0INT;
Step 2. Write a ‘1’ to AD0BUSY;
Step 3. Poll AD0INT for ‘1’;
Step 4. Process ADC0 data.
0
-50
50
100
(Celsius)
0.500
0.600
0.700
0.800
0.900
(Volts)
V
TEMP = 0.00286(TEMPC) + 0.776
for PGA Gain = 1
1.000
Figure 6.2. Temperature Sensor Transfer Function