Configurar bits faltantes como otros bits PIC18F4550

Estoy empleando el PIC18F4550, como sumador de 8 bits. Usando EL puerto A y el B como entradas y salida el C.
Sucede que el RA7 ni RC3 no estan implementados. Cómo puedo configurar esos bits para que me funcionen con bits de otro puerto, por ejemplo el D?
 
Se me ocurre lo siguiente pero usando el puerto D como salidas...
Creas una variable de 8 bits.
El bit que falta en el puerto A (RA7) lo usas del puerto C, por ejemplo: RC0
Lees el puerto A y cargas el valor a la variable.
Posteriormente a la variable le asignas el valor del bit que falta conforme al estado de RC0

Algo así:
C:
    var_porta = input_a();          // Leer el valor del puerto A y asignarlo a "var_porta"
    
    if(input_state(PIN_C0))         // Si RC0 está en 1...
        bit_set(var_porta, 7);      // El bit 7 de "var_porta" se pondrá en 1
    else                            // Caso contrario...
        bit_clear(var_porta, 7);    // El bit 7 de "var_porta" se pondrá en 0
Y así ya tienes en la variable los 8 bits complementando el bit faltante con RC0
 
Saludos @merrow. He analizado tu problema y veo que hay algunas soluciones. (para mi las mejores son:)
Primero. Puedes cambiar de pic? Las respuestas más simples siempre son las mejores
Segundo. En caso de no poder. Tienes que asignar un bit a otro puerto( el E0) y ponerlo como reemplazo de C y otro màs (E1) más significatico. te paso el programa en PIC C ( espero que el moderador lo acepte) con su respectiva simulaciòn
Captura.JPG
 

Adjuntos

  • suma.rar
    57.1 KB · Visitas: 4
Atrás
Arriba