thank you but I read all of this datasheet but I can't Communicate with card.I changed my program but it didn't work .I attach my program please help me .
MFRC522_HardReset ;
_delay_ms(5) ;
MFRC522_SoftReset();
_delay_ms(5) ;
// Reset baud rates
MFRC522_write(TxModeReg, 0x00);
MFRC522_write(RxModeReg, 0x00);
// Reset ModWidthReg
MFRC522_write(ModWidthReg, 0x26);
MFRC522_write( TModeReg, 0x8D ) ;
MFRC522_write( TPrescalerReg, 0x3E ) ;
MFRC522_write( TReloadReg_H, 0x00 ) ;
MFRC522_write( TReloadReg_L, 0x30 ) ;
MFRC522_write( TxASKReg, 0x40 ) ;
MFRC522_write( ModeReg, 0x3D ) ;
SetBitMask( TxControlReg, 0x03 ) ;
ClearBitMask( CollReg, 0x80 ) ;
MFRC522_write( CommandReg, Idle_CMD) ;
MFRC522_write( ComIrqReg, 0x7F) ;
MFRC522_write( FIFOLevelReg, 0x80 ) ;
MFRC522_write( FIFODataReg, PICC_REQALL ) ;
MFRC522_write( CommandReg, Transceive_CMD) ;
SetBitMask( BitFramingReg, 0x80 ) ;
i = 600 ;
do
{
n = MFRC522_read( ComIrqReg ) ;
i-- ;
}
while ( (i!=0) && !(n&0x01) && !(n&0x30) ) ;
ENABLE_CHIP() ;
spi_masterInit() ;
spi_masterTransmit( (( FIFODataReg<<1 ) & 0x7E) | 0x80 ) ;
spi_slaveInit() ;
for ( j = 0 ; j < 16 ; j++)
{
read[j] = spi_slaveRecieve() ;
}
DISABLE_CHIP() ;
for ( a = 0 ; a < 4 ; a++)
{
USART_Transmit(read[a]) ;
}