找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2527|回复: 17
打印 上一主题 下一主题
收起左侧

单片机将卡号存在AT24C02中,通过读取,再进行对比,求程序思路

[复制链接]
跳转到指定楼层
楼主
ID:470242 发表于 2020-4-25 21:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做门禁程序,这个问题一直解决不了,无奈……只有上论坛求助:1.通过RFID读取将卡号存在AT24C02中,存的过程中有什么办法不覆盖之前存的卡号,存到上一个卡号的后一个地址?
2.通过RFID读取号卡,在读取AT24C02中的卡号进行对比,如果存在卡号则开门成功,不存在则失败?                                    
         不知道程序要怎么写,请路过的大神给点思路,谢谢了!!!



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:462827 发表于 2020-4-26 01:28 | 只看该作者
最开始的8个字节可以用来保存标记,比如读取头两个字节如果是0x86、0x68(什么值由你自己定)的话说明曾将数据保存过,否则就是从未保存过,接下来第3个字节就可以保存你已经写的卡号的数量,就可以根据它来索引各个卡号了,没叫你全部卡号保存在同一个位置相互覆盖呀。
回复

使用道具 举报

板凳
ID:219796 发表于 2020-4-26 07:54 来自手机 | 只看该作者
定义一个全局变量记录地址,写数据先加1在写;从24c读取一个卡号,与当前卡号按位依次核对,一个变量记录核对一致的个数,如果是卡号位数,就是一致了
回复

使用道具 举报

地板
ID:87000 发表于 2020-4-26 08:49 | 只看该作者
可以参考书本的制定方法。 有目录,有页码。
回复

使用道具 举报

5#
ID:282850 发表于 2020-4-26 10:07 | 只看该作者
24C02已是很灵活方便的了,楼上说的方法都可行。
方法1、24C02首地址记录一个最后写卡号的地址,往前一个地址就是上次的,每次写都往后添加卡号。
方法2、每次写完卡号写一串间隔标记,自己定义,但要保证不会与卡号重号,取2、4...字节。寻址从最后一个非空开始。我写flash用过这招。
回复

使用道具 举报

6#
ID:470242 发表于 2020-4-26 10:25 | 只看该作者
sldx 发表于 2020-4-26 07:54
定义一个全局变量记录地址,写数据先加1在写;从24c读取一个卡号,与当前卡号按位依次核对,一个变量记录核 ...

大神,你好,你说的方法好像有点理解,但是程序不知道怎么写,可以给个例程参考一下吗,谢谢了!
回复

使用道具 举报

7#
ID:470242 发表于 2020-4-26 10:29 | 只看该作者
hantu 发表于 2020-4-26 01:28
最开始的8个字节可以用来保存标记,比如读取头两个字节如果是0x86、0x68(什么值由你自己定)的话说明曾将数 ...

大神,你好,你说的标记法寻址好像有点理解,但是程序不知道怎么写,可以给个程序案例参考一下吗,谢谢了!
回复

使用道具 举报

8#
ID:470242 发表于 2020-4-26 10:48 | 只看该作者
f556 发表于 2020-4-26 10:07
24C02已是很灵活方便的了,楼上说的方法都可行。
方法1、24C02首地址记录一个最后写卡号的地址,往前一个 ...

我是读出卡4位序列号SN保存的,你说的具体程序不会写呢,可以发个案例给我吗?
回复

使用道具 举报

9#
ID:470242 发表于 2020-4-26 11:59 | 只看该作者
f556 发表于 2020-4-26 10:07
24C02已是很灵活方便的了,楼上说的方法都可行。
方法1、24C02首地址记录一个最后写卡号的地址,往前一个 ...

大神你好,你说的这2种标记法有点理解,能否给个例程参考一下思路,谢谢了
回复

使用道具 举报

10#
ID:470242 发表于 2020-4-26 11:59 | 只看该作者
f556 发表于 2020-4-26 10:07
24C02已是很灵活方便的了,楼上说的方法都可行。
方法1、24C02首地址记录一个最后写卡号的地址,往前一个 ...

大神你好,你说的这2种标记法有点理解,能否给个例程参考一下思路,谢谢了
回复

使用道具 举报

11#
ID:235200 发表于 2020-4-26 12:05 | 只看该作者
24C02的第1个字节(地址00H)记录存放卡号的条数,如一张卡号需存6个字节,第1个字节值依次为1至N,
存放卡号的首地址依次为6*N+1
回复

使用道具 举报

12#
ID:470242 发表于 2020-4-26 12:53 来自手机 | 只看该作者
西点钟灵毓秀 发表于 2020-4-26 08:49
可以参考书本的制定方法。 有目录,有页码。

是什么书名呀?学习一下
回复

使用道具 举报

13#
ID:282850 发表于 2020-4-26 20:50 | 只看该作者
739004020 发表于 2020-4-26 11:59
大神你好,你说的这2种标记法有点理解,能否给个例程参考一下思路,谢谢了

这没有什么难度,首先要能写入、读出,这个你会了,而且这是调试的先决条件,也是最麻烦的,这个搞定,写什么,写在哪自己自由发挥了。
24C02 的我写过基本的写、读,没你需的程序,真正用和复杂的程序是STC片内Flash,也是多年前的事。现在基本不玩51,是MSP430
回复

使用道具 举报

14#
ID:470242 发表于 2020-4-27 01:18 来自手机 | 只看该作者
f556 发表于 2020-4-26 10:07
24C02已是很灵活方便的了,楼上说的方法都可行。
方法1、24C02首地址记录一个最后写卡号的地址,往前一个 ...

谢谢你的指点,我根据你的方法二已经写出程序调试OK了,现在还差删除当卡号的程序没写了
回复

使用道具 举报

15#
ID:87000 发表于 2020-4-27 08:44 | 只看该作者
739004020 发表于 2020-4-26 12:53
是什么书名呀?学习一下

是书本的方法。有目录,有页码。依据目录查找内容。
24C02页可以这样做搞得。
回复

使用道具 举报

16#
ID:470242 发表于 2020-4-27 10:29 来自手机 | 只看该作者
f556 发表于 2020-4-26 20:50
这没有什么难度,首先要能写入、读出,这个你会了,而且这是调试的先决条件,也是最麻烦的,这个搞定,写 ...

大神,要删除当前卡号用什么方法呀,试了一个大半个上午没调试出来
回复

使用道具 举报

17#
ID:470242 发表于 2020-4-27 10:50 来自手机 | 只看该作者
f556 发表于 2020-4-26 10:07
24C02已是很灵活方便的了,楼上说的方法都可行。
方法1、24C02首地址记录一个最后写卡号的地址,往前一个 ...

删除卡号的时候存放在at24c02的地址找不到,不知道删除到哪里去了,删除了还是能读卡
回复

使用道具 举报

18#
ID:1045451 发表于 2022-9-21 16:44 | 只看该作者
哥,可以给个参考吗,最近也开始做这个了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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