找回密码
 注册

扫一扫,访问微社区

武汉站-11月17日EDA365电子硬件技术研讨会
查看: 70|回复: 2

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

[复制链接]
发表于 2019-11-8 10:16 | 显示全部楼层 |阅读模式

EDA365欢迎您登录!

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

x
最近在用51单片机做一个关于rc522的小项目,刚开始,想先实现最基本的功能,想着刷一下卡,单片机上某一个指示灯就亮,但是现在这个功能实现不了,请教大家能不能帮忙检查一下,看看连线或者程序有什么问题?       首先是程序
9 F$ ?' Q- p1 p' B7 k; U+ t+ h# n8 Y! @
#include "LPCREG.h"
* h, x3 V) X: I8 {- o#include "pindef.h"
6 ]" a/ b8 s. K2 c9 g& {#include "mfrc522.h"3 A* u0 ?0 Q; T: f7 T
#include <STDIO.H>
0 Y5 W$ M  {* q* J+ j6 c#include <string.h>) W; A+ {2 P  U: x( A3 ^2 d
unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
; D; e& A( r7 o6 \" ^7 }8 `, Vunsigned char g_ucTempbuf[20];         
* ~& d0 P8 n/ _7 t' {  B& K; lvoid InitializeSystem()
% a6 c% q5 `) A* |3 X, Q{8 I3 L% J8 n- c2 o( J' i2 h2 j# _
    P0M1 = 0x0; P0M2 = 0x0;. A2 h8 N. @( k5 _- p
    P1M1 = 0x0;        P1M2 = 0x0;                     * U% J8 A5 B" c+ p! {
    P3M1 = 0x0; P3M2 = 0xFF;( ]8 ^+ f- L. d7 s4 V3 m& j
    P0 = 0xFF; P1 = 0xFF; P3 = 0xFF;2 q1 G. u: Z7 c" ^
}- k  Y, R2 b8 X  n" b) ?% {

* u' L6 h3 N- }1 n" x6 W: E6 i# a! g( B$ i9 X. e
void main( )( n/ j: x7 Q, w2 H
{   , e# d$ C- J& Z6 R9 e3 ^
     unsigned char status;
3 Y1 ~/ f1 y5 I7 e9 `; Q: p8 t     InitializeSystem( );
4 J" V3 @$ f1 d+ ]& O0 D     PcdReset();, G4 X3 _" f$ k9 L& i; [/ {) s/ `
     PcdAntennaOff();
7 ]4 I) W, Z" n: J# e' I' ?     PcdAntennaOn();      : F# L# `" e5 {% `! x
     while ( 1 ). m; {2 F/ G, z+ L
     {   
/ w' }% Q$ t# y- ?9 P% \; T' o         status = PcdRequest(PICC_REQALL, g_ucTempbuf);//寻卡
0 q% ?; d: {; l! b  x& I. k         IF (status == MI_OK)+ M+ n0 W; z0 S0 G
         {   8 u3 j7 v$ |+ F/ |) g" C
              LED = 0;         4 c! X$ R; A7 b( c) B$ Z. r
         }* {& [0 V$ t) s, u( n
        else9 Y. S2 ]! ], O& Z  D
              LED1=0;
' o5 m& r& z; J  c
; n4 R" ^# ?, z0 l* z' K2 w
- U# D5 w3 h3 O' J$ x9 I3 G, k! ]* v  [7 w! i8 v" l
    }, B- X- b8 z# E) L9 \* p
}! b! N9 r: E! B  Z6 p

7 X- z4 U! j0 R& c. K
/ |5 y7 x, k; C( \3 C0 @3 z# H7 h) K& [1 D8 Z0 |
//端口定义放在MFRC500头文件里
, l- Y. [$ }% j/ ]3 `. Q6 ssbit     MF522_NSS  =P1^3 ;                        //RC500片选
7 n" P+ C7 T7 }- W, usbit     MF522_SCK  = P1^4;" t9 K3 x9 J8 a* W: Z) t& }
sbit     MF522_SI   = P1^5;( J) r3 ~8 o) P3 P
sbit     MF522_SO   = P1^6;) A6 |! \# W) P. j# b7 ~
sbit     MF522_RST  = P1^7;                  9 J, n* [3 x% g
//指示灯
* l$ Z' ^7 @, W/ Z+ p* dsbit     LED  =    P1^0;
; H5 y4 U" l6 W$ Q) e: ~+ c: Dsbit     LED1  =    P1^1;
( ]) j( j0 x3 a9 B& F: s4 @
7 v/ {6 E0 ?+ V连线我都是按照这个定义连的
- g) D8 d# k+ D- B/ B* m
9 W0 j& K/ {1 O! l不知道为什么连最简单的都实现不了,求教各位,拜托了
7 B0 Y4 _+ ?% ^* V8 k- T, z
152431g0x9kwpxf7zqzww3.jpg.thumb.jpg
发表于 2019-11-8 13:40 | 显示全部楼层
怀疑是你的spi接口程序有问题,验证方法使用示波器看一下spi总线上的数据,如果有数据,则确定是你程序有问题

点评

好的,谢谢,我看看  详情 回复 发表于 2019-11-8 17:23
 楼主| 发表于 2019-11-8 17:23 | 显示全部楼层
zyl0504 发表于 2019-11-8 13:401 ]; z% w, t& g# \; K; a- u: i" C
怀疑是你的spi接口程序有问题,验证方法使用示波器看一下spi总线上的数据,如果有数据,则确定是你程序有问 ...

! n5 [' O3 Z8 T' p好的,谢谢,我看看0 @( U) [8 Q3 N& N( [
您需要登录后才可以回帖 登录 | 注册

本版积分规则

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号 )

GMT+8, 2019-11-14 02:11 , Processed in 0.140625 second(s), 21 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19925233282

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