食堂非接觸IC卡的應(yīng)用設(shè)計(jì)_第1頁(yè)
食堂非接觸IC卡的應(yīng)用設(shè)計(jì)_第2頁(yè)
食堂非接觸IC卡的應(yīng)用設(shè)計(jì)_第3頁(yè)
食堂非接觸IC卡的應(yīng)用設(shè)計(jì)_第4頁(yè)
食堂非接觸IC卡的應(yīng)用設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、四川師范大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì)食堂非接觸IC卡的應(yīng)用設(shè)計(jì)內(nèi)容摘要:在智能卡領(lǐng)域,目前使用較多的就是非接觸式IC卡。非接觸式IC卡(技術(shù)是最近幾年發(fā)展起來(lái)的一項(xiàng)新技術(shù)。它是將無(wú)線識(shí)別技術(shù)和IC卡技術(shù)集于一體,成功解決了無(wú)源(卡中無(wú)電源)和非接觸這一難題,是電子器件領(lǐng)域的一大突破。隨著社會(huì)經(jīng)濟(jì)和科技的發(fā)展,非接觸式IC卡技術(shù)己廣泛地應(yīng)用于各種行業(yè),特別是公共交通、無(wú)線通信、身份識(shí)別、金融交易和安全防衛(wèi)等行業(yè)。本文從實(shí)際需求出發(fā),結(jié)合計(jì)算機(jī)軟硬件的特點(diǎn),與食堂具體相結(jié)合,設(shè)計(jì)一套食堂非接觸IC卡系統(tǒng)。本文以AT89C51單片機(jī)作控制器,建立起以讀卡、寫(xiě)卡、控制、等功能的食堂非接觸IC系統(tǒng)。本設(shè)計(jì)的

2、食堂非接觸IC卡系統(tǒng),使用簡(jiǎn)單、可靠性高、系統(tǒng)維護(hù)方便等優(yōu)點(diǎn)具有著廣泛的應(yīng)用價(jià)值。關(guān)鍵詞: 非接觸IC 卡電子器件 計(jì)算機(jī)軟硬件 AT89C51單片機(jī)Canteen of non-contact IC card application designAbstract:In the field of smart cards, the use of more non-contact IC card is. Non-contact IC card (technology in recent years developed a new technology. It is a wireless ident

3、ification technology and IC card technology in one set, successfully resolved a passive (no power supply card) and non-contact with this problem is a major breakthrough in the field of electronic devices. With the development of social economy and technology, non-contact IC card technology has been

4、widely used in various industries, especially public transport, wireless communication, identification, financial transactions and security and defense and other industries. In this paper, starting from the actual demand, combined with computer hardware and software features, combined with specific

5、canteen, canteen design a non-contact IC card system.In this paper, AT89C51 microcontroller as controller, establish the reader, writing cards, control, such as the cafeteria features a non-contact IC system. The design of the cafeteria non-contact IC card system, easy to use, high reliability and e

6、asy maintenance system has a wide range of application.Keywords: Non-contact IC card electronic devices computer hardware and software AT89C51 microcontroller目 錄1 緒 論11.1非接觸IC卡技術(shù)的發(fā)展11.1.1 IC卡起源與發(fā)展12 非接觸IC卡技術(shù)綜述22.1非接觸IC卡技術(shù)22.2 非接觸CI卡工作方式23 讀卡器的硬件設(shè)計(jì)43.1讀卡器的硬件設(shè)計(jì)43.2主控制器接口53.3讀寫(xiě)模塊的接口及控制53.3.1讀寫(xiě)模塊的接口54 讀

7、卡器的軟件設(shè)計(jì)64.1通信協(xié)議設(shè)計(jì)64.1.1數(shù)據(jù)通信格式64.1.2服務(wù)器命令代碼74.2讀卡器本地存儲(chǔ)器內(nèi)容和地址設(shè)計(jì)74.3飯卡刷卡器軟件設(shè)計(jì)85 PC機(jī)與讀卡器通信程序設(shè)計(jì)95.1讀卡器通信程序設(shè)計(jì)95.1.1單片機(jī)的串行通信設(shè)置95.1.2單片機(jī)發(fā)送讀卡數(shù)據(jù)程序設(shè)計(jì)116 展望和體會(huì)12參考文獻(xiàn)13致謝14食堂非接觸IC卡的應(yīng)用設(shè)計(jì)1 緒 論1.1非接觸IC卡技術(shù)的發(fā)展1.1.1 IC卡起源與發(fā)展1.1.1.1 IC卡起源IC是英語(yǔ)Integrtaed Cirucit的縮寫(xiě),意為集成電路。所謂IC卡就把一個(gè)集成電路芯片鑲嵌于PVC基片中,封裝成卡片形式。在1970年法國(guó)人羅蘭

8、3;莫雷諾(Rolnad Moerno)發(fā)明了集成電路卡,即通常所說(shuō)的IC卡。IC卡采用了先進(jìn)的半導(dǎo)體制造技術(shù)和信息安全技術(shù),外形及尺寸與普通的信用卡大小一致。早期的IC卡都是有觸點(diǎn)的,目前IC卡正向非接觸,智能化方向發(fā)展,已出現(xiàn)了無(wú)觸點(diǎn)的IC卡即非接觸IC卡1。1.1.1.2 國(guó)外IC卡現(xiàn)狀I(lǐng)C卡首先由法國(guó)人發(fā)明,并在那里得到廣泛使用,到后來(lái)逐漸在其他國(guó)家例如歐洲、美國(guó)等推廣開(kāi)來(lái)。但是IC卡在其發(fā)源地的用處還是最廣泛、最有效益的。IC卡在法國(guó)主要的應(yīng)用領(lǐng)域有銀行和醫(yī)療等。就發(fā)行量而言,德國(guó)的IC卡已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)了法國(guó),它的主要應(yīng)用領(lǐng)域是電話和醫(yī)療。歐洲正在推進(jìn)IC卡使其成為電子錢(qián)包,主要的代表

9、國(guó)家是英國(guó)。在亞洲尤其是日本、韓國(guó)等國(guó)家IC卡也得到了迅速的發(fā)展。近些年來(lái)IC卡為了提高其保險(xiǎn)性已經(jīng)開(kāi)始逐步向智能卡轉(zhuǎn)變。目前國(guó)外IC卡及卡用芯片的生產(chǎn)廠商主要有美國(guó)的ATMEL公司、法國(guó)的BULL公司、GEMUPLUS公司、德國(guó)的SIEMNES公司、日本的NEC公司等等1-3。1.1.1.3 我國(guó)IC卡發(fā)展?fàn)顩rIC卡在我國(guó)的起步較晚,也沒(méi)有得到廣泛的使用。我國(guó)的首張IC卡是在金融領(lǐng)域推出的金卡工程。隨后IC卡如雨后春筍般的開(kāi)始在各行各業(yè)發(fā)展起來(lái)。目前能夠普遍使用IC卡是非接觸型的。金卡工程是我國(guó)經(jīng)濟(jì)發(fā)展的愿望。近幾年來(lái)希望通過(guò)金卡工程從而帶動(dòng)我國(guó)電子行業(yè)的發(fā)展,從而增強(qiáng)我國(guó)在世界上的綜合國(guó)力

