找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3354|回復: 17
打印 上一主題 下一主題
收起左側(cè)

單片機將卡號存在AT24C02中,通過讀取,再進行對比,求程序思路

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:470242 發(fā)表于 2020-4-25 21:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在做門禁程序,這個問題一直解決不了,無奈……只有上論壇求助:1.通過RFID讀取將卡號存在AT24C02中,存的過程中有什么辦法不覆蓋之前存的卡號,存到上一個卡號的后一個地址?
2.通過RFID讀取號卡,在讀取AT24C02中的卡號進行對比,如果存在卡號則開門成功,不存在則失?                                    
         不知道程序要怎么寫,請路過的大神給點思路,謝謝了。!



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

使用道具 舉報

沙發(fā)
ID:462827 發(fā)表于 2020-4-26 01:28 | 只看該作者
最開始的8個字節(jié)可以用來保存標記,比如讀取頭兩個字節(jié)如果是0x86、0x68(什么值由你自己定)的話說明曾將數(shù)據(jù)保存過,否則就是從未保存過,接下來第3個字節(jié)就可以保存你已經(jīng)寫的卡號的數(shù)量,就可以根據(jù)它來索引各個卡號了,沒叫你全部卡號保存在同一個位置相互覆蓋呀。
回復

使用道具 舉報

板凳
ID:219796 發(fā)表于 2020-4-26 07:54 來自手機 | 只看該作者
定義一個全局變量記錄地址,寫數(shù)據(jù)先加1在寫;從24c讀取一個卡號,與當前卡號按位依次核對,一個變量記錄核對一致的個數(shù),如果是卡號位數(shù),就是一致了
回復

使用道具 舉報

地板
ID:87000 發(fā)表于 2020-4-26 08:49 | 只看該作者
可以參考書本的制定方法。 有目錄,有頁碼。
回復

使用道具 舉報

5#
ID:282850 發(fā)表于 2020-4-26 10:07 | 只看該作者
24C02已是很靈活方便的了,樓上說的方法都可行。
方法1、24C02首地址記錄一個最后寫卡號的地址,往前一個地址就是上次的,每次寫都往后添加卡號。
方法2、每次寫完卡號寫一串間隔標記,自己定義,但要保證不會與卡號重號,取2、4...字節(jié)。尋址從最后一個非空開始。我寫flash用過這招。
回復

使用道具 舉報

6#
ID:470242 發(fā)表于 2020-4-26 10:25 | 只看該作者
sldx 發(fā)表于 2020-4-26 07:54
定義一個全局變量記錄地址,寫數(shù)據(jù)先加1在寫;從24c讀取一個卡號,與當前卡號按位依次核對,一個變量記錄核 ...

大神,你好,你說的方法好像有點理解,但是程序不知道怎么寫,可以給個例程參考一下嗎,謝謝了!
回復

使用道具 舉報

7#
ID:470242 發(fā)表于 2020-4-26 10:29 | 只看該作者
hantu 發(fā)表于 2020-4-26 01:28
最開始的8個字節(jié)可以用來保存標記,比如讀取頭兩個字節(jié)如果是0x86、0x68(什么值由你自己定)的話說明曾將數(shù) ...

大神,你好,你說的標記法尋址好像有點理解,但是程序不知道怎么寫,可以給個程序案例參考一下嗎,謝謝了!
回復

使用道具 舉報

8#
ID:470242 發(fā)表于 2020-4-26 10:48 | 只看該作者
f556 發(fā)表于 2020-4-26 10:07
24C02已是很靈活方便的了,樓上說的方法都可行。
方法1、24C02首地址記錄一個最后寫卡號的地址,往前一個 ...

我是讀出卡4位序列號SN保存的,你說的具體程序不會寫呢,可以發(fā)個案例給我嗎?
回復

使用道具 舉報

9#
ID:470242 發(fā)表于 2020-4-26 11:59 | 只看該作者
f556 發(fā)表于 2020-4-26 10:07
24C02已是很靈活方便的了,樓上說的方法都可行。
方法1、24C02首地址記錄一個最后寫卡號的地址,往前一個 ...

