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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    最近在用51单片机做一个关于rc522的小项目,刚开始,想先实现最基本的功能,想着刷一下卡,单片机上某一个指示灯就亮,但是现在这个功能实现不了,请教大家能不能帮忙检查一下,看看连线或者程序有什么问题?       首先是程序0 S- x4 r% R( ~2 _2 i

    ' y6 W+ L8 b* e& J8 j/ u#include "LPCREG.h"
    9 Y% y8 H) H/ r# ^& Z% ~% z' v' s#include "pindef.h"
    * k" a, j) v% S! P+ @8 D- ^#include "mfrc522.h"" g& _+ h0 c; w! o! n6 K
    #include <STDIO.H>
    0 I3 R4 }# |) v: {#include <string.h>
    3 G9 Z( Q5 E8 g% n0 [) m' ?" Qunsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
    9 ^6 n7 L2 e$ l: Iunsigned char g_ucTempbuf[20];         ' c1 w! L. V+ Y# C# k8 c' E
    void InitializeSystem()
    0 a" ?' H8 f$ k# y% z8 t) v2 D{
    1 A! q- g% l& F    P0M1 = 0x0; P0M2 = 0x0;
    $ s2 P  X2 q* @! M+ M% ?    P1M1 = 0x0;        P1M2 = 0x0;                     7 s+ M0 e2 F) K* N  o4 v+ i+ z2 {
        P3M1 = 0x0; P3M2 = 0xFF;* y( F: E  K! G/ y, p
        P0 = 0xFF; P1 = 0xFF; P3 = 0xFF;% W4 U' x8 I3 d% j/ R; k
    }" Y' D4 N! [9 a- N3 I' l

    4 X$ v1 @2 b' o6 W& S9 ^
    0 J0 n1 L, M5 w5 N. s3 L7 J! hvoid main( )% ~) e( ?6 a2 K; j" B3 j
    {   
    " m- @% y+ x8 e6 E5 b6 m8 V- J9 @     unsigned char status;" w9 R2 E6 ~" u+ O
         InitializeSystem( );5 m6 {: X) z/ D
         PcdReset();% r0 `2 n; F6 z$ z+ S0 B" i
         PcdAntennaOff();* W+ u, y; g. R- M! q
         PcdAntennaOn();      + E8 Y7 [0 R7 u) [
         while ( 1 )
    9 }2 X2 m( X. M4 j% o     {   
    $ j6 n9 [, X. Y: V4 T) Z         status = PcdRequest(PICC_REQALL, g_ucTempbuf);//寻卡  i) L! l% k: d/ a! E
             IF (status == MI_OK)
    ; O/ h& R; S7 k* J4 i( u         {   ! q% \7 s7 ~8 Z0 d$ p! E
                  LED = 0;         
    3 m5 `" v, }' S, S+ P1 v$ T         }
    ; J% J; K* ~' A: v  H; Z; r- S        else
    # Z8 {+ l) H& T* W$ n              LED1=0;
    ( f: R! H! I, ~$ |. O( ?/ }% z6 ^  x5 ^

    ! H) K% _2 h8 T, x; q3 q/ I9 C. Z
    ) j1 l4 |! h: Q# i; R) e    }- W+ J( V' q* u
    }/ J0 w* i' c7 x

    1 T. f# x* \/ X# q( u+ H
    , d+ Q9 g# d  T2 n6 W/ D0 c' K
    ' q3 A6 P; B' |7 F//端口定义放在MFRC500头文件里
    % p+ H& W# D; b1 z6 r3 Msbit     MF522_NSS  =P1^3 ;                        //RC500片选, m. F7 z" V: P, u! q# J
    sbit     MF522_SCK  = P1^4;
    2 q, T  D* m8 o  Rsbit     MF522_SI   = P1^5;
    & r6 M: a) _' z; W+ G& Xsbit     MF522_SO   = P1^6;
    2 |  o; b4 Z4 z/ S0 ^+ m9 ?sbit     MF522_RST  = P1^7;                  6 Y6 F8 E) z% G, l. K
    //指示灯
    ) h; `! n* o1 u; q& h% o5 P, f5 Asbit     LED  =    P1^0;' m: A3 }% ^  y- }' k( @/ C
    sbit     LED1  =    P1^1;
    . l5 J. M2 S  a4 [& o; E+ c$ V
    9 a4 b! @% _: a' [7 t% u- y连线我都是按照这个定义连的! U* |3 t2 f, g5 \

    # H8 u0 b% c( g不知道为什么连最简单的都实现不了,求教各位,拜托了6 t( ?4 E  m7 {
  • 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:409 l' K: d- q- w. S- x" }
    怀疑是你的spi接口程序有问题,验证方法使用示波器看一下spi总线上的数据,如果有数据,则确定是你程序有问 ...

    6 m  n& k0 t8 Q" z3 D+ o好的,谢谢,我看看
    ) F- @$ q" [. Y1 z8 Y$ t
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-25 03:57 , Processed in 0.078125 second(s), 27 queries , Gzip On.

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

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

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