韦根编码及协议应用

合集下载

韦根

韦根
─ ─ ─ ─
a、RS422 端口引脚定义:
引脚
1
2
信号
RX-
RX+
b、两线 RS485 端口引脚定义:
引脚 信号
3 485-(B)
3
4
TX-
TX+
4 485+(A)
D. RJ45 接口:
用 RJ45 接口连接韦根数据,当选择韦根数据接入时,连接 1,3,5,7 四个引脚;当选择韦根数据输出时,连接 2,4,6,8 四个引脚。
III. 物品清单:
1、WPT2123 韦根协议转发器 3、串口直通线(DB9 母对母)
2、12V 电源适配器 4、WPT2123 韦根协议转发器使用说明书
IV. 接口及指示灯:
A. 电源接线端子:
将 7.5-12VDC 电源连接到 WPT2123 电源接口。如果电源连接正确,电源指示灯 PWR 将发出持续的红光。·
电源接口 V+ V-
连接
7.59 公头): C. RS485/422 接线端子:
DB9 引脚 1 2 3 4 5 6 7 8 9
简称 ─
TXD RXD
─ GND
─ ─ ─ ─
信号方向 ─ O I ─ ─ ─ ─ ─ ─
信号名称 ─
发送数据 接收数据
─ 信号地
RJ45
1
2
3
4
5
6
7
8
韦根信号 +12V +12V GND GND D0_IN D0_OUT D1_IN D1_OUT
E. 拨位开关设置:选择RS232 或RS485/422 传输韦根数据
Switch
状态描述
1
OFF

java韦根34解析

java韦根34解析

java韦根34解析Java韦根34解析韦根34是一种常用于无线射频识别(RFID)技术中的编码格式,用于将RFID标签的数据转换为可读的数字或字符。

在RFID系统中,韦根34编码被广泛应用于物流、仓储、库存管理等领域,以实现对物品的快速识别和追踪。

韦根34编码由一串数字0和1组成,其中每一位代表一个时间单位。

在韦根34编码中,每个数据位由两个时间单位组成,其中一个时间单位为高电平(通常为持续的电压),另一个时间单位为低电平(通常为无电压)。

根据高低电平的排列组合,可以将韦根34编码解析为对应的数据。

为了解析韦根34编码,我们可以通过以下步骤进行:1. 获取韦根34编码数据:首先需要从RFID读写器或其他设备中获取到韦根34编码的数据。

这些数据通常以数字的形式表示,例如0101101110111011101110111011101110111011101110。

2. 分割编码位:将获取到的韦根34编码数据按照每两位进行分割,得到一组组由两位数字组成的编码位。

例如,将0101101110111011101110111011101110111011101110分割为01、01、10、11、01、11、01、11、01、11、01、11、01、11、01、10。

3. 解析编码位:根据韦根34编码的规则,我们可以将每组两位数字解析为对应的数据位。

其中,高电平对应的数字为1,低电平对应的数字为0。

例如,将01解析为1、01解析为1、10解析为0、11解析为1、01解析为1、11解析为1、01解析为1、11解析为1、01解析为1、11解析为1、01解析为1、11解析为1、01解析为1、11解析为1、01解析为1、10解析为0。

4. 组合数据位:将解析得到的数据位按照顺序组合起来,即可得到韦根34编码对应的数据。

例如,将解析得到的数据位1、1、0、1、1、1、1、1、1、1、1、1、1、1、1、0组合起来,即可得到原始的数据。

韦根协议

韦根协议

韦根协议Wiegand协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。

它适用于涉及门禁控制系统的读卡器和卡片的许多特性。

它有很多格式,标准的26-bit 应该是最常用的格式。

此外,还有34-bit 、37-bit 等格式。

而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。

26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。

几乎所有的门禁控制系统都接受标准的26-Bit格式。

简介Wiegand协议是国际上统一的标准,有很多格式,标准的26-bit 应该是最常用的格式。

此外,还有34-bit 、37-bit 等格式。

但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。

而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。

26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。

几乎所有的门禁控制系统都接受标准的26-Bit格式。

Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit,44bit等等。

韦根数据输出的基本概念韦根数据输出由二根线组成,分别是DATA0 和DATA1 ;二根线分别为‘0’或‘1’输出。

输出‘0’时:DATA0线上出现负脉冲;输出‘1’时:DATA1线上出现负脉冲;负脉冲宽度TP=100微秒;周期TW=1600微秒;具体时序如下:例如:数据‘01000’的时序如下:韦根26位输出格式标准韦根输出是由26位二进制数组成,每一位的含义如下:1 2 9 10 25 26X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制第1位为2—13位的偶校验位第2—9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位这26位数据在读出器的韦根输出线D0,D1上输出。

韦根原理编码器

韦根原理编码器

韦根原理编码器是一种高精度的数字编码器,它利用韦根原理将输入的模拟信号转换为数字信号。

韦根原理编码器由一个磁敏感元件和一个感应线圈组成。

当磁敏感元件在磁场中转动时,磁场强度的变化会引发感应线圈中电流的变化,进而输出数字信号。

韦根原理编码器具有精度高、响应速度快、稳定性好等优点,被广泛应用于旋转编码器、速度传感器、位置传感器等领域。

韦根原理编码器的工作原理基于韦根原理,即磁场变化会引起感应线圈中电流的变化。

具体来说,当磁敏感元件在磁场中转动时,磁场强度的变化会引起磁敏感元件中磁畴的翻转,进而产生感应电流。

感应电流的大小和方向与磁场变化的速度和方向有关,因此可以通过检测感应电流的大小和方向来检测磁场变化的速度和方向,进而实现旋转角度、速度和位置的测量。

韦根原理编码器的优点在于其高精度、高稳定性、低噪声、低功耗等优点,同时其结构简单、易于制造,价格也比较低廉。

