You are on page 1of 2

#include <stdint.

h>
#include <stdbool.h>
#include <stdio.h>

// Configuration des broches pour les switches


#define SWITCH_ROWS TRISB
#define SWITCH_COLUMNS TRISA
#define SWITCH_ROW1 RB4_bit
#define SWITCH_ROW2 RB5_bit
#define SWITCH_ROW3 RB6_bit
#define SWITCH_ROW4 RB7_bit
#define SWITCH_COL1 TRISB
#define SWITCH_COL2 TRISB
#define SWITCH_COL3 TRISB
#define SWITCH_COL1_PIN RB0_bit
#define SWITCH_COL2_PIN RB1_bit
#define SWITCH_COL3_PIN RB2_bit

// Configuration des broches pour la LED 8x8


#define LED_ROWS TRISA
#define LED_COLUMNS TRISB
#define LED_ROW1 RA0_bit
#define LED_ROW2 RA1_bit
#define LED_ROW3 RA2_bit
#define LED_ROW4 RA3_bit
#define LED_ROW5 RA4_bit
#define LED_ROW6 RA5_bit
#define LED_ROW7 RA6_bit
#define LED_ROW8 RA7_bit
#define LED_COL1 TRISB
#define LED_COL2 TRISB
#define LED_COL3 TRISB
#define LED_COL4 TRISB
#define LED_COL5 TRISB
#define LED_COL6 TRISB
#define LED_COL7 TRISB
#define LED_COL8 TRISB
#define LED_COL1_PIN RB3_bit
#define LED_COL2_PIN RB4_bit
#define LED_COL3_PIN RB5_bit
#define LED_COL4_PIN RB6_bit
#define LED_COL5_PIN RB7_bit
#define LED_COL6_PIN RB0_bit
#define LED_COL7_PIN RB1_bit
#define LED_COL8_PIN RB2_bit

// Code d'ouverture sur 4 chiffres


uint8_t code[4] = {1, 2, 3, 4};

// Variables de contrôle
uint8_t code_entry[4] = {0};
uint8_t code_index = 0;
bool code_validated = false;

// Fonction pour afficher la valeur de chaque switch sur la LED


void displaySwitchValue(uint8_t value) {
LED_COL1_PIN = value & 0x01;
LED_COL2_PIN = (value >> 1) & 0x01;
LED_COL3_PIN = (value >> 2) & 0x01;
}

// Fonction pour afficher le résultat de la validation sur la LED


void displayValidationResult(bool result) {
if (result) {
// Afficher "B" si le code est correct
LED_VALUES[11] = 0x81A5818181A58181;
} else {
// Afficher "X" si le code est incorrect
LED_VALUES[10] = 0x8124182442A58181;
}
}

void main() {
// Configuration des broches pour les switches en entrée
SWITCH_ROWS = 0b00001111; // RB4, RB5, RB6, RB7 en entrée
SWITCH_COLUMNS = 0b11111111; // RA0-RA7 en entrée

// Configuration des broches pour la LED 8x8 en sortie


LED_ROWS = 0b00000000; // RA0-RA7 en sortie
LED_COLUMNS = 0b00000000; // RB3-RB7 et RB0-RB2 en sortie

while (1) {
// Vérifier l'état

You might also like