- void ADC_Isr() interrupt 5
- {
- static unsigned char CH_sw;
- ADC_CONTR &= ~0x20; //清完成标志
- switch(CH_sw)
- {
- case 0:
- ADCRES[0] = ADC_RES;
- ADCRES[1] = ADC_RESL;
- CH_sw++;
- ADC_CONTR &= 0xF0;
- ADC_CONTR |= 0x40 | 0x0B; //启动AD转换 //ADC11 P03
- break;
- case 1:
- ADCRES[2] = ADC_RES;
- ADCRES[3] = ADC_RESL;
- CH_sw++;
- ADC_CONTR &= 0xF0;
- ADC_CONTR |= 0x40 | 0x00; //启动AD转换 //ADC0 P10
- break;
- case 2:
- ADCRES[4] = ADC_RES;
- ADCRES[5] = ADC_RESL;
- CH_sw++;
- ADC_CONTR &= 0xF0;
- ADC_CONTR |= 0x40 | 0x01; //启动AD转换 //ADC1 P11
- break;
- case 3:
- ADCRES[6] = ADC_RES;
- ADCRES[7] = ADC_RESL;
- CH_sw = 0;
- ADC_CONTR &= 0xF0;
- ADC_CONTR |= 0x0A; //不启动AD转换 //ADC10 P02
- ADC_over = 1;
- break;
- default:
- CH_sw = 0;
- ADC_CONTR &= 0xF0;
- ADC_CONTR |= 0x0A; //不启动AD转换 //ADC10 P02
- break;
- }
- }
复制代码
|