hola amigos, favor requiero de vuestras sugerencias. estoy trabajando con el pic 16F873 y no puedo activar las puertas rb y rc cuando doy la orden a traves de una declaración de registro. Expongo mi problema con un ejemplo muy simple:
1.- comando todas las salidas de los puertos rb y rc dependiendo del estado de entrada del ra0 (on/off). como resultado todos los puertos de salida rb y rc debiera de activarse o desantivarse, sin embargo esto ocurre solo con los rb1, rb2, rb7, rc0, rc2 y rc7, el resto permanecen sin actividad. Expongo el prog y observa lo escrito en MAYUSCULAS.
activa equ 0xff
no_activa equ 0x00
bcf status,rp0 ;cambiar a banco 0
bcf status,rp1
clrf porta
movlw b'00000001' ;configurar el puerto a como xxssssse
bsf status,rp0 ;cambiar a banco 1
movwf trisa
movlw b'00000111' ;puerto a = e/s digital
movwf adcon1
bcf status,rp0 ;cambiar a banco 0
clrf portb
movlw b'00000000' ;configurar el puerto b como ssssssss
bsf status,rp0 ;cambiar a banco 1
movwf trisb
bcf status,rp0 ;cambiar a banco 0
clrf portc
movlw b'00000000' ;configurar el puerto c como ssssssss
bsf status,rp0 ;cambiar a banco 1
movwf trisc
....................... inicio...........................
paso5
bcf status,rp0 ;cambiar a banco 0
bcf status,rp1
btfss porta,ra0 ;si el bit ra0 = 1
goto paso7
movf activa,w
movwf portb ;SE INTENTA LEVANTAR TODAS LAS PUERTAS RB
movwf portc ;SE INTENTA LEVANTAR TODAS LAS PUERTAS RC
goto paso5 ;cierra el ciclo
paso7
movf no_activa,w
movwf portb ;se bajan todas las puertas b
movwf portc ;se bajan todas las puertas c
goto paso5 ;cierra el ciclo
presento el simple esquema, gracias y a la espera de vuestras observaciones.