10、。相比于國(guó)外的IC卡的應(yīng)用上,國(guó)內(nèi)在其應(yīng)用上與發(fā)達(dá)國(guó)家有著一定的差距。2 非接觸IC卡技術(shù)綜述2.1非接觸IC卡技術(shù)非接觸IC卡是IC卡的一種,也被常常稱為射頻卡。射頻卡的主要應(yīng)用原理是將IC卡與射頻識(shí)別相結(jié)合的技術(shù),它是一種新型的技術(shù),成功的解決了傳統(tǒng)IC卡中信號(hào)的傳輸及能量來(lái)源的問(wèn)題,也是電子行業(yè)的一個(gè)轉(zhuǎn)折點(diǎn)。非接觸性IC與傳統(tǒng)的接觸式的IC卡相比,它主要是應(yīng)用無(wú)線電感應(yīng)來(lái)對(duì)信息進(jìn)行讀寫(xiě)的,不接觸式的IC卡具有以下優(yōu)點(diǎn): (1)無(wú)機(jī)械摩擦的時(shí)候,因此也不存在機(jī)械磨損;(2)卡號(hào)獨(dú)立,保密性更好; (3)讀寫(xiě)的速度比較快,能夠在信息量比較大的情形使用;(4)感應(yīng)對(duì)距離和方向性要求不高,即使不

