• 大小: 244KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签:

资源简介

基于51的rc522程序 可用1602液晶屏显示卡号

资源截图

代码片段和文件信息

#include “include.h“

const INT8U DefaultKeyABuf[] = { 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF };

INT8U CardRevBuf[16] = { 0 };
INT8U const CardKeyABlockBuf[16] = {
0x00 0x00 0x00 0x00 0x00 0x00
0xff0x070x800x69
0x00 0x00 0x00 0x00 0x00 0x00
};

INT8U CtrlMode = CTRL_BOARD_MODE;
INT8U OptMode  = OPT_INC_MODE;
INT8U bPass = 1; bWarn = 0;
INT8U LedOnType = LED_LONG;

void pass( void )
{
LED_ON;
BEEP_ON;
delay_ms(2000);
BEEP_OFF;
LED_OFF;
}

void warn(void)
{
INT8U i;

LED_OFF;
for( i = 0; i < 3; i++ )
{
LED_ON;
BEEP_ON;
delay_ms(200);
BEEP_OFF;
LED_OFF;
delay_ms(200);
}
}

void cal_keyA( INT8U *DestBuf )
{
const INT8U KeyABuf[] = { 0x20 0x12 0x10 0x01 0x00 0x00 };

memcpy( DestBuf KeyABuf 6 );
}

void send_rebck( psUartData psUartDataRevSend )
{
INT8U * pTmp;
INT8U LenCheck;
INT8U i;

Len = psUartDataRevSend->UartCmdLen + psUartDataRevSend->UartDataLen + 2;
pTmp = ( INT8U * )psUartDataRevSend;

send_byte( 0xFC );
Check = 0xFC;
for( i = 0; i < Len; i++ )
{
send_byte( *pTmp );
Check ^= *pTmp++;
}
send_byte( Check );
}

void uart_over( void )
{
UartCount = 0;
UartStart = FALSE;
UartComp = FALSE;
}

INT8U check_com( psUartData psUartDataRevSend )
{
psUartDataRevSend->UartDataBuf[0] = 0xAA;

return TRUE;
}

INT8U req_card_sn( psUartData psUartDataRevSend )
{
if( PcdRequest( PICC_REQIDL &CardRevBuf[0] ) != MI_OK )//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
{
if( PcdRequest( PICC_REQIDL &CardRevBuf[0] ) != MI_OK )//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
{
psUartDataRevSend->UartErrCode = ERROR_NOCARD;
memset( psUartDataRevSend->UartDataBuf 0x00 psUartDataRevSend->UartDataLen );
bWarn = 1;
return FALSE;
}
}

if( PcdAnticoll( &CardRevBuf[2] ) != MI_OK ) //防冲撞,返回卡的序列号 4字节 
{
psUartDataRevSend->UartErrCode = ERROR_ATCLL;
memset( psUartDataRevSend->UartDataBuf 0x00 psUartDataRevSend->UartDataLen );
bWarn = 1;
return FALSE;
}

memcpy( psUartDataRevSend->UartDataBuf &CardRevBuf[2] 4 );

bPass = 1;

return TRUE;
}

