找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

STM32+rc522 RFID刷卡開門程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:430699 發(fā)表于 2018-11-21 17:24 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include <stdio.h>
  7. #include "timer.h"
  8. #include "lcd1602.h"
  9. #include "key.h"
  10. #include "rc522.h"

  11. /**************/
  12. unsigned char idCard[4]={0x51,0xd5,0xc1,0x2e};                //有效卡號(hào)
  13. /**************/

  14. u8 rekey = 0;//按鍵防止重復(fù)
  15. u8 i;
  16. unsigned char UID[5];                        //讀取到的卡號(hào)
  17. unsigned char Temp[4] ;        

  18. unsigned int relayLater =0 ;//延時(shí)計(jì)數(shù)
  19. unsigned char reportFlag = 0; //上報(bào)標(biāo)志

  20. int main(void)
  21. {         
  22.         delay_init();                     //延時(shí)函數(shù)初始化         
  23.         uart_init(9600);                 //串口初始化為9600
  24.   TIM3_Int_Init(499,7199);//50ms           
  25.         LED_Init();                                  //初始化與LED連接的硬件接口
  26.         KEY_Init();                        //初始化按鍵
  27.         
  28.         relay1 = 1;  
  29.         delay_ms(200);
  30.         relay1 =0 ;
  31.         
  32.   Rc522IoInit();
  33.   PcdReset();//復(fù)位RC522
  34.   PcdAntennaOn();//開啟天線發(fā)射

  35.          while(1)
  36.         {
  37.                 if(key1==0)                 //檢測(cè)到按鍵按下
  38.                 {
  39.                         delay_ms(10);   //小抖動(dòng)
  40.                         if(rekey==0)
  41.                         {
  42.                                 if(key1==0)    //檢測(cè)是否按下
  43.                                 {
  44.                                         rekey=1;        
  45.                                         relay1 =1;//打開繼電器
  46.                                         relayLater = 30;                //延時(shí)3s                                                               
  47.                                 }        
  48.                         }
  49.                 }
  50.                 else
  51.                 {rekey = 0;}//防止按鍵重復(fù)操作
  52.     if(PcdRequest(0x52,Temp)==MI_OK)//讀取到卡
  53.     {
  54.       if(PcdAnticoll(UID)==MI_OK)//卡號(hào)獲取成功
  55.       {
  56.                                 if((UID[0]==idCard[0])&&(UID[2]==idCard[2])&&(UID[3]==idCard[3]))//匹配卡號(hào)
  57.                                 {
  58.                                         relay1 =1;//打開繼電器
  59.                                         relayLater = 30;                //延時(shí)3s                        
  60.                                 }               
  61.                                 delay_ms(10);
  62.       }
  63.     }
  64.                 if(reportFlag == 1)//計(jì)時(shí)操作標(biāo)志
  65.                 {
  66.                         reportFlag = 0;                //清空標(biāo)志
  67.                         if(relayLater>0){relayLater--;relay1=1;}//倒計(jì)時(shí)
  68.                         else{relay1 = 0;}                        
  69.                 }
  70.                                                   
  71.         }                                                                                            
  72. }        
復(fù)制代碼

所有資料51hei提供下載:
stm32-20、程序20181023.rar (315.26 KB, 下載次數(shù): 146)


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

使用道具 舉報(bào)

沙發(fā)
ID:544005 發(fā)表于 2020-1-12 23:09 | 只看該作者
謝謝分享。。。
回復(fù)

使用道具 舉報(bào)

板凳
ID:689322 發(fā)表于 2020-2-2 22:14 | 只看該作者
這個(gè)如果加入網(wǎng)絡(luò)功能應(yīng)該更好,app也方便控制!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表