📄 wiegand26.h
字号:
#include <REG52.H>
//定义P4口地址
sfr P4 = 0xE8; //STC89C516
//sfr IPH = 0xB7; //STC89C516
sfr XICON = 0xC0; //STC89C516
/* IPH
sbit PX3H = IPH^7;
sbit PX2H = IPH^6;
sbit PT2H = IPH^5;
sbit PSH = IPH^4;
sbit PT1H = IPH^3;
sbit PX1H = IPH^2;
sbit PT0H = IPH^1;
sbit PX0H = IPH^0;*/
/* XICON */
sbit PX3 = XICON^7;
sbit EX3 = XICON^6;
sbit IE3 = XICON^5;
sbit IT3 = XICON^4;
sbit PX2 = XICON^3;
sbit EX2 = XICON^2;
sbit IE2 = XICON^1;
sbit IT2 = XICON^0;
/*************************************************
韦根接口1 单片机
1(红)VCC <-------------> VCC // 电源正:12V
2(黑)GND <-------------> GND // 电源地
3(绿)Data0 <-------------> P3.2 // 数据线0
4(白)Data1 <-------------> P3.3 // 数据线1
5(棕)Hold <-------------> 悬空 // 保持线,接单片机的外部中断1
6(灰)Beeper <-------------> 悬空 // 蜂鸣器,低电平有效,可以悬空
7(蓝)LED <-------------> 悬空 // 低电平有效
8(黄)W/A <-------------> 悬空 //
*************************************************/
// 定义韦根接口
sbit WG1_DATA0 = P3^2; // WG1数据线0
sbit WG1_DATA1 = P3^3; // WG1数据线1
typedef union _WIEGAND_FLAGS //标记定义
{
struct _FLAGS
{
unsigned char bOdd : 1; //奇校验位
unsigned char bEven : 1; //偶校验位
unsigned char bCurData0 : 1; //本次取得的DATA0
unsigned char bOldData0 : 1; //上次取得的DATA0
unsigned char bCurData1 : 1; //本次取得的DATA1
unsigned char bOldData1 : 1; //上次取得的DATA1
unsigned char bRecData : 1; //最新接收的数据位
unsigned char bRecFlag : 1; //新数据接收标志位,0表示没有收到新数据,1表示已经收到新数据
} bits;
unsigned char value;
}sttWiegandFlags;
void WG_Init(); //读头初始化
bit Get_WgData(unsigned char* ucWgData); //读取数据
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -