ID卡数据格式

本文介绍了RFID卡号从十六进制到多种十进制格式的转换方法,包括直接转换、分段转换等,并提供了具体例子进行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于各个厂家的读卡器译码格式不尽相同,在读卡输出时,读出的二进制或十六进制(Hex)结果应该是唯一的,但是又可以通过以下几种主要换算办法,输出不同结果的十进制卡号(Dec),因此,请您一定在购买卡片或卡片喷号时,注意卡号格式的一致性:

0、格式0:10位十六进制的ASCII字符串。
如:某样卡读出十六进制卡号为:“01 02 6f 6c 3a ”。

1、格式1:将格式0中的后8位,转换为10位十进制卡号。
即将“ 02 6f 6c 3a”转换为:“0040856634”。

2、格式2:将格式1中的后6位,转换为8位十进制卡号。
即将“6f 6c 3a”转换为:“07302202”。

3、格式3:将格式1中的倒数第5、第6位,转换为3位十进制卡号,再将后4位,转换为5位十进制卡号,中间用“,”分开,即“2H + 4H”。
即将“6f”转换为:“111”,“6c3a”转为“27706”。 最终将2段号连在一起输出为“111,27706”。

4、格式4:将格式1中的前4位,转换为3位十进制卡号,再将后4位,转换为5位十进制卡号,中间用“,”分开,即“4Hex + 4Hec”。
照此推算结果为:623,27706 (4H+4H)
这种输出/标示方法是 是wiegand26国际标准的卡号输出方式,即8位卡号

特别说明:
以IC卡为例,0扇区0块数据为:5E D3 31 A8 14 88 04 00 47 B9 94 d6 45 80 37 09
常用的卡号格式为:
SN = A831D35E (16进制卡号,低位在前)
W34 = 2821837662 (A831D35E转换为10进制数,对应以上格式1)
W26(直转) = 3265374 (31D35E转换为10进制数,对应以上格式2)
W26(标准) = 049,54110 (31转成10进制是49,d35e转换成十进制是54110,对应以上格式3)
W26(反序) = 211,12712 (D3转成10进制是211,31A8转换成10进制是12712)

检测方法:检测上次接收数据的结束位与下次接收数据的起始位(半个周期的低电平 与一个周期的高电平),但是,此时INPORT输入脚电平已变为低电平信号。 之后再连续检测16个半周期电平翻转,到达第9个1的前半周期(高电平), 之后INPORT变为低电平,再通过定时器0来模拟同步时钟,对曼彻斯特码进行解码。 注意:号发送顺序:先发校验位,紧接着是最高位、次高位····连发5位数据。 如本号是11100 00110 00000 00000 11100 10101 10100 00010 01011 01010 10010 最先接收到是第一个五位的校验位0,然后才是1110,依次类推。 下降沿为 1 上升沿为 0 整个程序的思想:每次采样完成,判断一次所采到的数据是否为1 ,若为1,继续采样,直到采完9个1, 若为0,丢掉数据,重新采样。从而实现是否有的判断。 ***********************************************************************************/ #include #include #include //增加部分:由于改版,读输入和蜂鸣器输入的io口有所更改 //----------------------------------------------------------------------------- // 16-bit SFR Definitions for 'F34x sfr16 SBRL1 = 0xB4; // Global CONSTANTS #define SYSCLK 12000000 // SYSCLK frequency in Hz #define BAUDRATE0 115200 // Baud rate of UART0 in bps #define BAUDRATE1 115200 // Baud rate of UART1 in bps #define BIT5 0x20 sbit SPK = P3^5; //蜂鸣器 sbit INPORT = P0^3; //解码输入 sbit wave = P1^7;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值