基于單片機的IC卡讀卡器設(shè)計說明_第1頁
基于單片機的IC卡讀卡器設(shè)計說明_第2頁
基于單片機的IC卡讀卡器設(shè)計說明_第3頁
基于單片機的IC卡讀卡器設(shè)計說明_第4頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于單片機的IC 卡讀卡器設(shè)計第 1 章緒論本章介紹了 IC 卡的發(fā)展歷史和應(yīng)用情況,說明了現(xiàn)代IC 卡技術(shù)的基礎(chǔ)知識,最后分析了目前常見的IC 卡讀寫器終端,并提出了本課題中IC 卡讀寫器的設(shè)計目標(biāo)。1.1 IC卡的發(fā)展和使用應(yīng)用情況卡片是作為個人身份識別的手段而引進的,而作為交易憑證的卡片則早在19 世紀(jì)80 年代就萌芽于英國了,1950年,美國商人設(shè)計了第一張現(xiàn)代的塑料信用卡,1951年美國富蘭克林銀行作為金融機構(gòu)率先發(fā)行了信用卡,到60 年代中期, 人們在塑料金融交易卡的背面貼上磁條, 發(fā)展成為能夠自動讀取信息進行在線處理的磁卡,磁卡因為結(jié)構(gòu)簡單,價格低廉,得到迅速推廣。IC 卡是近年

2、從歐洲開始出現(xiàn)的,IC 卡具有突出的 3S特點,即 Standard( 國際標(biāo)準(zhǔn)化 )、Smart( 靈巧智能化 )、和 Security( 安全性 )。因而發(fā)展迅速,在金融、通訊、 交通等眾多領(lǐng)域中后來居上,即使那些磁卡已經(jīng)普及應(yīng)用的范圍也將被取而代之。 IC 卡不僅改變了現(xiàn)有多種卡的使用方法和功能作用,還不斷開創(chuàng)出新的應(yīng)用領(lǐng)域。將 IC 卡和其他設(shè)備組成系統(tǒng)就能提供非常豐富的服務(wù)功能,把這些功能與生產(chǎn)或流通領(lǐng)域有機地結(jié)合起來, 將出現(xiàn)令人意想不到的奇跡, 創(chuàng)造出巨大的經(jīng)濟和社會效益。隨著信息技術(shù)的發(fā)展,IC 卡作為一種先進的信息存儲介質(zhì),它的應(yīng)用己經(jīng)滲透到各國的經(jīng)濟、社會生活、軍事等各個方

3、面,將來更有著廣闊的發(fā)展空間。1.2 IC卡應(yīng)用技術(shù)IC 卡比磁卡存儲容量大,可靠性和安全性高,在應(yīng)用上除了覆蓋磁卡的全部應(yīng)用范圍以外,還提供了許多磁卡所不具備的應(yīng)用特性。正是這些特性,使IC 卡在脫機業(yè)務(wù)處理和聯(lián)網(wǎng)數(shù)據(jù)一致性等方面表現(xiàn)出前所未有的優(yōu)勢。IC 卡雖然有很強的功能, 但僅當(dāng) IC卡加入到應(yīng)用系統(tǒng)中, 構(gòu)成發(fā)行商、 應(yīng)用系統(tǒng)和持卡人之間的數(shù)據(jù)傳輸媒介時,才能有效地發(fā)揮其優(yōu)勢。一個好的IC 卡應(yīng)用系統(tǒng),應(yīng)具備良好的應(yīng)用特性和性能價格比,還要有好的安全特性。IC 卡最初是為了解決金融交易中的安全性問題而設(shè)計的,它帶來全新的交易概念與巨大的優(yōu)勢。 IC 卡在應(yīng)用中的技術(shù)優(yōu)勢在于良好的機器

4、讀寫能力、共同認可的安全防范技術(shù)和相對較大的數(shù)據(jù)存儲能力。1良好的機器讀寫性能便于人機卡之間的會話IC 卡是一種電路卡,它在機器讀寫性能上遠優(yōu)于磁卡和光卡,無需往復(fù)的機械動作即可完成人機卡之間的多次會話過程,使卡在應(yīng)用時更容易進行操作與相互驗證,給卡的應(yīng)用開發(fā)者和使用者都帶來了極大的便利。2 良好的安全防范技術(shù)是卡能夠脫離網(wǎng)絡(luò)使用IC 卡采用了為國際上各種開發(fā)者與使用者所共同認可的半導(dǎo)體密碼存放于軟件加密技術(shù), 它可以有效地阻止卡的非法復(fù)制與數(shù)據(jù)的篡改。應(yīng)用設(shè)備可以在脫離網(wǎng)絡(luò)的情況下,不需要人工干預(yù),即可對IC 卡進行鑒別,以確定該卡是否是本系統(tǒng)所許可的,是否可在該應(yīng)用場合中使用等。 通過持卡

