找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1968|回复: 2
收起左侧

单片机+RFID+密码锁门禁系统程序设计 疑难问题点

[复制链接]
ID:470242 发表于 2020-4-24 18:27 | 显示全部楼层 |阅读模式
最近在做RFID+密码门禁系统,开发中遇到很多问题,看了很多例程和百度都找不到答案,不知道怎么去解决,只有上论坛求助:1.单片机是怎样对存储模块AT24CXX寻址取得数据信息,和读入的IC卡信息对比判断已是注册卡还是未注册卡。进行注册、删卡、开门等操作。

  1. if(Key==0x11)        //注册卡
  2.                 {
  3.                          IC_READ();
  4.                          if(IC_READ()==1)
  5.                          {
  6.                                   checkcard();
  7.                                  if(flag_id==1)
  8.                                  {         
  9.                                           flag_id=0;
  10.                                           LcmClearTXT();
  11.                                           PutStr(0,2,"卡已注册");
  12.                                          PutStr(1,2,"请按卡片");
  13.                                          PutStr(2,1,"按任意键继续");
  14.                                          while(Keycan()==0);
  15.                                          LcmClearTXT();
  16.                                          PutStr(0,2,"请刷卡");
  17.                                  }
  18.                                  else
  19.                                  {
  20.                                          for(j=0;j<8;j++)
  21.                                          {
  22.                                                   At24c02Write(temp1,ID_ASC[j]);
  23.                                                  delayms(50);
  24.                                                  temp1++;
  25.                                          }
  26.                                          ++i;
  27.                                          LcmClearTXT();
  28.                                          beep();
  29.                                          PutStr(0,2,"注册成功");
  30.                                          PutStr(1,1,"按任意键继续");
  31.                                          while(Keycan()==0);
  32.                                          LcmClearTXT();
  33.                                          PutStr(0,2,"请刷卡");
  34.                                  }
  35.                          }
  36.                 }
复制代码
现在遇到的问题是有些注册过的卡也会提示未注册,在就是
删不了卡,要先刷一张别的卡注册一次,在刷要删除的卡才行。是代码中读写存储地址的变量不正确吗


2.为什么IC卡地址存储在AT24CXX的地址格式是不连续的?如果设为连继的就不能存储了。
3存储地址怎么是6位的?卡序列号是4位的,解码后是8位
  uchar  numaddress[6]={0x38,0x40,0x48,0x50,0x58,0x60};//ID卡号存储地址


3.为什么市面上的门禁要先刷管理卡后才能增加或删除用户卡。


  请路过的大神帮忙解答我的心中的疑惑,不胜感激!!!
回复

使用道具 举报

ID:235200 发表于 2020-4-24 19:46 | 显示全部楼层
1、读24CXX是通过IIC总线读出,读出数据先放在CPU内存中,再读出RDID卡中数据与之比较
2、可以是连续的,为达到加密算法目的,故意设置为不连续
3、存储地址多少位依据CPU或存储器而定,存储空间大,地址位数就多,所提供数据是6字节卡号存放地址,而非你理解的一个字节的地址
4、每一个用户需进行相应的密码设置,所以先要用户卡进行管理,否则通用密码不安全
回复

使用道具 举报

ID:470242 发表于 2020-5-4 07:24 来自手机 | 显示全部楼层
csmyldl 发表于 2020-4-24 19:46
1、读24CXX是通过IIC总线读出,读出数据先放在CPU内存中,再读出RDID卡中数据与之比较
2、可以是连续的, ...

你好,请问卡号在24c02里怎么管理呢,注册的时候把卡号存到表末,怎么读取对比删除卡号和验证开门
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表