• 大小: 5MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-11-27
  • 语言: 其他
  • 标签: stm32  RFID  门禁系统  

资源简介

由STM32作为主控,RFID采集信息,AT24C02保存信息,OLED进行显示,矩阵键盘输入密码等模块组成可管理员控制增、减用户,用户可刷卡开门的智能门禁系统。

资源截图

代码片段和文件信息

#include “pbdata.h“

const u8 card_1[4]={0x600xc20x620x4d};    //异形卡 
const u8 card_2[4]={0x500x110x350x5b};    //白卡

u8 KEY[6]={0xff0xff0xff0xff0xff0xff};

admin *head; //定义一个头节点
u8 count=0;  //记录用户个数
u8 root[4];     //管理员ID
u8 password[4]; //管理员密码



//====================================
//功能:读取卡号ID
//====================================
static Read_Card(u8 *Card_ID)
{
   u8 status; //返回的状态值
    u8 SN[4];  //保存卡号
    u8 CT[2];  //保存卡的类型号
    bool FLAGE=FALSE;  //是否加卡成功标志
    count=AT24Cxx_ReadOneByte(count_addr);
    while(!FLAGE)
    {
        status = PcdRequest(PICC_REQALLCT);  //寻卡测试
        
        
        if(status==MI_OK)               
        {
             //DBGPRINTF(“寻卡OK\r\n“);
             status=MI_ERR;
        }
        
        status = PcdAnticoll(SN);  //防冲撞测试
        if(status==MI_OK)
        {
            status=MI_ERR;
            memcpy(Card_IDSN4);
            FLAGE=TRUE; 
            DBGPRINTF(“读卡OK\r\n“);
            
            OLED_ShowCHinese_s(0z_y+2“读卡OK!“);
            BEEP_Open;
            delay_ms(150);
            BEEP_Close;
        }
        if(Quit_F==0)
        {
            return ;
        }
    } 
    Quit_F=1;
}

//====================================
//功能:初始化用户列表
//====================================
void user_init(void)
{
    u8 ibuff[4];
    count=AT24Cxx_ReadOneByte(count_addr);
    for(i=2;i    {
         AT24CXX_Read_N_Byte(i*4buff4);
         admin_insert(headbuff);
    }
    AT24CXX_Read_N_Byte(0root4);
    AT24CXX_Read_N_Byte(4password4); 
    
}


//====================================
//功能:判断管理员是否为空
//====================================

void empty_root(void)
{
    if(AT24Cxx_ReadOneByte(root_addr)==0||(root[0]==0&&
                             root[1]==0&&root[2]==0&&root[3]==0))
    {
         Time_F=1;
         OLED_Clear();
         add_root();
         OLED_Clear();
         Time_F=1;
    }
}

//====================================
//功能:清除所有用户
//====================================
void clear_all_user(void)
{
    u8 iclear[4]={0000};
    u8 buff[4];
    count=AT24Cxx_ReadOneByte(count_addr);
    DBGPRINTF(“清除所有用户请管理员刷卡\r\n“);
    OLED_ShowCHinese_s(00“清除所有用户:“);
    Quit_F=1;
    Read_Card(buff);
    if(Quit_F==0)
    {
        return ;
    }
    if(memcmp(buffroot4)==0)
    {
        if(!Input_check_Password())
        {
            for(i=2;i            {
                 AT24CXX_Read_N_Byte(i*4buff4);
                 admin_delete(headbuff);
                 AT24CXX_Write_N_Byte(i*4clear4);
            }
            count=0;
            AT24Cxx_WriteOneByte(count_addrcount);
            DBGPRINTF(“清除成功\r\n\r\n“);
            OLED_ShowCHinese_s(0z_y+2“清除成功“);
        }
        else
        {
            DBGPRINTF(“清除失败\r\n\r\n“);
            OLED_ShowCHinese_s(0z_y+2“清除失败“);
        }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-03-20 15:37  程序3.20—串口2\
     文件      317423  2017-03-20 15:17  程序3.20—串口2\app.crf
     文件        1362  2017-03-20 15:17  程序3.20—串口2\app.d
     文件      341052  2017-03-20 15:17  程序3.20—串口2\app.o
     目录           0  2017-01-17 16:00  程序3.20—串口2\ASM\
     文件       10308  2008-09-21 13:21  程序3.20—串口2\ASM\cortexm3_macro.s
     文件       15761  2010-04-23 10:40  程序3.20—串口2\ASM\startup_stm32f10x_cl.s
     文件       15504  2016-12-02 16:33  程序3.20—串口2\ASM\startup_stm32f10x_hd.s
     文件       12376  2011-03-10 10:52  程序3.20—串口2\ASM\startup_stm32f10x_ld.s
     文件       13651  2010-04-23 10:40  程序3.20—串口2\ASM\startup_stm32f10x_ld_vl.s
     文件       12765  2011-03-10 10:52  程序3.20—串口2\ASM\startup_stm32f10x_md.s
     文件       14068  2010-04-23 10:40  程序3.20—串口2\ASM\startup_stm32f10x_md_vl.s
     文件       15950  2010-04-23 10:40  程序3.20—串口2\ASM\startup_stm32f10x_xl.s
     文件        9630  2009-11-21 17:22  程序3.20—串口2\ASM\stm32f10x_startup.s
     文件      311826  2017-03-20 15:17  程序3.20—串口2\at24cxx.crf
     文件        1523  2017-03-20 15:17  程序3.20—串口2\at24cxx.d
     文件      328400  2017-03-20 15:17  程序3.20—串口2\at24cxx.o
     目录           0  2017-03-20 14:39  程序3.20—串口2\Control\
     文件       26667  2017-03-20 14:39  程序3.20—串口2\Control\APP.c
     文件         594  2017-03-20 14:30  程序3.20—串口2\Control\app.h
     文件        3995  2017-01-17 10:40  程序3.20—串口2\Control\USER.c
     文件         613  2017-01-06 11:10  程序3.20—串口2\Control\user.h
     文件        3596  2017-03-20 15:17  程序3.20—串口2\core_cm3.crf
     文件         109  2017-03-20 15:17  程序3.20—串口2\core_cm3.d
     文件       10640  2017-03-20 15:17  程序3.20—串口2\core_cm3.o
     文件      311919  2017-03-20 15:17  程序3.20—串口2\dht11.crf
     文件        1447  2017-03-20 15:17  程序3.20—串口2\dht11.d
     文件      326888  2017-03-20 15:17  程序3.20—串口2\dht11.o
     目录           0  2017-01-18 10:29  程序3.20—串口2\ESP8266\
     文件        1439  2017-01-18 10:29  程序3.20—串口2\ESP8266\WIFI.c
     文件         121  2016-12-09 12:04  程序3.20—串口2\ESP8266\WIFI.h
............此处省略211个文件信息

评论

共有 条评论