|
基于單片機的IC卡讀寫器設(shè)計 摘要:隨著社會的進步和現(xiàn)代化程度的不斷提高,人類所擁有的信息種類和數(shù)量都在成倍地增長,每天都要處理許多與個人有關(guān)的信息,而這些信息管理十分不便。因此,在實際生活中IC卡的應(yīng)用范圍非常廣泛,它有助于解決問題。IC卡讀寫器是IC卡和計算機之間的傳輸媒介,它與計算機之間通過串行口相連,本文主要應(yīng)用89C2051單片機為核心對SLE4442卡進行讀寫控制。接觸式IC卡是IC卡領(lǐng)域的一項新興技術(shù),它是射頻識別技術(shù)和IC卡技術(shù)相結(jié)合的產(chǎn)物。 首先在緒論中介紹了課題的開發(fā)意義及功能概述。 其次在主要描述了系統(tǒng)硬件工作原理,并介紹了IC卡SLE4442的內(nèi)部結(jié)構(gòu)及原理圖,論述了本次畢業(yè)設(shè)計所應(yīng)用的各硬件接口技術(shù)和各個接口模塊的功能及工作過程。 本系統(tǒng)是以單片機的基本語言匯編語言來進行軟件設(shè)計,指令的執(zhí)行速度快。 最后具體描述了各個功能模塊的軟、硬件調(diào)試。本文撰寫的主導(dǎo)思想是軟、 硬件結(jié)合,以硬件為基礎(chǔ),來進行各功能模塊的編寫。
目錄: 1前言 1.1 系統(tǒng)的提出及研究意義。 1.2 系統(tǒng)的研究方向及功能概述。 2 正文 2.1 硬件設(shè)計思路。 2.2 硬件論證方案。 2.3 硬件各模塊的設(shè)計。 2.3.1 89C2051單片機的簡介。 2.3.2 SLE4442IC卡的簡介: 芯片概述:芯片功能;芯片內(nèi)部邏輯結(jié)構(gòu); 傳輸協(xié)議:復(fù)位和復(fù)位響應(yīng);命令模式;輸出數(shù)據(jù)模式;處理數(shù)據(jù)模式; 2.3.3 SLE4442的應(yīng)用: 芯片的復(fù)位方式; 芯片的操作命令格式; 2.3.4 SLE4442的接口技術(shù): SLE4442卡的接口電路; SLE4442卡的插入/退出識別與上電/下電復(fù)位過程; SLE4442卡的讀寫; SLE4442卡的邏輯加密。 2.3.5RS—232通信接口芯片: 2.3.6電路原理分析 2.4 軟件設(shè)計思想。 軟件結(jié)構(gòu)設(shè)計及其分析; 軟件系統(tǒng)分析; 2.5 軟件程序設(shè)計 3系統(tǒng)調(diào)試 4 結(jié)論 5 參考文獻 6 致謝 附錄: 附錄一:外文專業(yè)參考資料譯文 附錄二:外文專業(yè)參考資料原文 附錄三:電路原理圖 附錄四:程序流程圖 附錄五:程序清單 1.前言 1.1系統(tǒng)的提出及研究意義。 當(dāng)今世界信息技術(shù)的發(fā)展日新月異,一個以電子商務(wù)為主要特征的經(jīng)濟時代即將來臨,IC卡是一種將個人信息最有效地送入到先進的全球信息網(wǎng)絡(luò)并獲取所需結(jié)果的最有效的辦法,IC卡將成為人們聯(lián)網(wǎng)身份識別和實現(xiàn)電子支付手段。其影響面是前所未有的。智能IC卡與普通磁卡相比具有更高的安全性,為此,對智能IC卡的讀寫進行研究是非常有意義的。按卡與外界數(shù)據(jù)傳輸?shù)男问絹矸郑薪佑|式IC卡和非接觸式IC卡兩種。當(dāng)前廣泛使用的是接觸式IC卡,本文對其進行了詳細介紹。 目前,IC卡家族中檔次最高的智能IC卡,又稱CPU卡.顧名思義, 這種卡片上不但有存儲數(shù)據(jù)的存儲器和對外聯(lián)絡(luò)的通訊接口,還帶有具備數(shù)據(jù)處理能力的微處理器,實際上是一臺卡上的單片微機系統(tǒng).為了管理這一系統(tǒng)中的硬件和軟件資源, 卡上存儲有進行數(shù)據(jù)讀寫和安全管理的程序,以及管理這些程序的卡上操作系統(tǒng),即COS(Chip Operating system).COS與我們在PC機上常見的DOS和WINDOWS 等操作系統(tǒng)有很大不同,它是根據(jù)IC卡特點而開發(fā)的專用操作系統(tǒng).COS受IC 卡存儲容量和微處理器性能的限制,主要功能是:控制IC卡與外界的信息交換;管理IC卡上各種存儲器;在IC卡內(nèi)執(zhí)行讀寫器的各種操作命令.有了CPU與COS,IC卡就有了智能.因此智能IC 卡具有超強的存儲性能,提供很高的信息安全性和可靠性. 1.2系統(tǒng)的研究方向及功能概述。 本文主要以89C2051單片機為核心,IC卡讀/寫設(shè)備就是能將數(shù)據(jù)信息“寫入”IC卡或?qū)C卡內(nèi)部的數(shù)據(jù)信息“讀出”或“擦除”的電子接口設(shè)備,總體來說,可將其分為通用型讀/寫設(shè)備和專用型讀/寫設(shè)備。本設(shè)計主要分析接觸型IC卡讀/寫器,作為PC機的嵌入式外設(shè),通過串型接口實現(xiàn)交換。 功能:能識別和讀/寫存儲卡;為連機型讀/寫器,做為依附于PC機的一種外設(shè),通過RS-232C與PC機進行通信;能自動連續(xù)讀/寫,具有上電冷復(fù)位,插卡熱復(fù)位功能;卡上數(shù)據(jù)讀/寫采用雙認證方式,確保讀/寫數(shù)據(jù)的可靠性和準(zhǔn)確性;具有一定的抗攻擊能力,即對于非法插拔,非法IC卡等具有一定的抵抗能力,可避免短路等造成的讀/寫損壞;具有聲光提示讀/寫狀態(tài);采用動態(tài)加密算法,避免IC卡被非法復(fù)制,并保證IC卡數(shù)據(jù)的安全性。 2.正文 2.1硬件設(shè)計思路: IC卡的應(yīng)用領(lǐng)域非常廣泛。在IC卡的觸點和讀/寫設(shè)備的觸點良好接觸之前,讀/寫設(shè)備不應(yīng)對IC卡施加有關(guān)信號,以免造成不可預(yù)料的損壞。IC卡讀/寫設(shè)備作為系統(tǒng)和用戶交換的接口,必將面對各種各樣復(fù)雜的應(yīng)用環(huán)境。因此,在設(shè)計階段應(yīng)注意IC卡讀/寫設(shè)備環(huán)境。作為操作系統(tǒng),管理IC卡的硬件資源和數(shù)據(jù)資源是其基本任務(wù).IC卡上的硬件資源包括CPU,ROM,EEPROM和RAM及通訊接口,這些都由IC卡上操作系統(tǒng)統(tǒng)一管理, 使外部不能直接控制這些資源,使IC卡對外表現(xiàn)為一個"黑匣子",從而加強了系統(tǒng)的保密性能. 智能卡通訊管理主要功能是執(zhí)行智能IC卡的信息傳送協(xié)議, 接收讀寫器發(fā)出的指令,并對指令傳遞是否正確進行判斷.一般可采用奇偶檢,CRC校驗等方式判斷傳輸錯誤.對于采用分組傳輸協(xié)議的系統(tǒng), 還可以通過分組長度變化來檢出錯誤。 智能卡操作系統(tǒng)最重要的功能之一就是數(shù)據(jù)安全管理. 這可以具體地分為用戶與IC卡的鑒別,核實功能以及對傳輸數(shù)據(jù)的加密與解密操作. 智能IC卡COS的應(yīng)用管理功能是對讀寫器發(fā)來的命令進行判斷,譯碼和處理. 智能卡的各種應(yīng)用以專有文件形式存在卡上,各專有文件則是由IC 卡的指令系統(tǒng)中指令排列所組成的.
"鑒別"是指對IC卡本身的合法性進行驗證,判定一張IC卡是不是偽造的.如在前兩講中談到的多采用多種卡上設(shè)置的讀,寫,擦除密碼作為防偽的基本手段.而COS由于可以通過內(nèi)部軟件運行來完成密碼轉(zhuǎn)換,因此智能IC 卡上實際寫入的密碼無法被讀寫器直接讀取,安全性能更強.IC卡由于其高存儲量和高保密性,應(yīng)用領(lǐng)域十分廣泛,除覆蓋了傳統(tǒng)磁卡的全部功能外,還拓展到許多磁卡不能勝任的領(lǐng)域 2.2硬件論證方案: IC卡是一種集成電路卡,它的讀/寫設(shè)備是每個IC卡應(yīng)用系統(tǒng)必不可缺的周邊設(shè)備。該設(shè)備通過IC卡的8個觸點向IC卡提供電源并與IC卡相互交換信息。雖然IC卡是從磁卡發(fā)展而來的。 本IC卡讀/寫器的硬件系統(tǒng)設(shè)計主要有:IC卡的插拔檢測,IC卡的電源控制,IC 卡與CPU的接口以及必要的人機界面。軟件系統(tǒng)主要由IC卡數(shù)據(jù)讀/寫模塊,串行通信模塊等組成。 SLE4442是德國SIMENS公司設(shè)計的邏輯加密存儲卡。它具有2K位的存儲容量和完全獨立的可編程代碼存儲器。內(nèi)部電壓提升電路保證了芯片能夠以單一+5V電壓供電,較大的存儲容量能夠滿足通常應(yīng)用領(lǐng)域的各種需要,因此是目前國內(nèi)應(yīng)用較多的一種IC卡芯片。芯片采用;多存儲器結(jié)構(gòu),2線連接協(xié)議(串行接口滿足ISO7816同步傳輸協(xié)議),NMOS工藝技術(shù),每字節(jié)的擦除/寫入編程時間位。2。5MS。存儲器具有至少10000次的擦寫周期,數(shù)據(jù)保持時間至少10以上。 根據(jù)IC卡應(yīng)用系統(tǒng)的這種典型結(jié)構(gòu),開發(fā)者的主要工作包括:(1) 設(shè)計和構(gòu)造應(yīng)用系統(tǒng)中心數(shù)據(jù)庫,對應(yīng)用IC卡管理的數(shù)據(jù)進行分類存儲和管理.由于數(shù)據(jù)庫一般建立在小型機或微機網(wǎng)絡(luò)服務(wù)器上,一般在相應(yīng)環(huán)境中開發(fā)設(shè)計.(2)對IC 卡上數(shù)據(jù)的存儲格式,讀寫方式,加密和安全保護方式進行規(guī)劃和設(shè)計.這些可借助IC 卡讀寫器和微機的開發(fā)系統(tǒng)來完成.(3)構(gòu)造IC卡應(yīng)用環(huán)境,建立網(wǎng)絡(luò)和讀寫工作站.作為IC卡系統(tǒng)中的發(fā)卡站和結(jié)算站,可以采用帶聯(lián)機讀寫器的小型機或微機.系統(tǒng)設(shè)計環(huán)境可以是WINDOWS下的VB,FOXPOR,ACCESS等軟件,一般利用讀寫器廠家提供的接口函數(shù)與數(shù)據(jù)庫軟件接口.用戶刷卡使用的工作站可以采用PC機加聯(lián)機讀寫器組成,需進行用戶界面設(shè)計,能夠提供較友好的用戶界面.也可以使用便攜式的脫機工作站, 一般由單片機系統(tǒng)組成,帶有液晶顯示器和小型鍵盤.這種讀寫器的用戶接口軟件, 也需在專用的單片機系統(tǒng)中開發(fā).
因此,一個IC卡應(yīng)用系統(tǒng)的設(shè)計工作除了包括各站點的硬件配置,系統(tǒng)聯(lián)網(wǎng), 系統(tǒng)數(shù)據(jù)庫構(gòu)建和管理軟件編程,各工作站用戶接口軟件的編程,以及IC卡上數(shù)據(jù)規(guī)劃與初始分區(qū)和數(shù)據(jù)寫。 2.3硬件各模塊的設(shè)計: 2.3.189C2051單片機的簡介: 本讀寫器以ATMEL89C2051為內(nèi)核。此型號的單片機是一種低消耗,高性能的8位CMOS微處理芯片。片內(nèi)帶有2KB的閃爍可編程及可擦除只讀存儲器,與工業(yè)標(biāo)準(zhǔn)的80C51指令集相兼容,DIP20封裝。片上的PEROM準(zhǔn)許在線對程序存儲器重新編碼,也可用常規(guī)的非易揮發(fā)存儲芯片編程。它的特點可歸納為:1.與MCS-51產(chǎn)品兼容;2.2KB的在線可重復(fù)編程閃爍存儲器;:壽命:1000次寫/擦除周期,數(shù)據(jù)保存期10年;3.寬工作電壓:范圍Vcc=2.7~6V;4.全靜態(tài)工作方式:0~24MHZ;5.3級程序存儲器鎖定;6.256*8位內(nèi)部RAM;7.32條可編程I/O口線;8.3個16位定時/計數(shù)器;9.5個中斷源;10.可編程串行中斷;11.低功耗的閑置與掉電模式。 - 復(fù)位狀態(tài): MCS—51單片機復(fù)位后, 程序計數(shù)器PC和特殊功能寄存器復(fù)位的狀態(tài)如表所示。 復(fù)位不影響片內(nèi)RAM存放的內(nèi)容, 而ALE、PSEN在復(fù)位期間將輸出高電平。由表可以看出: (1) (PC)=0000H 表示復(fù)位后程序的入口地址為0000H; (2)(PSW)=00H, 其中RS1(PSW.4)=0, RS0(PSW.3)=0, 表示復(fù)位后單片機選擇工作寄存器0組; (3)(SP)=07H 表示復(fù)位后堆棧在片內(nèi)RAM的08H單元處建立;(4)P0口~P3口鎖存器為全1狀態(tài), 說明復(fù)位后這些并行接口可以直接作輸入口, 無須向端口寫1; (5) 定時器/計數(shù)器、 串行口、 中斷系統(tǒng)等特殊功能寄存器復(fù)位后的狀態(tài)對各功能部件工作狀態(tài)的影響。
上電復(fù)位: - AT89C2051結(jié)構(gòu):AT89C2051是一個有20個引腳的芯片,引腳配置如圖. 與8051內(nèi)部結(jié)構(gòu)進行對比后可發(fā)現(xiàn),AT89C2051減少了兩個對外端口(即P0、P2口),使它最大可能地減少了對外引腳,因而芯片尺寸有所減小。AT89C2051芯片的20個引腳功能為:1.VCC 電源電壓;2.GND 接地;3: RST復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個機器周期時,所有I/O引腳復(fù)位至“1”。
引腳結(jié)構(gòu): - XTAL1反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2來自反向振蕩放大器的輸出。P1口8位雙向I/O口。引腳P1.2~P1.7提供內(nèi)部上拉,當(dāng)作為輸入并被外部下拉為低電平時,它們將輸出電流(IIL),這是因內(nèi)部上拉的緣故。 P3口引腳P3.0~P3.5與P3.7為7個帶內(nèi)部上拉的雙向I/O引腳。P3.6在內(nèi)部已與片內(nèi)比較器輸出相連,不能作為通用I/O引腳訪問。
單片機內(nèi)部,外部振蕩電路:
- 單片機存儲器分類及配置: MCS—51單片機存儲器的分類從物理結(jié)構(gòu)上可分為: 片內(nèi)、 片外程序存儲器(8031和8032沒有片內(nèi)程序存儲器)與片內(nèi)、 片外數(shù)據(jù)存儲器4個部分; 從尋址空間分布可分為: 程序存儲器、 內(nèi)部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器3大部分; 從功能上可分為: 程序存儲器、 內(nèi)部數(shù)據(jù)存儲器、 特殊功能寄存器、 位地址空間和外部數(shù)據(jù)存儲器5大部分。
- 特殊功能寄存器(SFR):AT89C2051中特殊功能寄存器描述,它們共占用了19字節(jié),其功能與8051SFR功能相對應(yīng)。
- 程序存儲器的加密:AT89C2051片內(nèi)有2個鎖定位,可以編程(P),也可以不編程(U),從而得到3種鎖定位保護模式。
內(nèi)部結(jié)構(gòu): - 低功耗工作方式:AT89C2051有兩種低功耗工作方式:空閑方式與掉電方式。
1) 空閑方式(休眠方式):當(dāng)利用軟件使空閑方式位IDL(PCON.0)=1時,單片機進入空閑方式。此時,CPU處于休眠狀態(tài),而片內(nèi)所有其他外圍設(shè)備保持工作狀態(tài),片內(nèi)RAM和所有特殊功能寄存器內(nèi)容保持不變。在空閑方式下,當(dāng)晶振fosc=12MHz、電源電壓VCC=6V時,電源電流ICC從20mA降至5mA,而VCC=3V時,ICC由5.5mA降至1mA。中斷或硬件復(fù)位可以終止空閑方式。 當(dāng)空閑方式由硬件復(fù)位終止時,CPU要從休眠處恢復(fù)程序的執(zhí)行,執(zhí)行2個機器周期后,內(nèi)部復(fù)位算法才起作用。此時,硬件禁止訪問內(nèi)部RAM,但允許訪問端口引腳。為了防止休眠被復(fù)位終止時對端口引腳意外寫入的可能性,在生成空閑方式的指令后不應(yīng)緊跟對端口引腳的寫指令。如果不采用外部上拉,P1.0和P1.1應(yīng)置“0”;如果采用外部上拉,則應(yīng)置“1”。 2)掉電方式:掉電方式由掉電方式位PD(PCON.1)=1設(shè)置。此時,振蕩器停止工作,設(shè)置掉電方式的指令成為最后執(zhí)行的1條指令,片內(nèi)RAM和特殊功能寄存器內(nèi)容保持不變。在掉電方式下,VCCmin=2V。當(dāng)VCC=6V時,ICCmax=100μA;當(dāng)VCC=3V時,ICCmax=20μA。退出掉電方式的唯一方法是硬件復(fù)位。硬件復(fù)位將重新定義特殊功能寄存器,但不影響片內(nèi)RAM。復(fù)位的保持時間應(yīng)足夠長,以便振蕩器能重新開始工作并穩(wěn)定下來。在VCC沒有恢復(fù)到正常工作電壓之前,不應(yīng)進行復(fù)位。如果不采用外部上拉,P1.0和P1.1應(yīng)置“0”,否則置“1”。 2.3.2 SLE4442IC卡的簡介: SLE4442 是德國西門子SIMENS 公司設(shè)計的邏輯加密存儲卡它具有2K 位的存儲容量和完全獨立的可編程代碼存儲器PSC 內(nèi)部電壓提升電路保證了芯片能夠以單+5V 電壓供電較大的存儲容量能夠滿足通常應(yīng)用領(lǐng)域的各種需要因此是目前國內(nèi)應(yīng)用較多的一種IC 卡芯片芯片采用多存儲器結(jié)構(gòu)2 線連接協(xié)議串行接口滿足ISO7816 同步傳送協(xié)議NMOS 工藝技術(shù)每字節(jié)的擦除/寫入編程時間為2.5ms 存儲器具有至少10000 次的擦寫周期數(shù)據(jù)保持時間至少10 年。 SLE4442的觸點安排: 操作電壓 地 復(fù)位 未用 時鐘 雙向數(shù)據(jù)線 未用 未用芯片功能 芯片功能: SLE4442 IC 卡主要包括三個存儲器: 1.256x8 位EEPROM 型主存儲器。地址0~31 為保護數(shù)據(jù)區(qū)。該區(qū)數(shù)據(jù)讀出不受限制,寫入受保護存儲內(nèi)部數(shù)據(jù)狀態(tài)的限制。當(dāng)保護存儲器中第N 位N=0~31 為1 時,對應(yīng)主存儲器中第N 個字節(jié)允許進行擦除和寫入操作。地址32~255 后244 字節(jié)為應(yīng)用數(shù)據(jù)區(qū),數(shù)據(jù)讀出不受限制,擦除和寫入受加密存儲器數(shù)據(jù)校驗結(jié)果的影響。這種加密校驗的控制是對整個主存儲器實施的(即包括保護數(shù)據(jù)區(qū)和應(yīng)用數(shù)據(jù)區(qū))。 2.32 x1 位PROM 型保護存儲器.一次性編程以保護主存儲器保護數(shù)據(jù)區(qū),防止一些固定的標(biāo)識參數(shù)被改動.保護存儲器同樣受加密存儲器數(shù)據(jù)校驗結(jié)果的影響。 3.4x8 位EEPROM 型加密存儲器.第0 字節(jié)為密碼輸入錯誤計數(shù)器(EC).EC的有效位是低三位,芯片初始化時設(shè)置成”111”這一字節(jié)是可讀的(EC).的1,2,3字節(jié)為參照字存儲區(qū).這3 個字節(jié)的內(nèi)容作為一個整體被稱為可編程加密代碼(PSC).其讀出寫入和擦除均受自身比較操作結(jié)果的控制。 芯片內(nèi)部邏輯結(jié)構(gòu)如下: 1. 復(fù)位和復(fù)位響應(yīng): 復(fù)位和復(fù)位響應(yīng)是根據(jù)ISO7816-3 標(biāo)準(zhǔn)來進行的。在操作期間的任意時候都可以復(fù)位。開始,地址計數(shù)器隨一個時鐘脈沖而被設(shè)置為零。當(dāng)RST 線從高狀態(tài)H 置到低狀態(tài)L 時,第一個數(shù)據(jù)位(LSB)的內(nèi)容被送到I/O 上。若連續(xù)輸入32 個時鐘脈沖,主存儲器中的前四個字節(jié)地質(zhì)單元中的內(nèi)容被讀出。在第33個始終脈沖的下降沿,I/O 線被置成高狀態(tài)而關(guān)閉. 2.命令模式: 復(fù)位響應(yīng)以后芯片等待著命令。每條命令都以一個“啟動狀態(tài)”開始。整個命令包括3 個字節(jié)。隨后經(jīng)更著一個附加脈沖并用一個“停止?fàn)顟B(tài)”來結(jié)束操作。 啟動狀態(tài):在CLK 為高狀態(tài)H 狀態(tài)期間I/O 顯得下降沿為啟動狀態(tài)。 停止?fàn)顟B(tài):在CLK 為高狀態(tài)H 狀態(tài)期間I/O 顯得上升沿為停止?fàn)顟B(tài)。 在接受一個命令之后有兩種可能的模式輸出數(shù)據(jù)模式即讀數(shù)據(jù)和處理數(shù)據(jù)模式。 命令模式的時序圖: 3.輸出數(shù)據(jù)模式: 這種模式是將IC 卡芯片中的數(shù)據(jù)傳送個外部設(shè)備接口(IFD)的一種操作。 在第一個CLK 脈沖的下降沿之后,I/O 線上的第一位數(shù)據(jù)變?yōu)橛行АkS后每增加一個時鐘脈沖芯片,芯片內(nèi)部的一位數(shù)據(jù)被送到I/O 線上,數(shù)據(jù)的發(fā)送從每個字節(jié)的最低位(LSB)開始。當(dāng)所需要的最后一個數(shù)據(jù)送出以后,需要再附加一個時鐘脈沖來把I/O口置成高狀態(tài),以便接受新的命令。 在輸出數(shù)據(jù)期間任何“啟動狀態(tài)”和“停止?fàn)顟B(tài)”均被屏蔽掉. 輸出數(shù)據(jù)模式的時序關(guān)系: 4.處理數(shù)據(jù)模式: 這種模式是對IC 芯片作內(nèi)部處理. 芯片在第一個始終脈沖的下降沿將I/O 線從高狀態(tài)拉到低狀態(tài)并開始處理。此后芯片在內(nèi)部連續(xù)計時計數(shù),直到低n 個始終脈沖之后的附加一個時鐘脈沖的下降沿I/O 線再次置高,完成芯片的處理過程。在整個處理過程中I/O 線被鎖定成低狀態(tài)。 處理模式的時序關(guān)系: 2.3.3SLE4442卡的應(yīng)用: 1.部復(fù)位:SLE4442是基于同步夫位響應(yīng)的傳送協(xié)議。芯片的復(fù)位時序如前述。 2.復(fù)位:在把操作電壓連接到Vcc 段之后,芯片內(nèi)部進行復(fù)位操作。I/O 線被置為高狀態(tài)。必須在對任意地址進行讀操作或做一個復(fù)位響應(yīng)操作之后才可以進行數(shù)據(jù)交換。 3.:在CLK為低狀態(tài)期間,如果RST 置為高狀態(tài),則任何操作均無效。I/O 線被鎖定到高狀態(tài)。需要一個最小維持時間tres=5Us 之后,芯片才能接受新的復(fù)位。 中止?fàn)顟B(tài)的時序: 每條命令包含三個字節(jié)其排列順序如下 SLE4442芯片具有7種命令: 2.3.4SLE4442卡的接口技術(shù):IC卡接口設(shè)備是由IC卡適配插座,IC卡電氣接口電路,用于IC卡時序生成與數(shù)據(jù)交換的微處理器以及其他主設(shè)備的連接接口組成。根據(jù)IC卡在插入或退出時,按觸點壓觸和脫離的方式區(qū)分主要有兩種,一是滑觸式結(jié)構(gòu),這種方式,觸點處于固定位置,IC卡在插入或退出時,滑過與之不相關(guān)的位置,并滑接在固定的位置,另一類是著陸式結(jié)構(gòu),這種結(jié)構(gòu)下,IC卡在插入過程中,觸點與IC卡同步運動,逐步下壓,并穩(wěn)定與最終位置。 IC卡的接口電路是連接IC卡與讀寫機具的通路,由它實現(xiàn)對IC卡的供電,并滿足不帶電插拔的要求。 一般來說,邏輯電路的“1”和“0”只是反映電壓大小的關(guān)系,都處于帶電狀態(tài)。若帶電插拔IC卡,可能會給IC卡帶來損傷,甚至損壞它。因此在插拔前應(yīng)先斷開向IC卡供電的電源。,并切斷其邏輯連接,實現(xiàn)對IC卡的保護。 IC卡的邏輯接口電路一般采用集電極開路(OC)輸出及非嵌拉保護式輸入結(jié)構(gòu)。上拉電阻R源端與IC卡的供電電源相連接。當(dāng)IC卡處于供電狀態(tài)時,整個接口電路接通,借口設(shè)備與IC卡間構(gòu)成邏輯通路;而當(dāng)IC卡處于下電狀態(tài)時(V㏄=OFF),上拉電阻R的源端失去了供電,整個與卡的接口的電路均處于不帶電狀態(tài)。這種電路結(jié)構(gòu)簡單,可與CMOS,TTL接口相兼容,上升沿阻尼較大,不易產(chǎn)生邊沿振蕩,缺點是當(dāng)接口端的分布電容較大時,上升沿過緩。在作為CPU卡的時鐘驅(qū)動時(通常為3.57MHz ),就有可能產(chǎn)生丟失脈沖等現(xiàn)象。解決這一問題的辦法有兩種,第一種:是通過減小時鐘驅(qū)動端的上拉電,減小上升時間來解決;另一種是采用互補驅(qū)動方式來進行時鐘驅(qū)動,這種方式結(jié)構(gòu)復(fù)雜些,但可以實現(xiàn)更高的時鐘頻率。 所有的IC卡的接口部分都加加了箝位保護二級管,這些箝位二級管可以使各引腳上的電壓嚴(yán)格地限定在-Vd~Vcc+VD之間,這樣,可以抑制由于線路干擾和邏輯電平變化的邊沿產(chǎn)生抖動所帶來的瞬態(tài)過壓,為IC卡提供進一步的保護措施。 IC卡接口設(shè)備中的IC卡供電電路也是一個相對獨立于其他回路,這是由于IC卡接口設(shè)備是一個獨立于IC卡的設(shè)備,當(dāng)有卡插入時,接口設(shè)備便開始向IC卡提供其所須的電力。如果插入的是一張電源與地擊穿的壞卡,或是一個金屬片之類的物質(zhì),就會造成供電回路的短路現(xiàn)象,若IC卡接口設(shè)備中無過流保護措施,就會造成設(shè)備的損壞。即便有保護措施,若與IC卡接口設(shè)備的其他部分共同使用一個保護回路,就會干擾整個設(shè)備的正常工作。 該電路利用了帶輸出短路保護特性的78系列三端穩(wěn)壓集成電路,78L05的最大輸出電流可達150mA,短路保護電流起點在150mA~200mA左右,符合ISO/IEC7816-3所確定的范圍。當(dāng)插入的卡是一個電源對地的短路負載時,U1會因輸出過載而形成短路保護,由于接口設(shè)備的供電是在U2提供的穩(wěn)壓回路上,因而不會干擾接口設(shè)備的工作,這一段路保護信息會在“短路報警指示”信號線上形成一個低電平輸出,接口設(shè)備的微處理器通過感知這一信號而切斷對IC卡接口的供電,直到該卡退出為止,U1的輸出也會隨之而轉(zhuǎn)入正常的電壓輸出范圍,以便為后續(xù)插入的IC卡提供正常的供電服務(wù)。 - IC卡的插入/退出識別與上電/下電控制技術(shù):IC卡的插入與退出的識別是通過IC卡適配插座上的感應(yīng)開關(guān)來識別的,對于復(fù)雜結(jié)構(gòu)的IC卡適配插座,其識別與控制過程也相當(dāng)復(fù)雜,且針對不同的卡座,其控制也各不相同,IC卡的供電控制是一個直接涉及是否能安全可靠地操作IC卡的過程。它必須嚴(yán)格地遵循ISO7816-3規(guī)定,其操作如下:
(1)上電過程:——RST處于L狀態(tài); (2)下電過程:——RST為狀態(tài)L; ——vcc供電; ——CLK為狀態(tài)L; ——接口設(shè)備處于接受 ——VPP不起作用; 方式; ——VPP上升為空閑狀態(tài); ——I/O為狀態(tài)A; ——CLK由相應(yīng)穩(wěn)定的時鐘 ——VCC關(guān)閉。 提供; 上電過程: PWRON1:LCALL Recog ;識別是否有卡插入 CLR RST ;使RST=L CLR CLK ;使CLK=L LCALL Delay-0.5ms ;延遲0.5MS。使端口邏輯信號穩(wěn)定 CLR PWR ;給卡供電 CLR DATOUT ;使I/O端口=L; RET ;返回 下電過程:PWROFF1:CLR RST ;使RST=L CLR CLK ;使CLK=L CLR DATOUT ;使I/O=L LCALL DELAY-0.5MS ;延遲0.5MS,使端口邏輯信號穩(wěn)定 SETB PWR ;給卡下電 RET ;返回 由于IC寫主存儲器時需要驗證密碼,所以執(zhí)行下面程序時請確保SLE4442的密碼的正確性。如果密碼有錯誤,IC卡校驗3次便會鎖死報廢。 ORG 8000H AJMP MAIN ORG 8100H MAIN:MOV SP,#60H Write-read-Card: MOV R0,#PSWD MOV @R0,#0X11 INC R0 MOV @R0,#0X22 INC R0 MOV @R0,#0X33 LCALL CheckPassword Jnz WRExit MOV R0,#WriteBuf MOV @R0,#0X55 INC R0; MOV @R0,#0X66 MOV ByteNum,#0x02 MOV StartAdr,#0x20 LCALL WriteCard JNZ WRExit MOV ByteNum,#0x02 MOV StartAdr,#0x20 LCALL ReadCard JZ Write-Read-Card WRExit:mov A,#00H $INCLUDE(SLE4442.INC); END - IC卡的讀寫技術(shù):不同類型的IC卡其讀寫方式或數(shù)據(jù)協(xié)議方式是不同的,其地址計數(shù)器是與時鐘緊密相關(guān)的,當(dāng)卡復(fù)位時,地址計數(shù)器置“0”,以后,每向卡發(fā)一個節(jié)拍的時鐘,都將使IC卡的地址計數(shù)器加“1”,這一時鐘頻率上限為50KHZ或280KHZ。
復(fù)位過程:SYNRST:SETB DATOUT ;使能數(shù)據(jù)線 SETB RST ;復(fù)位使能 LCALL DELAY-10US ;延遲10us SETB CLK ;置同步復(fù)位時鐘H LCALL DELAY-10US ;延遲10us CLR CLK ;時鐘為L LCALL DELAY-10US ;延遲10us CLR RST ;復(fù)位結(jié)束 RET 數(shù)據(jù)字段的定位:SYNPOS:LCALL SYNRST ;IC卡復(fù)位 SP1:CJNE R3,#00H,SP3 ;判低位 CJNE R2,#00H,SP2 ;判高位 RET ;返回 SP2:DEC R2 ;高位減1 SP3:DEC R3 ;低位減1 SETB CLK ;開始建立一個時鐘脈沖 LCALL Delay-10us CLR CLK LCALL Delay-10us ;時鐘脈沖結(jié)束 SJMP SP1 ;繼續(xù)下一次 數(shù)據(jù)的讀出過程:SYNREAD:LCALL SUNPOS ;定位至起始地址 SETB DATAIN ;使能數(shù)據(jù)輸入線 SR1:MOV R5,#08H ;置移位次數(shù)為8次 SR2:SETB CLK ;CLK=H MOV C,DATIN ;將數(shù)據(jù)線上的內(nèi)容輸入到C觸發(fā)器中 RLC A ;A寄存器循環(huán)左移,C的內(nèi)容進入A最低位 LCALL Delay-10us ;延時10us CLR CLK ;CLK=L LCALL Delay-10us ;延時10us DJNZ R5,SR2 ;判斷是否接收完一字節(jié),若是繼續(xù),否則轉(zhuǎn)至SR2,繼續(xù)接收下一位 MOV @R0,A ;將字節(jié)內(nèi)容送(R0)單元 INC R0 ;數(shù)據(jù)存放地址加1 DJNZ R4,SR1 ;判斷是否接收完R4個字節(jié),若是繼續(xù),否則轉(zhuǎn)至SR1,繼續(xù)接收 RET ;返回 IC卡的寫操作:在器件地址碼之后,緊跟著的是字節(jié)地址碼。地址碼長度為8位。時序中的數(shù)據(jù)為寫字節(jié)時,由IC卡讀/寫器中的單片機在SDA發(fā)送一個8位碼長的數(shù)據(jù);卡片每收到一個數(shù)據(jù)字節(jié)后,都要通過SDA回送一個“確認”信號。 IC卡的讀操作有3種:現(xiàn)行地址讀、隨機地址讀、順序讀。 IC卡芯片操作地址:對IC卡而言,A2,A1,A0地址線均為0;因此,寫地址為0A0H,讀地址為0A1H。 IC卡讀寫器要能讀寫符合ISO7816標(biāo)準(zhǔn)的IC卡。IC卡接口電路作為IC卡與IFD內(nèi)的CPU進行通信的唯一通道,為保證通信和數(shù)據(jù)交換的安全與可靠,其產(chǎn)生的電信號必須滿足下面的特定要求。
完成IC卡插入與退出的識別操作:IC卡接口電路對IC卡插入與退出的識別,即卡的激活和釋放,有很嚴(yán)格的時序要求。如果不能滿足相應(yīng)的要求,IC卡就不能正常進行操作;嚴(yán)重時將損壞IC卡或IC卡讀寫器。 (1)激活過程:為啟動對卡的操作,接口電路應(yīng)按圖1所示順序激活電路: ◇RST處于L狀態(tài); ◇根據(jù)所選擇卡的類型,對VCC加電A類或B類,正常操作條件下VCC的電特性見表1; 正常操作條件VCC的電特性 符 號 | 最小值 | 最大值 | 條 件 | Vvcc/V | 4.5
2.7 | 5.5
3.3 | A類
B類 | Icc/mA |
| 60500.5 | A類,在最大允許頻率
B類,在最大允許頻率時鐘停止 |
◇VPP上升為空閑狀態(tài); ◇接口電路的I/O應(yīng)置于接收狀態(tài); ◇向IC卡的CLK提供時鐘信號(A類卡1~5MHz,B類卡1~4MHz)。
如圖所示,在t’a時間對IC卡的CLK加時鐘信號。I/O線路應(yīng)在時鐘信號加于CLK的200個時鐘周期(ta)內(nèi)被置于高阻狀態(tài)Z(ta 時間在t’a之后)。時鐘加于CLK后,保持RST為狀態(tài)L至少400周期(tb)使卡復(fù)位(tb在t’a之后)。在時間t’b,RST被置于狀態(tài)H。I/O上的應(yīng)答應(yīng)在RST上信號上升沿之后的400~40 000個時鐘周期(tc)內(nèi)開始(tc在t’b之后)。 在RST處于狀態(tài)H的情況下,如果應(yīng)答信號在40 000個時鐘周期內(nèi)仍未開始,RST上的信號將返回到狀態(tài)L,且IC卡接口電路按照圖2所示對IC卡產(chǎn)生釋放。 (2)釋放過程:當(dāng)信息交換結(jié)束或失敗時(例如,無卡響應(yīng)或卡被移出),接口電路應(yīng)按圖2所示時序釋放電路: ◇RST應(yīng)置為狀態(tài)L; ◇CLK應(yīng)置為狀態(tài)L(除非時鐘已在狀態(tài)L上停止); ◇VPP應(yīng)釋放(如果它已被激活); ◇I/O應(yīng)置為狀態(tài)A(在td時間內(nèi)沒有具體定義); 通過觸點向卡提供穩(wěn)定的電源 IC卡接口電路應(yīng)能在表1規(guī)定的電壓范圍內(nèi),向IC卡提供相應(yīng)穩(wěn)定的電流。 IC卡接口電路向卡提供時鐘信號。時鐘信號的實際頻率范圍在復(fù)位應(yīng)答期間,應(yīng)在以下范圍內(nèi):A類卡,時鐘應(yīng)在1~5MHz;B類卡,時鐘應(yīng)在1~4MHz。 復(fù)位后,由收到的ATR(復(fù)位應(yīng)答)信號中的F(時鐘頻率變換因子)和D(比特率調(diào)整因子)來確定。 時鐘信號的工作周期應(yīng)為穩(wěn)定操作期間周期的40%~60%。當(dāng)頻率從一個值轉(zhuǎn)換到另一個值時,應(yīng)注意保證沒有比短周期的40%更短的脈沖。 - 卡的邏輯加密芯片:邏輯加密卡主要是由EEPROM單元陣列和密碼控制邏輯構(gòu)成的,其功能介于存儲器卡和CPU卡之間,它具有一定的保密邏輯功能,不像存儲器卡那樣能夠被自由擦寫。邏輯加密卡芯片從功能上看,主要分為兩個部分,一是EEPROM單元陣列,一是保密邏輯部分。 SLE4442卡內(nèi)含256*8位EEPROM存儲器和32*1位保護存儲器,該保護存儲器對EEPROM的前32字節(jié)進行寫/刪除保護。保護位是一次性的,不能修改。它還有一個可編程序安全碼邏輯,整個存儲器除了PSC以外,均可讀,而且只有在比較PSC不正確后才能進行寫/刪除操作。在三次比較PSC不正確后將鎖住后續(xù)的PSC比較及寫/刪除操作。
存儲器分配: 邏輯加密卡芯片的功能框圖: 比較從EEPROM中讀出的數(shù)據(jù)和IC卡中讀出的數(shù)據(jù)是否相同: CMPLOOP: MOV A,@R0 MOV R6,A MOV A,@R1 XRL A,R6 JNZ NOEQU DJNZ R7,CMPLOOP SNEQU: CLR SW JMP Read-Insert-Card NOEQU: SETB SW JMP Read-Insert-Card $INCLUDE(SLE4442.INC) $INCLUDE(V12C-24A.inc) end EEPROM邏輯圖2.3.5RS—232通信接口芯片:RS—232是目前串行通信中最常用的總線,其標(biāo)準(zhǔn)RS—232C是美國電子工業(yè)協(xié)會EIA制定的串行物理接口協(xié)議。RS—232接口的特征是負邏輯、單端驅(qū)動、共地接收、適用于點對點通信。當(dāng)信號線上的電平為-3~-15V時,表示邏輯“1” ;當(dāng)信號為+3~+15V時,表示邏輯“0”。通信雙方使用一條公共信號地線作電平參考。其驅(qū)動器負載電容不超過2500PF,通信距離受此電容的限制。 JP15跳線組的1和2,即把單片機鎖緊座的RXD和TXD腳與RS-232電平轉(zhuǎn)換芯片MAX232連接起來。RS-232的2口:C0-RSD,PC接收串行數(shù)據(jù);3口:C0-TXD,PC接收串行數(shù)據(jù)。2.3.6電路原理分析:由于IC卡使用中往往牽涉到經(jīng)濟及其他信息,因此它的可靠性至關(guān)重要。IC卡讀/寫接口的可靠性包括:IC卡讀/寫過程能可靠地進行;任意插拔IC卡不會引起IC卡損傷;在IC卡讀/寫中出現(xiàn)問題時,能及時告警并恢復(fù)到正常狀態(tài)。 IC卡的上/下電控制:IC卡的上電一般是可知的,即對IC卡讀/寫時,須給IC上電;因此,IC卡的上電控制比較簡單,由于IC卡讀/寫電流很小,一般為幾個毫安,由單片機的P1。4信號通過小功率三極管9012控制系統(tǒng)的+5V電源切入IC卡座。當(dāng)IC卡上電后,發(fā)光二極管L2被點亮,起讀/寫指示作用。每次對IC卡讀/寫完成后,即及時下電,以減少插拔時帶電的可能性。要保證IC卡能任意插拔,不致引起IC卡損壞,必須使IC卡拔卡過程處于IC卡斷電的狀態(tài)。要作到這一點,必須保證IC卡的下電迅速及時;為此,可將IC卡的拔卡處理由最高級中斷程序來實現(xiàn)。 IC卡與CPU間串行信號的限流: 為了保證IC卡帶電插拔的安全可靠,需對IC卡與CPU間串行通信的數(shù)據(jù)信號與時鐘信號進行。限流電阻阻值一般是100~200歐。此限流電阻同時可以防止往IC卡座中導(dǎo)電的異物而引起系統(tǒng)損壞。 串行通信接口的實現(xiàn):TTL與RS-232C電平轉(zhuǎn)換由諸如MAX202E接口芯片實現(xiàn),采用簡單的軟握手3線制通信方式。 工作狀態(tài)的有效提示:大多IC卡讀/寫裝置有聲光指示接口,發(fā)光二極管L2即為讀/寫工作狀態(tài)指示,發(fā)光二極管L1用與串行通信指示。 2.4軟件的設(shè)計思想: - 軟件結(jié)構(gòu)設(shè)計及其分析:
讀/寫器軟件結(jié)構(gòu):讀寫器的讀/寫操作由上位PC機進行控制,通過串行通信的命令字來實現(xiàn),具體規(guī)定為:如握手信號為0AAH,則讀卡;如握手信號為0BBH,則寫卡。其中,在讀/寫卡開始時,設(shè)置讀/寫卡標(biāo)志;在通信開始時,設(shè)置通信標(biāo)志。避免數(shù)據(jù)不全或錯誤數(shù)據(jù)讀入或?qū)懭搿A硗猓械模桑每〝?shù)據(jù)是先存放在IC卡的讀緩沖區(qū)和寫緩沖區(qū),“有卡插入否”是通過判斷P3.3引腳的高低電平來實現(xiàn)。為了保證讀卡的可靠性,必須進行軟件“去抖”處理。一旦有卡插入,則設(shè)置讀/寫標(biāo)志;在通信時,設(shè)置正在通信標(biāo)志。目的是為了避免帶電插拔。本系統(tǒng)中關(guān)鍵的軟復(fù)位是通過在外中斷INT0服務(wù)函數(shù)中設(shè)置軟復(fù)位標(biāo)志,在主函數(shù)中強制跳轉(zhuǎn)到函數(shù)首實現(xiàn)的。 為保證IC卡讀/寫過程準(zhǔn)確可靠,除要保證讀/寫函數(shù)嚴(yán)格按照IC卡的讀/寫時序外,還須采用“重讀”和“回讀”措施。即:讀IC卡時,采用讀2次的方式,寫IC卡時,先將數(shù)據(jù)寫入,再回讀比較,相符則繼續(xù),否則重寫一次,以免偶然的寫失敗導(dǎo)致得出IC卡失效才錯誤結(jié)論。為使上、下機位均不死機或簡單恢復(fù)正常工作。對于作為下位機的IC卡讀/寫器,利用IC卡能隨意拔插,再結(jié)合IC卡的拔卡處理是一個高級中斷的特點,將IC卡的拔卡中斷程序分2個分支:1)非IC卡讀/寫且非與上位機通信狀態(tài);中斷子程序是簡單的拔卡BEEP告警后,直接中斷返回。2)在與上位機通信或正在對IC卡讀/寫狀態(tài)。會引起系統(tǒng)工作失常甚至死機,在恢復(fù)中斷環(huán)境后,用強制跳轉(zhuǎn)指令強制從主程序開始執(zhí)行,達到復(fù)位的效果。 為確保串行通信的可靠性,應(yīng)著重從上、下位機通信軟件的以下問題入手:合理選擇通信波特率,由于上、下位機通信的數(shù)據(jù)量小,因此,通信波特率可選擇低一些,但要高度重視下位機的波特率參數(shù)整定問題。 3.系統(tǒng)調(diào)試:對于開發(fā)者來說,在方案確定和實施時,首先要考慮對于不同的功能模塊具體采用的接口方式,接口芯片及電路。要做的工作主要是查閱資料,由于單片機外圍接口電路設(shè)計可借鑒的資料十分豐富。因此在電路設(shè)計時,如果能清楚了解參考資料的設(shè)計意圖,設(shè)計要點,應(yīng)當(dāng)說在原理上一般不會出錯,主要是工藝性錯誤或設(shè)計缺陷。從這個意義上說,單片機應(yīng)用系統(tǒng)的硬件調(diào)試主要是排查電路板的問題和連接的問題。1.仔細推敲設(shè)計原理,確認無誤;2.對照設(shè)計圖紙查印制電路板,看是否有過空,粘連等工藝現(xiàn)象;3.外圍連接是否有誤。單片機應(yīng)用系統(tǒng)的軟件調(diào)試主要是邏輯錯誤和功能錯誤。 本設(shè)計利用DP—51PRO單片機綜合仿真實驗儀進行智能IC卡讀寫器的操作,DP—51PRO單片機綜合仿真實驗儀提供了豐富的外圍期間和設(shè)備,其中,D8區(qū)是接觸式IC卡實驗區(qū),J100為IC卡控制信號接口,其中VCC和GND已經(jīng)連接到卡座上。 4.結(jié)論: 在本系統(tǒng)的開發(fā)應(yīng)用過程中,由本人獨立完成智能IC卡讀寫器的設(shè)計,但是,由于本人經(jīng)驗、知識積累的欠缺,本設(shè)計還存在很多不足和欠缺。 但是,智能IC卡讀寫器還是應(yīng)用特別的廣泛,此次的設(shè)計還是比較實用,基本實現(xiàn)了預(yù)期目標(biāo)。本次設(shè)計結(jié)束了我的大學(xué)生涯,它是具有標(biāo)志性的。它不僅僅是一次畢業(yè)論文設(shè)計,在設(shè)計中我通過實踐,掌握了更多的專業(yè)知識,由于親自動手實踐,查閱了大量有關(guān)于IC卡,51單片機的資料,更加深刻的記憶其中的內(nèi)容。在設(shè)計中培養(yǎng)動思維方式、動手能力,這對今后的生活、工作、學(xué)習(xí)都有很大的幫助。而且,同學(xué)的互助,讓我更懂得工作需要團體精神!這比設(shè)計本身更有意義。
6.致謝信: 時光荏苒,歲月如梭,轉(zhuǎn)眼間四年的大學(xué)生活馬上結(jié)束了。本次畢業(yè)設(shè)計已經(jīng)接近尾聲,回顧本次畢業(yè)設(shè)計,作為一個本科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計是難以想象的。感謝在此期間,所有教育我的老師,你們的富有創(chuàng)造性的思維方法,豐富的科研經(jīng)驗和遠見卓識,開拓了我的思路,使我受益匪淺,在此深表謝意! 此外,還要特別感謝我的指導(dǎo)老師宮老師,無論在理論上還是在實踐中,都給與我很大的幫助,使我得到很大的提高,這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,在此感謝他耐心的輔導(dǎo)。在撰寫論文階段,宮老師幾次審閱我的論文,提出了許多寶貴意見,沒有他的指導(dǎo),我就不能較好的完成課題設(shè)計的任務(wù)。 最后,將次文獻給所有關(guān)心我,教育我,支持我的親人老師和朋友們謝謝你們的鼓勵,此次畢業(yè)設(shè)計才會順利完成! 附錄一:外文專業(yè)參考資料譯文: 附錄二:外文專業(yè)參考資料原文: 附錄三:電路原理圖:
附錄四:程序流程圖: 
完整的Word格式文檔51黑下載地址(含源碼與清晰圖片):
基于單片機實現(xiàn)IC卡讀卡器.docx
(1.82 MB, 下載次數(shù): 42)
2018-5-16 19:32 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|