Esse é o componente certo para esse tipo de aplicação ?
, eu compartilho da opinião do Gil, acho que o 16F877 é uma boa opção, muito flexível, vai facilitar muito os estágios iniciais e permitir expansões significativas no futuro próximo.
Sendo assim já estou trabalhando com esse novo componente e preparando as alterações no código. A propósito, verifiquei no Manual de Referência a seguinte informação:
BSF STATUS, RP0 ; Select Bank1
CLRF ADCON1 ; Configure A/D inputs
BSF PIE1, ADIE ; Enable A/D interrupts
BCF STATUS, RP0 ; Select Bank0
MOVLW 0xC1 ; RC Clock, A/D is on, Channel 0 is selected
MOVWF ADCON0 ;
BCF PIR1, ADIF ; Clear A/D interrupt flag bit
BSF INTCON, PEIE ; Enable peripheral interrupts
BSF INTCON, GIE ; Enable all interrupts
;
; Ensure that the required sampling time for the selected input
; channel has elapsed. Then the conversion may be started.
;
BSF ADCON0, GO ; Start A/D Conversion
: ; The ADIF bit will be set and the GO/DONE
: ; bit is cleared upon completion of the
: ; A/D Conversion.
Posso utilizar como minha rotina de conversão A/D e ao retornar carrego o valor convertido em "W"