aislar 4 bits de una variable

hola gente como estan?
yo aca sigo trabajando duro y encontrandome con nuevas dudas en el camino.
paso a contarles... tengo conectado a los pines 0,1,2 y 3 del puerto C de un pic16f877a un cm8870pi, ahora mi duda es la siguiente logre aislar el valor de cada bit del puerto

variable = portc
bit_A = variable.0
bit_B = variable.1
bit_C = variable.2
bit_D = variable.3

ahora lo que quiero es obtener lo siguiente

'por ej leo
variable = portc 'siendo portc = %00001010
'y quiero poder guardar el valor leido en una variable, es decir

bit_leidos = 1010

gracias por todo un abrazo
 
por ejemplo :

Código:
...
movf  PORTA,W     ;mueve el contenido del puerto A hacia el registro W
andlw b'00001111'  ;efectua un enmascaramiento del nibble alto
movwf mi_variable   ;almacena la operacion en una variable
...
 
lo que kieres hacer es que la estrada que metes al puerto que probiene del cm8870
te la codifike?

TECLA DATO
Q0 Q1 Q2 Q3
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
0 1 0 1 0
* 1 0 1 1
# 1 1 0 0

estos datos los kieres procesar?
 
Atrás
Arriba