5、人輸入PIN,與卡內(nèi)一組密碼比較, 可以確認持卡人的身份。這些特點使 IC 卡能成為傳導(dǎo)媒體,再加上認證和數(shù)據(jù)加密等功能,使卡能夠脫離網(wǎng)絡(luò)使用。3 大容量的數(shù)據(jù)存儲能力使IC 卡成為數(shù)據(jù)媒體在一個應(yīng)用系統(tǒng)使用中, 系統(tǒng)必須對所有持卡人建立一份身份與使用的檔案。在磁卡系統(tǒng)中,這組檔案存放在中心數(shù)據(jù)庫系統(tǒng)內(nèi),持卡人每次使用都需通過終端,以網(wǎng)絡(luò)形式從數(shù)據(jù)庫系統(tǒng)中提出那份與自己相關(guān)的檔案?,F(xiàn)在IC 卡的存儲能力增加了,這份相關(guān)信息可以存放在 IC 卡中,終端設(shè)備交易的實時性明顯改善,使用的靈活性也大大增加。IC 卡三大特點的結(jié)合, 構(gòu)成了 IC 卡應(yīng)用的強大優(yōu)勢, 它一方面降低了對網(wǎng)絡(luò)的依賴程度,提高

6、了相應(yīng)速度 ;另一方面對發(fā)行商、應(yīng)用商和持卡者三方面的利益提供了有效的保護手段,為 IC 卡的廣泛應(yīng)用鋪平了道路。IC 卡應(yīng)用范圍相當(dāng)廣泛,這里僅根據(jù)現(xiàn)有的應(yīng)用提供部分應(yīng)用領(lǐng)域。(1)應(yīng)用于金融領(lǐng)域,可以作為信用卡、現(xiàn)金卡、證券卡或電子資金轉(zhuǎn)賬卡等。(2)可以作為身份證明卡使用,如身份證、駕駛執(zhí)照、會員卡等。(3)在醫(yī)療、保健等領(lǐng)域, IC 卡可以用于健康卡、少兒疫苗卡、就診卡等。(4)在商業(yè)及服務(wù)領(lǐng)域,可以用IC 卡作為優(yōu)惠卡、結(jié)算卡、服務(wù)卡等。(5)在交通領(lǐng)域, 可以用 IC 卡取代公交或地鐵月票, 可以改變原有對月票的當(dāng)月有效限制為有效次數(shù)限制。還可用于公路付費和停車付費等場合。(6)I

7、C 卡電話卡,這是至目前為止IC 卡用量最大的一種應(yīng)用 .用 IC 卡公用電話替代磁卡電話與投幣電話即可杜絕欺詐行為,又可省去攜帶零錢所帶來的麻煩。(7)IC 卡在門禁系統(tǒng)、設(shè)備使用等情形中,以鑰匙卡的形式出現(xiàn),使“鎖”有了新的一個層次定義。(8)IC 卡還可集各種服務(wù)功能于一身,如企業(yè)的員工卡、校園“一卡通”等即屬此類,持卡人可以用卡進行考勤、開門、就餐、借閱圖書等。1.3 課題的建立以及本文完成的主要工作本文主要包括以下內(nèi)容:1總體方案的構(gòu)思2. 畫出各模塊電路圖3. 元器件的選取與購買4. 正確焊接接硬件電路5軟件設(shè)計中完成寫主存儲器、寫保護存儲器、寫密碼和校驗密碼操作6. 完成 SLE

