最近在用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 Ini
tializeSystem()
{
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;
连线我都是按照这个定义连的
不知道为什么连最简单的都实现不了,求教各位,拜托了
-
接线图
没试过用万用表测,窝也不确定,妮问下大神吧
如果一直为零那应该是没起振的
针对这个问题,那应该不是程序的问题吧,因为我是照着网上的例程改的,用I/O口模拟SPI通信,用P1.4口连接RC522的SCK端口,按照它程序里的定义,应该就是单片机提供时钟信号吧,那会不会是我焊排针的时候出问题了,求解答
这个情况最好找商家技术支持,他们对自己的模块比较了解,还可以让他们看下你的程序,我还只是个小菜鸡
一周热门 更多>