标题:
单片机+RFID+密码锁门禁系统程序设计 疑难问题点
[打印本页]
作者:
739004020
时间:
2020-4-24 18:27
标题:
单片机+RFID+密码锁门禁系统程序设计 疑难问题点
最近在做RFID+密码门禁系统,开发中遇到很多问题,看了很多例程和百度都找不到答案,不知道怎么去解决,只有上论坛求助:
1.单片机是怎样对存储模块AT24CXX寻址取得数据信息,和读入的IC卡信息对比判断已是注册卡还是未注册卡。进行注册、删卡、开门等操作。
if(Key==0x11) //注册卡
{
IC_READ();
if(IC_READ()==1)
{
checkcard();
if(flag_id==1)
{
flag_id=0;
LcmClearTXT();
PutStr(0,2,"卡已注册");
PutStr(1,2,"请按卡片");
PutStr(2,1,"按任意键继续");
while(Keycan()==0);
LcmClearTXT();
PutStr(0,2,"请刷卡");
}
else
{
for(j=0;j<8;j++)
{
At24c02Write(temp1,ID_ASC[j]);
delayms(50);
temp1++;
}
++i;
LcmClearTXT();
beep();
PutStr(0,2,"注册成功");
PutStr(1,1,"按任意键继续");
while(Keycan()==0);
LcmClearTXT();
PutStr(0,2,"请刷卡");
}
}
}
复制代码
现在遇到的问题是有些注册过的卡也会提示未注册,在就是
删不了卡,
要先刷一张别的卡注册一次,在刷要删除的卡才行。是代码中读写存储地址的变量不正确吗
2.为什么IC卡地址存储在AT24CXX的地址格式是不连续的?如果设为连继的就不能存储了。
3存储地址怎么是6位的?卡序列号是4位的,解码后是8位
uchar numaddress[6]={0x38,0x40,0x48,0x50,0x58,0x60};//ID卡号存储地址
3.为什么市面上的门禁要先刷管理卡后才能增加或删除用户卡。
请路过的大神帮忙解答我的心中的疑惑,不胜感激!!!
作者:
csmyldl
时间:
2020-4-24 19:46
1、读24CXX是通过IIC总线读出,读出数据先放在CPU内存中,再读出RDID卡中数据与之比较
2、可以是连续的,为达到加密算法目的,故意设置为不连续
3、存储地址多少位依据CPU或存储器而定,存储空间大,地址位数就多,所提供数据是6字节卡号存放地址,而非你理解的一个字节的地址
4、每一个用户需进行相应的密码设置,所以先要用户卡进行管理,否则通用密码不安全
作者:
739004020
时间:
2020-5-4 07:24
csmyldl 发表于 2020-4-24 19:46
1、读24CXX是通过IIC总线读出,读出数据先放在CPU内存中,再读出RDID卡中数据与之比较
2、可以是连续的, ...
你好,请问卡号在24c02里怎么管理呢,注册的时候把卡号存到表末,怎么读取对比删除卡号和验证开门
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1