English
Language : 

MG82FX532AE Datasheet, PDF (111/151 Pages) Megawin Technology Co., Ltd – Dual data pointer
C Code Example:
#define CHS0
#define CHS1
#define ADCS
#define ADCI
#define SPEED0
#define SPEED1
#define ADCON
0x01
0x02
0x08
0x10
0x20
0x40
0x80
void main(void)
{
unsigned char AIN0_data_V, AIN0_data_VL, AIN1_data_V, AIN1_data_VL, AIN2_data_V, AIN2_data_VL;
P1M0 |= 0x07;
P1M1 &= ~0x07;
// P1.0, P1.1, P1.2 = input only
ADCTL = ADCON;
// delay 5us
// ...
// Enable ADC block
// select P1.0
ADCTL = (ADCON | SPEED1 | SPEED0);
Delay_5us();
ADCTL |= ADCS;
// Enable ADC block & start conversion
// Speed at 88.9k @ 24MHz, select P1.0 for ADC input pin
while ((ADCTL & ADCI) == 0x00);
ADCTL &= ~(ADCI | ADCS);
AIN0_data_V = ADCV;
AIN0_data_VL = ADCVL;
//wait for complete
// to do ...
// select P1.1
ADCTL = (ADCON | SPEED1 | SPEED0 | CHS0); // select P1.1
Delay_5us();
ADCTL |= ADCS;
while ((ADCTL & ADCI) == 0x00);
ADCTL &= ~(ADCI | ADCS);
AIN1_data_V = ADCV;
AIN1_data_VL = ADCVL;
// to do ...
// select P1.2
ADCTL = (ADCON | SPEED1 | SPEED0 | CHS1);
Delay_5us();
ADCTL |= ADCS;
//wait for complete
// select P1.2
while ((ADCTL & ADCI) == 0x00);
ADCTL &= ~(ADCI | ADCS);
AIN2_data_V = ADCV;
AIN2_data_VL = ADCVL;
// to do ...
while (1);
}
//wait for complete
MEGAWIN
MG82FE/L532 Data Sheet
111