基于8051 单片机的 RFID读卡器
射频识别 (RFID)使用射频读取存储在 RFID 卡或标签中的信息。在这个项目中,我们将EM-18 RFID 阅读器连接到8051 单片机,并在 1602 LCD 显示屏上显示 RFID 卡号。这种无线射频识别用于许多系统,如基于 RFID 的考勤系统、安全系统、投票机等。
所需组件:
8051微控制器
EM-18 RFID阅读器
1602液晶显示屏(关于在8051上如何使用1602请参考前面的文章)
RFID卡/标签
电位器
电路原理图:
EM-18 RFID 阅读器:
EM-18 RFID 阅读器工作频率为 125 KHz,带有片上天线,可以使用 5V 电源供电。它提供串行输出和weigand 输出。范围在8-12cm左右。串口通讯参数为9600bps,8个数据位,1个停止位。其应用包括身份验证、电子收费、公共交通电子票务、考勤系统等。
EM-18 RFID 阅读器提供的输出为 12 位 ASCII 格式。在 12 位中,前 10 位是卡号,后两位是卡号的 XOR(异或) 结果。最后两位数字用于错误检查。
射频识别标签
例如,从读卡器读取的卡号为 0200107D0D62,则卡上的卡号如下所示。
02 – 前导码
00107D0D = 1080589 (十进制)。
62 是 (02 XOR 00 XOR 10 XOR 7D XOR 0D) 的 XOR 值。
因此卡上的数字是 0001080589。
部分代码解释:
//声明8051与1602的连接引脚
sbit rs=P3^7;
sbit rw=P3^6;
sbit en=P3^5;
部分定义的函数:
void delay(unsigned int) ; //延迟函数用于创建指定的时间延迟
void cmdwrt(unsigned char); //Cmdwrt函数用于向 1602 LCD显示器发送命令
void datawrt(unsigned char); datawrt函数用于向 1602 LCD显示器发送数据
char rxdata(void);//Rxdata函数用于从串口接收数据
配置 8051单片机进行串行通信:
TMOD= 0x20;//TMOD 寄存器配置为 0x20 用于定时器 1,模式 2(自动重载)
SCON=0x50;//SCON 寄存器配置为0x50 用于 8 个数据位、1 个停止位和接收使能
TH1=0xfd;//TH1 寄存器加载 0xfd,波特率为每秒 9600 位
TR1=1;//TR1=1 用于启动定时器
初始化1602 :
unsigned char cmd[]={0x38,0x01,0x06,0x0c,0x80};//1602初始化命令
for(i=0;i<5;i++)
{cmdwrt (cmd[i]);delay (1);
}
处理RFID的数据
在8051单片机的串行接口接收 EM-18 RFID阅读器的输出并存储在一个数组中。Count用于接收到的字节数。一旦接收到12 字节的数据,就将其显示在 1602 液晶显示器上。为了读取不同的卡片,这个过程会永远重复。
while(1){count=0;cmdwrt(0xC2);while(count<12){input[count]=rxdata();count++;}for(i=0;i<12;i++){ datawrt(input[i]);delay(1);}delay(100);
}
向 1602 LCD显示液晶发送命令:
RS(数据/命令) 为低电平时LCD为命令模式。RW(读/写) 为低电平时LCD为写模式。在使能 (E) 引脚上施加高到低脉冲(下降沿)以启动命令写入操作。这些命令通过8051单片机的端口 1 发送到1602 LCD。
void cmdwrt (unsigned char x)
{P1=x;rs=0;rw=0;en=1;delay(1);en=0;
}
将数据发送到 1602 LCD以显示出来:
RS 为高电平时LCD为数据模式。RW 为低电平时LCD为写模式。在使能(E)引脚上施加高到低脉冲(下降沿)以进行数据写入操作。数据/命令通过8051单片机的端口 1发送到1602 LCD。
void datawrt (unsigned char y)
{P1=y;rs=1;rw=0;en=1;delay(1);en=0;
}
基于8051 单片机的 RFID读卡器相关推荐
- B47 - 基于51单片机的RFID停车计费系统
任务摘要 当今社会,交通压力不断增加,智能停车场管理系统是人们对便捷高效交通的一种追求.本智能停车场管理系统运用RFID技术,采用STC8H8K64U单片机.RC522.串口屏.光电传感器实现系统设计 ...
- 基于STM32单片机智能RFID刷卡汽车位锁设计(论文
基于STM32单片机智能RFID刷卡汽车位锁设计(论文) 摘要 在车位日益紧张的今天,如何避免私家车位被他人抢占,是令人头痛的事.日前面市的一种新型车位锁,不仅有效解决了这一问题,还可对车辆起到防盗作 ...
- 基于STM32单片机智能RFID刷卡汽车位锁设计(开题报告)
基于STM32单片机智能RFID刷卡汽车位锁设计(开题报告) 文章目录 基于STM32单片机智能RFID刷卡汽车位锁设计(开题报告) 一.课题的背景及意义 二.国内外研究状况: 三.系统功能分析及体系 ...
- 基于STM32单片机的RFID门禁显示系统
基于STM32单片机的RFID门禁显示系统 本设计由STM32F103C8T6单片机最小系统+RFID-RC522模块+继电器模块+蜂鸣器电路+LCD1602液晶显示电路+按键电路+电源电路组成 1. ...
- 单片机8位数码管时钟c语言汇编,基于8051单片机和DS12C8878位数码管显示的时钟.docx...
基于8051单片机和DS12C8878位数码管显示的时钟 #include #include #define sec XBYTE[0xed00]//秒寄存器地址 #define min XBYTE[0 ...
- 基于51单片机射频RFID卡考勤上课上班统计设计
具体实现功能 系统由STC89C52单片机电路+RFID模块电路+1602液晶显示电路+电源电路组成. 具体功能: (1)系统有3张卡,分别代表依次是张三.李四.王二: (2)任何一个人刷卡成功能,1 ...
- 基于51单片机的RFID RC522智能钱包
RFID RC522智能钱包 基于51单片机的RFID RC522智能钱包,这个程序主要演示的是RFID RC522智能钱包中的设置及扣款功能,相信会扣款那么充值也就改一个数字的事,具体的功能要自己根 ...
- 基于 8051单片机的线跟随小车
线跟随小车是一种跟随线的机器,它可以是黑线或白线,线路跟随器感应到线路并越过它.在此项目中,如果感应到白线,会往白线的一侧转弯,直到没有感应到白线,再继续前进. 线跟随小车的原理 线跟随器的概念与光有 ...
- 基于8051单片机实现电子时钟+数字秒表设计
电子时钟+数字秒表设计 概述 设计任务的基本要求 整体方案 电路设计原理 软件设计 元件清单 项目下载地址 概述 电子时钟是一种利用数字电路来显示秒.分.时的计时装置,与传统的机械钟相比,它具有走时准 ...
最新文章
- Python操作JSON和CSV
- python 模拟登陆智联_Python+scrapy爬虫之模拟登陆
- 西门子标准报文1常用_基于Snap7使用C#编程访问西门子PLC系列教程(2)-S7协议
- 具有jOOQ和Java 8的CompletableFuture的异步SQL执行
- codeigniter_如何在浏览器中查看CodeIgniter日志文件
- 09-03-06 FreeEIM 姗姗来迟
- HCIE-Security Day33:IPSec:深入学习ipsec ikev2、IKEV1和IKEV2比较
- logback介绍和配置详解
- 一种基于复制粘贴的cam350邮票孔拼版教程(三) 导出钻孔文件
- 大学二年级-- “赖”在实验室的发明达人
- Mysql压缩包版的安装教程
- gridview的sort_C#教程之Gridview自动排序功能的实现
- MTK 驱动(59)---音频基础知识
- 2022高处安装、维护、拆除考试练习题及答案
- 【YOLOV5-5.x 源码解读】yolo.py
- 车联网群雄逐鹿,通信业将如何掘金?
- 51单片机 - 红外遥控时钟
- html在搜索按钮中加放大镜,点击放大镜搜索图标
- Exception thrown from ApplicationListener handling ContextClosedEvent
- 利用selenium与etree抓取必应图片