8、4442 復(fù)位應(yīng)答調(diào)試第 2 章方案論證方案一選用飛思卡爾單片機MC9S12D64做為主控芯片,該芯片是一款性能優(yōu)良的單片機, 包含一個 16 位中央處理單元、 64 KB Flash、4 KB RAM 、1 KBE2PROM 、一個 I2C接口、一個同步串行接口和兩個異步串行通信接口等豐富資源, 能夠滿足系統(tǒng)設(shè)計的需求。具體方案如圖2-1 所示。圖 2-1 MC9S12D64的總體設(shè)計方案方案二選用 STC89C55RD+做為主控芯片, STC89C55是一種帶 16K 字節(jié)閃爍可編程可檫除只讀存儲器(FPEROM-Flash Programable and Erasable Read On

9、ly Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,具體方案如圖 2-2 所示。SLE4442 IC卡主機主控芯片 MC9S12D64電源電路復(fù)位電路時鐘電路RS232通信模塊I C 接口2圖 2-2 STC89C55的總體設(shè)計方案因為這個設(shè)計需要用到的單片機引腳不多,對單片機配置也要求不高; 飛思卡爾單片機 MC9S12D64功能太強大價格也比較昂貴,綜合考慮選擇比較熟悉的STC89C系列單片機是比較合理的。顯示鍵盤輸入控制器Stc89c55RD+PC通信IC 卡SLE4

10、442第3章硬件設(shè)計所設(shè)計的讀寫器以STC89C55RD+單片機為核心, 配以 IC 卡接口電路、串行通信電路、存儲電路、鍵盤輸入電路和液晶顯示電路等部分。通過讀寫器插槽與IC 卡芯片通信,由 STC89C55RD+單片機控制數(shù)據(jù)傳輸過程,實現(xiàn)讀卡和寫卡操作。系統(tǒng)的總體電路圖如圖 3-1 所示。圖 3-1 系統(tǒng)總體電路圖系統(tǒng)總體設(shè)計框圖如圖3-2 所示。圖 3-2 系統(tǒng)總體框圖3.1 IC 卡芯片選擇IC 卡集成電路卡 (IntegratedC ircuit Card) 的簡稱1,有些國家和地區(qū)稱之為微芯片卡(Microchip card)或微電路卡 (Microcircuit Card)。I

11、C 卡的大小和磁卡相同,它把集成電路鑲在塑料卡片上, 芯片一般是不易揮發(fā)性存儲器(ROM, EPROM. EPROM),保護邏輯電路,甚至于CPU 。本節(jié)介紹 IC 卡的一些基本知識,使讀者對IC 卡有一個大概的了解。由于本設(shè)計所采用的IC 卡為接觸型邏輯加密卡(SLE4442 ) ,所以本節(jié)的內(nèi)容重點介紹此卡。SLE4442是由德國西門子公司設(shè)計的邏輯加密存儲卡。它具有2K 位的存儲容量和完全獨立的可編程加密代碼存儲器。內(nèi)部電壓提升電路保證了芯片能夠以單5V 電壓供電,較大的存儲器容量能夠滿足應(yīng)用領(lǐng)域的各種要求。是目前國內(nèi)應(yīng)用較多的一種IC 卡芯片。3.1.1 芯片特點1面向字節(jié)尋址;2采用

12、多存儲器結(jié)構(gòu):主存儲器、保護型存儲器、加密存儲器;3線連接協(xié)議,觸點和串行接口滿足ISO7816同步傳送協(xié)議;4芯片采用 NMOS 工藝技術(shù),每字節(jié)的擦除/ 寫入編程時間為 2.5ms ;5復(fù)位響應(yīng)( ATR )符合 ISO/IEC7816-3協(xié)議;6存儲器采用至少10 000次的擦除 / 寫入周期,數(shù)據(jù)保持時間至少為10 年;7額外特性:數(shù)據(jù)僅能在正確輸入24 位可編程安全碼(安全存儲器)之后才能改變。顯示鍵盤輸入控制器Stc89c55RD+PC通信IC 卡SLE44423.1.2 芯片的引腳配置芯片的引腳與國際標(biāo)準(zhǔn)兼容,引腳的定義和功能說明如表3-1 所示。表 3-1 SLE4442引腳功

13、能引腳卡觸點符號功能1 2 3 4 5 6 7 8 C1 C2 C3 C4 C5 C6 C7 C8VCC RST CLK NC GND NC I/O NC 操作電壓 5V 復(fù)位時鐘未用地未用雙向數(shù)據(jù)線(漏極開路)未用3.1.3 芯片功能SLE4442IC卡芯片主要包括三個存儲器:256 8 位 EEPROM 型主存儲器、 321 位 PROM 型保護存儲器和 48 位 EEPROM 型加密存儲器2。1主存儲器主存儲器為可重復(fù)擦除使用的EEPROM 型存儲器。 按字節(jié)尋址, 擦除寫入。 在擦除時,一個數(shù)據(jù)字節(jié)的所有8 位被全部置“ 1” 。在寫入時,在 EEPROM單元中的信息則根據(jù)輸入的數(shù)據(jù),

14、按字位方式變換成邏輯“0”(即在 EEPROM 中,新寫入的數(shù)據(jù)與原來存在的數(shù)據(jù)進行“邏輯與”)。通常,要改變一個數(shù)據(jù)需要先進行擦除再進行寫入兩項操作。如果在被尋址的字節(jié)中8 位沒有一個字位需要從0 變?yōu)?1,則可以不進行擦除處理。反之亦然,在被尋址的字節(jié)中, 如果沒有一個字節(jié)需要從1 變?yōu)?0, 則可以不做寫入處理,寫入或擦除操作一次至少耗費2.5ms 時間。主存儲器的地址是從00H 到 FFH 。但主存儲器可分為兩個數(shù)據(jù)區(qū):保護數(shù)據(jù)區(qū)和應(yīng)用數(shù)據(jù)區(qū),保護數(shù)據(jù)區(qū)是主存儲器前32 個字節(jié)數(shù)據(jù)區(qū)。其地址是從0(00H) 到 31(1FH)這部分的數(shù)據(jù)讀出不受限制,但擦除和寫入操作均受到保護存儲器內(nèi)