11、用拿出來(lái)也可以感應(yīng)到,因此便于操作。 雖然非接觸式的IC卡優(yōu)點(diǎn)多多,但是目前使用比較廣泛的還是接觸式IC卡,即卡中的芯片需要與相應(yīng)的讀寫(xiě)設(shè)備接觸才能完成信息的傳遞。這種類型的IC往往存在許多缺點(diǎn),如經(jīng)常的插拔容易造成表面銅皮的損壞從而引起通信不良的情形,或者觸點(diǎn)之間的靜電造成數(shù)據(jù)錯(cuò)誤不能傳遞數(shù)據(jù)的情形。而非接觸式IC卡就不會(huì)存在這些問(wèn)題。它無(wú)需插拔,操作簡(jiǎn)單;并且因?yàn)樗恍枰佑|便可讀取卡內(nèi)的信息,避免了機(jī)械的摩擦,從而大大的提高了設(shè)備的可靠性及穩(wěn)定性。目前我國(guó)的IC卡的應(yīng)用正在逐步的轉(zhuǎn)變。非接觸式IC卡已經(jīng)開(kāi)始遍及生活的每個(gè)角落如公交卡、學(xué)生學(xué)校的一卡通、銀行卡、門(mén)禁卡等等。隨著科技的越來(lái)越

12、進(jìn)步,非接觸式IC卡的應(yīng)用將更加普遍和深入6。2.2 非接觸CI卡工作方式非接觸型IC卡按供電和輸入輸出數(shù)據(jù)方法的不同有電磁感應(yīng)方式和微波方式等不同方式,其它非接觸IC卡技術(shù)形式還有光學(xué)禍合、表面聲學(xué)波耦合等。微波方式采用微波方式的IC卡應(yīng)用系統(tǒng)由包括天線的讀寫(xiě)器和無(wú)觸點(diǎn)的射頻卡構(gòu)成。它們之間利用微波通信,其特點(diǎn)是對(duì)數(shù)據(jù)可進(jìn)行遙控操作,其操作距離由幾厘米到1米不等。同時(shí)讀寫(xiě)器設(shè)有與計(jì)算機(jī)連接的通訊接口,可以聯(lián)網(wǎng)組成系統(tǒng)。這類卡的另一特點(diǎn)是受環(huán)境因素影響小,適合于工業(yè)控制,倉(cāng)儲(chǔ)管理及在惡劣環(huán)境中應(yīng)用。電磁感應(yīng)方式采用電感禍合,使用兩個(gè)金屬線圈,流過(guò)它們的電流以兩種不同頻率變化來(lái)表示二進(jìn)制的“1”

13、和“O”,這種數(shù)據(jù)傳送方法稱為頻率調(diào)制。也有采用幅度調(diào)制的,即讓發(fā)生的交變信號(hào)的幅度在兩電平之間變化,以兩電平分別表示為二進(jìn)制的“1”和“0”。一個(gè)典型的非接觸IC卡無(wú)線識(shí)別系統(tǒng)由兩部分組成:一是被稱為射頻識(shí)別標(biāo)志的應(yīng)答器,二是尋呼器。對(duì)于此IC卡系統(tǒng)而言,讀卡器即為尋呼器,發(fā)射無(wú)線激勵(lì)信號(hào);非接觸IC卡內(nèi)部電路即為應(yīng)答器。讀卡器與非接觸式IC卡的信息交換是通過(guò)射頻方式完成的,對(duì)于卡內(nèi)而言,由射頻接口電路完成。一種通用非接觸式IC卡讀寫(xiě)系統(tǒng)框圖如圖2-1所示。圖2-1非接觸IC卡系統(tǒng)框圖圖2-1所示的非接觸IC卡系統(tǒng)由上位機(jī)、讀寫(xiě)器、無(wú)源非接觸IC卡組成,中心工作頻率為而=13.56MHz,信

