资源简介
本代码实现了MFRC522与89C52的通信,删除了一些不必要的部分,整合了网上的代码,添加了具体的注释和意义,可读性更大,能够帮助初学者快速的掌握MFRC522和89C52的通信协议,实现射频打开的功能,本例程可采用1602和12864实时观察输出效果。
代码片段和文件信息
#include
#include
#include
unsigned char UID[5]Temp[4];
unsigned char code DefaultKey[6] = {0xFF 0xFF 0xFF 0xFF0xFF0xFF};
unsigned char datain[16] = {0x320x300x310x350x340x300x360x300x340x300x360x380x360x360x360x36};
unsigned char dataout[16];
unsigned char status;
void feeb(){ //寻卡成功响应函数
ff=0;
delay_10ms(1);
ff=1;
delay_10ms(1);
}
void show(void)
{
unsigned char i;
init_1602();
for(i=0;i<16;i++)
{
write_data(dataout[i]);}
}
void Auto_Reader(void){
while(1){
if(PcdRequest(0x52Temp)==MI_OK){ //
xun=0;
if(PcdAnticoll(UID)==MI_OK){ //
fang=0;
if(PcdSelect(UID)==MI_OK){
xuan=0;
if(PcdAuthState(0x606DefaultKeyUID)==MI_OK)
{
yan=0;
if(PcdRead(6dataout)==MI_OK){
if(status==MI_OK) {read=0;}
if(PcdHalt()==MI_OK)
xiu=0;
break;}}}}
}else P1=0xff;
}
}
void InitializeSystem(){
ES=0; //关中断
SCON = 0x50; // REN=1允许串行接受状态,串口工作模式1
//10位UART(1位起始位,8位数据位,1位停止位,无奇偶校验),波特率可变
TMOD = 0x21; // 定时器1工作于方式2,1weiyugongzuofangshi1 8位自动重载模式 用于产生波特率
TH1=TL1=0xFD; // 波特率9600 (本次测试采用晶振为11.0592)
PCON &= 0x7f; // 波特率不倍增
TR1 = 1; //定时器1开始工作,产生波特率
//发送标志位置0
TI=0; //接收标志位置0
RI=0;
ES=1;
PcdReset();
PcdAntennaOff();
PcdAntennaOn();
M500PcdConfigISOType( ‘A‘ );
}
void isr_UART(void) interrupt 4 using 1{
unsigned char i;
if(TI){
TI=0;
for(i=0;i<16;i++){
SBUF=dataout[i];
while(!TI);
TI=0;
}
REN=1;
}
}
void main( ){
InitializeSystem( );
Auto_Reader();
show();
send(dataout);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-05-07 14:42 89C52_RC522 - 读卡\
文件 2013 2017-05-07 14:42 89C52_RC522 - 读卡\MAIN.c
文件 1288 2017-05-01 10:28 89C52_RC522 - 读卡\MAIN.H
文件 5058 2017-05-07 14:42 89C52_RC522 - 读卡\MAIN.LST
文件 13906 2017-05-07 14:42 89C52_RC522 - 读卡\MAIN.OBJ
文件 5666 2017-05-01 12:44 89C52_RC522 - 读卡\MFRC522.H
文件 43619 2017-05-07 14:42 89C52_RC522 - 读卡\RC522
文件 16703 2017-05-01 12:44 89C52_RC522 - 读卡\RC522.C
文件 7167 2017-05-07 14:42 89C52_RC522 - 读卡\RC522.hex
文件 55 2017-05-07 14:42 89C52_RC522 - 读卡\RC522.lnp
文件 27420 2017-05-07 14:42 89C52_RC522 - 读卡\RC522.LST
文件 36369 2017-05-07 14:42 89C52_RC522 - 读卡\RC522.M51
文件 36345 2017-05-07 14:42 89C52_RC522 - 读卡\RC522.OBJ
文件 2554 2017-05-01 17:24 89C52_RC522 - 读卡\RC522.Opt
文件 2216 2017-04-29 17:51 89C52_RC522 - 读卡\RC522.Uv2
文件 2519 2017-05-01 14:01 89C52_RC522 - 读卡\RC522_Opt.Bak
文件 2289 2016-01-06 00:12 89C52_RC522 - 读卡\RC522_Uv2.Bak
文件 6376 2005-03-22 15:22 89C52_RC522 - 读卡\STARTUP.A51
文件 14061 2014-01-31 11:51 89C52_RC522 - 读卡\STARTUP.LST
文件 749 2014-01-31 11:51 89C52_RC522 - 读卡\STARTUP.OBJ
- 上一篇:CCS5.1-5.4可用licence
- 下一篇:简易交通灯的仿真电路图
相关资源
- 单片机温湿度检测源代码 dht11 lcd160
- 介绍一种LED小灯控制系统的设计方法
- DHT11温湿度 1602显示 89C52单片机
- STC89C52单片机最小系统原理图、PCB文件
- IIC总线读写AT24C02BEEPROM源程序 有详细
- AT89C52 单片机 原理图
- 电子钟DS1302+LCD1602+89C52+proteus仿真图
- RC522基于STC89C52 带上位机C源程序
- 12864显示,protus仿真
- adc0808简单的实验用lcd1602显示电压有仿
- 基于STC89c52 的环境数据采集 DHT11+BH
- 基于stc89c52单片机的水温控制系统
- 基于stc89c52单片机的智能计算器代码
- 基于STC89C52单片机的测速计设计
- STC89C52+LCD1602+DS1302电子时钟
- STC89C52单片机与HC-06模块下位机测试程
- 基于89C52的激光琴
- 恒温水箱温度控制系统设计.zip
- 基于AT89C52单片机的万年历protel原理图
- 基于AT89C52单片机智能小车的设计.pd
- 智能搬运小车AT89C52一共2个资源
- 基于51单片机温控风扇
- AT89C52自带EEPROM的使用
- 1602 基于89C51单片机的DS18B20恒温控制系
- 89C52单片机通过LCD1602显示任意长度字
- AT89C52扩展外部双口RAM(IDT7132)
- AT89C52单片机开发板完整Proteus仿真图
- keil程序stc89c52/51rc读取rfid rc522射频卡
- STC89c52驱动
- 基于AT89C52单片机的步进电机控制系统
评论
共有 条评论