找回密码
 注册
关于网站域名变更的通知
查看: 566|回复: 2
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    开心
    2019-11-21 15:51
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2019-11-8 10:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    最近在用51单片机做一个关于rc522的小项目,刚开始,想先实现最基本的功能,想着刷一下卡,单片机上某一个指示灯就亮,但是现在这个功能实现不了,请教大家能不能帮忙检查一下,看看连线或者程序有什么问题?       首先是程序
    0 f) i0 N) ?8 r9 W+ l! @7 G
    ! a2 S9 W0 `/ Z#include "LPCREG.h"
    % B# X$ j# Z+ y, o) k#include "pindef.h"8 ~7 [+ U& M' n" z6 b# i( p- h! s* p
    #include "mfrc522.h"
    , Z2 z: s  U+ L  A5 i#include <STDIO.H>
    4 W' B2 C0 w6 T, }#include <string.h>) [, ?3 R! E( j' }% E
    unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};$ t3 D: c* e- h4 |
    unsigned char g_ucTempbuf[20];         
    8 m( r. E7 b3 l9 f/ Cvoid InitializeSystem()  Q! v; ]! N2 {" e5 g: j  H4 L7 l
    {- i& W# a8 y! g' n! @& ?: ^
        P0M1 = 0x0; P0M2 = 0x0;
    5 F8 L4 f; g, N! y1 F    P1M1 = 0x0;        P1M2 = 0x0;                     1 G$ B% [# d% g; W  ~) J
        P3M1 = 0x0; P3M2 = 0xFF;4 q& Y- n8 k' b) T
        P0 = 0xFF; P1 = 0xFF; P3 = 0xFF;
    ! B8 Z/ U0 p. Q8 C: t7 B8 g9 ?, i}
    ! D1 Y8 u; s/ W- y3 J5 j% x, ^4 x8 b. c
    # J- @+ B9 T3 a3 d% p
    void main( )
    * ?; G9 e* ]; _  }0 U! d9 Q* i: D" E{   1 K& r% K) Z0 X2 ]
         unsigned char status;
    ) ^- A1 ?( G- o5 K+ y* P* P     InitializeSystem( );) k+ [8 s6 |3 d$ z0 @9 X
         PcdReset();2 e4 q7 Q' @, u+ S0 ^2 w
         PcdAntennaOff();  K5 y. y- D% V! [; _& y! n
         PcdAntennaOn();      
    4 P0 h3 o6 ]9 E6 V- f* u( z4 B     while ( 1 )( l1 U/ d( L- f* ]
         {   2 a  T7 h5 }* r
             status = PcdRequest(PICC_REQALL, g_ucTempbuf);//寻卡
    ; O. Q# Q" K6 q: r- P4 t         IF (status == MI_OK)
    . Q. q- J# \8 S# v) g4 _         {   
    + D2 D( h8 {4 n. k& Z1 q, L2 ~: ?0 @              LED = 0;         
    * U! F3 I# l* M& S; e         }: k8 K' r9 F/ Y7 a
            else
    ' p/ d+ l: @$ m, j9 B              LED1=0;2 @2 z, E' q+ s5 v2 K. m9 n

    ; A* D1 \6 n6 J1 X( i/ n0 |- ?* i+ G8 g7 E  b2 z

    / K3 x% M8 M8 @5 U7 ^    }* O& x, t5 d8 E" u
    }- V- g: d+ T; N/ ?

    ; T) \3 l9 N, l1 T. N( b; U  J( e
    6 j, V# h- V5 ^% F) Q9 H, I
    //端口定义放在MFRC500头文件里9 \4 f% |' u  U
    sbit     MF522_NSS  =P1^3 ;                        //RC500片选
    * Z. a& C& v: c' ]sbit     MF522_SCK  = P1^4;/ A; P4 p6 v/ Z. a' E6 |
    sbit     MF522_SI   = P1^5;
    ' R2 R  f0 l: j& {sbit     MF522_SO   = P1^6;% R( v0 W) _) n' J# @+ ?8 _
    sbit     MF522_RST  = P1^7;                  
    % d# @0 v, T; _//指示灯
    % n# W# k  S( V! Asbit     LED  =    P1^0;2 J# R4 P' s* s6 m! \" q5 B# r) w* _
    sbit     LED1  =    P1^1;* O' b3 |, S2 G

    ; d4 t# B1 H2 j" v4 Z+ q* D连线我都是按照这个定义连的& i8 r: D. Z  Z5 {% w

    ' |: T6 m  X- G$ W0 Y# }不知道为什么连最简单的都实现不了,求教各位,拜托了
    7 g+ y  U+ ^/ ^) n
  • TA的每日心情
    开心
    2020-1-21 15:16
  • 签到天数: 42 天

    [LV.5]常住居民I

    2#
    发表于 2019-11-8 13:40 | 只看该作者
    怀疑是你的spi接口程序有问题,验证方法使用示波器看一下spi总线上的数据,如果有数据,则确定是你程序有问题

    点评

    好的,谢谢,我看看  详情 回复 发表于 2019-11-8 17:23
  • TA的每日心情
    开心
    2019-11-21 15:51
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2019-11-8 17:23 | 只看该作者
    zyl0504 发表于 2019-11-8 13:40% |% r) {: t1 T  c% i) c8 @
    怀疑是你的spi接口程序有问题,验证方法使用示波器看一下spi总线上的数据,如果有数据,则确定是你程序有问 ...
    7 P7 l$ `, i1 F+ q9 E% L
    好的,谢谢,我看看8 L+ I9 a* D1 i" O* P7 s) |
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

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

    GMT+8, 2025-8-21 11:30 , Processed in 0.156250 second(s), 30 queries , Gzip On.

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

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

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