14、號(hào)傳輸頻寬約為1MHz,以半雙工方式在讀寫(xiě)器與IC卡之間雙向傳遞數(shù)據(jù)。該非接觸IC卡系統(tǒng)的工作過(guò)程為:上位機(jī)向讀寫(xiě)器發(fā)送命令,讀寫(xiě)器接到該命令后分析執(zhí)行,將上位機(jī)的命令信號(hào)編碼后加載在頻率為13.56MHz的載波信號(hào)上經(jīng)天線向外發(fā)送,如無(wú)源非接觸IC卡進(jìn)入讀寫(xiě)器工作區(qū)域則可接收到此脈沖信號(hào),此時(shí)卡內(nèi)芯片中的射頻接口模塊由此信號(hào)獲得電源電壓后產(chǎn)生復(fù)位信號(hào)建立時(shí)鐘信號(hào);同時(shí)卡內(nèi)芯片中的有關(guān)電路對(duì)此信號(hào)進(jìn)行調(diào)制、解碼、解密,然后由內(nèi)部管理程序?qū)γ钫?qǐng)求、密碼、權(quán)限等進(jìn)行判斷,如果命令請(qǐng)求、密碼、權(quán)限正確,由IC卡內(nèi)部控制邏輯電路執(zhí)行相應(yīng)功能,并向讀寫(xiě)器返回處理結(jié)果信息,若經(jīng)判斷其對(duì)應(yīng)的密碼和權(quán)限不符

15、,則返回出錯(cuò)信息。讀寫(xiě)器將非接觸IC卡的返回信息傳給上位機(jī)。如接收不到IC卡返回信息,則向上位機(jī)返回?zé)o卡信息7-9。3 讀卡器的硬件設(shè)計(jì)3.1讀卡器的硬件設(shè)計(jì)讀卡器硬件系統(tǒng)由AT89C51單片機(jī)作主控制器,MAX7219作顯示驅(qū)動(dòng)器驅(qū)動(dòng)顯示器,AT24C64串行E2PROM數(shù)據(jù)存儲(chǔ)器,DS1302串行實(shí)時(shí)時(shí)鐘芯片作硬件實(shí)時(shí)時(shí)鐘,MAX232或MAX485作串口信號(hào)轉(zhuǎn)換,通過(guò)DB9與PC機(jī)相連。讀卡芯片用MFRC500,外接專用射頻天線讀卡。MF1卡放在距離射頻天線100mm內(nèi),讀卡器就可以讀到卡中的數(shù)據(jù)。圖3.1讀卡器硬件系統(tǒng)組成讀卡器讀到MF1卡中的數(shù)據(jù)后,系統(tǒng)單片機(jī)要將所讀數(shù)據(jù)及刷卡的時(shí)間

16、一起存入存儲(chǔ)器AT24C64,并在顯示器上顯示刷卡數(shù)據(jù)。沒(méi)有卡進(jìn)入讀卡器工作范圍時(shí),系統(tǒng)讀出實(shí)時(shí)時(shí)鐘芯片中的時(shí)間,在顯示器上顯示當(dāng)前時(shí)間。讀卡出錯(cuò),顯示出錯(cuò)標(biāo)志。如有PC機(jī)請(qǐng)求,將存放在存儲(chǔ)器中的刷卡記錄全部傳送給代機(jī),存儲(chǔ)器清空,全部空間用于存放新的一讀卡記錄10。中央處理器: 作為一個(gè)讀卡器的中樞,控制了整個(gè)系統(tǒng)以及其他模塊的_f作過(guò)程。確保系統(tǒng)正常運(yùn)轉(zhuǎn)。中央處理器使用的是AT89C51型單片機(jī)11。存儲(chǔ)器模塊:存儲(chǔ)模塊是用來(lái)存儲(chǔ)日志信息。服務(wù)器定時(shí)的提取存儲(chǔ)模塊中的日志信息。通過(guò)服務(wù)器端的軟件可以查詢讀卡器的的具體交易過(guò)程,還可以對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、核對(duì)。此模塊選用的是EEPROM芯片24C

17、64N。24C64N為基于IZC接口的EEPROM,接口數(shù)量少,速度快,容量為256Kbit。時(shí)鐘模塊:讀卡器中需要實(shí)時(shí)顯示時(shí)間信息并且在記錄日志信息的時(shí)候需要記錄交易進(jìn)行的時(shí)間信息。因此讀卡器中必須有一個(gè)掉電時(shí)鐘也能繼續(xù)運(yùn)轉(zhuǎn)的芯片,在本系統(tǒng)中選用DS1302芯片,芯片外配一個(gè)3.3V的紐扣電池,保證掉電后芯片繼續(xù)工作。通訊模塊:讀卡器需要定時(shí)的將存在本機(jī)的數(shù)據(jù)傳給服務(wù)器上并且服務(wù)器還需要對(duì)讀卡器進(jìn)行設(shè)置,這些操作都需要兩者進(jìn)行通訊。本設(shè)計(jì)通過(guò)MAX232芯片通信功能,再通過(guò)RS232完成串口通信。更多模塊功能,本文在這里將不在一一累述。3.2主控制器接口讀卡器的控制CPU芯片用AT89C51

