用51单片机验证RC522和射频卡是否通讯成功,但是最基本的功能也没实现,求教各位

2019-07-18 17:13发布

       最近在用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;

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

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




接线图 接线图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
cwwei
1楼-- · 2019-07-20 03:15
我也在调试这个,先看看资料,保证上电后硬件正常工作,例如一些脚电压正常(电源脚,掉电脚),然后示波器看spi时序对否
2楼-- · 2019-07-20 06:53
我也在做这个,只是之前用的例程。在51单片机上可以用,就没太深入了解,但是现在需要移植到STC15W4K的芯片上,想着改改头文件就可以了,但是并没有成功。。。。求教!
纳言西
3楼-- · 2019-07-20 11:20
1º 发表于 2016-4-27 22:25
我也在做这个,只是之前用的例程。在51单片机上可以用,就没太深入了解,但是现在需要移植到STC15W4K的芯片上,想着改改头文件就可以了,但是并没有成功。。。。求教!

你能把单片机做的那个验证的代码发给我吗?我没有头文件
纳言西
4楼-- · 2019-07-20 12:33
1º 发表于 2016-4-27 22:25
我也在做这个,只是之前用的例程。在51单片机上可以用,就没太深入了解,但是现在需要移植到STC15W4K的芯片上,想着改改头文件就可以了,但是并没有成功。。。。求教!

能把你的单片机的程序发过来吗?我没有头文件
风马少年
5楼-- · 2019-07-20 15:03
 精彩回答 2  元偷偷看……
宁凌筱
6楼-- · 2019-07-20 18:51
模块接5V都直接烧……掉了
另外,要想知道怎么用它,还需要先了解RFID的IC卡通信原理

一周热门 更多>