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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8081|回復: 10
收起左側

STC89C52單片機RC522射頻讀寫卡器以及OLED顯示源程序

  [復制鏈接]
ID:438036 發表于 2019-8-8 09:24 | 顯示全部樓層 |閱讀模式
使用STC89C52單片機,RC522模塊采用模擬SPI通信,OLED12864采用模擬IIC通信,實現對M1卡的讀寫以及顯示,不需要原理圖,程序里有引腳定義。
51hei圖片20190808092108.png 51hei圖片20190808092058.png

單片機源程序如下:
  1. #include <stc8.h>
  2. #include <main.h>
  3. #include <stdio.h>
  4. #include "mfrc522.h"       
  5. #include "oled12864.h"
  6. #include "codetab.h"
  7. #include "intrins.h"

  8. unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
  9. unsigned char idata TagType[2];
  10. unsigned char idata SelectedSnr[4];

  11. /////////////////////////////////////////////////////////////////////
  12. //系統初始化
  13. /////////////////////////////////////////////////////////////////////
  14. void InitializeSystem()
  15. {
  16.         P0 = 0xFF; P1 = 0xFF; P3 = 0xFF; P5 = 0xFF;
  17.        
  18.         PcdReset();                                                                                                                                                                                        //RC522復位
  19.         PcdAntennaOff();                                                                                                                                                                 //關閉RC522天線
  20.         PcdAntennaOn();                                                                                                                                                                  //打開RC522天線
  21.   M500PcdConfigISOType( 'A' );                                                                                                                //設置RC522工作方式
  22. }

  23.   void main( )
  24. {
  25.         char idata status,word_number;
  26.         unsigned char idata snr, buf[16];   

  27.   InitializeSystem( );                  //系統初始化
  28.        
  29.         OLED_Init();                                                                                                        //OLED初始化
  30.         OLED_Fill(0xff);                                                                                        //全屏亮
  31.         delayms(100);
  32.         OLED_Fill(0x00);                                                                                        //全屏滅
  33.         delayms(100);
  34.        
  35.   while (1)
  36.     {
  37.                 status= PcdRequest(REQ_ALL,TagType);                                        //RC522開始尋卡
  38.                 if(!status)
  39.                 {
  40.                         status = PcdAnticoll(SelectedSnr);          //防沖撞
  41.                         if(!status)
  42.                         {
  43.                                 status=PcdSelect(SelectedSnr);                                                //選擇卡片
  44.                                 if(!status)
  45.                                 {
  46.                                         snr = 0;                                                                                                                                                                                                                                          //選擇卡片扇區0
  47.           status = PcdAuthState(KEYA, (snr*4+3), DefaultKey, SelectedSnr);                //校驗0扇區密碼,密碼位于每一扇區第3塊
  48.                                         {
  49.                                                 if(!status)
  50.                                                 {
  51.                                                         status = PcdRead((snr*4+1), buf);                                                                  //讀卡,讀取0扇區1塊數據到buf[16]
  52.                                                         for(word_number=0; word_number<3; word_number++)       
  53.                                                         {
  54.                                                                 OLED_P16x16Ch(40+word_number*16,0,word_number); //通過16*16點陣來顯示漢字 -- word_number表示字表數組的位置
  55.                                                         }
  56.                                                         OLED_P8x16Str(50,3,buf);                          //將卡號在OLED上顯示出來
  57.                                                         delayms(800);
  58.                                                         OLED_CLS();                                                                                                                                                                //清屏
  59.                                                        
  60.                                                         if(!status)
  61.                                                         {
  62.                                                                 WaitCardOff();                                                                                                          //等待IC卡離開
  63.                                                         }
  64.                                                 }
  65.                                         }
  66.                                 }
  67.                         }
  68.                 }       
  69.         }
  70. }
復制代碼

所有資料51hei提供下載:
寫卡.zip (111.22 KB, 下載次數: 122)
讀卡 OLED12864.zip (133.88 KB, 下載次數: 114)
讀卡.zip (89.8 KB, 下載次數: 101)


評分

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

查看全部評分

回復

使用道具 舉報

ID:384820 發表于 2019-8-25 00:23 | 顯示全部樓層
謝謝樓主分享,下載學習學習,不明白了再請教樓主,謝謝。
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:106121 發表于 2019-9-4 16:56 | 顯示全部樓層
學習一下 頂起來!
回復

使用道具 舉報

ID:627279 發表于 2019-12-24 16:51 | 顯示全部樓層
學習一下,頂
回復

使用道具 舉報

ID:111676 發表于 2019-12-27 15:46 | 顯示全部樓層
學習一下 頂起來!
回復

使用道具 舉報

7#
無效樓層,該帖已經被刪除
ID:689820 發表于 2024-1-27 08:36 | 顯示全部樓層
下載中,學習,謝謝樓主
回復

使用道具 舉報

ID:1123408 發表于 2024-6-2 20:48 | 顯示全部樓層
luoxiao8302 發表于 2024-1-27 08:36
下載中,學習,謝謝樓主

學習一下 下載了
回復

使用道具 舉報

ID:193383 發表于 2024-6-30 09:09 | 顯示全部樓層
下載了希望能成功
回復

使用道具 舉報

ID:228360 發表于 2024-10-1 09:21 | 顯示全部樓層
有空學習,頂起來!
回復

使用道具 舉報

ID:336378 發表于 2024-12-9 15:15 | 顯示全部樓層
  為什么要分開這個多文件讓人下載??不可以打一個包嗎?
回復

使用道具 舉報

ID:1144822 發表于 2025-3-4 21:17 | 顯示全部樓層
應該是挺不錯的一個應用
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区三区四区五区 | 午夜寂寞影院在线观看 | 99久久精品免费看国产四区 | 国产乱码精品一品二品 | 欧美一区二区三区 | 国产精品国产a | 亚洲视频二区 | 国产精品免费视频一区 | 日本欧美国产在线观看 | 黄色片在线观看网址 | 日韩色视频 | 日日操视频 | 91麻豆精品国产91久久久更新资源速度超快 | 精品粉嫩aⅴ一区二区三区四区 | 日韩欧美一级精品久久 | 免费在线观看av网站 | 亚洲成人在线免费 | 伊伊综合网 | 午夜爱爱毛片xxxx视频免费看 | 日韩精品一区二区三区 | 91看国产 | 国产999精品久久久久久绿帽 | 中文字幕av网 | 黄色免费网 | 最新国产精品视频 | 国产精品毛片av | 欧美一区二区在线观看 | 国产精品久久久久久久白浊 | 欧美日韩在线精品 | 亚洲免费人成在线视频观看 | 99热最新| 亚洲一区二区综合 | 欧美日韩中文字幕 | 91久久久久| 色综合九九 | 国产成人精品一区二区三区在线观看 | 欧美日韩亚洲国产 | 天天综合网永久 | 亚洲视频区 | 麻豆国产一区二区三区四区 | 欧美一区二区三区四区视频 |