ASM programma in assembler

Stato
Discussione chiusa ad ulteriori risposte.

illesi

Utente Bronze
26 Novembre 2013
26
9
0
45
come faccio a fare il seguente programma in assembler?
se RB5 ed RB6 ed RB7" sono a 1 allora ra0 è a 0;
se
RB5 e RB6 RB7 sono a 1 allora RA0 e' a 1;
RB3 se premuto mette RA0 a 1 se era a 0"RB4 se premuto mette RA0 a 0 se era a 1".
 
Ultima modifica:
Che sono RA ed RB? In ogni caso ci sono varie possibilità per risolvere il tuo problema. Io se vuoi ti faccio vedere un esempio di masm32. Però non si capisce bene perchè ci sono un sacco di casi insoluti.
 
RAO, ad esempio e' il valore del bit 0 del portA,RA1 e' il valore del bit 1 del portA,RA2 e' il valore del bit 2 del portA,RB0 e' il valore del bit 0 del portB;e via dicendo;ora ti posto il programma che ho fatto,puoi correggermelo,grazie:D
#INCLUDE "p16F877A.inc"
LIST P=16F877A, F=INHX8M;
__CONFIG 0X3F3A;
NOMEVAR EQU 20H;


GOTO INIZIO;





INIZIO: ;

BSF STATUS, 5;
BCF STATUS, 6;
MOVLW 0x00;
MOVWF TRISA;
MOVLW 0x06;
MOVWF TRISB;
BCF STATUS, 5;


;controllo ingressi
BTFSS PORTB,0;
GOTO PORTA1;
BTFSS PORTB,5;
GOTO PORTA6;
BTFSS PORTB,7;
GOTO PORTA10;
GOTO INIZIO;


PORTA1:
BTFSS PORTB,1;
GOTO PORTA2;
GOTO INIZIO;


PORTA2:
BTFSS PORTB,2;
GOTO PORTA1;
GOTO INIZIO;
PORTA6:
BTFSS PORTB,6;
GOTO PORTA7;
GOTO INIZIO;


PORTA7:
BTFSS PORTB,7;
GOTO USC2;
GOTO INIZIO;
PORTA10:
BTFSS PORTB,4;
GOTO USC3;
GOTO INIZIO;


USC1:
BSF PORTA,0;
GOTO INIZIO;


USC2:
BCF PORTA,0;
GOTO INIZIO;


USC3:
BTFSC PORTA,0;
GOTO RUT1;
BTFSS PORTA,0;
GOTO RUT1;
GOTO INIZIO;


RUT1:
BSF PORTA,0;
GOTO INIZIO;
RUT2:
BCF PORTA,0;
GOTO INIZIO;
END;

- - - Updated - - -

qualcuno può aiutarmi,please?
 
Stato
Discussione chiusa ad ulteriori risposte.