18、,它內(nèi)部有8KB的Flash存儲(chǔ)器,可方便重復(fù)擦寫(xiě)、修改程序,同時(shí),由于外部不用擴(kuò)展程序存儲(chǔ)器,可以簡(jiǎn)化電路設(shè)計(jì),減小讀卡器的尺寸。AT89C51是美國(guó)ATMEL公司89系列的8位單片機(jī),與MCS-51系列單片機(jī)完全兼容,為標(biāo)準(zhǔn)的40個(gè)管腳雙列直插式封裝(DIP),其引腳配置及功能在單片機(jī)書(shū)上都能很容易地找到,在此就不再列出12。3.3讀寫(xiě)模塊的接口及控制接觸式IC卡讀卡器主要由單片機(jī)控制系統(tǒng)和Mifare讀寫(xiě)模塊兩部分組成,讀寫(xiě)模塊是非接觸式IC卡讀卡器的關(guān)鍵部件,它包括相應(yīng)的射頻天線部分。我們所用的讀卡模塊實(shí)際尺寸為41.5mmx25.3,模塊上有兩排分別與單片機(jī)及射頻天線的接口引腳,標(biāo)為

19、Jl和J2,其中心距離實(shí)測(cè)為36.5mm。3.3.1讀寫(xiě)模塊的接口Mifare讀寫(xiě)模塊采用最新的PhiliPs高集成讀寫(xiě)芯片MFRC500,對(duì)外設(shè)計(jì)成三線SPI接口,能與任何單片機(jī)連接。圖3.2讀寫(xiě)模塊與單片機(jī)及天線的接口表3.1 讀寫(xiě)模塊與天線的接口管腳符號(hào)說(shuō)明J1-1GND地J1-2TX1發(fā)射天線1J1-3GND地J1-4TX2發(fā)射天線2J1-5GND地J1-6RX天線接收1.RST,復(fù)位腳(J2-5),接單片機(jī)的Pl.4。是對(duì)模塊復(fù)位的,有兩種接法,一是接硬件復(fù)位電路(如阻容復(fù)位);二是接外部單片機(jī)的一個(gè)I/O口線,由單片機(jī)控制復(fù)位。我們采用控制方式比較靈活的第二種方法,由單片機(jī)可控復(fù)位

20、。2.SDATA,雙向數(shù)據(jù)腳(J2-2),接單片機(jī)的Pl.5。3.SCLK,同步時(shí)鐘腳(J2-1),接單片機(jī)的Pl.6。4. SS串行數(shù)據(jù)傳輸啟動(dòng)腳(J2-3),接單片機(jī)的外部中斷INT0(P3.2)腳。單片機(jī)采用中斷方式接收SS信號(hào),啟動(dòng)單片機(jī)的數(shù)據(jù)接收過(guò)程。 各接口設(shè)計(jì)本文在這里將不依依累述。4 讀卡器的軟件設(shè)計(jì)4.1通信協(xié)議設(shè)計(jì)由于服務(wù)器向終端讀卡器下發(fā)的命令不是單一的,并且為了保證終端讀卡器和服務(wù)器進(jìn)行通信時(shí)安全可靠不被干擾,在設(shè)計(jì)時(shí)制定了嚴(yán)格的通信協(xié)議,在二者進(jìn)行通信時(shí)只有按照通信協(xié)議進(jìn)行才能保證通信成功。通信協(xié)議包括兩個(gè)方面:一方面是數(shù)據(jù)通信時(shí)的格式,另一方面是服務(wù)器向終端機(jī)下發(fā)各

