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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32F103+RFID(RC522)OLED 0.96顯示 源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:46986 發(fā)表于 2017-7-22 10:06 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
該系統(tǒng)以STM32F103C8T6為核心(可自行修改成103系列其他芯片,修改編譯參數(shù))。通過OLED 0.96顯示相關(guān)信息。通過對(duì)RFID模塊(RC522)的控制,讀取RFID標(biāo)簽的信息,并通過串口上傳(可配套相應(yīng)的上位機(jī),完成簡單的考勤,安保等系統(tǒng))

單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "oled.h"
  3. #include "MAIN.h"
  4. #include "mfrc522.h"
  5. #include "usart.h"
  6. #include "string.h"

  7. unsigned char card1[4] = {0xF0,0x1C,0x70,0x3B};  //卡序列號(hào)
  8. unsigned char card2[4] = {0xDE,0x8A,0xDF,0x2B};  //卡序列號(hào)
  9. unsigned char card3[4] = {0xD2,0xB2,0x73,0x5B};
  10. unsigned char card4[4] = {0xB7,0x29,0xDF,0x2B};


  11. unsigned char snr, buf[16]="liu-bridge",bufr[16], TagType[2], SelectedSnr[4], DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};  
  12. unsigned char Read_Data[16],PassWd[6],WriteData[16],RevBuffer[30], MLastSelectedSnr[4],NewKey[16];                        
  13. char cardID[4];
  14. unsigned char kahao;
  15. void findcard();

  16. void GPIO_ini()
  17. {
  18.   GPIO_InitTypeDef  GPIO_InitStructure;
  19.   
  20.   /* Enable the GPIO Clock */
  21.   RCC_APB2PeriphClockCmd(MF522_RST_CLK, ENABLE);

  22.   /* Configure the GPIO pin */
  23.   GPIO_InitStructure.GPIO_Pin = MF522_RST_PIN;
  24.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  25.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

  26.   GPIO_Init(MF522_RST_PORT, &GPIO_InitStructure);
  27.         
  28.   /* Enable the GPIO Clock */
  29.   RCC_APB2PeriphClockCmd(MF522_MISO_CLK, ENABLE);

  30.   /* Configure the GPIO pin */
  31.   GPIO_InitStructure.GPIO_Pin = MF522_MISO_PIN;
  32.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  33.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

  34.   GPIO_Init(MF522_MISO_PORT, &GPIO_InitStructure);
  35.         
  36.   /* Enable the GPIO Clock */
  37.   RCC_APB2PeriphClockCmd(MF522_MOSI_CLK, ENABLE);

  38.   /* Configure the GPIO pin */
  39.   GPIO_InitStructure.GPIO_Pin = MF522_MOSI_PIN;
  40.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  41.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

  42.   GPIO_Init(MF522_MOSI_PORT, &GPIO_InitStructure);
  43.         
  44.   /* Enable the GPIO Clock */
  45.   RCC_APB2PeriphClockCmd(MF522_SCK_CLK, ENABLE);

  46.   /* Configure the GPIO pin */
  47.   GPIO_InitStructure.GPIO_Pin = MF522_SCK_PIN;
  48.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  49.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

  50.   GPIO_Init(MF522_SCK_PORT, &GPIO_InitStructure);
  51.         
  52.   /* Enable the GPIO Clock */
  53.   RCC_APB2PeriphClockCmd(MF522_NSS_CLK, ENABLE);

  54.   /* Configure the GPIO pin */
  55.   GPIO_InitStructure.GPIO_Pin = MF522_NSS_PIN;
  56.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  57.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

  58.   GPIO_Init(MF522_NSS_PORT, &GPIO_InitStructure);
  59.         
  60.   /* Enable the GPIO Clock */
  61.   RCC_APB2PeriphClockCmd(LED_CLK, ENABLE);

  62.   /* Configure the GPIO pin */
  63.   GPIO_InitStructure.GPIO_Pin = LED_PIN;
  64.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  65.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

  66.   GPIO_Init(LED_PORT, &GPIO_InitStructure);
  67. }

  68. void InitializeSystem()
  69. {
  70.         LED_OFF;
  71.         delay_10ms(10);
  72.         PcdReset();
  73.         PcdAntennaOff();
  74.         PcdAntennaOn();  
  75.         M500PcdConfigISOType( 'A' );
  76.         LED_ON;
  77.         delay_10ms(10);        
  78.         LED_OFF;
  79.         delay_10ms(10);
  80.         LED_ON;
  81.         delay_10ms(10);        
  82.         LED_OFF;
  83. }

  84. int i,j;
  85. int main(void)
  86. {        
  87.         char status;
  88.         unsigned char rfidflag;
  89.         unsigned char discnt;
  90.         kahao=0;
  91.         GPIO_ini();  
  92.   InitializeSystem( );
  93.   uart_init(9600);
  94.         OLED_Init();
  95.         //Draw_Logo();
  96.   for(i=0;i<2000;i++)
  97.           for(j=0;j<2000;j++);
  98.         OLED_Fill(0x00);
  99.   OLED_ShowString1(0,0," RFID EPC SYS");
  100.         OLED_ShowString1(0,3," Status:  OK");
  101.         printf("\r\n This is a RFID System \r\n");

  102.         while(1)
  103.         { status= PcdRequest(REQ_ALL,TagType);
  104.                 if(!status)
  105.                 {
  106.                         status = PcdAnticoll(SelectedSnr);
  107.                         if(!status)
  108.                         {
  109.                                 status=PcdSelect(SelectedSnr);
  110.                                 if(!status)
  111.                                 {
  112.                                         snr = 1;  //扇區(qū)號(hào)1
  113.           status = PcdAuthState(KEYA, (snr*4+3), DefaultKey, SelectedSnr);// 校驗(yàn)1扇區(qū)密碼,密碼位于每一扇區(qū)第3塊
  114.                                         {
  115.                                                 if(!status)
  116.                                                 {
  117.                                                         //status = PcdRead((snr*4+0), buf);  // 讀卡,讀取1扇區(qū)0塊數(shù)據(jù)到buf[0]-buf[16]
  118.                                                 //        buf[0]=2;buf[1]=2;buf[2]=3;buf[3]=4;buf[4]=5;buf[6]=1;;buf[7]=1;buf[8]=1;buf[9]=9;
  119.                                 //                        status = PcdWrite((snr*4+0), buf);  // 寫卡,將buf[0]-buf[16]寫入1扇區(qū)0塊
  120.                                                         if(!status)
  121.                                                         {
  122.                                                                 //讀寫成功,點(diǎn)亮LED
  123.                                                                 LED_ON;        
  124.                                                                 PcdAuthState(KEYA, (snr*4+3), DefaultKey, SelectedSnr);
  125.                                                                 status = PcdRead((snr*4+0), bufr);  
  126.                                                                
  127.                                                                 //printf(" %s \r\n",bufr );
  128.                                                     //printf("%s", SelectedSnr);
  129.                                                     findcard();
  130.                                                                 if(kahao==1)
  131.                                                           {  OLED_ShowString1(0,5," ID 1 Pass");
  132.                                                                          printf("%s","#1001[        DISCUZ_CODE_0        ]quot;);
  133.                                                                          discnt=0;
  134.                                                                          rfidflag=1;
  135.                                                                 }
  136.                                                                 else if(kahao==2)
  137.                                                           {  OLED_ShowString1(0,5," ID 2 Pass");
  138.                                                                          printf("%s","#1002[        DISCUZ_CODE_0        ]quot;);
  139.                                                                          discnt=0;
  140.                                                                          rfidflag=1;
  141.                                                                 }
  142.                                                                 else if(kahao==3)
  143.                                                           {  OLED_ShowString1(0,5," ID 3 Pass");
  144.                                                                          printf("%s","#1003[        DISCUZ_CODE_0        ]quot;);
  145.                                                                          discnt=0;
  146.                                                                          rfidflag=1;
  147.                                                                 }
  148.                                                                 else if(kahao==4)
  149.                                                           {  OLED_ShowString1(0,5," ID 4 Pass");
  150.                                                                          printf("%s","#1004[        DISCUZ_CODE_0        ]quot;);
  151.                                                                          discnt=0;
  152.                                                                          rfidflag=1;
  153.                                                                 }                                                               
  154.                                                                 //printf(" %s %s",bufr,SelectedSnr);
  155.                                                                 WaitCardOff();
  156.                                                         }
  157.                                                 }
  158.                                         }
  159.                                 }
  160.                         }
  161.                 }        
  162.                 LED_OFF;
  163.                 if(rfidflag==1)
  164.           { discnt++;
  165.                         if(discnt>200)
  166.                         { OLED_ShowString1(0,5,"          ");
  167.                                 discnt=0;
  168.                                 rfidflag=0;
  169.                         }
  170.                   OLED_DLY_ms(5);
  171.                 }
  172.   }
  173. }

  174. void findcard()
  175. { unsigned char ii;
  176.         for (ii=0;ii<4;ii++)          //比較卡序列號(hào)
  177.   { if (SelectedSnr[ii] != card1[ii])
  178.     { kahao=0;
  179.             break;
  180.           }
  181.           else
  182.           { if (ii==3)
  183.             { kahao=1;
  184.               goto A;
  185.               break;
  186.                   }
  187.           }
  188.   }
  189.   for (ii=0;ii<4;ii++)
  190.   { if (SelectedSnr[ii] != card2[ii])
  191.      { kahao=0;
  192.              break;
  193.            }
  194.            else
  195.            { if (ii==3)
  196.              { kahao=2;
  197.                                  goto A;
  198.                       break;
  199.                    }
  200.            }
  201.   }
  202.         for (ii=0;ii<4;ii++)
  203.   { if (SelectedSnr[ii] != card3[ii])
  204.      { kahao=0;
  205.              break;
  206.            }
  207.            else
  208.            { if (ii==3)
  209.              { kahao=3;
  210.                                  goto A;
  211.                       break;
  212.                    }
  213.            }
  214.   }
  215.         for (ii=0;ii<4;ii++)
  216.   { if (SelectedSnr[ii] != card4[ii])
  217. ……………………

  218. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
STM32_RFID&amp;OLED.rar (300.1 KB, 下載次數(shù): 819)


評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:214312 發(fā)表于 2017-8-31 23:04 | 只看該作者
謝謝分享!1
回復(fù)

使用道具 舉報(bào)

板凳
ID:75585 發(fā)表于 2017-9-8 09:53 | 只看該作者
謝謝樓主,
回復(fù)

使用道具 舉報(bào)

地板
ID:239125 發(fā)表于 2017-10-13 11:50 | 只看該作者
多謝多謝 很重要啊~~
回復(fù)

使用道具 舉報(bào)

5#
ID:252297 發(fā)表于 2017-11-22 15:43 | 只看該作者
正在找這一類的資料
回復(fù)

使用道具 舉報(bào)

6#
ID:254398 發(fā)表于 2017-12-8 22:15 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

7#
ID:281066 發(fā)表于 2018-1-31 10:06 | 只看該作者
非常感謝
回復(fù)

使用道具 舉報(bào)

8#
ID:281066 發(fā)表于 2018-1-31 10:25 | 只看該作者
非常感謝
回復(fù)

使用道具 舉報(bào)

9#
ID:297264 發(fā)表于 2018-3-26 14:50 | 只看該作者
學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

10#
ID:297264 發(fā)表于 2018-3-26 14:53 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

11#
ID:76606 發(fā)表于 2018-4-28 21:45 | 只看該作者
好東西
回復(fù)

使用道具 舉報(bào)

12#
ID:334442 發(fā)表于 2018-5-20 21:08 | 只看該作者
好東西,感謝分享!
回復(fù)

使用道具 舉報(bào)

13#
ID:336115 發(fā)表于 2018-6-3 20:40 | 只看該作者
好東西,感謝分享!
回復(fù)

使用道具 舉報(bào)

14#
ID:336115 發(fā)表于 2018-6-14 15:46 | 只看該作者
小白想問下stm32板子和RC522模塊怎么接線
回復(fù)

使用道具 舉報(bào)

15#
ID:202414 發(fā)表于 2018-7-4 15:44 | 只看該作者
下載的不是rar文件,麻煩問一下需要用什么打開啊?
回復(fù)

使用道具 舉報(bào)

16#
ID:337376 發(fā)表于 2018-7-6 11:14 | 只看該作者
謝謝分享~
回復(fù)

使用道具 舉報(bào)

17#
ID:384422 發(fā)表于 2018-8-9 01:32 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

18#
ID:386577 發(fā)表于 2018-8-15 16:29 | 只看該作者
謝謝分享!1
回復(fù)

使用道具 舉報(bào)

19#
ID:143047 發(fā)表于 2018-9-3 15:31 | 只看該作者
學(xué)習(xí)學(xué)習(xí),
回復(fù)

使用道具 舉報(bào)

20#
ID:379988 發(fā)表于 2018-11-22 20:05 | 只看該作者
13671276812 發(fā)表于 2018-7-4 15:44
下載的不是rar文件,麻煩問一下需要用什么打開啊?

擴(kuò)展拓展名,把.rar寫上
回復(fù)

使用道具 舉報(bào)

21#
ID:256850 發(fā)表于 2019-4-9 14:30 | 只看該作者
謝謝分享~~
回復(fù)

使用道具 舉報(bào)

22#
ID:101620 發(fā)表于 2019-7-31 18:41 | 只看該作者
并不能正常使用,不知為何,引腳的鏈接方式可以找到,貌似并不對(duì)
回復(fù)

使用道具 舉報(bào)

23#
ID:426861 發(fā)表于 2019-8-9 13:57 | 只看該作者
OLED的主控是什么型號(hào)的啊
回復(fù)

使用道具 舉報(bào)

24#
ID:595938 發(fā)表于 2019-8-9 15:34 | 只看該作者
非常感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

25#
ID:174087 發(fā)表于 2019-8-9 16:54 | 只看該作者
有沒有兄弟用過RC523啊,我想識(shí)讀ISO14443B的卡,但是網(wǎng)上找到的資料調(diào)試并沒成功,兄弟們有沒有啥經(jīng)驗(yàn)啊
回復(fù)

使用道具 舉報(bào)

26#
ID:511456 發(fā)表于 2019-10-10 12:53 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

27#
ID:607641 發(fā)表于 2019-12-29 21:47 | 只看該作者
謝謝分享!!!!
回復(fù)

使用道具 舉報(bào)

28#
ID:607641 發(fā)表于 2020-1-9 13:39 | 只看該作者
已經(jīng)下載學(xué)習(xí)謝謝
回復(fù)

使用道具 舉報(bào)

29#
ID:192515 發(fā)表于 2020-4-5 23:37 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

30#
ID:743538 發(fā)表于 2020-5-3 20:16 | 只看該作者
十分感謝
回復(fù)

使用道具 舉報(bào)

31#
ID:743538 發(fā)表于 2020-5-3 20:16 | 只看該作者
十分感謝
回復(fù)

使用道具 舉報(bào)

32#
ID:743538 發(fā)表于 2020-5-3 20:17 | 只看該作者
十分感謝
回復(fù)

使用道具 舉報(bào)

33#
ID:979426 發(fā)表于 2024-1-12 12:06 | 只看該作者
aptx4860 發(fā)表于 2017-11-22 15:43
正在找這一類的資料

剛好上學(xué)期做了這個(gè)
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成av片人久久久 | 黄网站涩免费蜜桃网站 | 日韩精品网站 | 日韩区| 精品国产乱码久久久久久久久 | 国产一区免费视频 | 国产精品国产三级国产播12软件 | 一级黄色片毛片 | 九九久久精品视频 | 国产人成精品一区二区三 | 国产亚洲一区二区在线观看 | 三级在线观看 | 狠狠干狠狠操 | 中文字幕 国产 | 欧美国产日韩在线观看成人 | 日韩精品一区二区三区 | 91麻豆精品国产91久久久久久 | 国产一区二区三区视频免费观看 | 麻豆精品久久 | 亚洲午夜精品一区二区三区他趣 | 91天堂网| 91视频免费黄 | 精品欧美乱码久久久久久 | 日韩av在线一区二区三区 | 成人久久久 | 91在线精品秘密一区二区 | 一区二区蜜桃 | 亚洲精品国产成人 | 日韩精品一区二区不卡 | 激情婷婷| 欧美不卡 | 久久久黄色 | 国产黄色av网站 | 欧美日韩中文国产一区发布 | 国产精品日韩欧美一区二区三区 | 欧美日韩最新 | 天天色天天射天天干 | 日韩一区二区三区在线视频 | 欧美一区二区三区在线播放 | 国产亚韩 | 国产精品视频一区二区三区四蜜臂 |