请选择 进入手机版 | 继续访问电脑版

EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 648|回复: 0

[资料共享] mps430与rc522模块

[复制链接]

69

主题

0

回帖

243

E币

技术员

Rank: 2

积分
138
发表于 2017-5-2 14:40:10 | 显示全部楼层 |阅读模式
主程序
IC-S50数据手册.PDF (145.92 KB, 下载次数: 0)

MFRC522数据手册.pdf (2.41 MB, 下载次数: 0)

S50非接触式IC卡性能简介(M1).doc (108 KB, 下载次数: 0)

                                                                      //
//===========================================================================//
#include "msp430x14x.h"
#include "PIN_DEF.H"
#include "RC522.H"
#include "UART0_Func.c"
#include "ctype.h"
#include "BoardConfig.h"
unsigned char UID[5],Temp[4]                                       ;
unsigned char RF_Buffer[18]                                        ;
unsigned char Password_Buffer[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}   ; // Mifare One 缺省密码
char          MBRX[30]                                             ;
char          MBKeyTP[30]                                          ;
char          Event                                                ;
unsigned char DISP_MODE,i                                            ; // 编辑控件显示模式
unsigned char des_on       = 0                                     ; // DES加密标志
void Key_TP_Task(void)                                             ;
//***************************************************************************//
//                                                                           //
//                 初始化主时钟: MCLK = XT1×(FLL_FACTOR+1)                  //
//                                                                           //
//***************************************************************************//
void Init_CLK(void)
{
  unsigned int qq;
  WDTCTL     = WDTPW + WDTHOLD                                     ; // 关看门狗
  BCSCTL1 &= ~XT2OFF;           //打开XT2高速晶体振荡器  
  do
  {
    IFG1 &= ~OFIFG;           //Clear oscFault flag清除振荡器失效标志
    for(qq=0xff;qq>0;qq--);
  }while((IFG1&OFIFG));       //oscFault flag still set
  
  BCSCTL2 |= SELM_2;          //MCLK=XT2
  //BCSCTL2 |= DIVM_0;        //控制MCLK不分频,默认
  
  BCSCTL2 |= SELS;            //SMCLK=XT2
  //BCSCTL2 |= DIVS_0;        //控制SMCLK不分频,默认
}
void Delay(unsigned int time)
{
  unsigned int i,k                             ;
  for(i=0;i<255;i++)
    for(k=0;k<time;k++)
      _NOP()                                   ;   
}
void Auto_Reader(void)
{
  while(1)
  {
    if(PcdRequest(0x52,Temp)==MI_OK)
    {
      if(Temp[0]==0x04&&Temp[1]==0x00)  
          PutString("MFOne-S50");
        else if(Temp[0]==0x02&&Temp[1]==0x00)
          PutString("MFOne-S70");
        else if(Temp[0]==0x44&&Temp[1]==0x00)
          PutString("MF-UltraLight");
        else if(Temp[0]==0x08&&Temp[1]==0x00)
          PutString("MF-Pro");
        else if(Temp[0]==0x44&&Temp[1]==0x03)
          PutString("MF Desire");
        else
          PutString("Unknown");
      if(PcdAnticoll(UID)==MI_OK)
      {
        PutString0("Card Id is:");
        tochar(UID[0]);
        tochar(UID[1]);
        tochar(UID[2]);
        tochar(UID[3]);
        while (!(IFG1 & UTXIFG0));
        TXBUF0 = '\n';                              //发送换行指令
                        
        RED_LED_ON                                            ;
        Delay(200)                                           ;
        RED_LED_OFF                                           ;
        Delay(200)                                           ;
      }
    }
  else GRE_LED_OFF                                            ;
  }
}
void Find_Card(void)
{
    if(PcdRequest(0x52,Temp)==MI_OK)
    {
      if(Temp[0]==0x04&&Temp[1]==0x00)  
          PutString("MFOne-S50");
        else if(Temp[0]==0x02&&Temp[1]==0x00)
          PutString("MFOne-S70");
        else if(Temp[0]==0x44&&Temp[1]==0x00)
          PutString("MF-UltraLight");
        else if(Temp[0]==0x08&&Temp[1]==0x00)
          PutString("MF-Pro");
        else if(Temp[0]==0x44&&Temp[1]==0x03)
          PutString("MF Desire");
        else
          PutString("Unknown");
        PutString("SUCCESS!");
    }
    else PutString("Faile!");                                             
}
void Init_Port(void)
{
  P4DIR   =   RF_LPCTL + RF_SS   + RF_SCLK  + RF_DATA_OUT                     ;
  P2DIR |= BIT0+RF_LPCTL + RF_SS   + RF_SCLK  + RF_DATA_OUT;
  P1DIR   =   RF_LPCTL + RF_SS   + RF_SCLK  + RF_DATA_OUT                     ;
}
/*******************************************
函数名称:HandleConfigMenu
功    能:处理PC的配置函数
参    数:inputvalue--接收到的来自PC机的字符
返回值  :无
********************************************/
void HandleConfigMenu(uchar inputvalue)
{
    switch(toupper(inputvalue))
    {
    case 'A':
              Auto_Reader();
              break;
    case 'F':
              Find_Card();
              break;
    default:
              DisplayConfigMenu();  
    }
}