21、種命令的代碼以及終端讀卡器響音服務(wù)器的方式13。4.1.1數(shù)據(jù)通信格式服務(wù)器與讀卡器間通信遵循以下數(shù)據(jù)格式:幀頭AABB(2字節(jié))+記錄長(zhǎng)度(2字節(jié)先高后低)+終端號(hào)(l字節(jié))+命令字(l字節(jié))+記錄數(shù)據(jù)+異或校驗(yàn)(1字節(jié))幀頭:用來(lái)防止數(shù)據(jù)被干擾,當(dāng)讀卡器(服務(wù)器)收到AABB后才能確認(rèn)以下的數(shù)據(jù)為服務(wù)器(讀卡器)所發(fā)出的。記錄長(zhǎng)度:用來(lái)使讀卡器確認(rèn)服務(wù)器發(fā)送的數(shù)據(jù)長(zhǎng)度,以便確認(rèn)哪個(gè)字節(jié)為最后一個(gè)字節(jié)。終端號(hào):讀卡器接收到服務(wù)器發(fā)送的數(shù)據(jù)后通過(guò)對(duì)終端號(hào)的識(shí)別判斷數(shù)據(jù)是否屬于本讀卡器,當(dāng)服務(wù)器接到讀卡器發(fā)送的數(shù)據(jù)后通過(guò)對(duì)終端號(hào)判斷為哪個(gè)讀卡器所發(fā)送的數(shù)據(jù)。命令字:通過(guò)對(duì)命令字的識(shí)別進(jìn)行相應(yīng)的處

22、理。記錄數(shù)據(jù):為服務(wù)器與讀卡器之間通信的具體內(nèi)容。異或校驗(yàn):通過(guò)異或校驗(yàn)判斷解收的數(shù)據(jù)是否正確。讀卡器正確執(zhí)行完服務(wù)器的命令后回傳:AABB020002。4.1.2服務(wù)器命令代碼1、修改價(jià)格數(shù)據(jù)用途:服務(wù)器通過(guò)此命令修改復(fù)印機(jī)讀卡器中復(fù)印的價(jià)格和折扣數(shù)據(jù)命令字:x00服務(wù)器發(fā)送數(shù)據(jù)格式:幀頭(2字節(jié))十長(zhǎng)度(1字節(jié))+終端號(hào)(l字節(jié))+01+價(jià)格(3字節(jié))+折扣(2字節(jié))+異或校驗(yàn)(l字節(jié));2、校時(shí)命令用途:服務(wù)器通過(guò)此命令校準(zhǔn)讀卡器時(shí)間命令字:x01服務(wù)器發(fā)送數(shù)據(jù)格式:幀頭(2字節(jié))十長(zhǎng)度(l字節(jié))+終端號(hào)(1字節(jié))+01+年月日時(shí)分秒+異或校驗(yàn)(l字節(jié))例如: ABB0900010604

23、1223595003,表示向00號(hào)讀卡器發(fā)送時(shí)間:2006年4月12號(hào)23:59:50??偣?個(gè)字節(jié)。4.2讀卡器本地存儲(chǔ)器內(nèi)容和地址設(shè)計(jì)在讀卡器內(nèi)部保存的有日志信息、讀卡器終端號(hào)、卡內(nèi)錢(qián)數(shù)等信息,這幾種信息分別存儲(chǔ)在AT24C64、DS1302和單片機(jī)的EEPROM內(nèi)AT24C64內(nèi)全部為日志信息,日志信息的存儲(chǔ)格式為:卡號(hào)(4字節(jié))十年月日時(shí)分(5字節(jié))+姓名(16字節(jié))+學(xué)號(hào)(16字節(jié))。一條日志信息共占用引字節(jié)DSl302中有31字節(jié)的RAM空間,其中第一個(gè)RAM空間為讀卡器內(nèi)當(dāng)前保存的日志數(shù)量,因此總共可以保存255條日志數(shù)據(jù)。4.3飯卡刷卡器軟件設(shè)計(jì)程序流程圖如圖4-1所示系統(tǒng)開(kāi)機(jī)

24、后先進(jìn)行初始化處理,初始化土要是清空各種標(biāo)志位和數(shù)據(jù)寄存器,打開(kāi)單片機(jī)中斷以及初始化RC500。初始化完畢后通過(guò)讀DS1302第一個(gè)RAM空間內(nèi)的數(shù)據(jù)判斷系統(tǒng)內(nèi)的日志信息是否己經(jīng)存滿,如果存滿則顯示相應(yīng)的錯(cuò)誤信息,直到服務(wù)器提取所有的日志并清空后才能正常工作。如果未滿讀卡器則等待卡片8-9。當(dāng)讀卡器感應(yīng)到有卡片在附近時(shí),首先關(guān)閉單片機(jī)中斷,這保證有卡片在讀卡器附近時(shí)讀卡器不接收服務(wù)器的任何指令,只有讀卡器附近沒(méi)卡片時(shí)才能接收并執(zhí)行服務(wù)器的各種指令14。關(guān)閉中斷后便開(kāi)始通過(guò)PSAM卡和該卡片鑒權(quán),如果不通過(guò)則顯示相應(yīng)的錯(cuò)誤信息。通過(guò)則讀卡片的序列號(hào)、學(xué)號(hào)等信息,讀取成功后檢查卡片中的錢(qián)數(shù),是否可