15、部數(shù)據(jù)狀態(tài)的限制。當(dāng)保護存儲器中第N 位為 0 時,則對應(yīng)主存儲器中第N 個字節(jié)就不允許進行擦除和寫入操作。故保護數(shù)據(jù)區(qū)一般均作為IC 卡的標(biāo)識數(shù)據(jù)區(qū),存放一些固定不變的標(biāo)識參數(shù)。應(yīng)用數(shù)據(jù)區(qū)為主存儲器后224 個字節(jié)。其地址從32(20H) 到 255(FFH) 。這部分的數(shù)據(jù)讀出不受限制,但擦除和寫入受控于加密存儲器數(shù)據(jù)校驗比較結(jié)果的影響。當(dāng)需要修改應(yīng)用數(shù)據(jù)區(qū)的內(nèi)容時,必須首先輸入一個3 字節(jié)長的“校驗字”。這個新輸入的“校驗字”與原來存在在加密存儲器中的 “參照字” 進行一對一的比較。只有當(dāng)兩者完全一致時,芯片的加密控制邏輯才打開芯片的主存儲器,允許后面的擦除和寫入操作。 芯片允許在有限的

16、次數(shù)內(nèi)重試比較操作。如果在連續(xù)三次比較失敗之后,芯片的錯誤計數(shù)器計數(shù)到“0” ,并將鎖死主存儲器, 禁止隨后的任何比較操作和寫入擦除操作。這時整個主存儲器變成一個只讀存儲器。芯片中各存儲器的內(nèi)容不能再改變。2保護存儲器保護存儲器是一個32 1 位的一次性可編程只讀存儲器 (PROM ) 。它是按字位方式尋址和寫入。 保護存儲器從 032 的每一位對應(yīng)著主存儲器地址從0 到 31 的字節(jié)。因此可以理解為每個字節(jié)單元的控制熔絲。從出廠到被初始化之前,保護存儲器的狀態(tài)為全“1” 。從控制方面來說,保護存儲器的內(nèi)容只能從“1”寫成“0”而不能從“ 0”擦除成“1” 。保護存儲器每個被寫“ 0”的單元所

17、對應(yīng)控制的主存儲器的字節(jié)單元將不再接收任何擦除和寫入命令, 從而使得該字節(jié)單元的數(shù)據(jù)不可再改變。從使用方面來講, 如果需要防止一些固定的標(biāo)識參數(shù)被改動,可以將這類參數(shù)先寫入主存儲器的保護存儲區(qū),然后將對應(yīng)單元的保護存儲器的字位寫位“0” ,從而使這一部分單元中的參數(shù)內(nèi)容永遠不可更改。保護存儲器本身的讀出操作不受限制。但對其寫入操作仍然受到加密存儲器比較校驗操作結(jié)果的控制。當(dāng)輸入的“校驗字”與芯片內(nèi)的“參照字”一致,則可以執(zhí)行后續(xù)的寫入操作。如果比較不成功,則控制邏輯將閉鎖保護存儲器。3加密存儲器加密存儲器是一個48 位的 EEPROM 型存儲器。在這個存儲器中,第 0 字節(jié)為 “密碼輸入錯誤計

18、數(shù)器” (EC)。密碼輸入錯誤計數(shù)器的有效位是低3 位。在芯片初始化時,計數(shù)器設(shè)置成 111 。 這一字節(jié)是可讀的。 每次比較密碼時,先判斷計數(shù)器中是否還有 “1” 。如果還有“ 1” ,則將其中一個“ 1”寫成“ 0” ,然后進行比較“校驗字”操作。如果比較結(jié)果一致,密碼錯誤計數(shù)器將允許進行擦除操作(芯片不能自動進行擦除操作),同時打開主存儲器、保護存儲器和加密存儲器, 并允許進行擦除和寫入操作。 如果比較結(jié)果不一致,則密碼錯誤計數(shù)器中為“1”的個數(shù)將減少一位。只要計數(shù)器的內(nèi)容不全為0,則芯片的比較“校驗字”操作還允許進行。 當(dāng)密碼計數(shù)器減數(shù)為零, 則芯片的存儲單元將全部鎖死。加密存儲器的第

