Ayer se descubrió mientras la lluvia caía, que el error el cual trate de encontrar desde el lunes, fue simplemente el un cambio de memoria... Suele pasar y eso que ni qué... El mundo del debuggeo es muy entretenido y te deja cosas muy buenas.
Así que hoy para variar, me he puesto a darle duro a esto para poder partir en mas fragmentos y mejor documentados, por lo que la configuración quedo dividida en los una rutina mas para la configuración del ADC y una para la configuración general del PIC.
org 0 call Init call ADC_Config goto Principalorg 4 retfie
Y con esto tenemos un mejor panorama de la configuración del modulo de ADC del PIC. Basta señalar que Init solo configura los puertos de entrada y salida. Pero ADC_Config se limita a configurar el modulo como esta a continuación.
ADC_Config ;Cambiando al banco 1 para configuracion del ADC bsf STATUS,RP0 bcf STATUS,RP1 ;Desactivando las interrupciones clrf INTCON clrf PIE1 ;Configurando las patitas del puerto A movlw 0x8F movwf ADCON1 ;Cambiando de banco. Y con esta linea arreglamos el problema que teniamos con el mal funcionamiento del pic. bcf STATUS,RP0 ;Seleccionando la frecuencia de reloj para la conversión. Fosc/8 ;ADCS1=0 ;ADCS0=1 ;ADON=1 movlw 0x41 movwf ADCON0 ;Configurando el bit de estado de la conversión. ;GO=1. Iniciandoce la conversión. bsf ADCON0,GO returnY con esto resolvemos el problema de sobre escritura de ADCON1. y podremos seguir. Ya les ire poniendo mas cosas para que podamos seguir experimentando.