久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4923|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

RC522 RFID模塊在msp430和51單片機上的程序示例及資料(已調(diào)試)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:382067 發(fā)表于 2018-8-24 08:25 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
已經(jīng)過調(diào)試,而且具有上位機,可配合調(diào)試



說明資料:

單片機源程序如下:
  1.                                                                         //
  2. //===========================================================================//

  3. #include "msp430x14x.h"
  4. #include "PIN_DEF.H"
  5. #include "RC522.H"
  6. #include "UART0_Func.c"
  7. #include "ctype.h"
  8. #include "BoardConfig.h"

  9. unsigned char UID[5],Temp[4]                                       ;
  10. unsigned char RF_Buffer[18]                                        ;
  11. unsigned char Password_Buffer[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}   ; // Mifare One 缺省密碼

  12. char          MBRX[30]                                             ;
  13. char          MBKeyTP[30]                                          ;
  14. char          Event                                                ;
  15. unsigned char DISP_MODE,i                                            ; // 編輯控件顯示模式
  16. unsigned char des_on       = 0                                     ; // DES加密標志
  17. void Key_TP_Task(void)                                             ;

  18. //***************************************************************************//
  19. //                                                                           //
  20. //                 初始化主時鐘: MCLK = XT1×(FLL_FACTOR+1)                  //
  21. //                                                                           //
  22. //***************************************************************************//
  23. void Init_CLK(void)
  24. {
  25.   unsigned int qq;
  26.   WDTCTL     = WDTPW + WDTHOLD                                     ; // 關(guān)看門狗
  27.   BCSCTL1 &= ~XT2OFF;           //打開XT2高速晶體振蕩器  
  28.   do
  29.   {
  30.     IFG1 &= ~OFIFG;           //Clear oscFault flag清除振蕩器失效標志
  31.     for(qq=0xff;qq>0;qq--);
  32.   }while((IFG1&OFIFG));       //oscFault flag still set
  33.   
  34.   BCSCTL2 |= SELM_2;          //MCLK=XT2
  35.   //BCSCTL2 |= DIVM_0;        //控制MCLK不分頻,默認
  36.   
  37.   BCSCTL2 |= SELS;            //SMCLK=XT2
  38.   //BCSCTL2 |= DIVS_0;        //控制SMCLK不分頻,默認
  39. }

  40. void Delay(unsigned int time)
  41. {
  42.   unsigned int i,k                             ;
  43.   for(i=0;i<255;i++)
  44.     for(k=0;k<time;k++)
  45.       _NOP()                                   ;         
  46. }

  47. void Auto_Reader(void)
  48. {
  49.   while(1)
  50.   {
  51.     if(PcdRequest(0x52,Temp)==MI_OK)
  52.     {
  53.       if(Temp[0]==0x04&&Temp[1]==0x00)  
  54.           PutString("MFOne-S50");
  55.         else if(Temp[0]==0x02&&Temp[1]==0x00)
  56.           PutString("MFOne-S70");
  57.         else if(Temp[0]==0x44&&Temp[1]==0x00)
  58.           PutString("MF-UltraLight");
  59.         else if(Temp[0]==0x08&&Temp[1]==0x00)
  60.           PutString("MF-Pro");
  61.         else if(Temp[0]==0x44&&Temp[1]==0x03)
  62.           PutString("MF Desire");
  63.         else
  64.           PutString("Unknown");
  65.       if(PcdAnticoll(UID)==MI_OK)
  66.       {
  67.         PutString0("Card Id is:");
  68.         tochar(UID[0]);
  69.         tochar(UID[1]);
  70.         tochar(UID[2]);
  71.         tochar(UID[3]);
  72.         while (!(IFG1 & UTXIFG0));
  73.         TXBUF0 = '\n';                              //發(fā)送換行指令
  74.                         
  75.         RED_LED_ON                                            ;
  76.         Delay(200)                                           ;
  77.         RED_LED_OFF                                           ;
  78.         Delay(200)                                           ;
  79.       }
  80.     }
  81.   else GRE_LED_OFF                                            ;
  82.   }
  83. }

  84. void Find_Card(void)
  85. {
  86.     if(PcdRequest(0x52,Temp)==MI_OK)
  87.     {
  88.       if(Temp[0]==0x04&&Temp[1]==0x00)  
  89.           PutString("MFOne-S50");
  90.         else if(Temp[0]==0x02&&Temp[1]==0x00)
  91.           PutString("MFOne-S70");
  92.         else if(Temp[0]==0x44&&Temp[1]==0x00)
  93.           PutString("MF-UltraLight");
  94.         else if(Temp[0]==0x08&&Temp[1]==0x00)
  95.           PutString("MF-Pro");
  96.         else if(Temp[0]==0x44&&Temp[1]==0x03)
  97.           PutString("MF Desire");
  98.         else
  99.           PutString("Unknown");
  100.         PutString("SUCCESS!");
  101.     }
  102.     else PutString("Faile!");                                             
  103. }

  104. void Init_Port(void)
  105. {
  106.   P4DIR   =   RF_LPCTL + RF_SS   + RF_SCLK  + RF_DATA_OUT                     ;
  107.   P2DIR |= BIT0+RF_LPCTL + RF_SS   + RF_SCLK  + RF_DATA_OUT;
  108.   P1DIR   =   RF_LPCTL + RF_SS   + RF_SCLK  + RF_DATA_OUT                     ;
  109. }
  110. /*******************************************
  111. 函數(shù)名稱:HandleConfigMenu
  112. 功    能:處理PC的配置函數(shù)
  113. 參    數(shù):inputvalue--接收到的來自PC機的字符
  114. 返回值  :無
  115. ********************************************/
  116. void HandleConfigMenu(uchar inputvalue)
  117. {
  118.     switch(toupper(inputvalue))
  119.     {
  120.     case 'A':
  121.               Auto_Reader();
  122.               break;
  123.     case 'F':
  124.               Find_Card();
  125.               break;
  126.     default:
  127.               DisplayConfigMenu();  
  128.     }
  129. }


  130. void main( void )
  131. {
  132.   WDTCTL     = WDTPW + WDTHOLD                                     ; // 關(guān)看門狗
  133.   BoardConfig(0xf0);
  134.   Init_Port();
  135.   InitUART();
  136.   _EINT()                                            ;
  137.   PcdReset();//復(fù)位RC522
  138.   PcdAntennaOn();//開啟天線發(fā)射
  139.   DisplayConfigMenu();
  140.   while(1)
  141.   {
  142.         Send1Char('>');
  143.         Send1Char('\n');
  144.         i=Get1Char();
  145.         HandleConfigMenu(i);
  146.   }
  147. }