大神你好,你說的這2種標記法有點理解,能否給個例程參考一下思路,謝謝了
回復

使用道具 舉報

10#
ID:470242 發(fā)表于 2020-4-26 11:59 | 只看該作者
f556 發(fā)表于 2020-4-26 10:07
24C02已是很靈活方便的了,樓上說的方法都可行。
方法1、24C02首地址記錄一個最后寫卡號的地址,往前一個 ...

大神你好,你說的這2種標記法有點理解,能否給個例程參考一下思路,謝謝了
回復

使用道具 舉報

11#
ID:235200 發(fā)表于 2020-4-26 12:05 | 只看該作者
24C02的第1個字節(jié)(地址00H)記錄存放卡號的條數(shù),如一張卡號需存6個字節(jié),第1個字節(jié)值依次為1至N,
存放卡號的首地址依次為6*N+1
回復

使用道具 舉報

12#
ID:470242 發(fā)表于 2020-4-26 12:53 來自手機 | 只看該作者
西點鐘靈毓秀 發(fā)表于 2020-4-26 08:49
可以參考書本的制定方法。 有目錄,有頁碼。

是什么書名呀?學習一下
回復

使用道具 舉報

13#
ID:282850 發(fā)表于 2020-4-26 20:50 | 只看該作者
739004020 發(fā)表于 2020-4-26 11:59
大神你好,你說的這2種標記法有點理解,能否給個例程參考一下思路,謝謝了

這沒有什么難度,首先要能寫入、讀出,這個你會了,而且這是調(diào)試的先決條件,也是最麻煩的,這個搞定,寫什么,寫在哪自己自由發(fā)揮了。
24C02 的我寫過基本的寫、讀,沒你需的程序,真正用和復雜的程序是STC片內(nèi)Flash,也是多年前的事。現(xiàn)在基本不玩51,是MSP430
回復

使用道具 舉報

14#
ID:470242 發(fā)表于 2020-4-27 01:18 來自手機 | 只看該作者
f556 發(fā)表于 2020-4-26 10:07
24C02已是很靈活方便的了,樓上說的方法都可行。
方法1、24C02首地址記錄一個最后寫卡號的地址,往前一個 ...

謝謝你的指點,我根據(jù)你的方法二已經(jīng)寫出程序調(diào)試OK了,現(xiàn)在還差刪除當卡號的程序沒寫了
回復

使用道具 舉報

15#
ID:87000 發(fā)表于 2020-4-27 08:44 | 只看該作者
739004020 發(fā)表于 2020-4-26 12:53
是什么書名呀?學習一下

是書本的方法。有目錄,有頁碼。依據(jù)目錄查找內(nèi)容。
24C02頁可以這樣做搞得。
回復

使用道具 舉報

16#
ID:470242 發(fā)表于 2020-4-27 10:29 來自手機 | 只看該作者
f556 發(fā)表于 2020-4-26 20:50
這沒有什么難度,首先要能寫入、讀出,這個你會了,而且這是調(diào)試的先決條件,也是最麻煩的,這個搞定,寫 ...

大神,要刪除當前卡號用什么方法呀,試了一個大半個上午沒調(diào)試出來
回復

使用道具 舉報

17#
ID:470242 發(fā)表于 2020-4-27 10:50 來自手機 | 只看該作者
f556 發(fā)表于 2020-4-26 10:07
24C02已是很靈活方便的了,樓上說的方法都可行。
方法1、24C02首地址記錄一個最后寫卡號的地址,往前一個 ...

刪除卡號的時候存放在at24c02的地址找不到,不知道刪除到哪里去了,刪除了還是能讀卡
回復

使用道具 舉報

18#
ID:1045451 發(fā)表于 2022-9-21 16:44 | 只看該作者
哥,可以給個參考嗎,最近也開始做這個了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

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

快速回復 返回頂部 返回列表