problema o falata de informacion de proteus

buenas estoy comenzando a utilizar proteus y tengo un pequeno inconveniente estoy utilizando el pic 16f877 para simplemente mover un motor cunado se presiona un switch en el puerto a y el motor conectado al puerto b como salida corro el programa cuando presiona el switch cambia los puntos que estan en la conexiones pero cuando quiero verlo paso a paso simulado y veo los registros deln puerto a no cambia y el programa no realiza la funcion de mover el motor en el puerto b es como no estuvise leyendo el puerto. con el mismo programa y las modificaciones basicas de caso cambie elpic por un 16f84 ysi funciona pero todavia no cambia los registro del puerto a pero si apaga y prende el motor conectado al puerto b mi pregunta me esta faltaldo alguna configuracion en el puerto a???? si es asi cual podria ser...por que en el otro pic corre bien el programa pero el registro a no cambia??? estoy realizando un programa para mover do motores con el pic16f877 y un servo motor el l293b para mover cada uno a ambos sentidos dejo el programa a ver si alguno le ve algun error que pudiese tener agradeciendo a todos por la atencion

list p=16f877

#include "p16f877.inc"


adelante equ 0x10
derecha equ 0x11
izquierda equ 0x12
retrocede equ 0x13
entrada equ 0x14

org 0x00
goto inicio
org 0x10

inicio
movlw 0x2E
movwf adelante
movlw 0x25
movwf izquierda
movlw 0x2D
movwf derecha
movlw 0x36
movwf retrocede


clrf PORTA
bsf STATUS,5
movlw 0x06
movlw 0x1f
movwf TRISA
bcf STATUS,5

clrf PORTB
bsf STATUS,5
movlw 0x06
movlw 0x00
movwf TRISB
bcf STATUS,5

movwf PORTB

lee
movlw PORTA
andlw 0x1f
movf entrada,w
sublw 0x12
btfsc STATUS,Z
goto uno
movlw adelante
movwf PORTB
goto lee


uno
movlw entrada
sublw 0x14
btfsc STATUS,Z
goto dos
movlw izquierda
movwf PORTB
goto lee


dos
movlw entrada
sublw 0x16
btfsc STATUS,Z
goto tres
movlw derecha
movwf PORTB
goto lee

tres
movlw entrada
sublw 0x18
btfsc STATUS,Z
goto lee
movlw retrocede
movwf PORTB
goto lee

end
 
Atrás
Arriba