19、1,2,3字節(jié)為“參照字”存儲區(qū)。這3 個字節(jié)的內(nèi)容作為一個整體披稱為可編程加密代碼 (PSC)。值得注意的是:這3 個字節(jié)的內(nèi)容在PSC 比較成功前是不可讀的,只能進行比較操作。而“寫入、擦除”操作也受自身“比較”操作結(jié)果的控制。只有當(dāng)“比較”成功,加密存儲器各字節(jié)內(nèi)容才可以進行讀出、寫入和擦除。3.1.4 SLE4442芯片傳送協(xié)議傳送協(xié)議是在接口設(shè)備IFD 與 IC 卡的集成電路之間的兩線連接協(xié)議,SLE4442芯片的協(xié)議類型為 S=10( 同步卡協(xié)議 )。 I/O 線上數(shù)據(jù)變化只在 CLK 信號的下降沿才有效4。傳送協(xié)議包括 4 種模式:復(fù)位和復(fù)位響應(yīng)命令模式輸出數(shù)據(jù)模式處理模式1復(fù)位

20、和復(fù)位響應(yīng)復(fù)位響應(yīng)是根據(jù)ISO 7816-3標(biāo)準(zhǔn)來進行的。在操作期間的任何時候都可以復(fù)位,只有經(jīng)過了復(fù)位才能對IC 卡進行其他操作。開始時地址計數(shù)器隨一個時鐘脈沖而被設(shè)置成 0。當(dāng) RST 線從 H 狀態(tài)置到 L 狀態(tài)時,第一個數(shù)據(jù)位的內(nèi)容被送到I/O線上。若連續(xù)輸入 32 個時鐘脈沖,主存儲器中的前4 個字節(jié)地址單元中的內(nèi)容被讀出。在第33 個時鐘脈沖的下降沿, I/O線被置成 H 狀態(tài)而關(guān)閉。芯片復(fù)位即復(fù)位響應(yīng)的時序關(guān)系如圖3-3 所示。在復(fù)位響應(yīng)期間,“啟動”和“停止” (見下面 )狀態(tài)被忽略。圖 3-3 芯片復(fù)位即復(fù)位響應(yīng)的時序關(guān)系2命令模式復(fù)位響應(yīng)之后,芯片等待著命令。每條命令都以一

21、個“啟動狀態(tài)”開始。整個命令包括三個字節(jié) (命令含義后面解釋 )。隨后緊跟著一個附加脈沖并用一個“停止?fàn)顟B(tài)”來結(jié)束操作。命令模式時序關(guān)系如圖3-4 所示。啟動狀態(tài):在 CLK 為 H 狀態(tài)期間, I/O 線的下降沿為啟動狀態(tài)。停止?fàn)顟B(tài):在 CLK 為 H 狀態(tài)期間, I/O 線的上升沿為停止?fàn)顟B(tài)。在接受一個命令之后,有兩種可能的模式:輸出數(shù)據(jù)模式(即讀數(shù)據(jù)模式 )和處理數(shù)據(jù)模式。圖 3-4 命令模式時序關(guān)系3輸出數(shù)據(jù)模式這種模式是將 IC 卡芯片中的數(shù)據(jù)傳送給外部接口設(shè)備的一種操作。輸出數(shù)據(jù)模式的時序關(guān)系如圖 3-5 所示。在第一個 CLK 脈沖的下降沿之后, I/O 線上的第一位數(shù)據(jù)變?yōu)橛行?/p>

22、。隨后每增加一個時鐘脈沖,芯片內(nèi)部的一位數(shù)據(jù)被送到I/O線上。其輸出的順序是從每個字節(jié)的最低位開始。當(dāng)所需要的最后一個數(shù)據(jù)送出以后,需要再附加一個時鐘脈沖來把I/O線置成H 狀態(tài),以便準(zhǔn)備接受新的命令。在輸出數(shù)據(jù)期間,任何“啟動狀態(tài)”和“停止?fàn)顟B(tài)”均被屏蔽掉。圖 3-5 輸出數(shù)據(jù)模式的時序關(guān)系4處理數(shù)據(jù)模式這種模式是對 IC 卡芯片做內(nèi)部處理。處理數(shù)據(jù)模式的時序關(guān)系如圖3-6 所示。在第一個時鐘脈沖的下降沿將I/O從 H 狀態(tài)拉為 L 狀態(tài)并開始處理。 此后芯片在內(nèi)部連續(xù)計時計數(shù),直到第N 個時鐘脈沖之后的附加時鐘脈沖的下降沿I/O線被再次置高,完成芯片的處理過程。在整個處理過程中I/O線被鎖