然而,韦根原理编码器也存在一些缺点,例如容易受到外界磁场的干扰、对温度和湿度的敏感性较高、响应速度相对较慢等。

总之,韦根原理编码器是一种高精度的数字编码器,具有广泛的应用前景。

随着技术的不断发展,韦根原理编码器的性能将得到进一步提升,为工业自动化、智能制造等领域
的发展提供更好的支持。

韦根数据格式

韦根数据格式

韦根数据输出格式一、韦根数据输出的基本概念:韦根数据输出由二根线组成,分别是DATA0 和DATA1 ;二根线分别将‘0’或‘1’输出。

输出‘0’时:DATA0线上出现负脉冲;输出‘1’时:DATA1线上出现负脉冲;具体时序如下:例如:数据‘1011’时序如下:DATA0DATA1TW负脉冲宽度TP=100 us;周期TW=1000 us二、几种韦根输出格式:E/O:偶/奇校验位。

C:卡片ID号。

以上数据从左至右顺序发送。

E/O:偶/奇校验位。

C:卡片ID号。

以上数据从左至右顺序发送。

E/O:偶/奇校验位。

C:卡片ID号。

I:2位卡片发行码。

以上数据从左至右顺序发送。

CCCC CCCC CCCC CCCC CCCC CCCC CCCC CCCC IIII IIII XXXX C:卡片ID号。

I:8位卡片发行码。

XXXX:LRC校验。

以上数据从左至右顺序发送。

韦根26韦根34发送程序WG26协议Wiegand 26格式:各数据位的含义:第1 位:为输出数据2—13位的偶校验位第2—9 位:ID卡的HID码的低8位第10-25位:ID卡的PID号码第26 位:为输出数据14-25位的奇校验位数据输出顺序:HID码和PID码均为高位在前,低位在后例:一张ID卡内容为:HID:32769 PID:34953 ( 卡面印:2147584137 001, 34953 ) 相应的二进制为:HID:1000 0000 0000 0001 ( 只输出低8位)PID:1000 1000 1000 1001输出如下:1 2 9 10 25 260 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1| HID_L | PID |输出端D0、D1时序:图示:(1) D0、D1在没有数据输出时均保持高电平;(2) 输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,若输出为1,则D1拉低420uS(TL)后为高电平;输出数据位之间的间隔时间为2mS(TL),如输出00:D0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平420uS(TL),然后释放为高电平;WG34协议Wiegand 34格式:各数据位的含义:第1 位:为输出第2—17位的偶校验位第2-17 位:ID卡的HID码第18-33位:ID卡的PID号码第34 位:为输出第18-33位的奇校验位数据输出顺序:HID码和PID码均为高位在前,低位在后例:一张ID卡内容为:HID:32769 PID:34953 ( 卡面印:2147584137 001, 34953 )相应的二进制为:000110000100001111110010HID:1000 0000 0000 0001PID:1000 1000 1000 1001输出如下:1 2 17 18 33 340 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0| HID_L | PID |输出端D0、D1时序:图示:(1) D0、D1在没有数据输出时均保持高电平;(2) 输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,若输出为1,则D1拉低420uS(TL)后为高电平;(3) 输出数据位之间的间隔时间为2mS(TL),如输出00:D0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平420uS(TL),然后释放为高电平;发送程序如下:Str[]中存的是4字节卡号。

韦根协议简介

韦根协议简介

韦根协议简介韦根门禁通讯协议一、前言:Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1.现在应用最多的是26bit,34 bit,36bit,44bit等等。

二、韦根数据输出的基本概念:二、韦根数据输出由二根线组成,分别是DATA0 和 DATA1 ;二根线分别将‘0’或‘1’输出。

输出‘0’时:DATA0线上出现负脉冲;输出‘1’时:DATA1线上出现负脉冲;负脉冲宽度TP=100微妙;周期TW=1600微妙具体时序如下:例如:数据‘01000’的时序如下:三、韦根26位输出格式:韦根26位输出格式:E XXXX XXXX XXXX XXXX XXXX XXXX O前12BIT偶校验前12位后12位后12BIT奇校验以上数据从左至右顺序发送。

高位在前。

如果电卡的地区码位2个字符,即8位则可用那设置255个地区码((15x16)+15=255);电子卡的卡号位4个字符,即16位则可设置65536个卡号((15x16x16x16)+(15x16x16)+(15x16)+15= 65,535)。

以电子卡为标准26位韦根格式为例,假设电子卡号码为:地区码:01 卡号:0001韦根输出为:1 0000 0001 0000 0000 0000 0001 0前12BIT偶校验前12位后12位后12BIT奇校验地区码卡号四、韦根26接收:韦根的接收对时间的实时性要求比较高,如果用查询的方法接收会出现丢帧的现象:假设查询到DATA0为0时主程序正在指向其他任务,等主程序执行完该任务时DATA0已经变为1了,那么这样就导致了一个0 bit丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出CPU接收不到ID模块发送的卡号了。

唯一的办法是在外部中断里接收每个bit。

韦根协议以及示例程序

韦根协议以及示例程序

韦根协议以及示例程序 Revised by BETTY on December 25,2020韦根协议——I D卡号读取2010-03-31 20:52最近在做门禁系统,第一次听说韦根协议。

我第一阶段要做的事情就是用韦根读卡器将ID卡的卡号读出来,当我拿到读卡器和ID卡的时候感觉无从下手。

可当我把韦根协议都研究透之后想想也不过如此而已,下面简单的介绍一下韦根协议。

而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。

26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。

几乎所有的门禁控制系统都接受标准的26-Bit格式。

一、Wiegand(韦根)接口Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和Data return。

这3条线负责传输Wiegand信号。

D0,D1在没有数据输出时都保持+5V 高电平。

若输出为0,则D0拉低一段时间,若输出为1,则D1拉低一段时间。

