//Configuration de pins
int regA1=13;
int regA0=12;
int regB1=7;
int regB0=6;
int regR1=3;
int regR0=2;
void setup() {
//Configuration de registres
//entrée registre A(2bits)
pinMode(regA1, INPUT_PULLUP);
pinMode(regA0, INPUT_PULLUP);
//entrée registre B(2bits)
pinMode(regB1, INPUT_PULLUP);
pinMode(regB0, INPUT_PULLUP);
//entrée registre R(2bits)
pinMode(regR1, OUTPUT);
pinMode(regR0, OUTPUT);
//Activation transmission Serial
Serial.begin(9600);
}
void loop() {
//Conversion de pins entrée A en entier sur deux bits
int regA = (digitalRead(regA1) << 1) + (digitalRead(regA0) << 0);
//Conversion de pins entrée B en entier sur deux bits
int regB = (digitalRead(regB1) << 1) + (digitalRead(regB0) << 0);
//implementation PORTE LOGIQUE
//PORTE AND
int regR = ~(regA & regB); //0b10 & 0b11=0b10 ou 0b01 & 0b11 = 0b01
digitalWrite(regR1,(regR & 0b10));
digitalWrite(regR0,(regR & 0b01));
Serial.println(regA);
Serial.println(regB);
Serial.print("RESULT=");
Serial.println(regR);
delay(500);
}