Autor Tema: Ayuda al configurar mi adc 18f2550  (Leído 2858 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado cororo

  • PIC10
  • *
  • Mensajes: 5
Ayuda al configurar mi adc 18f2550
« en: 19 de Julio de 2009, 23:18:30 »
hola
   Senores deceo usar un canal del convertidor, que es el AN0, aqui les dejo mi programita, lo que susede esque nome conbierte, configure el adc, elimine las ints coloque como entrada digital el AN0, configure como entrada el bit0 del porta donde esta el AN0, despues ya realize mas cosas para los registrol del convertido porfavor venan en que esta mi error y epero puedan ayudarme, gracias

HOLA
Realice el codigo siguiente para utilizar el AN0 que es el PORTA=0 y muestro en el PORTB

selos documente lo mejor posible, espero que em entiendan
total que no me sale nada al convertir

Les voy a pleica rle programa

cuando entra al void se pone a primero a habilitar las interrupciones externas, despues deshabilito las INTS, configuro las obciones del convertidor y ya entra despues al while, el cual solo se dedicara a solo colocar el adc en GO y esperar aque termine el convertidor cuando se active la bandera de que termino entra al IF y ejecutala rutina, pero no entra, me podrian decir que me falta??


void main() {

INTCON.GIE=1; //activador DE INTERRUPCIONES GLOBALES
INTCON.INT0IE=0; //DESACTIVA INTO
INTCON3.INT2IE=0; //DESACTIVA INT2
INTCON3.INT1IE=0; //DESACTIVA INT1

TRISA=0x01; //EL BIT 0 DEL PUERTO A COMO ENTRADA
PORTA=0; //LIMPEAMOS EL PUERTO
TRISB=0xFF; //ACTIVAMOS LOS PRIMEROS BITS COMO SALIDAS Y LOS DEMAS COMO ENTRADAS

ADCON0.ADON=1; //ACTIVAMOS CONVERTIDOR
ADCON0.CHS0=0; //CON LOS BITS CHS0 A CHS3 ES EL CANAL AN0 PIN 2
ADCON0.CHS1=0;
ADCON0.CHS2=0;
ADCON0.CHS3=0;


ADCON1.VCFG0=0; //VREF+ ES VDD QUE ES EL VCC DE 6V
ADCON1.VCFG1=0; //VREF- ES TIERRA

ADCON1.PCFG0=0; //ENTRADAS DIGITALES EXCEPTO EL AN0 QUE EL ES PIN 2 PORTA
ADCON1.PCFG1=1;
ADCON1.PCFG2=1;
ADCON1.PCFG3=1;

while(1)
{ int alta=0;
int baja=0;
PIE1.ADIE=1; //PERMISO DE INTERRUPCION PARA EL ADC
IPR1.ADIP=1; //ALTA PRIORIDAD EN INTERRUPCION
ADCON0.GO=1; //CONVERTIDOR EMPEZADO

if(PIR1.ADIF==1) //SI EL ADC TERMINA LEVANTA L INTERRUPCION
{
alta=ADRESH; //PARTE ALTA DE LA CONVERSION
baja=ADRESL; //PARTE BAJA D ELA CONVERSION
TRISB=0; //COMO SALIDAS
PORTB=0; //LIMPEAMOS E PUERTO
PORTB=baja; //SACAMOS POR EL PUERTO BE LA PARTE BAJA DE LA CONVERSION
PIR1.ADIF=0; //SE BORRA LA INT POR ADC
}
}
}



uso el compilador Mikro C

Gracias de antemano   :-/ :-/ :-/ :-/ :-/


 

anything