i thought id post it here.. since this thread helped in the trick math operation.

My Board runs a PIC16F877A @ 20Mhz

Video Here

Code:
define OSC 20
ADCON1=7
CMCON=7


LastTag         CON     3
X               VAR     byte
tagNum          VAR     byte                     ' from EEPROM table
idx             VAR     Byte                    ' tag byte index
char            VAR     Byte                    ' character from table
buf             var     byte(10)

'*****************************************************************

SYMBOL PWRLED = PORTB.2 'Software controlled power LED
SYMBOL RFID   = PORTC.5  'RFID /ENABLE


'*****************************************************************


Tag1 DATA  "0415146D53"  ' 2 cards registered...
Tag3 DATA  "30700D48A5" 


'*****************************************************************


HIGH PWRLED
HIGH RFID
PAUSE 1000

serout2 PORTC.0,84,[$55]      ' uOLED Initialize

'*****************************************************************

Reset:
gosub cls
PAUSE 1000

'*****************************************************************

Main:

  LOW rfid                                    ' activate the reader
    SERIN2 PORTC.4,396,[WAIT(10),str BUF\10]  ' wait for hdr + ID
  HIGH rfid                                   ' deactivate reader
 
Check_List:
FOR tagNum = 1 TO lasttag
FOR idx = 0 TO 9
READ (((tagNum - 1) * 10) + idx), char        'The Tricky Order of Operation
IF (char <> buf(idx)) THEN Bad_Char
NEXT
GOTO Tag_found
Bad_Char:
NEXT

Bad_tag:
FOR x = 1 TO 2
serout2 PORTC.0,84,[$73,$6,$4,$0,$F0," ACCESS",$00]  'cmd,column,row,font,Color(msb:lsb),“string”,$00
serout2 PORTC.0,84,[$73,$6,$8,$0,$F0," DENIED",$00]   
NEXT
PAUSE 4000
GOTO reset

Tag_Found:
for x = 0 to 2
serout2 PORTC.0,84,[$73,$6,$4,$0,$1F," ACCESS",$00]  'cmd,column,row,font,Color(msb:lsb),“string”,$00
serout2 PORTC.0,84,[$73,$6,$8,$0,$1F," GRANTED",$00]
next
pause 4000
GOTO reset


CLS:
FOR X = 0 TO 2
serout2 PORTC.0,84,[$45]
next
return