23、定成低狀態(tài)。圖 3-6 處理數(shù)據(jù)模式的時序關(guān)系3.1.5 芯片的操作命令1命令的格式每條命令包含三個字節(jié),其順序如表3-2 所示。表 3-2 命令順序MSB 控制字LSB MSB 地址字LSB MSB 數(shù)據(jù)字LSB B7 B6 B5 B4 B3 B2 B1 B0 A7 A6A5 A4 A3 A2 A1 A0D7 D6 D5 D4 D3 D2 D1D0命令的傳送總是從控制字節(jié)開始。首先傳送字節(jié)的最低位LSB( 即 B0)??刂谱止?jié)傳送完畢以后, 依次傳送地址字節(jié)和數(shù)據(jù)字節(jié),傳送順序均從各字節(jié)最低位開始。在最后一位 D7傳送完成之后,需要增加一個附加脈沖把I/O 線置成高狀態(tài)。SLE4442芯片具

24、有七種命令,其格式和功能如表3-3 所示。表 3-3 命令格式及功能字節(jié) 1(控制) 字節(jié) 2(地址) 字節(jié) 3(數(shù)據(jù))功能命令模式30H 38 H 34 H 3B H 31 H 39 H 地址數(shù)地址數(shù)無效地址數(shù)無效地址數(shù)無效輸入數(shù)據(jù)無效輸入數(shù)據(jù)無效輸入數(shù)據(jù)讀存儲器修改存儲器讀保護存儲器寫保護存儲器讀加密存儲器修改加密存儲器輸出數(shù)據(jù)模式處理模式輸出數(shù)據(jù)模式處理模式輸出數(shù)據(jù)模式處理模式33 H 地址數(shù)輸入數(shù)據(jù)比較校驗數(shù)據(jù)處理模式2有關(guān)命令的說明(1)讀主存儲器: 該命令是指讀出主存儲器的內(nèi)容。該命令的控制字為 (30H) 。對于每個字節(jié)來說總是從最低位開始讀出。從給定的字節(jié)地址(N)開始,直到整

25、個存儲器的末尾。在該命令輸入以后,接口設(shè)備IFD必須提供足夠的時鐘脈沖。對于從地址 (N)開始讀數(shù)據(jù)所需要的時鐘脈沖的數(shù)量M=(256-N) 8+1 。對主存儲器做讀操作不受限制。(2)讀保護存儲器: 該命令的控制字為 (34H) 。 在連續(xù)輸入 32 個時鐘脈沖情況下,芯片將保護存儲器內(nèi)各位內(nèi)容傳送到I/O線上。最后一個附加時鐘將I/O線置為 H 狀態(tài)。對保護存儲器進行讀取操作不受限制。(3)讀加密存儲器:該命令類似于讀保護存儲器那樣,可以讀出4 個字節(jié)的加密存儲器的內(nèi)容。在輸出數(shù)據(jù)模式下,所需時鐘脈沖的數(shù)量為32。其后再附加一個時鐘脈沖將 I/O線置成高狀態(tài)。 如果可編程加密代碼 (PSC

26、)的校驗不成功 (除第 0 字節(jié)可讀除外 ),I/O線總保持低狀態(tài)。(4)修改主存儲器:該命令就是根據(jù)所傳送地址字節(jié)數(shù)據(jù),尋址主存儲器的EEPROM字節(jié),然后修改字節(jié)內(nèi)容。該命令的控制字為(38H) 。在處理模式期間,可能有幾種情況:擦除和寫入至少需要5ms ;只寫入不擦除,至少需要2.5ms ;只擦除不寫入,至少需要2.5ms 。(5)修改加密存儲器:該命令是根據(jù)所傳送的字節(jié)數(shù)和要修改的數(shù)據(jù),將加密存儲器中相應(yīng)字節(jié)的內(nèi)容進行修改。該命令的控制字為(39H) ,該命令只能在可編程加密代碼(PSC)比較成功之后才能進行。 該命令的執(zhí)行時間和所需的時鐘脈沖與修改主存儲器的情況相同。(6)寫保護存儲

27、器:這一命令的執(zhí)行過程包括一個把被輸入的數(shù)據(jù)與在EEPROM中對相應(yīng)數(shù)據(jù)進行比較的過程。在確認一致的情況下,保護字位被寫0。從而使得主存儲器中的信息不可更改。如果數(shù)據(jù)比較結(jié)果不一致,則保護字位的寫操作將被禁止。該命令所需時鐘脈沖和執(zhí)行時間與修改主存儲器命令的情況相同。3.2 CD4066 CD4066 的每個封裝內(nèi)部有4 個獨立的模擬開關(guān), 每個模擬開關(guān)有輸入、 輸出、控制三個端子,其中輸入端和輸出端可互換。當(dāng)控制端加高電平時,開關(guān)導(dǎo)通;當(dāng)控制端加低電平時開關(guān)截止。 模擬開關(guān)導(dǎo)通時, 導(dǎo)通電阻為幾十歐姆;模擬開關(guān)截止時,呈現(xiàn)很高的阻抗,可以看成為開路。 模擬開關(guān)可傳輸數(shù)字信號和模擬信號,可傳輸