復(fù)制代碼

所有資料51hei提供下載:
RFID在MSP430和51.rar (1.11 MB, 下載次數(shù): 57)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:504416 發(fā)表于 2019-4-8 19:35 | 只看該作者
感謝,學習下
回復(fù)

使用道具 舉報

板凳
ID:409988 發(fā)表于 2019-4-8 21:40 | 只看該作者
厲害厲害,學習
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩一区二区三区在线观看 | 日本高清中文字幕 | 欧美日韩综合 | 亚洲日韩欧美一区二区在线 | 五月婷婷丁香 | 国产一在线 | 一二三四av | 欧美mv日韩mv国产网站91进入 | 午夜综合 | 免费黄色的网站 | 欧美激情网站 | 三级黄色片在线播放 | 日韩欧美大片 | 亚洲成人一区二区 | 国产精品99久久久久久动医院 | 9久久婷婷国产综合精品性色 | 成人av播放 | 日韩免费1区二区电影 | 蜜桃一区二区三区 | 国产成人精品久久久 | 色伊人久久 | 成人网在线看 | 欧美日韩综合精品 | 国产精品久久久久久 | 成人黄色电影在线观看 | 中文成人无字幕乱码精品 | 日本精品一区二区三区在线观看 | 91精品国产91久久久久久 | 羞羞色影院 | 亚洲成人一级 | 久久精品久久久久久 | 欧美 日韩精品 | 日韩精品国产精品 | 视频一区二区在线观看 | 日韩欧美视频在线 | 蜜桃精品视频在线 | 美国一级黄色片 | 影音先锋中文字幕在线观看 | 国产精品一区二区久久 | 91精品综合久久久久久五月天 | 国产亚洲精品91 |