25、以完成此次交易。圖4-1刷卡打飯讀卡器軟件流程圖5 PC機(jī)與讀卡器通信程序設(shè)計(jì)5.1讀卡器通信程序設(shè)計(jì)讀卡器中的單片機(jī)系統(tǒng)只有在PC機(jī)發(fā)出請(qǐng)求響應(yīng)的命令后才根據(jù)PC具體信號(hào)進(jìn)行數(shù)據(jù)的傳送和接收,否則不會(huì)與PC機(jī)之間進(jìn)行通信的,并且它是一個(gè)獨(dú)立工作的系統(tǒng)。單片機(jī)與上位機(jī)之間的通信主要通過(guò)串口實(shí)現(xiàn)。單片機(jī)采用C51編程,用查詢串行口標(biāo)志位或串行中斷方式接收數(shù)據(jù)15。5.1.1單片機(jī)的串行通信設(shè)置單片機(jī)串行通信需要對(duì)其進(jìn)行初始化設(shè)置,包括波特率設(shè)置、定時(shí)器設(shè)置、各控制寄存器的設(shè)置。單片機(jī)串行口通信有4種工作方式,分別是波特率固定的移位寄存器方式、波特率可變的8位以UART方式、波特率固定的9位UAR

26、T方式、波特率可變的9位以UART方式。方式2和3一般用于單片機(jī)之間的多機(jī)通信,與PC機(jī)通信一般采用方式1,8位異步通信方式。設(shè)置通信控制寄存器SCON為50H,表示使用串行方式1,允許接收。數(shù)據(jù)格式為每帕10位,l位起始位,8位數(shù)據(jù)位,l位停止位。規(guī)定低位在前,高位在后,最后一位停止位1。單片機(jī)串行通信一般用定時(shí)器T1或定時(shí)器T2作波特率發(fā)生器,用T1作波特率發(fā)生器時(shí)往往設(shè)置Tl工作在定時(shí)方式2,要計(jì)算,Tl的初值。一般在串行異步通信中,波特率大多設(shè)置為9600bit/。,太高數(shù)據(jù)易發(fā)生丟碼現(xiàn)象。本系統(tǒng)時(shí)鐘focs用11.0592MHz。波特率與定時(shí)器的溢出率n成正比,與電源控制寄存器PCO

27、N中的SMOD有關(guān),SMOD=1,波特率加倍,SMOD=0,波特率不加倍,取m=SMOD=0。計(jì)算如下:定時(shí)器T1的溢出率: (5.1.1-1)波特率: (5.1.1-2)定時(shí)器T1的初值:Z=FDH (5.1.1-3)根據(jù)以上計(jì)算設(shè)計(jì)初始化C5l程序?yàn)?Viod InitCom(void) SCON = 0x50; TMOD |= 0x20; PCON |= 0x80; TH1 = 0xFA; / Baud:9600 fosc="11".0592MHz TL1 = 0xFA; IE |= 0x90; / 使能串行中斷 TR1 = 1; / 啟動(dòng)TIMER1 EA = 1;

28、對(duì)于AT89C51里片機(jī)系統(tǒng)可以用定時(shí)器T2作波特率發(fā)生器,以騰出T1作其它用途。定時(shí)器化具有專用的“波特率發(fā)生器”工作方式,與自動(dòng)再裝入方式相似,通過(guò)設(shè)置定時(shí)器T2控制寄存器T2CON實(shí)現(xiàn)。接收時(shí)鐘標(biāo)志位TCLK和發(fā)送時(shí)鐘標(biāo)志位TCLK設(shè)為1,T2工作于波特率發(fā)生器方式時(shí)設(shè)置T2為定時(shí)模式C/T2=0,啟動(dòng)T2工作TR2=1,其它位都為016。波特率與T2的溢出率n成正比,計(jì)算如下: (5.1.1-4)但要注意T2工作在波特率發(fā)生器方式時(shí),不是像其它定時(shí)器工作在定時(shí)方式下那樣,每個(gè)機(jī)器周期(12個(gè)振蕩周期)加1,而是每個(gè)狀態(tài)周期(2個(gè)振蕩周期)加l。因此,波特率計(jì)算如下: (5.1.1-5)

