// Ejemplo que muestra el funcionamiento de las entradas analogicas del puerto A // Fernando Pardo 2005 // Cada vez que RA4 pasa de 0 a 1 cambia el canal // MPLAB C18 #include #include #include #pragma romdata CONFIG const rom unsigned char _configuration[14] = {0x00,0x22,0x0F,0x0E,0x00,0x01,0x81,0x00,0x0F,0xC0,0x0F,0xE0,0x0F,0x40}; #pragma romdata char displ[]={ 0b00111111, 0b00000110, 0b01011011, 0b01001111, 0b01100110, 0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01101111, 0b01110111, 0b01111100, 0b00111001, 0b01011110, 0b01111001, 0b01110001 }; int Valor; char voy,i; char Canal,Muestra,EraUno; void main(void) { PORTB=0; TRISB=0; // Puerto B de Salida PORTA=0; TRISA=0xFF; voy=0; Canal=0; EraUno=0; OpenADC( ADC_FOSC_8 & ADC_RIGHT_JUST & ADC_5ANA_0REF, ADC_CH0 & ADC_INT_OFF); while (1) { SetChanADC(Canal<<3); Delay10TCYx(10); // 1=6.66 us. (6 MHz) Espera un tiempo para la adquisicion (hold) ConvertADC(); while (BusyADC()); Valor=ReadADC(); //Valor=((int)ADRESH<<8)+ADRESL; //Valor=ADRESL; for (i=0;i