Buenas Tardes, Veran lo que pasa es que tengo un proyecto para La Materia de Microcontroladores I, en la cual, en mi proyecto en especial tenemos que hacer una Cerradura electrónica con Un Lector RFID y con un Micro-controlador PIC16F887 y solo se puede realizar con este, El problema parte al momento de hacer la lectura con el pic, el muestra el código en HEX pero al momento de que solo lea una tarjeta el micro no lo hace, solo muestra los cualquier tarjeta que se registre, como puedo hacer para que la memoria del pic almacene el Código de 10 dígitos de cada tarjeta y que solo cuando el lector tenga ese código haga cualquier función, ya sea imprimir admitido en ese caso o denegado en caso de que sea otra tarjeta.
#include <16F887.h>
#FUSES NOWDT,NOBROWNOUT,NOLVP
#use delay(clock=8000000)
#INCLUDE <LCD.C>
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#define DELAY 10
#define MFRC522_CS PIN_A0 //sda
#define MFRC522_SCK PIN_A1
#define MFRC522_SI PIN_A2
#define MFRC522_SO PIN_A3
#define MFRC522_RST PIN_A4
#include<Lib_rc522.h>
void main()
{
lcd_init();
port_b_pullups(255);
//Presentacion inicial en la LCD
lcd_gotoxy(2,1);
lcd_putc("acerque tarjeta");
delay_ms(1000);
lcd_putc("\f"); //Borra la LCD
lcd_gotoxy(1,1);
;
char tar1[16];
unsigned int TagType;
char i;
MFRC522_Init ();
lcd_putc("ok");
delay_ms(1000);
lcd_putc("\f");
while (1)
{
if (MFRC522_isCard (&TagType)) {
//Read ID
if (MFRC522_ReadCardSerial (&tar1))
{
lcd_gotoxy(1,2);
for (i = 0; i < 5; i++)
{
printf (lcd_putc,"%X",tar1);
}
if(lcd_getc(1,2)=="0"){
lcd_gotoxy(1,1);
lcd_putc("admitido");}
}
}
lcd_putc("\n");
}
MFRC522_Halt () ;
}