如图:二、标准26位Wiegand通讯协议标准韦根输出是由26位二进制数组成,每一位的含义如下:1 2 9 10 25 26X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制第1位为2—13位的偶校验位第2—9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位这26位数据在读出器的韦根输出线D0,D1上输出。

三、HID和PIDHID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。

PID很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。

HID是一个非常重要的号码,它不仅存在于卡中,也存在于读卡器中。

如果卡中的HID与读卡器中的HID不同的话,那么这张卡就无法在这个读卡器上正常工作。

门禁韦根D0和D1的说明

门禁韦根D0和D1的说明

门禁韦根的说明一、问:我是做门禁的,门禁主板里有D0和D1标识代表韦根,我想问一下什么是韦根,韦根输出?道底是什么意思,最好能用通俗的语气言讲出来,2,做门禁有韦根与没有韦根有什么区别,3,还有就是玻璃双开门怎么装门禁系统,(就是那种一走到跟前玻璃门就左右自动双开那种门)答:1.韦根就是一种通讯协议,一般用于读卡器到门禁控制器的。

2.读卡器到门禁控制器要是走其他协议也能完成你要的目的,可以不要韦根3.你去控制玻璃门电动装置的开关。

二、韦根是一种传输信号和RS485意思一样都是传输信号的。

您说的是不是韦根信号的门禁,还是韦根读卡器接门禁三、门禁控制器主板里的标识有:D0 和D1,有的直接是字母WG1和WG2来标识。

四、百度百科Wiegand协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。

它适用于涉及门禁控制系统的读卡器和卡片的许多特性。

它有很多格式,标准的26-bit 应该是最常用的格式。

此外,还有34-bit 、37-bit 等格式。

而标准26-bit 格式是一个开放式的格式,是一个广泛使用的工业标准,并且对所有HID的用户开放。

几乎所有的门禁控制系统都接受标准的26-Bit格式。

韦根26是一种通讯协议,象485、232、TCP/IP等通讯协议一样.五、根接口定义:Wiegand接口界面由三条导线组成:DATA0(Data0):暂定,兰色,P2.5 (通常为绿色)。

DATA1(Data1):暂定,白色,P2.6 (通常为白色)。

GND:(通常为黑色),暂定信号地。

当安装商拿到读卡器时,他们希望在读卡器和门禁控制面板的连接点(终端)上都能够看到这三个名称。

当前所有的标准型读卡器都提供可选择的Wiegand接口。

这三条线负责传送Wiegand数据,也被称为Wiegand信号。

六、韦根接口Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和Data return(GND)。

韦根 37bit 格式

韦根 37bit 格式

韦根37bit 格式韦根37bit 格式的介绍和应用在现代科技与通讯领域中,信息传输的安全性和准确性是至关重要的。

为了满足这些需求,人们研发出了各种编码和解码技术,其中韦根37bit 格式就是一种常见的编码方式。

本文将详细介绍韦根37bit 格式的定义、原理、应用和优势。

韦根37bit 格式是一种数字编码方式,用于将输入的数据转换为特定的编码序列。

它的名称来源于它的特点:每个数据位都有37个不同的编码序列。

这种编码方式常用于RFID、条形码和无线通信等领域,因为它能够提供更高的数据传输速率和更可靠的信号传递能力。

韦根37bit 格式的原理是通过组合两个不同频率的信号来表示不同的数据位。

具体而言,其中一个频率代表0,另一个频率代表1。

这两个频率通过一个特定的时间间隔来划分开来,以确保接收端能够准确地解码。

每个数据位的编码序列由相应的0和1的频率组合而成。

举个例子来说,我们以一个8位二进制数“11001011”为例,将其转换为韦根37bit 格式。

首先,我们将每一位拆分成两个编码序列,其中“0”使用一个频率组合,“1”使用另一个频率组合。

然后,我们通过时间间隔将这些编码序列划分开来,以便接收端能够准确地解码出原始数据。

经过编码,我们得到的韦根37bit 序列将类似于“10 01 11 01 01 00 10 11”。

韦根37bit 格式的优势是多方面的。

首先,它能够提供更高的数据传输速率。

由于每个数据位都有37个编码序列,韦根37bit 格式相比其他编码方式能够同时传输更多的信息。

其次,它具有更高的抗干扰能力。

由于两个频率的组合是通过特定的时间间隔划分开来的,韦根37bit 格式能够更好地抵御信号干扰和噪声影响。

此外,由于采用了数字编码方式,韦根37bit 格式的解码也更加准确和可靠。

韦根37bit 格式的应用广泛。

在RFID技术中,它通常用于标签与读写器之间的数据传输,以确保数据的准确性和安全性。

感应卡相应知识

感应卡相应知识

Wiegand(韦根)信号Wiegand(韦根)信号经由Data0和Data1两线传输,单向,最大传输距离通常可达150m,但实际距离传输会因传输线缆差异而有所不同。

Wiegand(韦根)信号的编码规则如下:ID 卡标准ID卡其载波频率为125KHz,属低频卡。

卡中通常只有一个可读ID编码,由于卡片及读卡器价格低廉,被广泛应用于门禁、考勤等系统中,卡片的制造商如:HID、Indala、TI、EM。

【返回】Type A (ISO/IEC 14443A)标准Type A是由Philips等半导体公司最先开发和使用。

其载波频率为13.56MHz,每张卡片具有若干个扇区,可以容纳若干个应用,并具有足够的数据安全性,因此被广泛地应用于各行各业的“一卡通”系统。

【返回】Type B (ISO/IEC 14443B)标准Type B是一个开放式的非接触式智能卡标准。

所有的读写操作可以由具体的应用系统开发者定义。

由于Type B具有开放式特点,所以每个厂家在具体设计、生产其本身的智能卡产品时,将会把其本身的一些保密特性融入其产品中,例如加密的算法,认证的方式等等,已经投入使用的我国第二代身份证采用了此标准。

