发 帖  
[问答] 用51单片机验证RC522和射频卡是否通讯成功,但是最基本的功能也没实现,求教各位
2016-1-18 15:30:43  6838 51单片机 RC522 射频
收藏 1 收藏 推荐 0 推荐
分享
       最近在用51单片机做一个关于RC522的小项目,刚开始,想先实现最基本的功能,想着刷一下卡,单片机上某一个指示灯就亮,但是现在这个功能实现不了,请教大家能不能帮忙检查一下,看看连线或者程序有什么问题?       首先是程序

#include "LPCREG.h"
#include "pindef.h"
#include "mfrc522.h"
#include <STDIO.H>
#include <string.h>
unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
unsigned char g_ucTempbuf[20];         
void InitializeSystem()
{
    P0M1 = 0x0; P0M2 = 0x0;
    P1M1 = 0x0;        P1M2 = 0x0;                     
    P3M1 = 0x0; P3M2 = 0xFF;
    P0 = 0xFF; P1 = 0xFF; P3 = 0xFF;
}


void main( )
{   
     unsigned char status;
     InitializeSystem( );
     PcdReset();
     PcdAntennaOff();
     PcdAntennaOn();      
     while ( 1 )
     {   
         status = PcdRequest(PICC_REQALL, g_ucTempbuf);//寻卡
         if (status == MI_OK)
         {   
              LED = 0;         
         }
        else
              LED1=0;



    }
}



//端口定义放在MFRC500头文件里
sbit     MF522_NSS  =P1^3 ;                        //RC500片选
sbit     MF522_SCK  = P1^4;
sbit     MF522_SI   = P1^5;
sbit     MF522_SO   = P1^6;
sbit     MF522_RST  = P1^7;                  
//指示灯
sbit     LED  =    P1^0;
sbit     LED1  =    P1^1;

连线我都是按照这个定义连的

不知道为什么连最简单的都实现不了,求教各位,拜托了




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2016-1-18 15:30:43   评论 邀请回答
24个回答
淘宝网上卖这种模块的店家,在详情页那里提供有模块的参考程序下载链接的,你去下载看看!
2016-1-19 00:21:44 评论

举报

mhx321 发表于 2016-1-19 00:21
淘宝网上卖这种模块的店家,在详情页那里提供有模块的参考程序下载链接的,你去下载看看!

嗯嗯,我就是根据卖家提供的例程改的,但是实现不了,我不知道是什么原因,所以编了一个最简单的程序,结果还是出不来,不知道到底哪有问题
2016-1-19 09:05:43 评论

举报

这个最好先确认下单片机和射频那边的晶振起振没,要是没起振是检测不到卡的
2016-1-19 09:36:54 评论

举报

sheldor0321 发表于 2016-1-19 09:36
这个最好先确认下单片机和射频那边的晶振起振没,要是没起振是检测不到卡的

麻烦问一下,晶振是否起振怎么检测啊
2016-1-19 10:14:16 评论

举报

zzh3301 发表于 2016-1-19 10:14
麻烦问一下,晶振是否起振怎么检测啊

上电后用示波器检测哈,正常应该是正弦波的
2016-1-19 10:24:03 评论

举报

sheldor0321 发表于 2016-1-19 10:24
上电后用示波器检测哈,正常应该是正弦波的

实验室没有示波器,可以用万用表吗
2016-1-19 10:26:37 评论

举报

sheldor0321 发表于 2016-1-19 10:24
上电后用示波器检测哈,正常应该是正弦波的

大哥,我刚才按照网上的方法试了一下,RC522上晶振的引脚两端电压为零,51单片机上晶振的引脚两端电压不为零,这是不是就是说,RC522的晶振没起振
2016-1-19 11:06:24 评论

举报

zzh3301 发表于 2016-1-19 10:26
实验室没有示波器,可以用万用表吗

没试过用万用表测,窝也不确定,妮问下大神吧
2016-1-19 11:06:30 评论

举报

zzh3301 发表于 2016-1-19 11:06
大哥,我刚才按照网上的方法试了一下,RC522上晶振的引脚两端电压为零,51单片机上晶振的引脚两端电压不为零,这是不是就是说,RC522的晶振没起振

如果一直为零那应该是没起振的
2016-1-19 11:15:08 评论

举报

sheldor0321 发表于 2016-1-19 11:15
如果一直为零那应该是没起振的

针对这个问题,那应该不是程序的问题吧,因为我是照着网上的例程改的,用I/O口模拟SPI通信,用P1.4口连接RC522的SCK端口,按照它程序里的定义,应该就是单片机提供时钟信号吧,那会不会是我焊排针的时候出问题了,求解答
2016-1-19 11:22:21 评论

举报

zzh3301 发表于 2016-1-19 11:22
针对这个问题,那应该不是程序的问题吧,因为我是照着网上的例程改的,用I/O口模拟SPI通信,用P1.4口连接RC522的SCK端口,按照它程序里的定义,应该就是单片机提供时钟信号吧,那会不会是我焊排针的时候出问题了,求解答

这个情况最好找商家技术支持,他们对自己的模块比较了解,还可以让他们看下你的程序,我还只是个小菜鸡
2016-1-19 17:28:23 评论

举报

sheldor0321 发表于 2016-1-19 17:28
这个情况最好找商家技术支持,他们对自己的模块比较了解,还可以让他们看下你的程序,我还只是个小菜鸡

谢谢你,你已经帮我很多了
2016-1-19 20:46:58 评论

举报

我也在调试这个,先看看资料,保证上电后硬件正常工作,例如一些脚电压正常(电源脚,掉电脚),然后示波器看spi时序对否
2016-4-19 10:09:44 评论

举报

我也在做这个,只是之前用的例程。在51单片机上可以用,就没太深入了解,但是现在需要移植到STC15W4K的芯片上,想着改改头文件就可以了,但是并没有成功。。。。求教!
2016-4-27 22:25:26 评论

举报

1º 发表于 2016-4-27 22:25
我也在做这个,只是之前用的例程。在51单片机上可以用,就没太深入了解,但是现在需要移植到STC15W4K的芯片上,想着改改头文件就可以了,但是并没有成功。。。。求教!

你能把单片机做的那个验证的代码发给我吗?我没有头文件
2016-5-1 15:16:32 评论

举报

1º 发表于 2016-4-27 22:25
我也在做这个,只是之前用的例程。在51单片机上可以用,就没太深入了解,但是现在需要移植到STC15W4K的芯片上,想着改改头文件就可以了,但是并没有成功。。。。求教!

能把你的单片机的程序发过来吗?我没有头文件
2016-5-1 15:17:34 评论

举报

sheldor0321 发表于 2016-1-19 10:24
上电后用示波器检测哈,正常应该是正弦波的

是用示波器接晶振的两个管脚吗?
2017-4-29 12:40:02 评论

举报

模块接5V都直接烧……掉了
另外,要想知道怎么用它,还需要先了解RFID的IC卡通信原理
2017-6-30 03:49:29 评论

举报

//指示灯
sbit     LED  =    P1^0;
sbit     LED1  =    P1^1;
楼主,这个LED灯在哪?怎么连啊?
2017-8-30 17:57:58 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

12下一页
提问题
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表