¿Como dividir en dos el Puerto de un Microcontrolador?

#1
Hola, buenas tardes..
Estoy un proyecto de la univ, es de un semaforo inteligente de 3 caras. El semaforo va a tener señalizacion con Displays 7 seg para que muestre el conteo de los segundos de cada luz. La cuestios es que estoy utilizando un microcontrolador por cada cara del semaforo y para controlar los displays utlizo multiplexacion para ahorrar pines, pero el problemas es que para la multiplexacion utilizo 4 pines de un puerto (ya que uso decodificador BCD/7Seg) para controlar los displays. De ese puerto me sobran 4 pines, ahora, lo que quiero saber es, como dividir en dos partes ese puerto del microcontrolador, es decir, que sean independientes, para usar 4 pines para los displays y los otros 4 usarlos para activar y desactivar los displays.
Estoy usando lenguage Assembler..

Les agradeceria mucho sus respuestas...
 
#2
Utiliza mascaras para modificar bits individuales. Ej:

Poner a 0 el bit 6 del PORTB sin modificar el resto

movlw 0b11011111
andlw PORTB

Un saludo

Poner a 1 el bit 6 del PORTB sin modificar el resto

movlw 0b00100000
iorlw PORTB
 
#3
Y si voy a cambiar un solo bit del portb porque no asi.???

BCF PORTB,5

o

BSF PORTB,5


Lo que imagino quieres hacer es algo como cargar un valor directamente para no cargarlo uno por uno, usa la instruccion SWAP cargas un valor e intercambias los 4bits de menor peso por los de mayor peso, proba, chauuuuuu
 
Arriba