Type C (Sony FeliCa )标准Type C由日本索尼公司研制,具有高度的安全性、多功能应用、优良的防冲突机制、先进的通信技术,已成功地应用于香港的地铁、新加坡MRT(地铁)以及深圳地铁等公共交通系统。

Type D (ISO/IEC 15693)标准ISO/IEC 15693非接触式邻近卡标准(Vicinity Card Standard),通常称为“高频电子标签”标准,其载波频率为13.56MHz,读写距离较远。

该项技术已广泛应用在物流、零售、图书管理、门禁及考勤等多个领域。

中国铁道部也已开始将此标准引入“学生购票的身份核实”工作中,世界著名的零售商沃尔玛(Walmart)已在其全球范围内的运营场所推广电子标签的应用。

韦根信号定义

韦根信号定义

韦根信号定义
韦根信号是一种二进制信号,用于在工业控制系统中传输数据。

韦根信号采用两根数据线传输,当有数据传输时,两根线交替地发送400uS低脉冲,如果数据是0,则发送Data0线的脉冲,如果数据是1,则发送Data1线的脉冲。

每个脉冲宽度为40-100μs,而脉冲间隔时间是1ms。

在韦根信号中,脉冲的宽度和间隔时间是非常重要的参数,它们决定了信号的分辨率和传输速率。

韦根信号具有可靠性高、抗干扰能力强、传输距离远等优点,因此在工业自动化、智能家居、安防监控等领域得到广泛应用。

门禁韦根D0和D1的说明

门禁韦根D0和D1的说明

门禁韦根的说明一、问:我是做门禁的 ,门禁主板里有D0和D1标识代表韦根,我想问一下什么是韦根,韦根输出道底是什么意思,最好能用通俗的语气言讲出来,2,做门禁有韦根与没有韦根有什么区别,3,还有就是玻璃双开门怎么装门禁系统,(就是那种一走到跟前玻璃门就左右自动双开那种门)答:1.韦根就是一种通讯协议,一般用于读卡器到门禁控制器的。

2.读卡器到门禁控制器要是走其他协议也能完成你要的目的,可以不要韦根3.你去控制玻璃门电动装置的开关。

二、韦根是一种传输信号和RS485意思一样都是传输信号的。

您说的是不是韦根信号的门禁,还是韦根读卡器接门禁三、门禁控制器主板里的标识有:D0 和D1,有的直接是字母WG1和WG2来标识。

四、百度百科Wiegand协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。

它适用于涉及门禁控制系统的读卡器和卡片的许多特性。

它有很多格式,标准的26-bit 应该是最常用的格式。

此外,还有34-bit 、37-bit 等格式。

而标准26-bit 格式是一个开放式的格式,是一个广泛使用的工业标准,并且对所有HID的用户开放。

几乎所有的门禁控制系统都接受标准的26-Bit格式。

韦根26是一种通讯协议,象485、232、TCP/IP等通讯协议一样.五、根接口定义:Wiegand接口界面由三条导线组成:DATA0(Data0):暂定,兰色,(通常为绿色)。

DATA1(Data1):暂定,白色,(通常为白色)。

GND:(通常为黑色),暂定信号地。

当安装商拿到读卡器时,他们希望在读卡器和门禁控制面板的连接点(终端)上都能够看到这三个名称。

当前所有的标准型读卡器都提供可选择的Wiegand接口。

这三条线负责传送Wiegand数据,也被称为Wiegand信号。

六、韦根接口Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和 Data return(GND)。

韦根编码及协议应用

韦根编码及协议应用

韦根26经典讲第一章 韦根协议简介Wiegand (韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性,其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1,现在应用最多的是26bit ,34bit ,36bit ,44bit 等等,其中标准26-bit 格式是一个开放式的格式,任何人都可以购买某一特定格式的HID 卡,并且这些特定格式的种类是公开可选的,26-Bit 格式就是一个广泛使用的工业标准,并且对所有HID 的用户开放,现在几乎所有的门禁控制系统都接受26-Bit 格式的标准。

1.传感器原理介绍韦根传感器是由一根双稳态磁敏感功能合金丝和缠绕其外的感应线圈组成的。

其工作原理是:在交变磁场中,当平行于敏感丝的某极性(例如n 极)磁场达到触发磁感应强度时,敏感丝中的磁畴受到激励会发生运动,磁化方向瞬间转向同一方向,同时在敏感丝周围空间磁场也发生瞬间变化,由此在感应线圈中感生出一个电脉冲。

此后若该磁场减弱,敏感丝磁化方向将保持稳定不变,感应线圈也无电脉冲输出,但当相反极性(s 极)磁场增强触发磁感应强度时,敏感丝磁化方向又瞬间发生翻转,并在感应线圈中感生出一个方向相反的电脉冲。

如此反复,韦根传感器便将交变磁场的磁信号转换成交变电信号。

2.数据输出的基本概念韦根协议又称韦根码,韦根码在数据的传输中只需两条数据线,一条为DA TA0,另一条为DATA1。

协议规定,两条数据线在无数据时均为高电平,如果DA TA0为低电平代表数据0,DATA1为低电平代表数据1(低电平信号低于1V ,高电平信号大于4V ),数据信号波形如图1.1所示。

图1.1中脉冲宽度在20μs 到200μs 之间,两个脉冲间的时间间隔在200μs 到20ms 之间。

3.韦根6位输出格式标准韦根输出是由26位二进制数组成,每一位的含义如下:图1.1 数据信号波形图D A T A 数据20~200sμ200s ~200msμE XXXX XXXX XXXX XXXX XXXX XXXX O二进制第1位为2-13位的偶校验位第2-9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位以上数据从左至右顺序发送,高位在前。

标准韦根26通讯格式

标准韦根26通讯格式

标准韦根26通讯格式1、前言:Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1。

现在应用最多的是26bit,34bit,36bit,44bit等等。

2、维根数据输出的基本概念:维根数据输出由二根线组成,分别是DATA0和DATA1;二根线分别将0或1输出。

输出0时:DATA0线上出现负脉冲;输出1时:DATA1线上出现负脉冲;负脉冲宽度TP=100微妙;周期TW=1600微妙3、维根26位输出格式:标准韦根输出是由26位二进制数组成,每一位的含义如下:1 2 9 10 13 25 26E X X X X X X X X X X X X X X X X X X X X X X X X O 二进制第1位为2-13位的偶校验位第2-9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位以上数据从左至右顺序发送。

高位在前。

例如:一只HID:16385,PID:00004的电子卡其26位韦根输出为:1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0检验位HID =16385(二进制的低8位)PID = 4(二进制)检验位这26位数据在读出器的韦根输出线DATA0,DATA1上输出。

DATA0,DATA1在没有数据输出时都保持+5V高电平。

若输出为0,则DATA0拉低一段时间,若输出为1,则DATA1拉低一段时间。

两个电子卡韦根输出之间的最小间隔为0.25秒。

4、维根26接收:韦根的接收对时间的实时性要求比较高,如果用查询的方法接收会出现丢帧的现象:假设查询到DATA0为0时主程序正在指向其他任务,等主程序执行完该任务时DATA0已经变为1了,那么这样就导致了一个0?bit丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出CPU接收不到ID模块发送的卡号了。

java 韦根接收实例

java 韦根接收实例

java 韦根接收实例1.引言1.1 概述在现代的信息传输领域,为了准确地接收和解析传输中的数据,各种接收器技术不断发展和完善。

其中,韦根接收器作为一种常见的数据接收器,被广泛应用于各种领域。

韦根接收器是一种用于解码数字信号的设备或算法,它能够将从传感器、传输线路或其他设备发送过来的编码信号转换成可读的数据格式。

它主要被用于接收和解析来自于磁卡阅读器、条形码扫描器、遥控器、计数器、测速仪等设备的数据。

在韦根接收器的工作原理中,通过对输入信号的高低电平进行精确的时间测量和分析,可以将不同编码规则下的韦根码转换成相应的数字或字符信息。

韦根码是一种脉冲编码,由高脉冲和低脉冲交替组成,通过不同脉冲宽度的排列来表示不同的数字或字符。

本文将重点介绍Java语言中韦根接收器的实现和使用。

通过使用Java 编程语言提供的丰富的工具和库函数,我们可以轻松地实现一个可靠、高效的韦根接收器,用于解析和处理韦根码数据。

本文将介绍韦根接收器的定义和原理,并提供具体的Java代码示例,以帮助读者理解和应用相关技术。

通过本文的学习,读者将能够掌握韦根接收器的基本概念和工作原理,并具备使用Java语言实现韦根接收器的能力。

无论是在实际应用中还是学术研究中,掌握这些技术都能够为我们提供方便、高效的数据接收和解析能力。

让我们一起深入了解并探索Java中韦根接收器的实例吧!1.2 文章结构在本文中,将按照以下结构进行讨论和分析韦根接收器在Java中的实现:1. 引言:对韦根接收器的概述和背景进行介绍,说明本文的目的和重要性。

2. 正文:2.1 韦根接收器的定义和原理:详细介绍韦根接收器的原理和工作方式。

包括对韦根编码的解释和标准,以及韦根信号的生成和解码过程。

2.2 Java中的韦根接收器实现:重点讨论如何在Java编程语言中实现韦根接收器。

包括通过Java的IO库接收韦根信号,对信号进行解码和分析,并将结果输出。

3. 结论:3.1 总结:总结本文的主要观点和论证,强调韦根接收器在Java 中的实际应用和优势。

韦根26接收程序

韦根26接收程序

韦根协议——ID卡号读取韦根协议是国际上统一的标准,它也是一种数据传输协议。

标准的26-bit 应该是最常用的格式。

此外,还有34-bit 、37-bit 等格式。

格式的含义如下:当给出这一串数字028********,用户并不知道这串数字的含义,但如果说这是一个电话号码的时候,那么你可能就会说:哦,028是成都的区号,而88888888是电话号码。

呵呵,不错,这正是四川航空的服务热线。

但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。

而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。

26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。

几乎所有的门禁控制系统都接受标准的26-Bit格式。

一、Wiegand(韦根)接口Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和 Data return。

这3条线负责传输Wiegand信号。

D0,D1在没有数据输出时都保持+5V高电平。

若输出为0,则D0拉低一段时间,若输出为1,则D1拉低一段时间。

如图:二、标准26位Wiegand通讯协议标准韦根输出是由26位二进制数组成,每一位的含义如下:1 2 9 10 25 26X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制第1位为2—13位的偶校验位第2—9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位这26位数据在读出器的韦根输出线D0,D1上输出。

三、HID和PIDHID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。

PID 很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。

韦根26接收程序

韦根26接收程序

韦根26接收程序韦根协议——ID卡号读取韦根协议是国际上统一的标准,它也是一种数据传输协议。

标准的26-bit 应该是最常用的格式。

此外,还有34-bit 、37-bit 等格式。

格式的含义如下:当给出这一串数字028********,用户并不知道这串数字的含义,但如果说这是一个电话号码的时候,那么你可能就会说:哦,028是成都的区号,而88888888是电话号码。

呵呵,不错,这正是四川航空的服务热线。

但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。

而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。

26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。

几乎所有的门禁控制系统都接受标准的26-Bit格式。

一、Wiegand(韦根)接口Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和 Data return。

这3条线负责传输Wiegand信号。

D0,D1在没有数据输出时都保持+5V高电平。

若输出为0,则D0拉低一段时间,若输出为1,则D1拉低一段时间。

如图:二、标准26位Wiegand通讯协议标准韦根输出是由26位二进制数组成,每一位的含义如下:1 2 9 10 25 26X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制第1位为2—13位的偶校验位第2—9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位这26位数据在读出器的韦根输出线D0,D1上输出。

三、HID和PIDHID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。

PID 很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。

java 韦根26编码转换代码

java 韦根26编码转换代码

在撰写这篇关于Java韦根26编码转换代码的文章之前,我首先会对这个主题进行全面评估,以确保文章具有深度和广度。

我会以从简到繁、由浅入深的方式来探讨这个主题,以便读者更深入地理解。

在文章中,我会多次提及“Java韦根26编码转换代码”,并包含总结和回顾性的内容,使读者能够全面、深刻和灵活地理解这个主题。

我会共享我的个人观点和理解,以便读者对这个主题有更全面的了解。

第一部分:什么是Java韦根26编码转换代码?让我们简要了解一下什么是Java韦根26编码转换代码。

Java是一种广泛使用的编程语言,它有着丰富的功能和库。

而韦根26编码是一种用于将数字、字母和特殊字符转换为一系列特定符号的编码方式。

在Java中,我们可以编写代码来实现韦根26编码的转换,从而实现对字符串的加密和解密,或者其他一些特定的应用场景。

接下来,我将深入探讨如何编写Java代码来实现韦根26编码的转换,并以此展示其深度和广度。

第二部分:Java编写韦根26编码转换代码的基本原理在Java中实现韦根26编码转换的基本原理是通过使用算法将原始文本转换为特定的编码格式,然后再将编码格式转换回原始文本。

这个过程涉及到字符的ASCII码转换、字符串的拼接和分割、循环遍历等基本编程概念。

在实际编写代码的过程中,需要考虑多种情况下的边界条件和异常处理,以确保代码的稳定性和可靠性。

接下来,我将逐步介绍如何在Java中实现韦根26编码转换的代码,以及其中涉及到的一些关键概念。

第三部分:具体的Java实现代码示例在这一部分,我将展示如何在Java中编写韦根26编码转换的具体实现代码。

我们需要考虑如何处理输入的字符串,包括如何识别数字、字母和特殊字符,并将它们转换为对应的韦根26编码。

我们需要设计算法来实现对原始文本的编码和解码,包括对字符串的拼接、分割和遍历等操作。

我们还需要考虑如何处理异常情况,以确保代码的健壮性。

在这一部分,我将具体展示一些Java实现代码的示例,以帮助读者更好地理解如何在实际项目中应用韦根26编码转换。

基于单片机的标准韦根网络通讯协议的实现

基于单片机的标准韦根网络通讯协议的实现

技术应用64摘 要 :介绍射频卡中标准的韦根( Wiegand )26接口协议,重点介绍在单片机中对这种通讯协议的实现的软硬件设计方法。

关键词:单片机 Wiegand HID PID 射频卡Wiegand传输协议,是国际标准的射频卡数据传输协议,Motorola,HID,EM等国际知名电子厂商都遵从该协议,在国内又称”韦根” “维庚” “维根” 协议。

W i e g a n d 协议有很多格式,在常见的射频卡中,标准的26-bit 是被广泛采用的一个工业标准,门禁控制系统中基本上都采用这种格式。

Wiegand 基本格式标准韦根输出是由26位二进制数组成,每一位的含义如图1所示:其中:BIT1: 第2—13位的偶校验位BIT2-9: 对应与电子卡HID码的低8位BIT10-25: 应电子卡的PID号码BIT26: 第14-25位的奇校验位以图1为例,H I D 的16进制数为0x 1A ,对应于十进制数为26。

HID的16进制数为0x8484,对应于十进制数为33924。

即这个卡的编码通常写为:26.33924。

传输协议中提到的HID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。

PID很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。

HID是一个非常重要的号码,它不仅存在于卡中,也存在于读卡器中。

如果卡中的HID与读卡器中的HID不同的话,那么这张卡就无法在这个读卡器上正常工作。

因此,在上述标准26位韦根格式中,只包含了电子卡HID 码的低8位,即对应于韦根输出的第1位到第8位,实际上电子卡的HID码为16位。

在上述标准26位韦根格式中,最高位和最低位为奇/偶校验。

奇/偶校验(E C C )是数据传送时采用的一种校正数据错误的一种方式,分为奇校验和偶校验两种,其原理如下:如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则,这个校验位就是“0”,这样就可以保证传送的数据满足奇校验的要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

韦根26经典讲第一章 韦根协议简介Wiegand (韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性,其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1,现在应用最多的是26bit ,34bit ,36bit ,44bit 等等,其中标准26-bit 格式是一个开放式的格式,任何人都可以购买某一特定格式的HID 卡,并且这些特定格式的种类是公开可选的,26-Bit 格式就是一个广泛使用的工业标准,并且对所有HID 的用户开放,现在几乎所有的门禁控制系统都接受26-Bit 格式的标准。

1.传感器原理介绍韦根传感器是由一根双稳态磁敏感功能合金丝和缠绕其外的感应线圈组成的。

其工作原理是:在交变磁场中,当平行于敏感丝的某极性(例如n 极)磁场达到触发磁感应强度时,敏感丝中的磁畴受到激励会发生运动,磁化方向瞬间转向同一方向,同时在敏感丝周围空间磁场也发生瞬间变化,由此在感应线圈中感生出一个电脉冲。

此后若该磁场减弱,敏感丝磁化方向将保持稳定不变,感应线圈也无电脉冲输出,但当相反极性(s 极)磁场增强触发磁感应强度时,敏感丝磁化方向又瞬间发生翻转,并在感应线圈中感生出一个方向相反的电脉冲。

如此反复,韦根传感器便将交变磁场的磁信号转换成交变电信号。

2.数据输出的基本概念韦根协议又称韦根码,韦根码在数据的传输中只需两条数据线,一条为DA TA0,另一条为DATA1。

协议规定,两条数据线在无数据时均为高电平,如果DA TA0为低电平代表数据0,DATA1为低电平代表数据1(低电平信号低于1V ,高电平信号大于4V ),数据信号波形如图1.1所示。

图1.1中脉冲宽度在20μs 到200μs 之间,两个脉冲间的时间间隔在200μs 到20ms 之间。

3.韦根6位输出格式标准韦根输出是由26位二进制数组成,每一位的含义如下:图1.1 数据信号波形图D A T A 数据20~200sμ200s ~200msμE XXXX XXXX XXXX XXXX XXXX XXXX O二进制第1位为2-13位的偶校验位第2-9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位以上数据从左至右顺序发送,高位在前。

如果电卡的地区码位2个字符,即8位则可用那设置255个地区码((15×16)+15=255);电子卡的卡号位4个字符,即16位则可设置65536个卡号((15×16×16×16)+(15×16×16)+(15×16)+15=65,535)。

例如:一个HID:16385,PID:00004的电子卡其26位韦根输出为:10000000100000000000001000检验位HID=16385(二进制的低8位)PID=4(二进制)检验位这26位数据在读出器的韦根输出线DATA0,DA TA1上输出。

DATA0,DA TA1在没有数据输出时都保持+5V高电平。

若输出为0,则DATA0拉低一段时间,若输出为1,则DA TA1拉低一段时间。

两个电子卡韦根输出之间的最小间隔为0.25秒。

4.韦根26接收韦根的接收对时间的实时性要求比较高,如果用查询的方法接收会出现丢帧的现象:假设查询到DATA0为0时主程序正在指向其它任务,等主程序执行完该任务时DA TA0已经变为1了,那么这样就导致了一个0bit丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出MCU接收不到I C模块发送的卡号。

唯一的办法是在外部中断里接收每个bit(仅仅在中断里获得开始接收wiegand数据还不行,因为这是尽管给开始接收wiegand数据标志位置位了,但是主程序还在执行其它代码而没有到达查询开始接收wiegand数据标志位这条指令)。

5.韦根接口定义Wiegand接口界面由三条导线组成:DATA0:暂定,兰色,P2.5(通常为绿色)。

DATA1:暂定,白色,P2.6(通常为白色)。

GND:(通常为黑色),暂定信号地。

当安装读卡器时,在读卡器和门禁控制面板的连接点(终端)上都能够看到这三个名称。

目前所有的标准型读卡器都提供可选择的Wiegand接口,这三条线负责传送Wiegand数据,也被称为Wiegand信号。

6.特别说明:在上述标准26位韦根格式中,只包含了电子卡HID码的低8位,即对应于韦根输出的第2位到第9位,实际上电子卡的HID码为16位。

除非特别说明,所售Census产品的韦根通讯协议均为上述标准协议。

奇/偶校验(ECC)是数据传送时采用的一种校正数据错误的一种方式,分为奇校验和偶校验两种,其原理如下:如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则,这个校验位就是“0”,这样就可以保证传送的数据满足奇校验的要求。

在接收方收到数据时,将按照奇校验的要求检测数据中“1”的个数,如果为奇数,表示传送正确,反之,表示传送错误。

偶校验的过程和奇校验一样,只不过是检测数据中的“1”的个数为偶数。

第二章 韦根协议的应用 1.Wiegand 接口硬件设计将Wiegand 接口的Data0和Data1两个输出通过74LS573接到MCU 的两个IO 脚上,采用查询的方式接收数据,但这样接收并不可靠。

比较好的方法是将Data0和Data1两个输出通过74LS573接到MCU 的两个IO 脚上,并将它们通过74LS08接到MCU 的外部中断1上,采用中断的方式接收数据,其电路图如图2.1所示。

2.流程图图2.1 IC 卡读卡电路图图2.2 工艺流程图图2.3 程序流程图3.发送源程序//*************************************************************************** //模块名称:IC卡卡号显示程序//*************************************************************************** //功能说明:读取IC卡卡号,并予以LCM24064显示;//连线说明:其中D0接MCU的P1.5,D1接MCU的P1.6,D0与D1相与输出端接// MCU的外部中断1;// 作者:*//完成日期:2008年10月* //*************************************************************************** #include <math.h>#include <string.h>#include <absacc.h>#include <reg51.h>#include <intrins.h>#include <stdio.h>#include <huanyingguanglin.h>#include <LCM.h>//************函数定义**************//#define uint unsigned int#define uchar unsigned charsbit D0=P1^6; //韦根数据0sbit D1=P1^5; //韦根数据1bit even; //前16位偶校验bit odd; //后16位奇校验uint m=0;uchar t;uchar flag=1; //读数次数uchar wiegand[3]={0xff,0xff,0xff}; //IC卡卡号韦根26数据包24位bit Even_odd_ture=0; //奇偶校验正确判断位uchar ICNo[6];//******************函数声明***********************//void Init( void );void zijiezhuanhuan(void);void INT0_ISR(void);bit data_check(void);//****************INTO中断服务程序***************//void INT0_ISR(void) interrupt 0 //外部中断0服务程序{bit SBUF0; //读数缓冲器EX0=0; //关中断SBUF0=D0; //读数据DATA0 switch(flag){case 1:if(SBUF0==0) even=0; //确定偶校验位else even=1;flag++;break;case 2: //第2~9位为区号码if(SBUF0==0) wiegand[0]&=0x7f;else wiegand[0]|=0x80;flag++;break;case 3:if(SBUF0==0) wiegand[0]&=0xbf;else wiegand[0]|=0x40;flag++;break;case 4:if(SBUF0==0) wiegand[0]&=0xdf;else wiegand[0]|=0x20;flag++;break;case 5:if(SBUF0==0) wiegand[0]&=0xef;else wiegand[0]|=0x10;flag++;break;case 6:if(SBUF0==0) wiegand[0]&=0xf7;else wiegand[0]|=0x08;flag++;break;case 7:if(SBUF0==0) wiegand[0]&=0xfb;else wiegand[0]|=0x04;flag++;break;case 8:if(SBUF0==0) wiegand[0]&=0xfd;else wiegand[0]|=0x02;flag++;break;case 9:if(SBUF0==0) wiegand[0]&=0xfe;else wiegand[0]|=0x01;flag++;break;case 10: //第10~25位为卡号码if(SBUF0==0) wiegand[1]&=0x7f;else wiegand[1]|=0x80;flag++;break;case 11:if(SBUF0==0) wiegand[1]&=0xbf;else wiegand[1]|=0x40;flag++;break;case 12:if(SBUF0==0) wiegand[1]&=0xdf;else wiegand[1]|=0x20;flag++;break;case 13:if(SBUF0==0) wiegand[1]&=0xef;else wiegand[1]|=0x10;flag++;break;case 14:if(SBUF0==0) wiegand[1]&=0xf7;else wiegand[1]|=0x08;flag++;break;case 15:if(SBUF0==0) wiegand[1]&=0xfb;else wiegand[1]|=0x04;flag++;break;case 16:if(SBUF0==0) wiegand[1]&=0xfd;else wiegand[1]|=0x02;flag++;break;case 17:if(SBUF0==0) wiegand[1]&=0xfe;else wiegand[1]|=0x01;flag++;break;case 18:if(SBUF0==0) wiegand[2]&=0x7f;else wiegand[2]|=0x80;flag++;break;case 19:if(SBUF0==0) wiegand[2]&=0xbf;else wiegand[2]|=0x40;flag++;break;case 20:if(SBUF0==0) wiegand[2]&=0xdf;else wiegand[2]|=0x20;flag++;break;case 21:if(SBUF0==0) wiegand[2]&=0xef;else wiegand[2]|=0x10;flag++;break;case 22:if(SBUF0==0) wiegand[2]&=0xf7;else wiegand[2]|=0x08;flag++;break;case 23:if(SBUF0==0) wiegand[2]&=0xfb;else wiegand[2]|=0x04;flag++;break;case 24:if(SBUF0==0) wiegand[2]&=0xfd;else wiegand[2]|=0x02;flag++;break;case 25:if(SBUF0==0) wiegand[2]&=0xfe;else wiegand[2]|=0x01;flag++;break;case 26:if(SBUF0==0) odd=0;else odd=1;t=flag;flag=1;m++;break;default:break;}EX0=1; //开中断}//*******************IC卡号数据奇偶校验********************// //偶校验:bit "1"的个数为偶数,则为0// bit "1"的个数为奇数,则为1//奇校验:bit "1"的个数为奇数,则为0// bit "1"的个数为偶数,则为1bit data_check(void){uchar i,check_temp; //uchar one_num=0; //bit 1的个数bit even_temp; //偶校验位缓冲器bit odd_temp; //奇校验位缓冲器check_temp=wiegand[0]; //先进行偶校验for(i=0;i<8;i++) //前8位{ if(check_temp&0x01){one_num++;} //判断是否为1,若为1,则one_num 加1check_temp>>=1; //右移}check_temp=wiegand[1];for(i=0;i<4;i++) //第9~12位{ if(check_temp&0x80){one_num++;} //判断是否为1,若为1,则one_num 加1check_temp<<=1; //左移}one_num%2==0?(even_temp=0):(even_temp=1); //one_num=0; //bit 1的个数清零if(even_temp==even) //若偶校验正确,则进行奇校验{ check_temp=wiegand[1];for(i=0;i<4;i++) //第13~17位{ if(check_temp&0x01){one_num++;}check_temp>>=1;}check_temp=wiegand[2]; //第18~24位for(i=0;i<8;i++) //{ if(check_temp&0x01){one_num++;}check_temp>>=1;}one_num%2==0?(odd_temp=1):(odd_temp=0);//one_num=0;if(odd==odd_temp) return 1; //若奇偶校验正确,则返回1}else return 0; //否则返回0}void Init( void ){ LcmInit( );IT0=1; //外部中断0,下降沿触发有效EX0=1; //允许外部中断0中断EA=1;LcmClear(0);display();}void zijiezhuanhuan(void){ICNo[0]=ASC[(wiegand[0]&0xF0)>>4]; //取wiegand[0]的高4位ICNo[1]=ASC[wiegand[0]&0x0F]; //取wiegand[0]的低4位ICNo[2]=ASC[(wiegand[1]&0xF0)>>4];ICNo[3]=ASC[wiegand[1]&0x0F];//0ICNo[4]=ASC[(wiegand[2]&0xF0)>>4];ICNo[5]=ASC[wiegand[2]&0x0F];//4}//*****************主函数********************************//void main(void){uint i=0,j=0;Init();while(1){if(t= =26){ if(m= =1) { LcmClear(0); } //首次刷卡后执行清屏动作Even_odd_ture=data_check(); //奇偶校验if(Even_odd_ture= =1) // Even_odd_ture= =1为有效数据{Even_odd_ture=0;zijiezhuanhuan();if(i>29){j++;i=0;} //一行显示完后,自动换行if(j>7){LcmClear(0);j=0;} // 整屏显示完后,自动清屏PutChar(i++,j,ICNo[0]); //字符显示PutChar(i++,j,ICNo[1]);PutChar(i++,j,ICNo[2]);PutChar(i++,j,ICNo[3]);PutChar(i++,j,ICNo[4]);PutChar(i++,j,ICNo[5]);t=0;}}}}。

相关文档
最新文档