28、的模擬信號的上限頻率為 40MHz 。各開關(guān)間的串?dāng)_很小,典型值為50dB 。CD4066是四雙向模擬開關(guān),主要用作模擬或數(shù)字信號的多路傳輸。引出端排列與CC4016一致,但具有比較低的導(dǎo)通阻抗。另外,導(dǎo)通阻抗在整個輸入信號范圍內(nèi)基本不變。 CD4066由四個相互獨立的雙向開關(guān)組成,每個開關(guān)有一個控制信號,開關(guān)中的p 和 n 器件在控制信號作用下同時開關(guān)。這種結(jié)構(gòu)消除了開關(guān)晶體管閾值電壓隨輸入信號的變化, 因此在整個工作信號范圍內(nèi)導(dǎo)通阻抗比較低。與單通道開關(guān)相比, 具有輸入信號峰值電壓范圍等于電源電壓以及在輸入信號范圍內(nèi)導(dǎo)通阻抗比較穩(wěn)定等優(yōu)點。當(dāng)模擬開關(guān)的電源電壓采用雙電源時,例如=5V ,

29、=5V (均對地 0V 而言) ,則輸入電壓對稱于 0V 的正、 負信號電壓(5V5V ) 均能傳輸。這時要求控制信號 C=“ 1”為+5V, C=“ 0”為-5V ,否則只能傳輸正極性的信號電壓。元件電路管腳圖如圖3-7 所示圖 3-7 CD4066管腳圖3.3 單片機STC89C5510是一種帶 16K 字節(jié)閃爍可編程可檫除只讀存儲器(FPEROM-Flash Programable and Erasable Read Only Memory )的低電壓,高性能COMOS8 的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51指令集和輸出管

30、腳相兼容。單片機總控制電路圖如圖3-8 所示。圖 3-8 單片機總控制電路1時鐘電路STC89C55內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳 RXD 和 TXD 分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時鐘電路如圖 3-9(a) 所示,在 RXD 和 TXD 引腳上外接定時元件, 內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.2 12MHz 之間選擇, 電容值在 530pF 之間選擇,電容值的大小可對頻率起微調(diào)的作用。外部方式的時鐘電路如圖3-9 (b)所示, RXD 接地, TXD 接外部振蕩

31、器。對外部振蕩信號無特殊要求, 只要求保證脈沖寬度, 一般采用頻率低于12MHz的方波信號。 片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘P1 和 P2,供單片機使用。(a)內(nèi)部方式時鐘電路(b)外部方式時鐘電路圖 3-9 時鐘電路2復(fù)位及復(fù)位電路(1)復(fù)位操作復(fù)位是單片機的初始化操作。其主要功能是把PC 初始化為0000H ,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。除 PC 之外,復(fù)位操作還對其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表3-4 所示。表 3-4 一些寄存器的復(fù)位狀態(tài)

32、寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC 0000H TCON 00H ACC 00H TL0 00H PSW 00H TH0 00H SP 07H TL1 00H DPTR 0000H TH1 00H P0-P3 FFH SCON 00H IP XX000000B SBUF 不定IE 0X000000B PCON 0XXX0000B TMOD 00H (2)復(fù)位信號及其產(chǎn)生RST 引腳是復(fù)位信號的輸入端。 復(fù)位信號是高電平有效, 其有效時間應(yīng)持續(xù)24 個振蕩周期 (即二個機器周期 )以上。若使用頗率為 6MHz 的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us 才能完成復(fù)位操作。產(chǎn)生復(fù)位信號的電路邏輯如圖3-

33、10 所示。圖 3-10 復(fù)位信號的電路邏輯圖整個復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(RST)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機器周期的S5P2 時刻對施密特觸發(fā)器的輸出進行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。復(fù)位操作有上電自動復(fù)位相按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的,其電路如圖3-11 (a)所示。這樣,只要電源Vcc 的上升時間不超過1ms ,就可以實現(xiàn)自動上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與 Vcc 電源接通而實現(xiàn)的, 其電路如圖 3-

34、11 (b)所示;而按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的。其電路如圖 3-11 (c)所示。(a)上電復(fù)位(b)按鍵電平復(fù)位(c)按鍵脈沖復(fù)位圖 3-11復(fù)位電路上述電路圖中的電阻、電容參數(shù)適用于6MHz 晶振,能保證復(fù)位信號高電平持續(xù)時間大于 2 個機器周期。本系統(tǒng)的復(fù)位電路采用圖3-11 (b)按鍵復(fù)位方式。STC89C55具體介紹如下:主電源引腳( 2 根)VCC(Pin40) :電源輸入,接 5V 電源GND(Pin20) :接地線外接晶振引腳( 2 根)XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin20):片內(nèi)振蕩電路的輸出端控制引腳( 4 根)RS

