韦根通信c语言程序,韦根26通信的示例程序
示例程序:
#include//string.h
#include//reg52.h
#include//intrins.h
#define
DELAY_TIME 60
#define
TRUE 1
#define
FALSE 0
#define uchar unsigned char
#define uint unsigned int
sbit DATA1=P3^2; //韦根读卡器的DATA1接单片机的P3^2
sbit DATA0=P3^3; //韦根读卡器的DATA0接单片机的P3^3
bit Even; // 偶检验位
bit Odd; // 奇检验位
bit
CheakEven=0;//偶检验
bit CheakOdd=1;//奇检验
uchar Cnt=0;//
uchar
WG[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//接收韦根数据26位
uchar
WGstr[3]={0,0,0};//存韦根ID卡卡号的HID和PID码,其中HID码为8位即一字节,PID码16位两字节
uchar i;
uchar j=0;
void Init()
{
EA=0;
TMOD=0x20;
TL1=0xfd;
TH1=0xfd;//设置波特率为9600的定时器1为方式2以及初始值
PCON=0x00;
SCON=0xd8; //设置串口方式
IT0=1; //设置外部中断0为下降沿触发方式
IT1=1; //设置外部中断1为下降沿触发方式
EX0=1; //开外部中断0
EX1=1; //开外部中断1
TR1=1; //开定时器1
EA=1; //开所有中断
}
void Weigand(uchar *str) //把26位韦根数据转换为3字节数据存储
{
uchar k;
for(k=0;k<26;k++)
{
if(k<=0) //读偶检验位
{
if(str[k]==0)
Even=0;
else
Even=1;
}
if(k>=25) //读奇检验位
{
if(str[k]==0)
Odd=0;
else
Odd=1;
}
if(k<=8) //读HID码低8位
{
if(str[k]==0x00)
WGstr[0]|=0x00;
else
{
WGstr[0]|=0x01;
CheakEven=~
CheakEven; // 根据HID码低8位1的个数来确定偶检验位是1还是0
}
if(k<8)
WGstr[0]=WGstr[0]<<1;
}
if(k<=16) //读PID码高8位
{
if(str[k]==0x00)
WGstr[1]|=0x00;
else
{
WGstr[1]|=0x01;
CheakOdd=~CheakOdd; 根据PID码高8位1的个数来确定奇检验位是1还是0
}
if(k<16)
WGstr[1]=WGstr[1]<<1;
}
else //读PID码的低8位
{
if(str[k]==0x00)
WGstr[2]|=0x00;
else
{
WGstr[2]|=0x01;
CheakOdd=~CheakOdd; // 根据PID码低8位1的个数来确定奇检验位是1还是0
}
if(k<24)
WGstr[2]=WGstr[2]<<1;
}
}
}
void main()
{
//P1=0x55;
Init();//调用初始化函数
Cnt=0;
while(1)
{
if(Cnt>=26)
{
EA=0; //关中断以免外部中断的干扰
Weigand(WG);//将读到的26位韦根数据转换位3字节格式
EA=1;
for(j=0;j<3;j++) //用串口调试工具显示读到的卡号
{
SBUF=WGstr[j];
while(TI==0);
TI=0;
WGstr[j]=0;
}
Cnt=0;
}
}
}
void DATA0_Interrupt(void) interrupt 2 using 1
//外部中断1读DATA0数据即0
{
WG[Cnt]=0x00;
Cnt++;
}
void DATA1_Interrupt(void) interrupt 0 using 2
//外部中断0读DATA1数据即1
{
WG[Cnt]=0x01;
Cnt++;
}
韦根通信c语言程序,韦根26通信的示例程序相关推荐
- 485通信c语言编程linux,Rs485通信单片机C程序
/******************************************************************************* * 标题: ...
- Caysn打印机安卓平台开发包接口说明文档及打印示例程序_20170609
Caysn打印机打印开发包接口说明文档中文版:PrinterLibs_For_Android_zh_CN_20170630 Caysn打印机打印开发包接口说明文档英文版:PrinterLibs_For ...
- HALCON示例程序texture.hdev检测树木
小哥哥小姐姐觉得有用点个赞呗! HALCON示例程序texture.hdev检测树木 示例程序源码(加注释) 关于显示类函数解释 dev_close_window () Interactive := ...
- HALCON示例程序surface_scratch.hdev提取划痕
小哥哥小姐姐觉得有用点个赞呗! HALCON示例程序surface_scratch.hdev提取划痕 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () dev_close ...
- HALCON示例程序holes.hdev孔洞提取
HALCON示例程序holes.hdev孔洞提取 示例程序源码(加注释) 关于显示类函数解释 read_image (Image, 'progres') get_image_size (Image, ...
- HALCON示例程序dem_trees.hdev提取树
HALCON示例程序dem_trees.hdev提取树 示例程序源码(加注释) 关于显示类函数解释 dev_close_window () read_image (Mreut, 'mreut_y') ...
- HALCON示例程序connection.hdev分割连通域
HALCON示例程序connection.hdev分割连通域 示例程序源码(加注释) read_image (Image, 'mreut') 二值化 threshold (Image, Region, ...
- OpenCV4每日一练day2:运行OpenCV示例程序(边缘检测、kmeans聚类)
一:将OpenCV自带的C++示例程序添加进VS2015源文件 二:运行边缘检测示例程序 默认调用的图片是这样的,要用我们自己图片的话要进行默认参数的修改: step1:把图片放在项目源文件中: st ...
- java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结
详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...
- 微信小程序页面间通信的5种方式
微信小程序页面间通的5种方式 PageModel(页面模型)对小程序而言是很重要的一个概念,从app.json中也可以看到,小程序就是由一个个页面组成的. 如上图,这是一个常见结构的小程序:首页是一个 ...
最新文章
- linux 内核可装载模块 版本检查机制
- linux环境下监控日志的变化命令 tail -f
- 深度学习帮助人工智能走得更远
- 惠普服务器吊牌位置,惠普防伪措施 | 惠普中国
- WiFi网络编程(带OTA功能)
- 1020 月饼 (25分)
- scrapy模拟登陆人人网
- 初学者python笔记(文件的操作)
- 模版方法模式 Template Method Pattern — 穷人和富人的不同婚恋历程
- HTML动态时间代码
- python筛选质数并一行输出五个_python使用filter方法递归筛选法求N以内的质数素数附一行打印心形标记的代码解析...
- html入门(详细描述)2
- linux硬盘检测健康状态脚本,系统运维|使用 smartmontools 查看硬盘的健康状态
- on后面使用and和where的区别
- 影响stable diffusion的embedding训练效率的部分问题和拟解决办法
- 【工作记录】springboot项目通过qq邮箱发送邮件
- GeoStru.CVSoil.v2014.7.2.47 1CD
- TypeError: this.getOptions is not a function at Object.lessLoader
- C++控制台程序(文字小游戏)
- 24段魔尺,可以折出哪些精美图案(续)
热门文章
- 从0到1实现Web端H.265播放器:视频解码篇
- 总谐波失真计算公式_知识学习:谐波的危害
- JQueryUI学习文档
- matlab符号函数绘图法_matlab中怎么创建符号函数?
- 计算机什么病毒有远程控制功能,怎样知道自己的电脑已被远程控制
- 计算机二进制编码原理,浅谈计算机信息的二进制编码
- 天轰穿C#教程之数学运算符
- 51单片机-STC89C52系列学习第一篇之IO口学习
- android 按钮救星,按键救星下载-按键救星专业版(Button Savior Pro) 安卓版v2.1.1-PC6安卓网...
- 寻找成功人生的方向-在新东方听讲座的感悟