29、 式中為定時(shí)器T2的初值,在波特率為9600bps時(shí),經(jīng)計(jì)算T2的初值為FFDCH。5.1.2單片機(jī)發(fā)送讀卡數(shù)據(jù)程序設(shè)計(jì)發(fā)送讀卡數(shù)據(jù)調(diào)用發(fā)送子程序Send_card()實(shí)現(xiàn)。通過(guò)全局變量Count控制發(fā)送數(shù)據(jù)量,一次將存儲(chǔ)的數(shù)據(jù)全部傳給PC機(jī)。每次讀取一條記錄8個(gè)字節(jié),調(diào)用外部函數(shù)AT24C64_R(buff_mr,AT24C64_addr,8)讀一條記錄數(shù)據(jù)()。參數(shù)中Buff_mr為buff_mr8的數(shù)組名,讀取的一條記錄數(shù)據(jù)存放在該數(shù)組中。AT24C64_addr為要讀取記錄的一首地址,隨著讀數(shù)據(jù)的進(jìn)行該地址不斷增大,每次增8。將讀到的8個(gè)字節(jié)數(shù)據(jù)用Send_8byte(buff_mr)

30、子程序傳給PC機(jī),加上循環(huán)執(zhí)行以上兩個(gè)子程序count次,完成已存數(shù)據(jù)的全部發(fā)送。讀卡數(shù)據(jù)發(fā)送子程序流程。Void Send_card(void)/發(fā)送讀卡數(shù)據(jù)子程序uint idata i,n,AT24C64_addr:Uchar idata buff_mr8:SBUF=count; /發(fā)送記錄數(shù)while(Tl= 0); /沒(méi)發(fā)完等f(wàn)or(i=0;i<count:i+) /循環(huán)傳送全部數(shù)據(jù)AT24C64_addr=1*8; /計(jì)算發(fā)送數(shù)據(jù)地址AT24C64_R(buff_mr,AT24C64_addr,8);/讀取一條記錄數(shù)據(jù)send_8byte(buff_mr); /向PC機(jī)發(fā)送一

31、條記錄Count=0; /全部發(fā)送完,清全局變量為O循環(huán)發(fā)送一條記錄8個(gè)字節(jié)數(shù)據(jù)子程序如下:Viod send_8byte(uchar*buff_mr)/發(fā)送子程序 uchar i;for(i=0;i<8;i+)/判斷是否發(fā)完8個(gè)字節(jié)SBUF=buff_mri;/輸出數(shù)據(jù)while (!TI);TI=0/判發(fā)送沒(méi)有結(jié)束等這里只列舉一個(gè)發(fā)送讀卡器數(shù)據(jù)程序設(shè)計(jì),其余的程序設(shè)計(jì)就依依列舉。6 展望和體會(huì)隨著芯片技術(shù)的發(fā)展和產(chǎn)量的提高,非接觸智能卡的制作成本將進(jìn)一步下降、性能會(huì)更加提高,低功耗、大容量、高速度、完善的加密功能、多用途是其發(fā)展方向,高性能讀寫(xiě)終端的出現(xiàn)也進(jìn)一步推動(dòng)了非接觸智能卡的發(fā)

32、展,從而為它的應(yīng)用打開(kāi)更廣闊的空間。本文簡(jiǎn)單設(shè)計(jì)了食堂非接觸IC卡系統(tǒng),由于自己知識(shí)結(jié)構(gòu)和當(dāng)前能力的限制,有許多地方考慮不盡周到,還有可商榷、改進(jìn)的地方。參考文獻(xiàn)1 王愛(ài)英:智能卡技術(shù)M,北京:清華大學(xué)出版社,20002 wolfgang RanKWolf gangEffing:智能卡大全一智能卡的結(jié)構(gòu)、功能、應(yīng)用M,北京:電子工業(yè)出版社,20023 許志杰、雷普、李永彬:智能卡安全技術(shù)研究J,現(xiàn)代電子技術(shù),2005,154 劉羽喬:基于RC500的射頻非接觸式智能卡節(jié)水控制系統(tǒng)的設(shè)計(jì)D,南京理工大學(xué),2006,065 梅宏:智能卡在身份識(shí)別與安全領(lǐng)域的應(yīng)用和發(fā)展J,金卡工程,2005,016 Hill,Nnacy

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論