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
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