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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3030|回復: 1
打印 上一主題 下一主題
收起左側

RC522 MSP340F149讀卡號參考例程

[復制鏈接]
跳轉到指定樓層
樓主
ID:372784 發表于 2018-7-16 18:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
MSP340F149驅動RC522 讀卡
  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                                     ; // 關看門狗
  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';                              //發送換行指令
  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. 函數名稱:HandleConfigMenu
  112. 功    能:處理PC的配置函數
  113. 參    數: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                                     ; // 關看門狗
  133.   BoardConfig(0xf0);
  134.   Init_Port();
  135.   InitUART();
  136.   _EINT()                                            ;
  137.   PcdReset();//復位RC522
  138.   PcdAntennaOn();//開啟天線發射
  139.   DisplayConfigMenu();
  140.   while(1)
  141.   {
  142.         Send1Char('>');
  143.         Send1Char('\n');
  144.         i=Get1Char();
  145.         HandleConfigMenu(i);
  146.   }
  147. }
復制代碼

全部資料51hei下載地址:

MSP430F149è·è¨.rar (90.94 KB, 下載次數: 7)


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

使用道具 舉報

沙發
ID:64696 發表于 2018-7-19 14:46 | 只看該作者
頂起!!!!!!!!!!!!!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久国产一区 | 中文字幕日韩一区 | 午夜激情视频 | 日韩一区二区三区在线观看视频 | 国产高清视频一区 | 久久久激情视频 | 国产成人综合在线 | 精品久久久久久久久久久久 | 中文字幕一区二区三区不卡 | 人妖videosex高潮另类 | 欧美成人一区二区三区 | 日本中文字幕日韩精品免费 | 成人中文字幕在线观看 | 免费在线播放黄色 | 在线免费观看黄视频 | www亚洲精品| 亚洲欧洲在线看 | 日韩精品在线网站 | 国产一区二区三区久久久久久久久 | h片在线播放 | 一区二区三区免费 | 午夜爽爽男女免费观看hd | 亚洲精品在线免费 | 国产精品久久性 | 亚洲网一区 | 久久99精品久久久久久 | 中文字幕一区二区三区四区 | 欧美网址在线观看 | 亚洲成人一区 | 国产第一页在线观看 | 中文字幕乱码视频32 | 欧美日韩国产一区二区三区不卡 | 这里只有精品999 | 黄色毛片在线播放 | 伊人网综合 | 国产日韩欧美 | 欧美一区免费在线观看 | 欧美性大战久久久久久久蜜臀 | 一本色道精品久久一区二区三区 | 国产精品视频在 | 亚洲欧美日韩精品久久亚洲区 |