void main( void )
{
  WDTCTL     = WDTPW + WDTHOLD                                     ; // 关看门狗
  BoardConfig(0xf0);
  Init_Port();
  InitUART();
  _EINT()                                            ;
  PcdReset();//复位RC522
  PcdAntennaOn();//开启天线发射
  DisplayConfigMenu();
  while(1)
  {
        Send1Char('>');
        Send1Char('\n');
        i=Get1Char();
        HandleConfigMenu(i);
  }
}

8-M1卡的安全问题及华东师大的应对策略.pdf

158.44 KB, 下载次数: 0, 下载积分: E币 -5 元

13.56MHz天线设计.pdf

134.33 KB, 下载次数: 0, 下载积分: E币 -5 元

13.56M设计规范.pdf

426.7 KB, 下载次数: 0, 下载积分: E币 -5 元

Dismantling MIFARE Classic.pdf

566.07 KB, 下载次数: 0, 下载积分: E币 -5 元

ht-ide3000.pdf

1.74 MB, 下载次数: 0, 下载积分: E币 -5 元

MSP430 单片机与CPU 卡接口函数设计.pdf

207.46 KB, 下载次数: 0, 下载积分: E币 -5 元

RC500-FM1702XX比较.pdf

104.16 KB, 下载次数: 0, 下载积分: E币 -5 元

RFID读写器天线的研究与设计.pdf

129.41 KB, 下载次数: 0, 下载积分: E币 -5 元

RFID天线研究与设计.pdf

129.41 KB, 下载次数: 0, 下载积分: E币 -5 元

低功耗无磁水表中射频卡读写器的设计.pdf

195.42 KB, 下载次数: 0, 下载积分: E币 -5 元

高速和资源节约型数据加密算法设计.pdf

121.54 KB, 下载次数: 0, 下载积分: E币 -5 元

基于MF RC500的RFID读写器的天线及匹配电路设计.doc

113 KB, 下载次数: 0, 下载积分: E币 -5 元

基于TRF7960 读写器硬件部分设计中应注意的地方.pdf

205.68 KB, 下载次数: 0, 下载积分: E币 -5 元

近耦合射频识别系统的工作原理及天线设计.pdf

59.07 KB, 下载次数: 0, 下载积分: E币 -5 元

设计MF RC500 的匹配电路和天线的应用指南.pdf

959.06 KB, 下载次数: 0, 下载积分: E币 -5 元

无源电子标签读卡器防冲突检测及天线设计.pdf

1.62 MB, 下载次数: 0, 下载积分: E币 -5 元

远距离RFID天线设计.doc

51 KB, 下载次数: 0, 下载积分: E币 -5 元

阻抗匹配.doc

44 KB, 下载次数: 0, 下载积分: E币 -5 元

积分规则
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2024-3-29 20:31 , Processed in 0.041001 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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