INT8U updata_key( psUartData psUartDataRevSend )
{
INT8U CardKeyABuf[6];
INT8U KeyBlockAddr;

psUartDataRevSend->UartDataLen = 7;
KeyBlockAddr = psUartDataRevSend->UartDataBuf[0];

if( KeyBlockAddr % 4 != 3 )
{
psUartDataRevSend->UartErrCode = ERROR_BLOCK_ADDR;
memset( &psUartDataRevSend->UartDataBuf[1] 0x00 6 );
bWarn = 1;
return FALSE;
}

if( PcdRequest( PICC_REQIDL &CardRevBuf[0] ) != MI_OK )//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
{
if( PcdRequest( PICC_REQIDL &CardRevBuf[0] ) != MI_OK )//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
{
psUartDataRevSend->UartErrCode = ERROR_NOCARD;
memset( &psUartDataRevSend->UartDataBuf[1] 0x00 6 );
bWarn = 1;
return FALSE;
}
}

if( PcdAnticoll( &CardRevBuf[2] ) != MI_OK ) //防冲撞,返回卡的序列号 4字节 
{
psUartDataRevSend->UartErrCode = ERROR_ATCLL;
mems

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-10-20 19:23  STC11_RC522_完整液晶串口__20121112\
     目录           0  2013-10-20 19:23  STC11_RC522_完整液晶串口__20121112\code\
     文件       16877  2013-08-01 15:32  STC11_RC522_完整液晶串口__20121112\code\ctrl.c
     文件        1118  2013-09-22 18:21  STC11_RC522_完整液晶串口__20121112\code\ctrl.h
     文件        2526  2012-06-08 14:23  STC11_RC522_完整液晶串口__20121112\code\flash.c
     文件         368  2012-06-08 14:22  STC11_RC522_完整液晶串口__20121112\code\flash.h
     文件         281  2013-09-26 15:19  STC11_RC522_完整液晶串口__20121112\code\include.h
     文件         588  2012-11-04 22:16  STC11_RC522_完整液晶串口__20121112\code\key.c
     文件         485  2013-09-22 18:23  STC11_RC522_完整液晶串口__20121112\code\key.h
     文件        2601  2013-07-30 20:02  STC11_RC522_完整液晶串口__20121112\code\lcd_1602.c
     文件         293  2013-09-22 18:22  STC11_RC522_完整液晶串口__20121112\code\lcd_1602.h
     文件         965  2013-09-22 21:48  STC11_RC522_完整液晶串口__20121112\code\main.c
     文件         914  2013-09-21 09:56  STC11_RC522_完整液晶串口__20121112\code\main.h
     文件       18649  2012-11-04 23:54  STC11_RC522_完整液晶串口__20121112\code\rc522.c
     文件        6007  2013-09-22 18:57  STC11_RC522_完整液晶串口__20121112\code\rc522.h
     文件          64  2012-09-17 23:02  STC11_RC522_完整液晶串口__20121112\code\stc.h
     文件       28889  2010-07-27 17:31  STC11_RC522_完整液晶串口__20121112\code\stc11.h
     文件         698  2012-11-04 21:56  STC11_RC522_完整液晶串口__20121112\code\timer.c
     文件         280  2012-07-16 06:13  STC11_RC522_完整液晶串口__20121112\code\timer.h
     文件        1577  2012-09-20 22:35  STC11_RC522_完整液晶串口__20121112\code\uart.c
     文件         410  2013-07-30 20:53  STC11_RC522_完整液晶串口__20121112\code\uart.h
     目录           0  2013-10-23 22:02  STC11_RC522_完整液晶串口__20121112\prj\
     文件        5414  2012-09-26 09:42  STC11_RC522_完整液晶串口__20121112\prj\1602.lst
     文件       20137  2012-09-26 09:42  STC11_RC522_完整液晶串口__20121112\prj\1602.obj
     文件          85  2012-09-26 09:42  STC11_RC522_完整液晶串口__20121112\prj\1602.__i
     文件       37486  2013-10-21 22:01  STC11_RC522_完整液晶串口__20121112\prj\ctrl.lst
     文件       56319  2013-10-21 22:01  STC11_RC522_完整液晶串口__20121112\prj\ctrl.obj
     文件        7888  2012-09-17 23:02  STC11_RC522_完整液晶串口__20121112\prj\flash.lst
     文件          82  2012-09-17 23:02  STC11_RC522_完整液晶串口__20121112\prj\flash.__i
     文件        2211  2013-10-21 22:01  STC11_RC522_完整液晶串口__20121112\prj\key.lst
     文件       20662  2013-10-21 22:01  STC11_RC522_完整液晶串口__20121112\prj\key.obj
............此处省略28个文件信息

评论

共有 条评论

相关资源