pic 16f877a

buen dia resulta que estoy en el sena aprendiendo sobre microacontroladores y estmos viendo el pic 16f877a y tengo que hacer una programacion donde tenga que hacer un cruze de entradas y salidas: ( en el puertoa "ra0,ra1,ra2" lo que yo muestre ay cn pulsadores se muestre en las salidas del puertoc "rc0,rc1,rc2" y con las entradas puertoc "rc3, rc4, rc5" mostrarlos en el puertoa "ra3,ra4,ra5", pero con las condiciones siguiente, hacer el programa en assembler, que se activen con puerto d(que cuando con un pulsador oprima portd0 las entradas de porta se muestren en las salidas del portc, portd1 las enttradas de portc se mestren en salidas porta, y si tengo oprimido portd2 me muestren ambas salidas del prta y portc segun lo que yo haya puesto en entradas).
hize la prgramacion en mplab no me aparece errores pero cuando lo simulo en proteus no me funciona....
estaa es la programacion:;

LIST P=16F877a
#INCLUDE <P16F877a.inc>

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _RC_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF

ORG 0X000
CLRF STATUS
CLRF PORTA
CLRF PORTB
CLRF PORTC
BSF STATUS,RP0
MOVLW 0X06
MOVWF ADCON1
MOVLW 0X07
MOVWF TRISA
MOVLW 0X38
MOVWF TRISC
MOVLW 0X07
MOVWF TRISD
BCF STATUS,RP0
CLRF PORTA
CLRF PORTC
CLRF PORTD

INICIO
BTFSS PORTD,0
GOTO PREGUNTA2
GOTO SECUENCIA2

PREGUNTA2
BTFSS PORTD,1
GOTO PREGUNTA3
GOTO SECUENCIA3

PREGUNTA3
BTFSS PORTD,2
GOTO INICIO
GOTO SECUENCIA4

SECUENCIA2
BTFSS PORTA,0
BCF PORTC,0
BSF PORTC,0
BTFSS PORTA,1
BCF PORTC,1
BSF PORTC,1
BTFSS PORTA,2
BCF PORTC,2
BSF PORTC,2
GOTO APAGA

SECUENCIA3
BTFSS PORTC,3
BCF PORTA,3
BSF PORTA,3
BTFSS PORTC,4
BCF PORTA,4
BSF PORTA,4
BTFSS PORTC,5
BCF PORTA,5
BSF PORTA,5
GOTO APAGA

SECUENCIA4
BTFSS PORTA,0
BCF PORTC,0
BSF PORTC,0
BTFSS PORTA,1
BCF PORTC,1
BSF PORTC,1
BTFSS PORTA,2
BCF PORTC,2
BSF PORTC,2
BTFSS PORTC,3
BCF PORTA,3
BSF PORTA,3
BTFSS PORTC,4
BCF PORTA,4
BSF PORTA,4
BTFSS PORTC,5
BCF PORTA,5
BSF PORTA,5
GOTO APAGA

APAGA
GOTO INICIO
END

agrADESCO LA CLABORACION PARA ENCONTRAR EL ERROR
 
Atrás
Arriba