Creo que la chamba mas fácil siempre es la de configurar el pic, ponerle las entradas, salidas y activar una que otra bandera de interrupción.
Básicamente diremos lo siguiente.
- Puerto A fue usado para el convertidor analógico digital RA0, RA1, RA2 (Valores de referencia), RA3 (Valores de referencia), RA4 y RA5.
- Puerto B para uso de teclado por su patita RB0/INT Que genera interrupción, y por que se puede programar las patitas RB4-RB7 como interrupción por cambio de estado.
- Puerto C, uso de Led's o cualquier otra cosa que le quieran colgar.
- Puerto D, bus de datos para la pantalla LCD.
- Puerto E, lineas de control para LCD.
;************************************************;Libreria de configuración general del pic.;***************************************************;Configura la direccionalidad de los puertos del PICInit_Config bcf STATUS,RP0 bcf STATUS,RP0 clrf PORTA movlw b'11110000' ;Configiración del puerto B para el teclado movwf PORTB call Init_interrup bsf STATUS,RP0 bcf STATUS,RP1 clrf TRISC clrf TRISD clrf TRISE call Init_ADC bcf STATUS,RP0 return;******************************************;Habilitando interrupcionesInit_interrup movlw b'11111000' movwf INTCON return;******************************************;Rutina de configuración del ADCInit_ADC ;bsf STATUS,RP0 ;bcf STATUS,RP1 movlw b'10001100' ;configuramos las entradas del ADC para abrir 3 canales movwf ADCON1 ;y tener dos valores de referencia. bcf STATUS,RP0 movlw b'01000000' movwf ADCON0 return;******************************************;Rutina de configuración del Timer1TMR1_Config clrf T1CON bsf STATUS,RP0 bcf STATUS,RP1 bcf PIE1,TMR1IE ;Inhabilitando el desbodamiento del TMR1 bcf STATUS,RP0 clrf TMR1L clrf TMR1H bsf PIE1,TMR1IE movlw 0x36 movwf T1CON returnLo basico e indispensable.