35、T/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2 個機器周期的高電平將使單片機復(fù)位。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29) :外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。可編程輸入 / 輸出引腳( 32 根)STC89C55單片機有 4 組 8 位的可編程 I/O口,分別位 P0、P1、P2、P3 口,每個口有 8 位(8 根引腳) ,共 32 根。PO 口(Pin39 Pin32 ):8 位雙向 I/O口線,名稱為 P0.0 P0.7 P1 口(Pin1 Pin8

36、):8 位準(zhǔn)雙向 I/O口線,名稱為 P1.0 P1.7 P2 口(Pin21 Pin28 ):8 位準(zhǔn)雙向 I/O口線,名稱為 P2.0 P2.7 P3 口(Pin10 Pin17 ):8 位準(zhǔn)雙向 I/O口線,名稱為 P3.0 P3.7 STC89C55主要功能如表 3-5 所示。表 3-5 STC89C55主要功能主要功能特性兼容 MCS51 指令系統(tǒng)16K 可反復(fù)擦寫 Flash ROM 32 個雙向 I/O口1280 x8bit內(nèi)部 RAM 3 個 16 位可編程定時 / 計數(shù)器中斷時鐘頻率 0-24MHz 2 個串行中斷可編程 UART 串行通道2 個外部中斷源共 6 個中斷源2

37、個讀寫中斷口線3 級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能3.4 鍵盤電路鍵盤電路的設(shè)計通常有兩種方案。 一種是并行接口鍵盤電路, 另一種是串行接口鍵盤電路。在本設(shè)計中,根據(jù)IC 卡讀寫器的輸入需要,選擇采用一個44 的 16 按鍵矩陣式鍵盤接口如圖 3-12 所示。圖 3-12矩陣鍵盤3.5 顯示電路本設(shè)計采用液晶顯示器。其特點是顯示內(nèi)容豐富(可顯示漢字 ),功耗小,可靠性高,電路簡單,器件型號為QC1602-7如圖 3-13 所示。圖 3-13 QC1602-71602 液晶也叫 1602 字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊它有若干個5X7 或者 5

38、X11 等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因為如此所以他不能顯示圖形(用自定義CGRAM ,顯示效果也不好) 1602LCD是指顯示的內(nèi)容為16X2, 即可以顯示兩行, 每行 16 個字符液晶模塊 (顯示字符和數(shù)字)。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于 HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。1602 采用標(biāo)準(zhǔn)的 16 腳接口如圖 3-14 所示。圖 3-14 QC1602-7引腳圖第 1 腳:VSS 為電源地第 2 腳:

39、VDD 接 5V 電源正極第 3 腳:V0 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度) 。第 4 腳:RS 為寄存器選擇, 高電平 1 時選擇數(shù)據(jù)寄存器、 低電平 0 時選擇指令寄存器。第 5 腳:RW 為讀寫信號線,高電平 (1)時進行讀操作,低電平 (0)時進行寫操作。第 6 腳:E(或 EN) 端為使能 (enable) 端。第 714 腳:D0 D7 為 8 位雙向數(shù)據(jù)端。第 15 16 腳:空腳或背燈電源。 15 腳背光正極, 16 腳背光負極。1602通過 D0D7的 8 位數(shù)據(jù)端傳

40、輸數(shù)據(jù)和指令。顯示模式設(shè)置:(初始化 )0011 0000 0 x38 設(shè)置 162 顯示, 57點陣, 8 位數(shù)據(jù)接口;顯示開關(guān)及光標(biāo)設(shè)置:(初始化)0000 1DCB D顯示(1 有效)、 C 光標(biāo)顯示 (1 有效)、 B 光標(biāo)閃爍 (1 有效)0000 01NS N=1( 讀或?qū)懸粋€字符后地址指針加1 & 光標(biāo)加 1),N=0( 讀或?qū)懸粋€字符后地址指針減1 &光標(biāo)減 1),S=1 且 N=1 (當(dāng)寫一個字符后,整屏顯示左移);S=0 當(dāng)寫一個字符后,整屏顯示不移動;數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80H ,所以數(shù)據(jù)地址為80H+ 地址碼(0-27H ,40-67H) ;其他設(shè)置: 01H( 顯示清屏,數(shù)據(jù)指針 =0,所有顯示 =0);02H( 顯示回車,數(shù)據(jù)指針 =0)。第4章軟件設(shè)計介紹接觸式 IC 卡讀寫器的程序設(shè)計。本設(shè)計的所有程序用C51 語言編寫14,由主程序和子程序組成。 其中子程序包括比較校驗數(shù)據(jù)子程序、插卡子程序、顯示中斷子程序。4.1 keil KEIL C51標(biāo)準(zhǔn) C 編譯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論