版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、新版非接觸IC卡開發(fā)板使用說明新版非接觸IC開發(fā)板功能強(qiáng)大,可以作為一個(gè)讀寫卡器,通過 1602或 12864液晶屏顯示相關(guān)信息,也可以作為一個(gè)獨(dú)立的產(chǎn)品,實(shí)現(xiàn)相關(guān)功 能,如門禁系統(tǒng)需要另購程序、電子錢包功能需要自編或與我們 聯(lián)系。第一局部 上位機(jī)為DELPHI,1602 顯示讀寫卡、下載下位機(jī)1602程序1.把串口線如果是筆記本電腦,須采用 USB轉(zhuǎn)串口線將開發(fā)板與PC機(jī)連接好。2. 把1602液晶顯示器插在開發(fā)板上3. 翻開STC下載軟件,選擇STC89C516RD+單片機(jī),內(nèi)部擴(kuò)展選擇禁止內(nèi)部AUX-RAM ,如下圖:SIC-liP- CEGBittps /t»-t. CU-J
2、icMGry co: 1 dPMUbl JOVcr= J»孔口冋叼£Wpl/齒購】 晁<UU Irpa逸昇單斤<1型號(hào)<J' Wn-nrvXC0 - PTFFHCV Tyjt3rzsgc5iflE<iM-主軸沖區(qū)|»_ |帝口尉期手 二巻丈陣FlL« BufferST氓 Orel. TLle i打JF空40怦常田內(nèi)耒用區(qū)熾肩世IdIP打齊丈知il港口竦沖wi】JFUEZhnf打一可刖用直|嚟“II51切時(shí)歩尊3 Sdz* RH F*rl.Tzd/詵弄串仃口,皐囪f莊粉罕壇高iS特率詒宜麻商肘雜蠻禾怦奇瞬草=毘低我特率:CO
3、M: C0M1115200t12002乩訕呼棄臥m £P«d迪y倍連,齡寸力善連JI亶 104.11«、片顯 / SI2f " CTF敷K 湮 跑血龍料理IE1比扛需愜匸燧側(cè)肛4下版盜屯益M世-/Z丹m憶1ZV單直豆(* Full C.HL L1下炊冷目閱鬥.円一 1 F與F旣尢恙廠尋丹.冊(cè)礦F監(jiān)民圜0動(dòng) 丹卸擴(kuò)兼MJK-EAH:心 睡1唳,許訪可血夬推和Tltf華習(xí)尸血書鼬罰曲晝Fd血-4跚-115* M.nnniazm rxnrsOOODOOooJL0000 co00innnntcnnnoonnil connDODZCiooaDan cc00(JUU
4、UiuuDu加0D 00uuOOODIOooDJ00OD CC00OOOD5ZIooOjoano rc noUUUU 乩UDQJ 00uo 00uu00007.<00oc00皿0Q皿00ODKooM000D CC 00000097)oo0100Oft re oonnnnft.7ngm nona nnnnOOODBO00DOaooa co00OOODC:'OOrc0000 CC00nnnnK'noDOno OTnnOODEZi0QOD ccoaOOTDPjuuIDuuOj uLU0OOOLDOooDJ00OD CC00ooniironJ00no rr nonH7nIIfrr
5、o n Q u o n u o D o n u o n a u o n o n o u Q o u Q o 0 n o o n o u o -I DOQOflogDOooIrlooooDOrriDaDOootEIxDOoo onouoouooonoonouoo o n u o n u Q o o n o o n u o n OTWMMOTOTmaMOTmOTMOTOTmaM olQJQOOODnnoonoJOO DnDuon-U.UDOn.uDnDuon- oouoou.woranjoflooo o n o u Q o u Q o o n o o n _u u Q o Oofluo0uoort
6、noooou-O0 on-uuoou-uoonoonouoo c c c u- Q o o c c r _L c o o c u Q G Ono uoo noon-noOno u o n- gnnDOooegmeraocirnmooDOBDa進(jìn)現(xiàn)'冃話舅下葢I曲規(guī)下童梅罰CUJt頊I自訥編I ISP MCjltg疽殲®廠鼠M下載師丙Id上電昱處睜啟動(dòng)wr汕車壬下鯊吟沁下軽削壷蔚冊(cè).已打応蛛;臨駄止井,力便閑試砌 廠些目卷吒足覽塵超KE豐影腫比電井左即沁T輸賦'Co*nl*id/Tft吊5詢1口以下瑚也針對(duì)nc購氏1冊(cè)切站庠.rt倔貞斗礪疋敦 用口狀件日聞k部亡1一羽定
7、匚百停T青門捐忖臭應(yīng)主看門頤二片或匕廣E-泊抉絹普:査是e 一.乩嚴(yán)M ? I/O ?:. l.'T.j ;巧一 JC :L 匚靜護(hù)i至賈帝 空益 連口靈可農(nóng)下良病磴冃戶應(yīng)第藩門如E V? _J1- I 陋曇瀟j姑霍霞鶴津 桂取 4腳 Jw J旦口宅酹 向秤孰忖尹逝!十卞總J*功転芒硯玄* *is in重賓下艇鬥氏時(shí)間電'ili-三啟計(jì)d,廣寫宇才寸UI下戢鋰學(xué)v氏功計(jì)趙2?!«話-兀遼*肝HCJ-er»try =即冋鮎,那么J升頸4點(diǎn)擊翻開按鈕,找到1602下位機(jī)源程序中的hex文件。再點(diǎn)擊下載按 鈕,提示給開發(fā)板上電,此時(shí),用USB線給開發(fā)板供電,將程序
8、下載到 開發(fā)板的單片機(jī)中。、用DELPHI上位機(jī)軟件讀寫卡1.雙擊啟動(dòng)測試軟件,進(jìn)入功能選項(xiàng)“參數(shù)設(shè)置里面,可以設(shè)置串口 通訊參數(shù):串口號(hào)、波特率、校驗(yàn) 位、數(shù)據(jù)位、停止位等等,設(shè)置玩了 以后點(diǎn)擊“修改串口,如果出現(xiàn)“串口參數(shù)設(shè)置成功,說明串口設(shè)置成功,如果出現(xiàn)異常,請(qǐng)按照提示做出改動(dòng)。2設(shè)置完畢以后可以點(diǎn)擊“測試讀卡器,如果出現(xiàn)“讀卡器連接成功 并且聽到讀卡器的風(fēng)鳴器響聲,證明串口設(shè)置正確,如果出現(xiàn)“讀卡器 連接失敗,說明串口設(shè)置有問題,請(qǐng)重新設(shè)置。讀寫器默認(rèn)參數(shù):Com1、9600bps、N、8、1.4. 進(jìn)入功能選項(xiàng)“低級(jí)操作里面點(diǎn)擊“尋卡,如果出現(xiàn)“尋卡成功! 說明尋卡正常,如果出現(xiàn)“
9、執(zhí)行失?。≌f明出現(xiàn)異常,請(qǐng)檢查卡片是否 在尋卡范圍內(nèi),如果確認(rèn)卡片沒有問題,那么程序下載不正確,或讀寫 器異常。5. 點(diǎn)擊“防沖突,如果出現(xiàn)“執(zhí)行成功說明防沖突正常,如果出現(xiàn) “執(zhí)行失敗說明讀寫器出現(xiàn)異?;蛘呖ㄆ瑳]有在天線區(qū)域范圍內(nèi)。-inlxi低級(jí)撰作尋卡信息顯不IC卡讀寫撫作程序命令;尋卡 拮果:尋卡成功 徴卡片 jJh/lihre one:防榨:陶懷咸功;16BAD9e選揮終止I參數(shù)詒畳 低級(jí)撫作 國碼下載|數(shù)據(jù)僮寫|塊值操件|修改密碼|堆接收6點(diǎn)擊“選擇,如果出現(xiàn)“執(zhí)行成功說明選擇正常,如果出現(xiàn)“執(zhí) 行失敗說明讀寫器出現(xiàn)異?;蛘呖ㄆ瑳]有在天線區(qū)域范圍內(nèi)。信-息顯不Shi;卡棵作弗令;尋
10、卡 皓果:尋卡成功 徴卡片 Jkihre one:防榨:陶懷咸功命令:選擇 結(jié)果選擇成功;16BAD9?終止I悲數(shù)諸置 低飯撫作 國碼下載 數(shù)翳喚寫埃佰操件 修改窖碼堆接収7. 進(jìn)入功能選項(xiàng)“密碼下載里面下載卡片密碼,比方需要測試卡片扇 區(qū)1數(shù)據(jù)的讀寫,那么就在扇區(qū)1后面填上密碼A/B 注:卡片的初始密碼A/B均為全 F',然后選擇“ A組密碼或者“ B組密碼, 最后點(diǎn)擊“下載,如果出現(xiàn)“密碼下載成功說明密碼下載成功,如果出現(xiàn)異常請(qǐng)按照錯(cuò)誤提示更改后再下載一次,直至“下載成功為止 如果密碼下載不成功,下步操作無法進(jìn)行,即無法讀寫卡。8. 進(jìn)入功能選項(xiàng)“數(shù)據(jù)讀寫里面,“請(qǐng)選擇扇區(qū)號(hào)下面的
11、可拉選項(xiàng)里 面選擇第5步下載密碼的扇區(qū)號(hào)比方扇區(qū)1,然后點(diǎn)擊“讀出,如 果提示“第*扇區(qū)數(shù)據(jù)讀出成功說明讀數(shù)據(jù)正確。如果出現(xiàn)“第 *扇區(qū) 數(shù)據(jù)讀出失敗說明密碼校驗(yàn)出錯(cuò)或者出現(xiàn)其他異常, 請(qǐng)返回第5步重 新下載密碼。第1扇區(qū)連取成功塊3 |QOODOOOOOOOOFFM卻関FTFFFFFFFFFF巻數(shù)詒置偃級(jí)撫住|巒碼下載 數(shù)翳讀寫 阪佰操住|修改密碼堆接収9. 如果讀數(shù)據(jù)正確,在塊0、塊1、塊2后面修改數(shù)據(jù),比方改成:“塊0: “塊1: “塊2: 然后點(diǎn)擊“寫入,如果出現(xiàn)“第*扇區(qū)數(shù)據(jù)寫入成功說明寫入數(shù)據(jù) 正確。如果出現(xiàn)“第*扇區(qū)寫入失敗說明密碼校驗(yàn)出錯(cuò)或者出現(xiàn)其他 異常,請(qǐng)返回第5步重新下載
12、密碼。10. 再次點(diǎn)擊“讀出鍵,然后點(diǎn)擊“讀出,如果提示“第 *扇區(qū)數(shù)據(jù) 讀出成功說明讀數(shù)據(jù)正確,再比照塊 0、塊1、塊2是否和第7步寫 入的數(shù)據(jù)一樣,如果數(shù)據(jù)一樣,證明寫入成功了。如果出現(xiàn)“第 *扇區(qū) 數(shù)據(jù)讀出失敗說明密碼校驗(yàn)出錯(cuò)或者出現(xiàn)其他異常, 請(qǐng)返回第5步重三、Mifare One 卡片塊值測試1. 進(jìn)入功能選項(xiàng)“塊值操作里面,在“扇區(qū)號(hào)下面的可拉選項(xiàng)里面 選擇下載密碼的扇區(qū)號(hào)比方扇區(qū)1,在“塊號(hào)下面的可拉選項(xiàng)里 面選擇你想測試的塊號(hào)比方第1塊2. 在“操作值后面填上你所希望的初始值比方“ 11111111 , 然后點(diǎn)擊“初始化,如果出現(xiàn)“數(shù)據(jù)初始化成功說明操作成功。如 果出現(xiàn)“數(shù)據(jù)初
13、始化失敗說明操作失敗,請(qǐng)檢查密碼是否正確,返回 第前面重新操作一次。3. 點(diǎn)擊“讀出,如果在“當(dāng)前值后面出現(xiàn)是你原來寫進(jìn)去的初始值, 證明操作正確,如果“數(shù)據(jù)讀出失敗說明塊值操作有異常,請(qǐng)重新初 始化。4. 在“操作值:后面填上你所希望的操作值比方“ 22222222 , 然后點(diǎn)擊“加值,如果出現(xiàn)“數(shù)值加操作成功,說明操作成功。如 果出現(xiàn)其他提示說明操作失敗。5. 點(diǎn)擊“讀出,如果在“當(dāng)前值:后面出現(xiàn)是你初始值加上加值(11111111 + 22222222 = 33333333 )說明操作正確,如果是其他 的值說明失敗。初始化|二庚吃加值減值|蓉?cái)?shù)謖置|偃級(jí)舉住|密碼下載|數(shù)據(jù)悽寫 塊值操企
14、丄修改密碼|繪送播收6. 在“操作值:后面填上你所希望的操作值(比方“ 11111111 ), 然后點(diǎn)擊“減值,如果出現(xiàn)“數(shù)值減操作成功,說明操作成功。女口 果出現(xiàn)其他提示說明操作失敗。7. 點(diǎn)擊“讀出,如果在“當(dāng)前值:后面出現(xiàn)是你當(dāng)前值減去操作值(33333333 11111111 = 22222222 ),說明操作正確,如果是其 他值說明失敗。四、修改密碼和控制位1. 進(jìn)入功能選項(xiàng)“修改密碼里面,在“扇區(qū)號(hào)下面的可拉選項(xiàng)里面 選擇前面下載密碼的扇區(qū)號(hào)比方扇區(qū)1 。2. 在“密碼A和“密碼B后面分別寫入你想修改的密碼 A和密碼B3. 卡片控制位修改之前請(qǐng)?jiān)敿?xì)閱讀卡片資料,因?yàn)榭刂莆恍薷牟徽_
15、, 就會(huì)導(dǎo)致卡片不能再使用,請(qǐng)務(wù)必小心使用。4. 在控制位后面填上該扇區(qū)的控制位。5. 點(diǎn)擊“修改密碼,如果出現(xiàn)“修改密碼成功,表示操作正確,如 果出現(xiàn)出錯(cuò)提示,請(qǐng)按照出錯(cuò)提示做相應(yīng)的處理。注:密碼修改后請(qǐng) 務(wù)必記住,密碼遺忘卡片就不能再次是使用了。五、調(diào)試信息進(jìn)入功能選項(xiàng)“調(diào)試信息里面,在“串口信息發(fā)送與接受處可以看 到PC機(jī)和讀卡器之間通訊的詳細(xì)過程,對(duì)調(diào)試非常有幫助。Shi;卡擺作-I IN六、注意幾點(diǎn)1. STC單片機(jī)下載程序時(shí),一定要選AUX-RAM禁止訪問。2在密碼下載選項(xiàng)卡中,要先輸入相應(yīng)扇區(qū)的密碼后比方扇區(qū)1輸入: FFFFFFFFFFFF,才能讀出和寫入扇區(qū)1的數(shù)值,否那么,
16、無法讀取和 寫入扇區(qū)1,其它扇區(qū)依次類推。3當(dāng)修改密碼時(shí),一定要記住,初始密碼為FFFFFF,如果要修改為111111,請(qǐng)?jiān)谛薷拿艽a的選項(xiàng)卡進(jìn)行修改,修改后,密碼即為111111,如果要改回到FFFFFF,請(qǐng)先將111111密碼先下載,然后才能回到修改 密碼選項(xiàng)卡,對(duì)密碼進(jìn)行修改。修改完成后再下載,就可以讀取數(shù)據(jù)了, 否那么,假設(shè)密碼不正確,那么無法讀取數(shù)據(jù)。4液晶顯示只顯示局部信息,使用者可根據(jù)情況,通過修改程序,顯示 相應(yīng)信息。第二局部上位機(jī)為DELPHI,12864 并口顯示讀寫卡將帶漢字庫的12864液晶顯示屏插到開發(fā)板上,下載好程序,其它使用方法與第一局部完全相同。注意,12864顯
17、示的信息為局部內(nèi)容,如果要顯示其它信息,請(qǐng)自 行修改下位機(jī)源程序。第三局部上位機(jī)為VB,不采用液晶屏讀寫卡、下載下位機(jī)程序1. 把串口線如果是筆記本電腦,須采用 USB轉(zhuǎn)串口線將開發(fā)板與 PC機(jī)連接好。2. 把1602液晶顯示器插在開發(fā)板上。3. 翻開STC下載軟件,選擇STC89C516RD+單片機(jī),內(nèi)部擴(kuò)展選擇允 許內(nèi)部AUX-RAM ,如下圖:4點(diǎn)擊翻開按鈕,找到下位機(jī)源程序中的hex文件。再點(diǎn)擊下載按鈕, 提示給開發(fā)板上電,此時(shí),用USB線給開發(fā)板供電,將程序下載到開發(fā) 板的單片機(jī)中。、用VB上位機(jī)軟件讀寫卡1. 安裝VB6軟件,并將MSCOMM32.C文件 拷貝到windowssys
18、tem32里 面去。如果之前已經(jīng)拷貝,就不用再拷貝了。2.雙擊啟動(dòng)可執(zhí)行軟件RFID Tools,選擇串口,這里使用的是USB轉(zhuǎn) 串口線,虛擬串口號(hào)為COM3,點(diǎn)擊翻開串口,如下圖:2.翻開串口后,將卡放到開發(fā)板天線附近,此時(shí),會(huì)顯示卡號(hào),如圖所示:3. 在密碼A、密碼B編輯框中輸入射頻卡的相應(yīng)密碼,并選擇使用A密 碼或B密碼。一般射頻卡的初試密碼是12個(gè)F。之后點(diǎn)擊“裝載密碼, 密碼將被送往單片機(jī)用于讀寫卡操作時(shí)的密碼認(rèn)證。4. 之后將射頻卡靠近RFID DEMO天線,將會(huì)自動(dòng)進(jìn)行讀卡操作,讀 出卡的卡號(hào)并顯示在 RFID Tool中。如果密碼正確,電腦將發(fā)出短促清脆的“嘀聲,RFID_To
19、ol下半局部的數(shù)據(jù)顯示區(qū)將默認(rèn)顯示第1扇區(qū)第4塊的16個(gè)字節(jié)的數(shù)據(jù)。如果密碼錯(cuò)誤,電腦將發(fā)出“嗤嗤的聲音,卡號(hào)顯示為 30303030,顯 示數(shù)據(jù)也不會(huì)更新。5. 要讀出其他扇區(qū)其他塊的數(shù)據(jù),只需輸入相應(yīng)的扇區(qū)號(hào)和塊號(hào),點(diǎn) 擊“讀卡操作。之后將射頻卡靠近天線即可,數(shù)據(jù)顯示區(qū)將會(huì)自動(dòng)顯示讀出的數(shù)據(jù)。6. 要往某扇區(qū)某塊中寫入數(shù)據(jù),首先按照前面的操作,讀出該塊的數(shù) 據(jù),之后在數(shù)據(jù)顯示區(qū)直接修改,輸入要寫入的新數(shù)據(jù),然后點(diǎn)擊“寫 入數(shù)據(jù),再將射頻卡靠近天線即可。要驗(yàn)證寫卡是否成功,可以按照前面的步驟,先讀另外某個(gè)扇區(qū)某個(gè) 塊的數(shù)據(jù),再重新讀出剛剛寫入過的塊,看看數(shù)據(jù)顯示區(qū)域的數(shù)據(jù)是否 正確更新顯示7
20、. 加減值對(duì)于塊數(shù)據(jù)有格式要求,所以我們先將塊數(shù)據(jù)初始化為要求 的格式,上位機(jī)以初始化為數(shù)值0x00000055為例。選擇某扇區(qū)某塊, 之后點(diǎn)擊“初始化數(shù)值塊value: 55,然后將射頻卡靠近天線即可,可以看到數(shù)據(jù)被初始化為如下值:之后點(diǎn)擊“增加一數(shù)據(jù)塊,然后將射頻卡靠近天線,可以看到數(shù) 據(jù)更新,相應(yīng)的增加了 1點(diǎn)擊“減少一數(shù)據(jù)塊,然后將射頻卡 靠近天線,可以看到數(shù)據(jù)更新,相應(yīng)的減少了 1。三、軟件說明1.軟件目錄結(jié)構(gòu)說明源程序文件夾中有這樣幾個(gè)目錄文件:SourceFile 目錄:全套源代碼.c和.h 放在該目錄下。后文將介紹源代碼結(jié)構(gòu)。Keil目錄:單片機(jī)程序使用Keil編譯,相關(guān)文件在
21、該目錄下。編譯時(shí),翻開Keil,點(diǎn)擊菜單Project->Open Project ,選擇KeilP1200.Uv2翻開編譯工程,之后點(diǎn)擊工具欄的即可編譯。編譯生成的目標(biāo)代碼是 Keil P1200.hex ,后面用單片機(jī)下載程序下載 的目標(biāo)代碼也就是這個(gè)文件。需要 Keil 的用戶請(qǐng)自行下載或者與我們聯(lián)系,由于該程序體積較大不 包含在資料包中。其他 Desig nEasy_RFID.* 文件:我們通常使用 Source Insight V3.5查看代碼,這是一款功能強(qiáng)大的代碼編輯、閱讀工具,用不同的顏色區(qū)分不同的語句,而且查找搜索十分 方便。這些假設(shè)干 DesignEasy_RFID.
22、* 文件即是 Source Insight 的工程文 件。已經(jīng)安裝了 Source Insight V3.5 程序的用戶可以直接雙擊 DesignEasy_RFID.PR 即可用 Source Insight 查看代碼。需要Source In sight 的用戶請(qǐng)自行下載,由于該程序體積較大不包含 在資料包中。當(dāng)然,用戶可以使用任意自己熟悉的代碼查看軟件或者編輯器,不是一 定非要用 Source Insight ,不用 Source Insight 的用戶可以忽略或者 刪除根目錄下的那些DesignEasy_RFID.*文件。2. 源代碼系統(tǒng)圖解 8bit 并行接口以下描述適用于 8bit 并
23、行接口,也就是適用于 RC500、RC531、RC632、FM1702NL這些讀卡器芯片。RFID從上圖可以看出,單片機(jī)程序局部,有 3條主線(粉紅色標(biāo)注局部):外部中斷1中斷處理函數(shù)RC500ISR()uart 中斷處理函數(shù) UartlnterruptService()main()中檢測卡、讀寫卡的操作cmd_inqury()以下分別介紹。3. uart 中斷處理函數(shù) UartInterruptService()MCU的uart功能,每從串口接收到1個(gè)字節(jié)的數(shù)據(jù),就會(huì)產(chǎn)生一次uart 中斷。因此在uart中斷處理函數(shù)中,我們需要將屢次接收到的數(shù)據(jù)按照規(guī)定的數(shù)據(jù)格式進(jìn)行解析, 獲取上位機(jī)程序向
24、單片機(jī)發(fā)送的命令。此外,MCU通過讀卡芯片,獲得卡的ID信息,以及卡上的數(shù)據(jù),也要 通過串口發(fā)回上位機(jī)程序。接收和發(fā)送的串口數(shù)據(jù)格式定義如下:A起始符命令 類型命令數(shù)攜符1 Bte 1 Eyte < 1 dOBles1 BsFe塊號(hào)怨加2Bytes密碼資按 12BTes讀寫救掘 32BUesID 數(shù)掘 8Btes w起始符:1個(gè)字節(jié),一定為0x02;命令,包括命令類型1個(gè)字節(jié)和命令數(shù)據(jù)小于100個(gè)字節(jié),其中命令數(shù)據(jù)為1種或者多種具體的數(shù)據(jù)內(nèi)容組成。根據(jù)命令類型不同,命令數(shù)據(jù)的格式也不同,具體如下:上位機(jī)發(fā)向單片機(jī):a. 命令類型為0x30:裝載某個(gè)塊的A密碼,命令數(shù)據(jù)為2字節(jié)的塊號(hào)數(shù)據(jù)
25、加上12字節(jié)的密碼數(shù)據(jù)。b. 命令類型為0x31:裝載某個(gè)塊的B密碼命令數(shù)據(jù)為2字節(jié)的塊號(hào)數(shù)據(jù) 加上12字節(jié)的密碼數(shù)據(jù)。c. 命令類型為0x32 :讀取某個(gè)塊的數(shù)據(jù)命令數(shù)據(jù)為2字節(jié)的塊號(hào)數(shù)據(jù)。d. 命令類型為0x33:向某個(gè)塊寫數(shù)據(jù)命令數(shù)據(jù)為2字節(jié)的塊號(hào)數(shù)據(jù) 加上32字節(jié)的讀寫數(shù)據(jù)。e. 命令類型為0x34:將某塊初始化為加減值要求的格式命令數(shù)據(jù)為2字節(jié)的塊號(hào)數(shù)據(jù)f. 命令類型為0x35 :加值操作無命令數(shù)據(jù)g. 命令類型為0x36:減值操作無命令數(shù)據(jù)單片機(jī)發(fā)向上位機(jī):h. 命令類型為0x39:上傳卡ID命令數(shù)據(jù)為8字節(jié)ID數(shù)據(jù)。i. 命令類型為0x32 :讀到某個(gè)塊的數(shù)據(jù)命令數(shù)據(jù)為2字節(jié)的塊
26、號(hào)數(shù)據(jù) 加上32字節(jié)的讀寫數(shù)據(jù)。結(jié)束符:1個(gè)字節(jié),一定為0x03;各種類型的命令數(shù)據(jù)都用ASCII碼傳輸,具體格式定義如下:塊號(hào)數(shù)據(jù):2字節(jié)第一字節(jié)表示扇區(qū)號(hào)的ASCII碼,第二字節(jié)表示扇區(qū)內(nèi)塊號(hào)的ASCII 碼。比方,第4個(gè)扇區(qū)內(nèi)的第2個(gè)塊塊號(hào)為:13 = 3x4+1,因?yàn)闃?biāo)號(hào)都從 0開始將表示為:0x33 0x31,也就是字符: 3'1'密碼數(shù)據(jù):12字節(jié)相鄰2個(gè)字節(jié)組合成1個(gè)字節(jié)的密碼,分別為高4bit的ASCII碼和低 4bit 的 ASCII。比方,密碼假設(shè)為:0x1234567890AB 6字節(jié)將表示為:0x30 0x31 0x32 0x33 0x34 0x35 0
27、x36 0x37 0x38 0x39 0x30 0x41 0x42,也就是字符: 0'1' 2' 3' 4' 5'6' T 8'9' A B'讀寫數(shù)據(jù):32字節(jié) 相鄰2個(gè)字節(jié)組合成1個(gè)字節(jié)的數(shù)據(jù),分別為高4bit的ASCII碼和低4bit 的 ASCII。比方,如要往卡內(nèi)寫入數(shù)據(jù)的某字節(jié)是 0x12,將表示為:0x30 0x31, 也就是字符: 1' 2'ID數(shù)據(jù):8字節(jié)相鄰2個(gè)字節(jié)組合成1個(gè)字節(jié)的數(shù)據(jù),分別為高4bit的ASCII碼和低4bit 的 ASCII。比方,如果 ID 是0X1234AB
28、CD將表示為 0x31 0x32 0x33 0x34 0x41 0x42 0x43 0x44,也就是 1' 2' 3' 4'A B' uart中斷處理函數(shù)UartInterruptService 中,將根據(jù)以上數(shù)據(jù)格式定義,對(duì)接收到的數(shù)據(jù)進(jìn)行解析,將解析的結(jié)果存放在 OperateState 、BlockNo、MKeys blockdata 等 全局變量中。4. main()中檢測卡、讀寫卡的操作cmd_inqury() cmd_inqury()中的主要操作流程是:檢測是否有卡靠近;如果有,選擇某張卡(如果有多張的話),獲得卡ID ;進(jìn)行密碼認(rèn)證;如果密
29、碼認(rèn)證通過,那么根據(jù) OperateState的值進(jìn)行相應(yīng)操作; 通過串口將讀到的數(shù)據(jù)傳給電腦;等待卡離開其中,通過串口將ID或者讀到的數(shù)據(jù)傳給電腦,數(shù)據(jù)的傳輸格式如前 所述。其中,對(duì)卡的操作函數(shù),諸如 Request、AnticollSelect 、Authentication 等,是NXP提供的函數(shù)接口,里面的操作主要是根據(jù)芯片工作流程、向讀卡芯片內(nèi)讀、寫數(shù)據(jù),有興 趣請(qǐng)查看代碼中的注釋和定義。四、加減值說明值加減的意義:Mifare1卡大量應(yīng)用于小額消費(fèi)領(lǐng)域,所以有沖值和消費(fèi)兩種。 對(duì)于消費(fèi)來說,只需要關(guān)心扣款即可,不需要知道卡里面有多少錢。 而一般常規(guī)的扣款操作從卡中讀出金額,與扣款金額相減,相減后把值 返回卡中,這樣很容易導(dǎo)致一個(gè)問題:1:知道卡中金額2:通過扣款權(quán)限可以對(duì)卡進(jìn)行沖值,導(dǎo)致作弊所以一般Mifare1卡的A密鑰為扣款密碼,B密鑰為沖值密鑰,而對(duì)金 額的管理權(quán)限也只能是加值或者減值,不能同時(shí)擁有兩者。 以上就是值加減的來由。一般的說,金融行業(yè),把B密鑰作為沖值,有相應(yīng)的密鑰管理卡,一般 叫沖值SAM卡,把A密鑰
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 意識(shí)的課件教學(xué)課件
- 2024年建筑工程施工合同詳細(xì)描述
- 2024年度戰(zhàn)略合作合同(含合作領(lǐng)域)
- 春艾青課件教學(xué)課件
- 2024年度水果品牌授權(quán)合同:授權(quán)生產(chǎn)和銷售的具體條款
- 2024年度金融服務(wù)合同:銀行為客戶提供2024年度綜合金融服務(wù)
- 2024年專利實(shí)施許可合同:生物醫(yī)藥產(chǎn)品專利應(yīng)用
- 2024年度航空器材買賣合同
- 幼兒清明課件教學(xué)課件
- 毛筆楷體課件教學(xué)課件
- 小學(xué)語文古詩詞教學(xué)探究的開題報(bào)告
- 動(dòng)靜脈內(nèi)瘺栓塞的原因分析及干預(yù)措施課件
- 換熱站的安裝調(diào)試
- 普通地質(zhì)學(xué)教材
- 我的連衣裙【經(jīng)典繪本】
- 農(nóng)村公路暢通工程質(zhì)量檢測方案第三方檢測及交工驗(yàn)收
- 急性冠脈綜合征特殊人群抗血小板治療中國專家建議解讀
- 1 220kV外護(hù)套電纜試驗(yàn)報(bào)告
- 機(jī)械加工工時(shí)定額標(biāo)準(zhǔn)計(jì)算手冊(cè)
- 盾構(gòu)始發(fā)條件驗(yàn)收
- GB/T 4372.1-2014直接法氧化鋅化學(xué)分析方法第1部分:氧化鋅量的測定Na2EDTA滴定法
評(píng)論
0/150
提交評(píng)論