基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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)介

基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)PAGEPAGE28(論文)目錄TOC\o"1-2"\h\z\u1引言 11.1智能IC卡的簡(jiǎn)介 11.2國(guó)內(nèi)外IC卡的應(yīng)用現(xiàn)狀及發(fā)展 21.3IC卡的分類特點(diǎn)及國(guó)際標(biāo)準(zhǔn) 31.4本課題所研究的內(nèi)容 42方案論證與確定 62.1IC卡食堂售飯機(jī)的主要功能特點(diǎn)及消費(fèi)模式 62.2IC卡售飯機(jī)硬件設(shè)計(jì)方案 73硬件設(shè)計(jì) 93.1單片機(jī)AT89C51 93.2IC卡芯片技術(shù) 123.3卡座接口電路即卡上電控制電路 153.4RS485接口電路 163.5掉電保護(hù)電路 183.6數(shù)據(jù)存儲(chǔ)器與譯碼器 193.7地址鎖存器 203.8顯示器 213.9鍵盤(pán) 223.10電源 234IC卡食堂售飯機(jī)軟件設(shè)計(jì) 244.1主程序流程圖 244.2窗口機(jī)程序流程圖 254.3讀卡器軟件程序 265系統(tǒng)安全維護(hù) 325.1提高系統(tǒng)安全性的措施 325.2提高對(duì)IC卡操作可靠性的措施 326結(jié)論 34參考文獻(xiàn) 35致謝 36附錄一程序清單 37附錄二硬件連接圖 40基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第1頁(yè)?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第1頁(yè)。1引言1.1智能IC卡的簡(jiǎn)介隨著社會(huì)的進(jìn)步和現(xiàn)代化程度的不斷提高,人類所擁有的信息種類和數(shù)量都在成倍增加,人們每天都要處理許多與個(gè)人有關(guān)的信息,如購(gòu)物、打電話、交水費(fèi)、電費(fèi)、到銀行存款取款等,這樣就需要攜帶多種票證、現(xiàn)金、單據(jù),給人們帶來(lái)極大的不便和不安全感。于是,人們開(kāi)始尋求一種具有支付、查詢、密碼查驗(yàn)等多功能及攜帶方便、安全可靠的“卡”。IC卡就是隨著計(jì)算機(jī)技術(shù)、微電子技術(shù)和信息化技術(shù)的發(fā)展應(yīng)運(yùn)而生的一種現(xiàn)代社會(huì)重要的信息載體和交易工具。1972年,法國(guó)人羅蘭·莫雷諾(RolandMoreno)第一次將可進(jìn)行編程設(shè)置的IC芯片放在卡片中,使卡片具有了存儲(chǔ)、加密及數(shù)據(jù)處理能力等功能。IC卡又稱集成電路卡(IntegratedCircuitCard),或叫智能卡(SmartCard),它是將集成電路芯片鑲嵌于塑料基片之中,并被封裝成卡片的形式,其外形與普通信用卡完全相同,尺寸大小符合ISO7816標(biāo)準(zhǔn)。IC卡具有突出的3S特點(diǎn),即Standard(國(guó)際標(biāo)準(zhǔn)化)、Smart(靈巧智能化)和Security(安全性)。因而發(fā)展迅速,被廣泛地應(yīng)用于移動(dòng)數(shù)據(jù)計(jì)算場(chǎng)合,如醫(yī)療衛(wèi)生、保險(xiǎn)、金融、交通、電信、國(guó)防以及日常生活等各個(gè)領(lǐng)域。IC卡不僅改進(jìn)了現(xiàn)有多種卡的使用方法和功能作用,它還不斷開(kāi)創(chuàng)新的應(yīng)用領(lǐng)域。雖然IC卡本身并不創(chuàng)造任何價(jià)值,但是,如果將IC卡和其它設(shè)備組成系統(tǒng)就能夠提供非常豐富的服務(wù)功能。把這些功能與生產(chǎn)或流通領(lǐng)域有機(jī)地結(jié)合起來(lái),將出現(xiàn)令人意想不到的奇跡,創(chuàng)造出巨大的經(jīng)濟(jì)和社會(huì)效益。而我國(guó)的金融和非金融產(chǎn)業(yè)部門(mén)都已經(jīng)認(rèn)識(shí)到發(fā)展IC卡產(chǎn)業(yè)對(duì)加速我國(guó)國(guó)民經(jīng)濟(jì)信息化的重大作用。因此,與國(guó)外有關(guān)公司合作,引進(jìn)制卡、讀卡設(shè)備及應(yīng)用的先進(jìn)技術(shù),成立了有關(guān)集團(tuán)、公司,以加速我國(guó)IC卡的應(yīng)用和發(fā)展。我國(guó)的“金卡工程”,其目的也在于推廣IC卡,使其逐步成為各個(gè)行業(yè)的通用信息載體。在當(dāng)今社會(huì),作為包括微電子技術(shù)的一種成熟的高科技產(chǎn)品,IC卡提高了人們生活和工作的現(xiàn)代化程度,已成為一個(gè)國(guó)家科技發(fā)展水平的標(biāo)志之一。國(guó)際上不少國(guó)家由于受到當(dāng)時(shí)歷史條件和技術(shù)發(fā)展的限制,都是先發(fā)展磁卡,其中大多數(shù)國(guó)家磁卡已經(jīng)發(fā)展得相當(dāng)普遍,擁有數(shù)量龐大的磁卡應(yīng)用設(shè)備,若要將其完全改造成IC卡讀寫(xiě)設(shè)備將是相當(dāng)困難的。IC卡可以最有效地杜絕惡性透支,便于正常用款、存款,其內(nèi)部有各種安全措施,可免除偽造,它無(wú)須計(jì)算機(jī)網(wǎng)絡(luò)的實(shí)時(shí)支持,可脫機(jī)作業(yè),還可以實(shí)現(xiàn)一卡多用[1]?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第2頁(yè)。近年來(lái),由于計(jì)算機(jī)技術(shù)、微電子技術(shù)、信息化網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,促使IC卡向著多品種高層次方向發(fā)展,應(yīng)用領(lǐng)域也不斷擴(kuò)展,IC卡市場(chǎng)不斷拓寬,市場(chǎng)競(jìng)爭(zhēng)更加激烈??v觀IC卡市場(chǎng),規(guī)模不斷擴(kuò)大,銷(xiāo)售量大幅度增加。然而,從國(guó)際市場(chǎng)看,發(fā)展很不平衡,全球IC卡市場(chǎng)基本上被法國(guó)、美國(guó)、日本壟斷。目前,我國(guó)對(duì)IC卡產(chǎn)業(yè)的發(fā)展也極為重視,下面就國(guó)內(nèi)外IC卡應(yīng)用狀況及發(fā)展趨勢(shì)作一簡(jiǎn)述?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第2頁(yè)。1.2國(guó)內(nèi)外IC卡的應(yīng)用現(xiàn)狀及發(fā)展(一)法國(guó)法國(guó)是IC卡的誕生地,它是推出IC卡最早和使用IC卡最多的國(guó)家,也是生產(chǎn)廠商最多技術(shù)水平領(lǐng)先的國(guó)家,僅1989年就達(dá)近500萬(wàn)張,幾乎占全球該領(lǐng)域IC卡用量的1/10。該國(guó)生產(chǎn)IC卡的廠商很多,比較著名的有Gemplus、SAGEM、Bull、CKD、ESD、CIS、SGI公司等?,F(xiàn)以Gemplus公司為例,該公司是世界上最大IC卡制造商之一,也是世界IC卡技術(shù)和應(yīng)用領(lǐng)域的開(kāi)拓者和領(lǐng)導(dǎo)者,在公用電話、移動(dòng)通信、電子錢(qián)包、信用卡、收費(fèi)電視、醫(yī)療保險(xiǎn)、門(mén)禁識(shí)別、交通管理等應(yīng)用領(lǐng)域均處于世界領(lǐng)先地位,目前月產(chǎn)量已超過(guò)3000萬(wàn)張,銷(xiāo)往近70個(gè)國(guó)家,幾乎占全世界市場(chǎng)的50%,而且年年還在創(chuàng)新,發(fā)展新品種,該公司在世界各地設(shè)立了不少分支機(jī)構(gòu),提供多種技術(shù)服務(wù)。[1](二)美國(guó) 美國(guó)在磁卡研制的應(yīng)用方面居世界之冠,網(wǎng)絡(luò)通信又很發(fā)達(dá),為了保護(hù)己有設(shè)備的投資,不急于用IC卡來(lái)取代磁卡,因此IC卡的應(yīng)用方面不如法國(guó)和日本,但在安全技術(shù)等領(lǐng)域的研究方面領(lǐng)先其他各國(guó)。近幾年,生產(chǎn)廠商越來(lái)越多,如DATA、ATMEL、LogiCard、PersonalComputerCardCorp、ASI及BattelleMemorialInstitute等。以DATACard公司為例,它是世界有名的IC卡及系統(tǒng)服務(wù)公司之一,該公司生產(chǎn)的IC卡銷(xiāo)往90多個(gè)國(guó)家和地區(qū),很快使其IC卡產(chǎn)業(yè)超過(guò)法國(guó)和日本,而居領(lǐng)導(dǎo)地位。美國(guó)IC卡市場(chǎng)在軍用與銀行業(yè)務(wù)方面遠(yuǎn)遠(yuǎn)超過(guò)其它應(yīng)用領(lǐng)域,所以美國(guó)在IC卡技術(shù)及其安全可靠性方面,很快會(huì)在全球范圍內(nèi)處于領(lǐng)導(dǎo)地位,對(duì)法國(guó)和日本IC卡產(chǎn)業(yè)的沖擊將越來(lái)越大。(三)日本基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第3頁(yè)。日本在法國(guó)人發(fā)明IC卡的同年,也推出了IC卡,卡片上有一個(gè)或多個(gè)芯片,能產(chǎn)生特殊信號(hào),此卡很快進(jìn)入市場(chǎng)并推廣應(yīng)用。1954年IC卡首先用于銀行的資產(chǎn)管理,1985年用于醫(yī)療衛(wèi)生健康管理系統(tǒng),1986年銷(xiāo)售IC卡近25萬(wàn)張,1989年銷(xiāo)售IC卡約100萬(wàn)張,1995年增至200萬(wàn)張,1997年成倍增長(zhǎng),IC卡制造廠商越來(lái)越多,除官方外,僅地方公司就有Fujistu、Qmron、Toshiba、TopPanprinting、CasiomicroCard等,為奪取IC卡市場(chǎng)優(yōu)勢(shì),日本政府和地方都積極參與IC卡的研制、發(fā)行及應(yīng)用推廣工作,使IC卡產(chǎn)業(yè)的各個(gè)環(huán)節(jié)都得到順利發(fā)展,毫無(wú)疑問(wèn),日本IC卡產(chǎn)業(yè)的發(fā)展也會(huì)對(duì)美國(guó)、法國(guó)等構(gòu)成威脅,將使國(guó)際IC卡市場(chǎng)競(jìng)爭(zhēng)更加激烈[6]?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第3頁(yè)。我國(guó)的信用卡正跳過(guò)磁卡發(fā)展階段而直接進(jìn)入IC卡時(shí)代,國(guó)內(nèi)先后組建華旭、華鑫集團(tuán)公司等,出現(xiàn)了一批科研及生產(chǎn)、經(jīng)營(yíng)單位。1996年10月,國(guó)內(nèi)第一張從芯片設(shè)計(jì)、研制到卡片制作生產(chǎn)全部國(guó)產(chǎn)化的中華IC卡順利通過(guò)技術(shù)鑒定,哈爾濱工業(yè)大學(xué)微電子中心與航天金卡電子公司聯(lián)合研制成功的HWZ——201型IC卡也在96年底鑒定,該邏輯加密型IC卡芯片用1微米CM0S與EEPROM工藝小批量生產(chǎn),據(jù)稱一年內(nèi)可提供10萬(wàn)張IC卡。目前,國(guó)內(nèi)IC卡裝配生產(chǎn)線較多,它們采用國(guó)外芯片,生產(chǎn)能力未充分發(fā)揮,97年研制出加密算法,IC卡操作系統(tǒng)DOS,著手開(kāi)發(fā)智能IC卡,其CPU芯片擬先用國(guó)外芯片,而操作系統(tǒng)采用國(guó)產(chǎn)的,國(guó)內(nèi)IC卡應(yīng)用市場(chǎng)發(fā)展迅猛,截止1998年6月,7家銀行共有發(fā)卡機(jī)構(gòu)2023個(gè),發(fā)卡量2040萬(wàn)張,取現(xiàn)網(wǎng)點(diǎn)24萬(wàn)多個(gè),自動(dòng)柜員機(jī)ATM7萬(wàn)多臺(tái),估計(jì)在今后的幾年里IC卡需求將會(huì)呈爆炸性增長(zhǎng)。目前國(guó)內(nèi)IC卡的應(yīng)用已跳出單一的銀行業(yè)務(wù)與傳統(tǒng)的信用功能,與其它產(chǎn)業(yè)聯(lián)袂發(fā)展,它的付費(fèi)功能,可用于交水電費(fèi)、電話費(fèi)、車(chē)船費(fèi),甚至醫(yī)療費(fèi)、保險(xiǎn)費(fèi)等。我國(guó)目前正按多種使用要求開(kāi)發(fā)IC卡新品種,以便最大限度地發(fā)揮IC卡的各種功能和作用[2]。1.3IC卡的分類特點(diǎn)及國(guó)際標(biāo)準(zhǔn)IC卡分3種:IC貯存卡、加密IC卡和CPU卡:表1-13種IC卡主要性能比較指標(biāo)IC貯存卡加密IC卡CPU卡防偽性差好最好使用壽命(次)100000100000100000數(shù)據(jù)保存期(a)10-10010-10010-100價(jià)格(元/張)10-10010-100100-1000①I(mǎi)C貯存卡是將電可擦讀寫(xiě)EEPROM封裝在塑料卡中構(gòu)成,該卡中的數(shù)據(jù)只要按規(guī)定的時(shí)序就可全部讀出,數(shù)據(jù)安全性不高;基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第4頁(yè)。②加密IC卡內(nèi)部芯片是由貯存器及加密邏輯保護(hù)存貯器組成,只有密碼正確后,才能讀寫(xiě),如果反復(fù)試探,該卡就會(huì)自毀,數(shù)據(jù)安全性較高;基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第4頁(yè)。③CPU卡由專門(mén)的微處理器及其它一些相應(yīng)的邏輯電路組成,可支持復(fù)雜的加密運(yùn)算,數(shù)據(jù)安全性最高。[2]由于采用了當(dāng)今最先進(jìn)的半導(dǎo)體制造技術(shù)和信息安全技術(shù),IC卡相對(duì)于其它種類的卡具有以下四大特點(diǎn):①存儲(chǔ)容量大,內(nèi)部有RAM、ROM、EEPROM等存儲(chǔ)器,使得卡上可存儲(chǔ)文字、聲音、圖形、圖像等各種信息;②體積小,重量輕,抗干擾能力強(qiáng),便于攜帶,易于使用;③安全性高,IC卡從硬件和軟件等幾個(gè)方面實(shí)施其安全策略,可控制卡內(nèi)不同區(qū)域的存取特性;④對(duì)網(wǎng)絡(luò)要求不高,IC卡的安全可靠性使其在應(yīng)用中對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的實(shí)時(shí)性、敏感性要求降低。IC卡的國(guó)際標(biāo)準(zhǔn)遵守國(guó)際標(biāo)準(zhǔn)化委員會(huì)(ISO)和國(guó)際電子技術(shù)協(xié)會(huì)(IEC)的標(biāo)準(zhǔn),共分為五項(xiàng):①I(mǎi)SO7816-1:規(guī)定了IC卡的物理特性、尺寸、機(jī)械強(qiáng)度等性能指標(biāo);②ISO7816-2:規(guī)定了8個(gè)電觸點(diǎn)的尺寸、位置及信號(hào)的作用,ISO7816-2標(biāo)準(zhǔn)規(guī)定8個(gè)信號(hào)的作用如下:C1C2C3C4C5C1C2C3C4C5C6C7C8C2:RST復(fù)位信號(hào)C3:CLK時(shí)鐘信號(hào)C4:保留C5:GNDC6:Vpp編程電壓C7:I/O數(shù)據(jù)信號(hào)C8:保留③ISO7816-3:規(guī)定了電信號(hào)的電氣特性和傳輸協(xié)議;④ISO7816-4:規(guī)定了行業(yè)間的交換命令;⑤ISO7816-5:應(yīng)用標(biāo)識(shí)符的編號(hào)系統(tǒng)和注冊(cè)過(guò)程[12]?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第5頁(yè)。1.4本課題所研究的內(nèi)容基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第5頁(yè)。IC卡食堂售飯機(jī)主要應(yīng)用在就餐人數(shù)密集的食堂微機(jī)收費(fèi)系統(tǒng)。它以先進(jìn)的單片機(jī)技術(shù)與大規(guī)模集成電路技術(shù)及IC卡技術(shù)相結(jié)合而發(fā)展取來(lái)的。具體設(shè)計(jì)內(nèi)容如下:?jiǎn)纹瑱C(jī)最小系統(tǒng)的設(shè)計(jì);卡座接口電路及卡上電控制電路選擇及設(shè)計(jì)掉電檢測(cè)及掉電保護(hù)電路設(shè)計(jì)日歷/時(shí)鐘電路設(shè)計(jì);鍵盤(pán)顯示電路的設(shè)計(jì);RS232/485串行通信接口電路軟件部分:匯編語(yǔ)言程序設(shè)計(jì)IC卡食堂售飯機(jī)是專為食堂售飯而開(kāi)發(fā)的智能終端,它克服了以往使用菜票的諸多缺點(diǎn),方便就餐人員用IC卡與食堂結(jié)算。用餐者到食堂吃飯前,先交一定數(shù)額現(xiàn)金作為預(yù)買(mǎi)飯菜票,建立售飯機(jī)的系統(tǒng)后,管理部門(mén)會(huì)使用上位機(jī)應(yīng)用軟件,通過(guò)IC卡讀寫(xiě)器將用戶信息寫(xiě)入IC卡并交予用戶,每個(gè)用戶就擁有一個(gè)自己的飯卡,用于存儲(chǔ)用戶的姓名、編號(hào)、金額等相關(guān)信息。用戶到食堂用餐時(shí)只需將IC卡插入食堂售飯機(jī)窗口,由售飯者操作輸入菜號(hào)和金額,售飯機(jī)自動(dòng)用卡中金額減去應(yīng)付金額,即可在面對(duì)售飯者和用餐者的兩面雙屏顯示卡中余額、本次售飯金額、日歷、時(shí)間,整個(gè)售飯過(guò)程,就餐人員和售飯員互相監(jiān)督,如不正確,可以馬上改正。當(dāng)工作人員每天匯總金額時(shí),只需把采集卡插入售飯機(jī)中,售飯機(jī)就能把收款金額寫(xiě)入采集卡中,方便快捷?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第6頁(yè)?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第6頁(yè)。2方案論證與確定2.1IC卡食堂售飯機(jī)的主要功能特點(diǎn)及消費(fèi)模式隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,將計(jì)算機(jī)技術(shù)用于食堂餐飲業(yè)管理成為可能。IC卡食堂售飯機(jī)的使用,將一改食堂傳統(tǒng)的手工管理的狀況,使食堂走上現(xiàn)代化、高效化的道路。IC卡食堂售飯機(jī)適用于就餐人數(shù)密集的食堂微機(jī)收費(fèi)系統(tǒng),從根本上解決了餐券流通過(guò)程中的偽造、丟失、病菌交叉感染等一系列弊端,節(jié)約了食堂管理過(guò)程中的大量人力、財(cái)力。作為一種高科技產(chǎn)品,IC卡食堂售飯機(jī)采用先進(jìn)的單片機(jī)技術(shù)與大規(guī)模集成電路技術(shù)及IC卡技術(shù)相結(jié)合,具有技術(shù)先進(jìn)、功能豐富、使用安全可靠、操作簡(jiǎn)單靈活、外型美觀大方、安裝方便等優(yōu)點(diǎn)。[3]2.1.1IC卡食堂售飯機(jī)主要功能和特點(diǎn)如下:①安全可靠:所使用的IC卡具有雙重密碼,以確保卡內(nèi)數(shù)據(jù)安全可靠,萬(wàn)無(wú)一失,同時(shí)可有效地防止非本單位的IC卡流通使用;②可單機(jī)、聯(lián)網(wǎng)使用:在單機(jī)工作方式下,售飯機(jī)可單獨(dú)工作,無(wú)須計(jì)算機(jī)幫助的情況下直接對(duì)IC卡進(jìn)行讀寫(xiě)操作,聯(lián)網(wǎng)使用時(shí),售飯機(jī)將消費(fèi)記錄通過(guò)串行口發(fā)送至上位計(jì)算機(jī),由上位機(jī)完成對(duì)數(shù)據(jù)記錄的統(tǒng)計(jì)及黑名單處理等功能;③黑名單報(bào)警功能:如發(fā)現(xiàn)非法卡、已掛失的IC卡在售飯機(jī)上使用或IC卡內(nèi)金額為零時(shí),售飯機(jī)將自動(dòng)發(fā)出聲光報(bào)警,提醒使用者到指定地點(diǎn)追加卡內(nèi)金額,并在5分鐘后斷電,提示操作人員進(jìn)行處理,以恢復(fù)IC卡的使用,具有黑名單報(bào)警功能;④多種工作方式:售飯機(jī)具有菜價(jià)式、菜號(hào)式、份飯式三種工作方式,分別由面板上的LED指示燈指示[2]。2.1.2IC卡食堂售飯系統(tǒng)的總體結(jié)構(gòu)消費(fèi)模式:定額消費(fèi)模式打開(kāi)收費(fèi)機(jī)電源開(kāi)關(guān)自動(dòng)進(jìn)入定額消費(fèi)模式,此模式無(wú)需鍵盤(pán)輸入消費(fèi)金額,讀卡時(shí)自動(dòng)根據(jù)預(yù)先設(shè)定的金額扣款?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第7頁(yè)。不限制定額消費(fèi)模式基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第7頁(yè)。操作員根據(jù)持卡人的點(diǎn)菜品種,通過(guò)終端收費(fèi)機(jī)鍵盤(pán)輸入消費(fèi)金額,終端收費(fèi)機(jī)將會(huì)自動(dòng)累計(jì)消費(fèi)總金額,持卡人確認(rèn)無(wú)誤后將感應(yīng)式IC卡在終端收費(fèi)機(jī)讀寫(xiě)區(qū)域的有效范圍內(nèi)掠過(guò),聽(tīng)到“嘀”一聲響后,即完成扣款工作,持卡人可通過(guò)終端收費(fèi)機(jī)顯示屏看到消費(fèi)金額和IC卡余額。訂餐消費(fèi)模式訂餐消費(fèi)方式,可以對(duì)某段時(shí)間先行訂餐,持卡消費(fèi)時(shí),如果已經(jīng)有人訂,則用戶允許消費(fèi),如果別人沒(méi)有訂,則用戶不允許消費(fèi)。④限制飲餐消費(fèi)模式

卡座上電控制電路卡座上電控制電路IC卡座日歷時(shí)鐘RS422/485通信接口電路喇叭驅(qū)動(dòng)電路喇叭掉電檢測(cè)電路復(fù)位電路AT89C51電源電路譯碼器地址鎖存器數(shù)據(jù)存儲(chǔ)器鍵盤(pán)/顯示器接口電路鍵盤(pán)數(shù)碼管掉電保護(hù)電路圖2-1系統(tǒng)總體結(jié)構(gòu)圖2.2IC卡售飯機(jī)硬件設(shè)計(jì)方案IC卡售飯機(jī)硬件原理框圖如上圖所示,它實(shí)際上是以IC卡讀寫(xiě)為中心,由單片機(jī)控制的收款終端設(shè)備?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第8頁(yè)。從上面的硬件原理圖可以看出來(lái),IC卡食堂售飯機(jī)主要是以單片機(jī)AT89C51為中心器件,圍繞其展開(kāi)連接。工作時(shí)將IC卡插入IC卡讀寫(xiě)器的卡座中,讀寫(xiě)器就可以對(duì)它進(jìn)行讀寫(xiě),實(shí)現(xiàn)加密,查詢,存款,取款等功能。采用RS485通信接口電路,在通訊設(shè)備上,作為調(diào)試口,板間通訊接口和監(jiān)控信息接口。在單片機(jī)工作的時(shí)候當(dāng)主電源DC5V失去時(shí),單片機(jī)會(huì)停止工作,時(shí)鐘不會(huì)停止往前走,這種結(jié)果在許多場(chǎng)合往往是不被希望的,所以需要掉電檢測(cè)與掉電保護(hù)電路。在系統(tǒng)中需要加入復(fù)位電路,上電的時(shí)候,需要提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定,撤掉復(fù)位信號(hào)。除此外,還需要譯碼器74LS138進(jìn)行譯碼,地址鎖存器74LS373,以及數(shù)據(jù)存儲(chǔ)器。鍵盤(pán)作為外設(shè)器件,采用8255擴(kuò)展的獨(dú)立式鍵盤(pán)接口。最后還要加上數(shù)碼管和電源電路。在各個(gè)器件以及芯片的共同作于下,才能準(zhǔn)確,穩(wěn)定,快速的實(shí)現(xiàn)其功能?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第8頁(yè)?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第9頁(yè)?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第9頁(yè)。3硬件設(shè)計(jì)3.1單片機(jī)AT89C513.1.1主要功能部件組成:(1)微處理器(2)數(shù)據(jù)存儲(chǔ)器(RAM)(3)程序存儲(chǔ)器(ROM)(4)4個(gè)8位并行I/O口(5)1個(gè)串行口(6)2個(gè)16位定時(shí)器、計(jì)數(shù)器(7)中段系統(tǒng)(8)特殊功能存儲(chǔ)器(SFR)3.1.2主要功能特性:AT89C51是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4kbytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)AT89C51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性價(jià)比的解決方案。

AT89C51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本AT89C51具有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性:·兼容MCS—51指令系統(tǒng)·4k可反復(fù)擦寫(xiě)(>1000次)FlashROM·32個(gè)雙向I/O口·可編程UARL通道·兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器·全靜態(tài)操作0-24MHz·1個(gè)串行中斷·128x8bit內(nèi)部RAM·兩個(gè)外部中斷源·共6個(gè)中斷源基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第10頁(yè)。·可直接驅(qū)動(dòng)LED·3級(jí)加密位基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第10頁(yè)?!さ凸目臻e和掉電模式·軟件設(shè)置睡眠和喚醒功能圖3-1AT89C51引腳圖3.1.3引腳簡(jiǎn)介40個(gè)引腳按其功能分為三類:電源及時(shí)鐘引腳;VCC.VSS.XTAL1.XTAL2控制引腳:/SPEN.ALE./EA.RESETI/O口引腳:P0.P1.P2.P3為4個(gè)8位I/O口外部引腳。(一)電源引腳接入單片機(jī)的工作電源。VCC接+5V,VSS接地。2個(gè)時(shí)鐘引腳XTAL1,XTAL2外接晶體片內(nèi)的反相放大器構(gòu)成了1個(gè)振蕩器,它為單片機(jī)提供了時(shí)鐘控制信號(hào)。2個(gè)引腳也可接獨(dú)立的晶體振蕩器?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第11頁(yè)。XTAL1(19腳):接外部晶體的1個(gè)引腳。該引腳內(nèi)部是1個(gè)反相放大器的輸入端。這個(gè)反相放大器構(gòu)成了振蕩器。如果采用外接晶體振蕩器時(shí),此引腳應(yīng)接地。XTAL2(18引腳):接外部晶體的另一端,在該引腳內(nèi)部接至內(nèi)部反相放大器的輸出端。若采用外部時(shí)鐘振蕩器時(shí),該引腳接受時(shí)鐘振蕩器的信號(hào),即把信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第11頁(yè)。(二)控制引腳:此類引腳提供控制信號(hào),有的引腳還具有復(fù)用功能。RST/Vpd(9引腳):RST是復(fù)位信號(hào)的輸入端,高電平有效。當(dāng)單片機(jī)運(yùn)行時(shí),在此引腳加上持續(xù)大于2個(gè)機(jī)械周期的高電平時(shí)。就可以完成復(fù)位操作。在單片機(jī)正常工作時(shí),此引腳應(yīng)為<=0.5V低電平。ALE:ALE引腳輸出為地址鎖存允許信號(hào),當(dāng)單片機(jī)上電正常工作后,ALE引腳不斷輸出正脈沖信號(hào)。當(dāng)單片機(jī)訪問(wèn)外部存儲(chǔ)器時(shí),ALE輸出信號(hào)的負(fù)跳沿用于單片機(jī)發(fā)出的低8位地址經(jīng)外部鎖存器的鎖存控制信號(hào)。即使不訪問(wèn)外部鎖存器,ALE端仍有正脈沖信號(hào)輸出,此頻率為時(shí)鐘振蕩器頻率的六分之一。如果想初步判斷單片機(jī)的好壞,可用示波器查看ALE端是否有正脈沖信號(hào)輸出,如果有脈沖信號(hào)輸出,則單片機(jī)基本上好的。(三)I/O口引腳P0口;雙向8位三態(tài)I/O口,此口為地址總線及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P2口:8位準(zhǔn)雙向I/O口,與地址總線復(fù)用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口:8為準(zhǔn)雙向I/O口基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第12頁(yè)。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第12頁(yè)。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第13頁(yè)。圖3-2AT89C51最小系統(tǒng)基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第13頁(yè)。3.1.4AT89CAT89C51內(nèi)部有4KB閃爍存儲(chǔ)器,芯片本身就是一個(gè)最小系統(tǒng)。將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可。該最小應(yīng)用系統(tǒng)只能用作一些小型的數(shù)字量的測(cè)控單元。3.2IC卡芯片技術(shù)3.2.1SLE4418/SLE4428IC卡的基本特征

SLE4418/SLE4428卡是西門(mén)子公司的產(chǎn)品,價(jià)格便宜,使用方便,比較適合于數(shù)量較小的應(yīng)用,是我國(guó)使用較為廣泛的一種IC卡。SLE4418IC卡共有1024×8位EEPROM,可逐字節(jié)地進(jìn)行寫(xiě)操作與刪除操作,每個(gè)字節(jié)都有具有程序?qū)懕Wo(hù)位。SLE4428IC除了以上功能外,還帶有程序密碼校驗(yàn)邏輯(PSC)。由于SLE4418/SLE4428IC卡內(nèi)置了高壓產(chǎn)生器,因而只需即可進(jìn)行操作,簡(jiǎn)化了接口電路的設(shè)計(jì),可直接由單片機(jī)驅(qū)動(dòng),幾乎不要其它和外接元件?;咎攸c(diǎn)如下:

①具有1024×8位的EEPROM存儲(chǔ)器;

②以字節(jié)為編址單位;

③具有1024×1位保護(hù)存儲(chǔ)器,保護(hù)存儲(chǔ)器設(shè)置后不可撤消;

④三線串行總線;

⑤可進(jìn)行10萬(wàn)次擦寫(xiě)操作;

⑥數(shù)據(jù)保存10年;

⑦卡內(nèi)具有2個(gè)字節(jié)的PSC程序加密位,數(shù)據(jù)僅在密碼檢驗(yàn)正確后,方可進(jìn)行寫(xiě)操作。

3.2.2操作時(shí)序分析SLE4418/SLE4428IC卡通過(guò)三線串行總線性與芯片接口進(jìn)行信息交換。數(shù)據(jù)在程序控制器的統(tǒng)一協(xié)議下,進(jìn)行數(shù)據(jù)序列轉(zhuǎn)換與安全邏輯校驗(yàn)。SLE4418/SLE4428IC卡的引腳配置及功能說(shuō)明如下所示。

C1

電源電壓(VCC)

C5

接地(GND)

C2

復(fù)位信號(hào)(RST)

C6

未使用

C3

時(shí)鐘信號(hào)(CLK)

C7

輸入/輸出(I/O)

C4

未使用

C8

未使用

(1)復(fù)位與復(fù)位應(yīng)答

IC卡在上電時(shí),芯片進(jìn)入到上電復(fù)位狀態(tài)(POR),POR由一個(gè)復(fù)位操作(Reset)終止。當(dāng)RST引腳由“0”狀態(tài)變換變換為“1”狀態(tài)時(shí)結(jié)束。復(fù)位時(shí),將終止所有當(dāng)前的操作命令。

上電復(fù)位(POR)后,地址在寫(xiě)數(shù)據(jù)或刪除數(shù)據(jù)前,必須先進(jìn)行一次讀操作。芯片復(fù)位時(shí),地址計(jì)數(shù)器偏移置被設(shè)置為“0”,第一個(gè)數(shù)據(jù)位出現(xiàn)在數(shù)據(jù)線(I/O)上中,如圖1所示。

圖3-3復(fù)位與復(fù)位應(yīng)答

(2)命令輸入邏輯SLE4418/SLE4428共有5條控制命令,SLE4428另有3條密碼操作命令,表3-1按鍵功能分配表字節(jié)1字節(jié)2字節(jié)3操作內(nèi)容S0S1S2S3S4S5A8A9A0~A7D0~D7100011地址高位地址低位輸入數(shù)據(jù)帶保護(hù)位寫(xiě)與刪除110011輸出數(shù)據(jù)不帶保護(hù)寫(xiě)或刪除000011比較數(shù)據(jù)帶信號(hào)位寫(xiě)(校正)001111忽略帶保護(hù)位數(shù)(讀9位)011100忽略不帶保護(hù)位讀(讀8位)01001111253位掩碼寫(xiě)錯(cuò)誤計(jì)數(shù)器10110011254PSC字節(jié)1校驗(yàn)第一個(gè)PSC字節(jié)10110011255PSC字節(jié)2校正第二個(gè)PSC字節(jié)基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第14頁(yè)。地址低位由上表1可看出,每條命令由6位控制位,10位地址位和1個(gè)字節(jié)的數(shù)據(jù)組成。進(jìn)行寫(xiě)數(shù)據(jù)時(shí),數(shù)據(jù)字節(jié)即是所要寫(xiě)入的數(shù)據(jù),可見(jiàn)SLE4418/SLE4428不能進(jìn)行一次性多字節(jié)的寫(xiě)操作;讀數(shù)據(jù)時(shí),數(shù)據(jù)忽略不計(jì),一次性可讀出多字節(jié)。當(dāng)RST由“0”狀態(tài)變?yōu)椤?”狀態(tài),CLK由“0”狀態(tài)變?yōu)椤?”狀態(tài)時(shí)命令輸入邏輯啟動(dòng)。命令輸入完成后,設(shè)置RST為“0”狀態(tài),時(shí)序如圖所示。

(3)寫(xiě)操作/刪除操作邏輯

對(duì)IC卡進(jìn)行寫(xiě)操作,意味著數(shù)據(jù)位由“1”狀態(tài)變?yōu)椤?”狀態(tài);刪除操作意消味著數(shù)據(jù)位由“0”狀態(tài)變?yōu)椤?”狀態(tài)。SLE4418/SLE4428IC卡在進(jìn)行寫(xiě)操作與刪除操作時(shí),時(shí)鐘(CLK)必須進(jìn)行延續(xù)。一般來(lái)說(shuō),單獨(dú)的寫(xiě)操作或者單獨(dú)的刪除操作,數(shù)據(jù)輸入后,時(shí)鐘須延續(xù)103個(gè)脈沖,數(shù)據(jù)刪除后立即進(jìn)行寫(xiě)操作則需要延續(xù)203個(gè)時(shí)鐘脈沖。SLE4418/SLE4428IC卡具有三種擦寫(xiě)操作,即刪除操作后立即寫(xiě)操作、單獨(dú)的寫(xiě)操作與單獨(dú)的刪除操作三種方式。如圖3所示。寫(xiě)保護(hù)位時(shí),只須將數(shù)據(jù)重寫(xiě)一次,當(dāng)?shù)诙螌?xiě)入的數(shù)據(jù)與前一次寫(xiě)入的數(shù)據(jù)相同時(shí),設(shè)置保護(hù)位。保護(hù)位一旦設(shè)置便不能更改。

基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第14頁(yè)。圖3-4命令輸入時(shí)序

圖3-5寫(xiě)/刪除時(shí)序

(4)讀操作邏輯

圖3-6讀時(shí)序基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第15頁(yè)。

按表1配置好讀命令后,輸入命令即啟動(dòng)讀操作。當(dāng)CLK為“0”狀態(tài)變?yōu)椤?”狀態(tài)時(shí),第一位數(shù)據(jù)出現(xiàn)在I/O數(shù)據(jù)線上,此后每個(gè)CLK脈沖即接收1位數(shù)據(jù)。接收8位或9位數(shù)據(jù)(帶保護(hù)位時(shí),第9位為保護(hù)位)時(shí)即為1個(gè)字節(jié)。每讀完1個(gè)字節(jié),IC卡地址計(jì)數(shù)器偏移量自動(dòng)加1。當(dāng)RST為“0”狀態(tài)轉(zhuǎn)變?yōu)椤?”狀態(tài)時(shí),讀操作結(jié)束。讀時(shí)序邏輯如圖4所示。

(5)密碼校驗(yàn)邏輯基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第15頁(yè)。

SLE4428IC卡具有2個(gè)字節(jié)的密碼保護(hù)字節(jié)(地址偏移量分別為1022、1023)以及1個(gè)錯(cuò)誤計(jì)數(shù)器(地址偏移量為1021)。如果沒(méi)有進(jìn)行密碼校驗(yàn),則SLE4428IC卡只能讀出,不能寫(xiě)入,也不能讀取密碼字節(jié)。在沒(méi)有通過(guò)密碼校驗(yàn)即讀取密碼字節(jié),將返回“00”.進(jìn)行密碼校驗(yàn)時(shí),必須按以下步驟進(jìn)行。*改變一個(gè)沒(méi)有寫(xiě)入的位(沒(méi)有寫(xiě)入的位,其當(dāng)前狀態(tài)為“1”,改變一個(gè)沒(méi)有寫(xiě)入的位即使期由“1”狀態(tài)變?yōu)椤?”狀態(tài));*寫(xiě)入第一位密碼;

*寫(xiě)入第二位密碼;*刪除錯(cuò)誤計(jì)數(shù)器。密碼校驗(yàn)的時(shí)序邏輯如圖5所示。(寫(xiě)錯(cuò)誤計(jì)數(shù)器請(qǐng)參看寫(xiě)時(shí)序邏輯)。

圖3-7密碼校驗(yàn)時(shí)3.3卡座接口電路即卡上電控制電路為使與IC卡接觸良好,有專用卡座可供選用,如推自彈式卡座、帶滑動(dòng)觸點(diǎn)的卡座等,后者結(jié)構(gòu)簡(jiǎn)單,但壽命較短(10萬(wàn)次以下);而前者壽命較長(zhǎng),可達(dá)50萬(wàn)次以上,價(jià)格較貴。本設(shè)計(jì)中采用進(jìn)口降落式自彈式卡座,該型卡座對(duì)卡磨損小、觸點(diǎn)彈力足、接觸好,使用壽命長(zhǎng),可避免售飯機(jī)在對(duì)卡進(jìn)行讀寫(xiě)操作過(guò)程中,用戶插拔卡造成對(duì)卡的損壞。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第16頁(yè)。如圖3.8所示,卡座上與SLE4428卡的復(fù)位(RST),控制脈沖(CLK)及串行口數(shù)據(jù)(SD)觸點(diǎn)對(duì)應(yīng)的引腳分別與AT89C51的P1.4、P1.5、P1.6連接。三極管T1及電阻R1、R2構(gòu)成上電控制電路。反映卡插入狀態(tài)的常開(kāi)開(kāi)關(guān)K的一端接地,另一端與P1.7相連,用來(lái)探測(cè)IC卡是否已插入卡頭內(nèi),當(dāng)卡未插入或卡未到位時(shí),K斷開(kāi),T1截止,卡座Vcc引腳不得電;當(dāng)卡插到位時(shí),K閉合,三極管T1飽和導(dǎo)通,由于集電極和發(fā)射極之間的壓降小于0.1V,主電源Vcc經(jīng)R1限流后加至卡座Vcc端用來(lái)驅(qū)動(dòng)IC卡;如果卡已拔出,即立即切斷IC卡的帶電電路。實(shí)踐證明,設(shè)置卡上電控制電路,可有效防止插拔過(guò)程中卡瞬時(shí)短路對(duì)卡造成的損壞[22]基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第16頁(yè)。圖3-8卡座接口電路及卡上電控制電路3.4RS485接口電路RS-485RS485接口電氣特性:基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第17頁(yè)。①邏輯“1”以兩線間的電壓差為+(2—6)V表示;邏輯“0”以兩線間的電壓差為-(2—6)V表示。接口信號(hào)電平比RS-232-C降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL電路連接。

②RS-485的數(shù)據(jù)最高傳輸速率為10Mbps

③RS-485接口是采用平衡驅(qū)動(dòng)器和差分接收器的組合,抗共模干能力增強(qiáng),即抗噪聲干擾性好。

④RS-485最大的通信距離約為1219M,最大傳輸速率為10Mb/S,傳輸速率與傳輸距離成反比,在100Kb/S的傳輸速率下,才可以達(dá)到最大的通信距離,如果需傳輸更長(zhǎng)的距離,需要加485中繼器。RS-485總線一般最大支持32個(gè)節(jié)點(diǎn),如果使用特制的485芯片,可以達(dá)到128個(gè)或者256個(gè)節(jié)點(diǎn),最大的可以支持到400個(gè)節(jié)點(diǎn)。

由于IC就餐卡上存有錢(qián)款,不僅僅只有賬號(hào),所以允許售飯機(jī)脫網(wǎng)運(yùn)行。聯(lián)機(jī)運(yùn)行時(shí),售飯機(jī)可向管理機(jī)上傳營(yíng)業(yè)交易數(shù)據(jù)和接受管理機(jī)下傳的“黑名單”信息和校時(shí)命令。通信網(wǎng)絡(luò)采用RS485主/從總線式結(jié)構(gòu),管理機(jī)作為主機(jī),通過(guò)通訊接口卡與作為從機(jī)的各售飯機(jī)相連?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第17頁(yè)。圖3-9RS-485接口電路由于IC就餐卡上存有錢(qián)款,不僅僅只有賬號(hào),所以允許售飯機(jī)脫網(wǎng)運(yùn)行。聯(lián)機(jī)運(yùn)行時(shí),售飯機(jī)可向管理機(jī)上傳營(yíng)業(yè)交易數(shù)據(jù)和接受管理機(jī)下傳的“黑名單”信息和校時(shí)命令。通信網(wǎng)絡(luò)采用RS485主/從總線式結(jié)構(gòu),管理機(jī)作為主機(jī),通過(guò)通訊接口卡與作為從機(jī)的各售飯機(jī)相連?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第18頁(yè)。

RS485接口采用差動(dòng)方式傳輸數(shù)據(jù),通訊距離遠(yuǎn),抗干擾能力強(qiáng)。售飯機(jī)上采用MAX485芯片。當(dāng)發(fā)送端DI=O時(shí),DE/RE=1發(fā)送O電平,接收端RO=O;當(dāng)發(fā)送端DI=1時(shí),DE/RE=0,VA=VB=2.5V,接收端由于上拉電阻的作用RO=1。

在此接口電路的TXo端加入1kHz的TTL方波對(duì)電路進(jìn)行測(cè)試。未加入120Ω端電阻時(shí),接口芯片的485-A和485-B腳都有約50μs的電壓變化過(guò)程。接收端Ro波形的上升沿有明顯的延遲約30~40μs(和數(shù)據(jù)發(fā)送端DI比較),造成很大的傳輸誤差;加入120Ω端電阻時(shí),延遲明顯縮小,約3μs此電路在發(fā)送高電平時(shí),發(fā)送器處于高阻狀態(tài),總線上所有接口處于接收狀態(tài),總線是空閑的,允許其他接口發(fā)送數(shù)據(jù),因此容易引入總線沖突。特別是連續(xù)發(fā)送高電平比特時(shí),發(fā)送器處于高阻狀態(tài)的時(shí)間越長(zhǎng),引入總線沖突的幾率就越大?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第18頁(yè)。3.5掉電保護(hù)電路通常,在數(shù)字鐘、打鈴儀、某些定時(shí)器和日歷鐘等類型的單片機(jī)系統(tǒng)中,當(dāng)主電源DC5V失去時(shí),我們稱之為掉電。掉電之后,單片機(jī)會(huì)停止工作,時(shí)鐘會(huì)停止往前走,這種結(jié)果在許多場(chǎng)合往往是不希望的,為了保證單片機(jī)在主電壓失去時(shí)仍然能夠保持運(yùn)行,人們就利用干電池對(duì)單片機(jī)系統(tǒng)繼續(xù)進(jìn)行供電。應(yīng)該感謝單片機(jī)芯片的工程技術(shù)設(shè)計(jì)師,是他們首先提供了單片機(jī)系統(tǒng)能夠順利實(shí)施“掉電保護(hù)”的內(nèi)部條件,這就是:?jiǎn)纹瑱C(jī)允許在電壓低至2V甚至更加小一些的電壓供電時(shí)。仍然可以保證其最基本的運(yùn)行(對(duì)外部輸入輸出功能將會(huì)失效或者停止)。電池在主電源失去時(shí),對(duì)單片機(jī)的繼續(xù)運(yùn)行提供能源,此時(shí)的電池能源是非常寶貴的,往往都是以“uA”級(jí)進(jìn)行計(jì)算。而且還有一個(gè)不能避免的結(jié)果,就是隨著保護(hù)時(shí)間的延長(zhǎng),電池的電量也會(huì)用完的。所以,保護(hù)電路有一個(gè)最保護(hù)時(shí)間的參數(shù),使用中不能超過(guò)。圖3-10掉電保護(hù)電路基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第19頁(yè)。IC卡食堂售飯機(jī)主電源正常時(shí),單片機(jī)由VCC5V電源供電,此時(shí),VCC是+5V電源通過(guò)D1和R16,對(duì)保護(hù)用電池進(jìn)行充電,以保證電池電量的充足。適當(dāng)選擇R16的大小,可以保證充電電流和充電時(shí)間都比較合理。

例如:需要對(duì)3V6*60mAH的電池充電,充電時(shí)間選擇在8小時(shí)左右,我們就選擇充電電流為8mA,R1=(6V-0.6)/8(0.6是串連二極管的導(dǎo)通壓降)。與電池并聯(lián)的穩(wěn)壓二極管是防止電池過(guò)充電用的。當(dāng)IC卡食堂售飯機(jī)主電源不能正常工作時(shí),放電路徑是:電池通過(guò)R16+R17,對(duì)單片機(jī)供電端口進(jìn)行供電,供電電流通過(guò)R16+R17之后,會(huì)有壓降,到達(dá)單片機(jī)的VCC端口時(shí),電壓就會(huì)比3V6低,一般會(huì)在2V--2V5左右,不要企圖在這個(gè)時(shí)候提高單片機(jī)的供電電壓,這樣反而會(huì)適得其反,令單片機(jī)仍然工作于正常供電狀態(tài)。對(duì)各單片機(jī)生產(chǎn)公司的各種單片機(jī),這個(gè)低供電電壓會(huì)有某些差別,調(diào)整電阻R17,在保證單片機(jī)能夠保持運(yùn)行的情況下,耗用電流越小越好?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第19頁(yè)。3.6數(shù)據(jù)存儲(chǔ)器與譯碼器AT89C51單片機(jī)的片外RAM跟ROM地址是獨(dú)立編址的,地址范圍都有64K。在硬件上,通過(guò)不同的片選信號(hào)來(lái)區(qū)別。因?yàn)槌绦虼鎯?chǔ)器只讀的,所以只需要一根選通信號(hào)——PSEN(程序選擇使能)。而數(shù)據(jù)存儲(chǔ)器是可讀寫(xiě)的,所以需要兩根選擇信號(hào):RD(讀)跟WR(寫(xiě))。在軟件上,通過(guò)使用不同的。存儲(chǔ)器的地址空間分配,實(shí)際上就是通過(guò)地址線,與存儲(chǔ)器芯片的地址引腳適當(dāng)?shù)倪B接,最終達(dá)到一個(gè)存儲(chǔ)器單元對(duì)應(yīng)一個(gè)地址的要求。AT89C51發(fā)出的地址是用來(lái)選擇某個(gè)存儲(chǔ)器單元,在外擴(kuò)的多片存儲(chǔ)器芯片中,AT89C51要完成這種功能,必須進(jìn)行兩種的選擇:一種必須選中該芯片存儲(chǔ)器芯片,這稱之為片選,只有被選中的存儲(chǔ)器芯片才能被AT89C51讀出或?qū)懭霐?shù)據(jù)。二是必須選擇該芯片的某一個(gè)單元,稱之為單元選擇。為了芯片選擇的需要,每個(gè)存儲(chǔ)器芯片都有片選信號(hào)引腳,因此芯片選擇的實(shí)質(zhì)就是如何通過(guò),AT89C51的地址線來(lái)產(chǎn)生芯片的片選信號(hào)。常用的存儲(chǔ)器地址分配方式有兩種:線性選擇法和地址譯碼法。本設(shè)計(jì)采用譯碼法。譯碼法就是使用譯碼器對(duì)AT89C51的高位地址譯碼,譯碼器的譯碼輸出作為存儲(chǔ)器芯片的片選信號(hào)。這就是一種最常用的存儲(chǔ)器地址分配的方法,它能有效的利用存儲(chǔ)空間,使用于大容量多芯片的存儲(chǔ)器擴(kuò)展。譯碼法可以使用現(xiàn)有的譯碼器芯片,它們使用靈活,完全可以根據(jù)設(shè)計(jì)者的要求組合譯碼,產(chǎn)生片選信號(hào)。若全部高位地址線都參加譯碼,稱為全譯碼;若部分高位地址參加譯碼,稱為部分譯碼,部分譯碼存在著部分存儲(chǔ)器地址空間相重疊的情況。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第20頁(yè)。譯碼法就是使用譯碼器對(duì)AT89C51的高位地址進(jìn)行譯碼,譯碼器的譯碼輸出作為存儲(chǔ)器芯片的片選信號(hào)。這是一種最常用的存儲(chǔ)器地址分配方法,它能有效的利用存儲(chǔ)器的空間,使用大容量多芯片的存儲(chǔ)器擴(kuò)展。譯碼電路可用現(xiàn)有的譯碼器芯片。最常用的譯碼器芯片有:74LS138,74LS139,74LS154.他們使用靈活,完全可以根據(jù)設(shè)計(jì)者的要求組合譯碼,產(chǎn)生片選信號(hào)。若全部高位地址都參加譯碼,稱為全譯碼;若僅僅部分高位地址參加譯碼,稱為部分譯碼,部分譯碼存在著部分存儲(chǔ)器地址空間相重疊的情況?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第20頁(yè)。本設(shè)計(jì)采用74LS138,它是一種3線—8線譯碼器,有3個(gè)數(shù)據(jù)輸入端,經(jīng)譯碼產(chǎn)生8種狀態(tài)。當(dāng)譯碼器的輸入為某一個(gè)編碼時(shí),就有1個(gè)固定的引腳輸出為低電平,其余的為高電平。表3-274LS138真值表輸入輸出G1CBA1000001111111010000111111101100010111110111000111111011110010011101111100101110111111001101011111110011101111111其他狀態(tài)///111111113.7地址鎖存器

AT89C51單片機(jī)受引腳數(shù)的限制,數(shù)據(jù)線和地址線是復(fù)用的,有P0口線兼用。為了將它們分離出來(lái),以便同單片機(jī)外部的擴(kuò)展芯片正確的連接,需要在單片機(jī)外部增加地址鎖存器。目前,常用的地址鎖存器芯片有:74LS373,8282,74LS573等。本設(shè)計(jì)采用74LS373.74LS373是一種帶有三態(tài)門(mén)的8D鎖存器。其引腳說(shuō)明如下:D7-D0:8位數(shù)據(jù)輸入線。Q7-Q0:8位數(shù)據(jù)輸出線。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第21頁(yè)。G:數(shù)據(jù)輸入鎖存選通引腳,高電平有效。當(dāng)該信號(hào)為高電平時(shí),外部數(shù)據(jù)選通到內(nèi)部鎖存器,負(fù)跳變時(shí),數(shù)據(jù)鎖存到鎖存器中?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第21頁(yè)。OE:數(shù)據(jù)輸出允許引腳,低電平有效。當(dāng)該信號(hào)為低電平時(shí),三態(tài)門(mén)打開(kāi),鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號(hào)為高電平時(shí),輸出線為高阻態(tài)。表3-374LS373功能表如下:GDQ0111010000\不變1\\高阻態(tài) 圖3-1174LS3733.8顯示器基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第22頁(yè)。LED顯示器的結(jié)構(gòu):常用的LED顯示器為8段。每一個(gè)段對(duì)應(yīng)1個(gè)發(fā)光二極管。這種顯示器有共陽(yáng)極和共陰極兩中。共陰極LED顯示器的發(fā)光二極管的陰極連接在一起,通常此公共陰極接地。當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極為高電平時(shí),發(fā)光二極管點(diǎn)亮,相應(yīng)的段被顯示。同樣,共陽(yáng)極顯示器的發(fā)光二極管的陽(yáng)極連接在一起,通常此共陽(yáng)極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第22頁(yè)。為了使LED顯示器顯示不同的符號(hào)或數(shù)字,就要把不同段的發(fā)光二極管點(diǎn)亮,這樣就要為L(zhǎng)ED顯示器提供代碼,這些代碼可使LED相應(yīng)段發(fā)光,顯示不同字型,因此稱之為段碼。顯示器的工作原理:LED顯示器有靜態(tài)顯示和動(dòng)態(tài)顯示兩種顯示方式。本設(shè)計(jì)為動(dòng)態(tài)顯示。動(dòng)態(tài)顯示方式;在多位LED顯示時(shí),為簡(jiǎn)化硬件電路,通常將所有位的段碼線相應(yīng)段并聯(lián)在一起,由1個(gè)8位I/O口控制,形成段碼線的多路復(fù)用,而各位的共陽(yáng)極或共陰極分別由相應(yīng)的I/O線控制,形成各位的分時(shí)選通。下圖為1個(gè)8位8段LED動(dòng)態(tài)顯示器電路。其中段碼線占用1個(gè)8位I/O口,而位選線占用1個(gè)8位I/O口。由于各位的段碼線并聯(lián),8位I/O口輸出的段碼對(duì)各個(gè)顯示位來(lái)說(shuō)都是相同的。因此,在同一時(shí)刻,如果各位位選線都處于選通狀態(tài)的話,8位LED將顯示相同的字符。若要各位LED能夠同時(shí)顯示出與本位相應(yīng)的顯示字符,就必須采用動(dòng)態(tài)顯示方法,即在某一時(shí)刻,只讓某一位的為選線處于選通的狀態(tài),而其他各位的為選線處于關(guān)閉狀態(tài),同時(shí),斷碼線上輸出相應(yīng)位要顯示的字符的段碼。這樣,在同一時(shí)刻,8位LED中只有選通的那一位顯示出字符,而其他7位則是熄滅的。同樣,在下一時(shí)刻,只讓下一位的位選線處于選通狀態(tài)。而其他各位的位選線處于關(guān)閉狀態(tài)。在斷碼線上輸出將要顯示字符的段碼,則同一時(shí)刻,只有選通位顯示出相應(yīng)的字符,而其他各位則是熄滅的。如此循環(huán)下去,就可以使各位顯示出將要顯示的字符。雖然這些字符是在不同時(shí)刻出現(xiàn)的,而在同一時(shí)刻,只有一位顯示,其他各位熄滅,但由于LED顯示器的余暉和人眼的視覺(jué)暫留作用,只要每位顯示間隔足夠短,則可以造成多位同時(shí)亮的假象,達(dá)到同時(shí)顯示效果。3.9鍵盤(pán)電平狀態(tài),如果讓所有的列線處于低電平,很明顯,按鍵所在行電平將被接成低電平,根據(jù)此行電平的變化,便能判斷此行一定有鍵被選中。但還不能確定是鍵3被選中,因?yàn)槿绻I3不被選中,而同一行的鍵2.1.0之一被選中,均會(huì)產(chǎn)生同樣的效果。所以,行線處于低電平只能得出某行有鍵被選中的結(jié)論。為進(jìn)一步判斷到底是哪一個(gè)鍵被選中,可采用掃描法來(lái)識(shí)別。即在某一時(shí)刻只讓1條列線處于低電平,其余所有列線處于高電平。當(dāng)?shù)?列為低電平,其余各列為高電平時(shí),因?yàn)槭擎I3被按下,所以第1列仍處于高電平狀態(tài);而當(dāng)?shù)?列為低電平,而其余各列為高電平時(shí),同樣我們會(huì)發(fā)現(xiàn)第1行仍處于高電平狀態(tài);直到讓第4列為低電平,其余各列為高電平時(shí),因?yàn)榇藭r(shí)3號(hào)鍵被按下,所以第1行的電平將由高電平轉(zhuǎn)到第4列所處的低電平,據(jù)此可以判斷第1行第4列交叉點(diǎn)處的按鍵,即3號(hào)鍵被按下?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第23頁(yè)。根據(jù)上面的分析,很容易想到識(shí)別鍵盤(pán)有無(wú)鍵被按下的方法,此方法分為2步進(jìn)行,第1步,識(shí)別鍵盤(pán)有無(wú)鍵被按下;第2步,如有鍵被按下具體是哪個(gè)鍵。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第23頁(yè)。首先把所有的列線均置為低電平,檢查各行電平是否有變化,如果有變化,則說(shuō)明有鍵被按下,如果沒(méi)有變化,則說(shuō)明無(wú)鍵被按下。上述識(shí)別具體按鍵方法也稱為掃描法,即先把謀一列置低電平,其余各列置為高電平,檢查各行線電平的變化,如果某行線為低電平,則可確定此行此列交叉點(diǎn)的按鍵被按下。3.10電源根據(jù)設(shè)計(jì)的要求,本身機(jī)選用CM7815和CM7915三端集成穩(wěn)壓器作為控制電路的直流操作,起主要參數(shù)為:表3-4直流穩(wěn)壓電源主要參數(shù)序號(hào)代號(hào)名稱規(guī)格數(shù)量1Diode二極橋管12C4、C7電解電容器100uF/15V23C5、C6電容0.01uF24T1變壓器15F1熔斷器16S1開(kāi)關(guān)17D2、D3二極管IN41482基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第24頁(yè)。圖3-12電源電路基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第24頁(yè)。4IC卡食堂售飯機(jī)軟件設(shè)計(jì)4.1主程序流程圖基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第25頁(yè)。圖4-1主程序流程圖YN初始化卡插入?卡合法性判別卡類型卡合法性判別鍵入消費(fèi)額并從卡中扣除有關(guān)數(shù)據(jù)送通信數(shù)據(jù)存儲(chǔ)區(qū)累計(jì)營(yíng)業(yè)額自動(dòng)彈卡計(jì)算并比較卡密碼,比較食堂號(hào)輸入并比較結(jié)算PIN結(jié)算金額寫(xiě)入卡中基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第25頁(yè)。圖4-1主程序流程圖YN初始化卡插入?卡合法性判別卡類型卡合法性判別鍵入消費(fèi)額并從卡中扣除有關(guān)數(shù)據(jù)送通信數(shù)據(jù)存儲(chǔ)區(qū)累計(jì)營(yíng)業(yè)額自動(dòng)彈卡計(jì)算并比較卡密碼,比較食堂號(hào)輸入并比較結(jié)算PIN結(jié)算金額寫(xiě)入卡中有關(guān)數(shù)據(jù)送通信數(shù)據(jù)存儲(chǔ)區(qū)清除累計(jì)營(yíng)業(yè)額比較卡密碼,輸入并比較初始化PIN從卡中讀出并保存用戶卡結(jié)算卡密碼算法所需的主常數(shù)清除累計(jì)營(yíng)業(yè)額主程序4.2窗口機(jī)程序流程圖YNYNYNYNYNN圖4-2窗口機(jī)程序流程圖YN修改鍵NYYYYYNNYYYY初始化顯示卡號(hào)有卡否?輸入6位密碼密碼是否正讀卡上信息傳送并顯示有卡否?有按鍵否取消鍵查詢鍵繳費(fèi)鍵存款建取消子程序查詢子程序修改子程序繳費(fèi)子程序存款子程序N顯示錯(cuò)誤顯示NN有按鍵卡有效?開(kāi)始有卡否?基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第26頁(yè)。窗口機(jī)是針對(duì)消費(fèi)而言的,在其程序中設(shè)計(jì)了相應(yīng)的功能選項(xiàng)??梢耘袛嗍欠裼锌ú迦?,卡是否正確,密碼服務(wù),同時(shí)還設(shè)置了取消,查詢,修改,繳費(fèi),存款等功能。每一個(gè)按鍵對(duì)應(yīng)一個(gè)控制命令,程序執(zhí)行不會(huì)出現(xiàn)沖突和矛盾。具體功能介紹如下:基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第26頁(yè)。(1)取消子程序可取消剛剛操作的消費(fèi)或存款操作,使卡內(nèi)數(shù)據(jù)記錄恢復(fù)到操作前的狀態(tài)。若發(fā)現(xiàn)操作有誤,按“取消”鍵即可自動(dòng)恢復(fù)到動(dòng)作前的狀態(tài)。(2)查詢子程序用于查詢最近9次內(nèi)的消費(fèi)或存款操作的金額。當(dāng)按下“查詢”鍵時(shí),系統(tǒng)提示要查詢哪一次的金額,若輸入1~9中的某個(gè)數(shù)時(shí),系統(tǒng)將顯示出你所要查詢的記錄,否則系統(tǒng)將直接返回。(3)修改子程序用于修改卡的密碼。按下“修改”鍵時(shí),系統(tǒng)提示“PIN”,此時(shí)用戶連續(xù)兩次輸入新密碼,每次輸完按確認(rèn)鍵,系統(tǒng)將自動(dòng)判斷兩次輸入的密碼是否相等,若相等,密碼將自動(dòng)地被寫(xiě)入卡替換原密碼;否則,跳回顯示“PIN”,以讓用戶重新輸入。(4)繳費(fèi)子程序用于扣除卡內(nèi)金額。當(dāng)按下“繳費(fèi)”鍵顯示“PAY”提示輸入消費(fèi)金額,顯示器顯示輸入值,按“確認(rèn)”鍵后自動(dòng)處理數(shù)據(jù),處理結(jié)果顯示出來(lái),將結(jié)果寫(xiě)入卡中。(5)存款子程功能是使卡內(nèi)原有的金額與用戶本次的存款相加,結(jié)果存入卡內(nèi),作為卡的現(xiàn)有金額,當(dāng)按下“存款”鍵時(shí)顯示器提示“SAE”,此后可輸入所存的金額。(6)動(dòng)態(tài)顯示及按鍵檢測(cè)子程序采用單片機(jī)內(nèi)部定時(shí)中斷服務(wù)處理方式,定時(shí)時(shí)間為2ms。每過(guò)2ms中斷一次,依次輸出一個(gè)字段的字型數(shù)據(jù),并選中相應(yīng)位選控制信號(hào);同時(shí)掃描判斷有否按鍵,經(jīng)軟件消抖動(dòng)處理后讀取有效鍵值[12]。4.3讀卡器軟件程序?yàn)槭箙R編語(yǔ)言程序易讀易維護(hù),采用模塊化設(shè)計(jì)(IC卡消費(fèi)模塊、讀IC卡存儲(chǔ)器模塊、擦寫(xiě)存儲(chǔ)器模塊、密碼校驗(yàn)?zāi)K)和多次調(diào)用子程序方式。4.3.1在用IC卡消費(fèi)的時(shí)候,有時(shí)對(duì)IC卡了解的不足,所以在消費(fèi)的時(shí)候可能會(huì)出現(xiàn)卡的型號(hào)不對(duì),或消費(fèi)中卡中金額不足的情況。針對(duì)這些情況,在編寫(xiě)軟件的時(shí)候做出了具體的解決措施。幫助消費(fèi)者進(jìn)行合理的消費(fèi),達(dá)到滿意的效果?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第27頁(yè)。消費(fèi)流程圖如下:基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第27頁(yè)。NNNNYYNY卡上電系統(tǒng)卡?顯示卡中金額輸入消費(fèi)金額卡中金額減去消費(fèi)金額顯示卡中余額消費(fèi)數(shù)輸入數(shù)據(jù)存儲(chǔ)器卡下電結(jié)束顯示金額不足顯示錯(cuò)誤卡顯示掛失卡卡掛失?開(kāi)始消費(fèi)金額大于卡中金額輸入金額錯(cuò)誤iu圖4-3IC卡消費(fèi)模塊程序圖4.3.2基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第28頁(yè)。IC卡作為一種消費(fèi)的工具,在流通的過(guò)程中,作為消費(fèi)者需要了解其中的信息,并且根據(jù)需要及時(shí)向其中輸入信息,達(dá)到預(yù)想的效果。例如需要了解卡中的金額,更改密碼,存錢(qián),繳費(fèi)等具體服務(wù)時(shí),需要對(duì)系統(tǒng)進(jìn)行讀和寫(xiě)的操作。因此軟件部分要有讀寫(xiě)程序?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第28頁(yè)。讀IC卡存儲(chǔ)器模塊YY讀卡程序發(fā)送讀指令尋找存儲(chǔ)器口地址讀主存儲(chǔ)器口地址讀保護(hù)存儲(chǔ)器口地址讀加密存儲(chǔ)器口地址子讀主存儲(chǔ)器讀保護(hù)存儲(chǔ)器讀加密存儲(chǔ)器發(fā)送到IC卡內(nèi)部地址接受到IC卡數(shù)據(jù)發(fā)送指令給卡返回顯示錯(cuò)誤指令N圖4-4讀IC卡存儲(chǔ)器模塊程序圖基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第29頁(yè)。寫(xiě)IC卡存儲(chǔ)器模塊基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第29頁(yè)。YN寫(xiě)卡程序發(fā)送寫(xiě)指令尋找寫(xiě)地址YN寫(xiě)卡程序發(fā)送寫(xiě)指令尋找寫(xiě)地址向IC卡中寫(xiě)入信息IC卡是否有響應(yīng)返回錯(cuò)誤指令圖4-5寫(xiě)IC卡存儲(chǔ)器模塊程序圖IC卡食堂售飯機(jī)為了滿足需要,增加了一些相應(yīng)的功能(存儲(chǔ),繳費(fèi),密碼保護(hù)等)。為了使主程序不至于過(guò)于繁瑣,設(shè)計(jì)人員采用子程序調(diào)用的方法,來(lái)完成各項(xiàng)功能要求。查詢存儲(chǔ)程序流程圖基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第30頁(yè)。Y基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第30頁(yè)。YN查詢程序發(fā)送查詢指令尋找查詢數(shù)據(jù)口地址查詢存儲(chǔ)器數(shù)據(jù)完成存儲(chǔ)程序顯示卡中金額輸入存儲(chǔ)金額正確卡中金額加上存儲(chǔ)金額顯示卡中實(shí)際金額完成圖4-7存儲(chǔ)模塊程序圖圖4-6查詢模塊程序圖密碼保護(hù)是保護(hù)個(gè)人財(cái)產(chǎn)的一個(gè)重要手段,IC卡食堂售飯機(jī)也采用了密碼保護(hù)措施。輸入密碼后采用循環(huán)識(shí)別的方法進(jìn)行驗(yàn)證,判斷密碼是否正確。密碼保護(hù)程序流程圖:由于密碼選擇6為,即3個(gè)字節(jié),所以在循環(huán)驗(yàn)證過(guò)程中只需驗(yàn)證3次。NNYYN密碼驗(yàn)證程序輸入6位密碼校驗(yàn)?zāi)┪沧止?jié)查詢末尾字節(jié)地址字節(jié)右移一位累加器加1,等于3?驗(yàn)證完成圖4-8密碼校驗(yàn)程序圖4.4.1通訊軟件框圖基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第31頁(yè)。圖4.8分別給出了主機(jī)呼叫、主機(jī)被呼及從機(jī)被呼、從機(jī)呼叫主機(jī)的程序框圖。主呼叫程序中,初始化的任務(wù)是設(shè)置通訊卡或從機(jī)的工作方式和初始狀態(tài)?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第31頁(yè)。YYN開(kāi)始初始化發(fā)送地址FF發(fā)目標(biāo)從機(jī)地址命令字分析應(yīng)答地址符合進(jìn)行通訊通訊結(jié)束發(fā)總地址FE重新初始化返回網(wǎng)絡(luò)失效標(biāo)志保護(hù)現(xiàn)場(chǎng)發(fā)送地址FE是正式地址?發(fā)送地址FF進(jìn)行通訊發(fā)送地址FF恢復(fù)現(xiàn)場(chǎng)中斷返回發(fā)送地址FC主機(jī)呼叫從機(jī)主機(jī)被叫圖4-9主、從機(jī)通訊程序框圖4.2.2通訊協(xié)議主從機(jī)之間的通訊采用半雙工異步串行方式,波特率為1200,為了實(shí)現(xiàn)主—從互控式通訊方式,則主機(jī)和從機(jī)都要具備接收和發(fā)送,即主呼和被呼程序。主呼采用查詢方式,被呼采用中斷方式。不通訊時(shí),都處在守候即等待被呼叫的狀態(tài),完成其它功能。通訊過(guò)程都采查詢方式,并規(guī)定:地址0FCH~0FFH為所有從機(jī)起作用的控制功能地址,其中0FFH標(biāo)志著主機(jī)欲進(jìn)入通路,禁止從機(jī)再起呼;0FEH表示主機(jī)可以接受從機(jī)的呼叫;0FDH表示處在守候態(tài),沒(méi)有主呼的從機(jī)禁止起呼;0FCH則告訴主呼的從機(jī)發(fā)生碰撞,需延時(shí)后重新起呼[16]?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第32頁(yè)。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第32頁(yè)。5系統(tǒng)安全維護(hù)5.1提高系統(tǒng)安全性的措施(一)啟動(dòng)發(fā)行及通訊管理程序須有專用IC卡和口令,操作管理上分二級(jí)權(quán)限:管理員級(jí)和操作員級(jí);管理員具有最高權(quán)限,其主要任務(wù)是設(shè)置和管理系統(tǒng)所需的各種密碼和口令,發(fā)行操作員卡等;操作員必須使用操作員卡,加上口令才能進(jìn)入該程序,且只能進(jìn)行權(quán)限范圍內(nèi)的操作,權(quán)限外的操作被程序禁止;(二)用戶卡及結(jié)算卡的密碼算法中所需的主密碼常數(shù)由管理員設(shè)置的一個(gè)常數(shù)通過(guò)復(fù)雜的算法形成,再通過(guò)初始化卡這種不可見(jiàn)的方式下達(dá)給各售飯機(jī)。管理員掌握這個(gè)常數(shù),但不知道算法,從而不會(huì)知道最終主密碼常數(shù);系統(tǒng)開(kāi)發(fā)人員掌握算法,但不知道管理員設(shè)置的常數(shù),從而也不會(huì)知道最終主密碼常數(shù)。所以,不論是管理員、操作員還是系統(tǒng)開(kāi)發(fā)人員在脫離本系統(tǒng)情況下不存在偽造卡的可能;(三)用戶卡密碼由上述的最終主密碼常數(shù)、學(xué)號(hào)或工號(hào)、身份證號(hào)、卡上余額等信息通過(guò)復(fù)雜算法得到,所以各個(gè)用戶卡的密碼不同,而且每次消費(fèi)后都改變一次,即所謂“動(dòng)態(tài)密碼”。要破譯密碼,對(duì)每張卡、每次消費(fèi)后均得付出相同的代價(jià),故只有3/2的概率,可見(jiàn)卡密碼被破譯偽造的可能性幾乎為零;(四)結(jié)算卡上存有相應(yīng)食堂的代號(hào)、結(jié)帳人的個(gè)人密碼,所以不可能發(fā)生食堂交叉結(jié)帳的情況;(五)發(fā)行新用戶卡及增加用戶卡上金額等操作須在打印機(jī)開(kāi)機(jī)的情況下進(jìn)行,打印機(jī)打印雙聯(lián)發(fā)票,自動(dòng)形成連續(xù)發(fā)票號(hào),以便于查賬,防止操作員貪污;(六)采用具有加密功能的ACESS數(shù)據(jù)庫(kù),防止人為篡改數(shù)據(jù);(七)終端機(jī)對(duì)用戶卡只能進(jìn)行扣款操作,不存在售餐人員給用戶卡增款的情況;(八)終端機(jī)自動(dòng)識(shí)別非法卡、掛失卡、過(guò)期卡和壞卡[14]。5.2提高對(duì)IC卡操作可靠性的措施基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第33頁(yè)。(一)卡的選擇上,西門(mén)子SLE4428卡只有5個(gè)觸點(diǎn),即Vcc、GND、復(fù)位RST、時(shí)鐘CLK及串行數(shù)據(jù)SD,讀寫(xiě)數(shù)據(jù)與密碼比較均采用相同的信號(hào)線,一旦IC卡某觸點(diǎn)與卡座接觸不良,則數(shù)據(jù)無(wú)法正確讀出而將卡判為非法卡,自動(dòng)退卡,不再進(jìn)行密碼比較與數(shù)據(jù)寫(xiě)操作,以防止密碼比較錯(cuò)誤導(dǎo)致壞卡和將卡上金額寫(xiě)錯(cuò)。另外,要選擇實(shí)力雄厚的卡封裝、印刷廠家,使卡的質(zhì)量得以保證;基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第33頁(yè)。(二)卡座的選擇上,采用進(jìn)口降落式自彈式卡座:該型卡座對(duì)卡磨損小、觸點(diǎn)彈力足、接觸好,使用壽命長(zhǎng),更重要的是采用自彈式卡座,,可避免售餐機(jī)在對(duì)卡進(jìn)行讀寫(xiě)操作過(guò)程中,用戶插拔卡造成對(duì)卡的損壞;(三)硬件設(shè)計(jì)上,對(duì)IC卡進(jìn)行上電控制,有效防止插卡或退卡過(guò)程中發(fā)生瞬間短路對(duì)卡造成的損壞;(四)軟件設(shè)計(jì)上,①在IC卡插到位后,延時(shí)一小段時(shí)間,才進(jìn)行讀寫(xiě)卡操作;②讀卡操作采取多次讀出比較;③寫(xiě)卡操作采取寫(xiě)后再讀出比較;④檢查卡上錯(cuò)誤計(jì)數(shù),若發(fā)現(xiàn)已有2次密碼比較錯(cuò)誤,則自動(dòng)將卡退出,不再對(duì)卡進(jìn)行操作,提示用戶將卡送交發(fā)行中心處理,防止3次比較密碼錯(cuò)誤造成壞卡;(五)其它方面采用自制的清潔卡對(duì)IC卡座觸點(diǎn)進(jìn)行定期清潔[14]。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第34頁(yè)。基于單片機(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第34頁(yè)。6結(jié)論本系統(tǒng)采用最新科技IC卡與單片機(jī)結(jié)合,以獨(dú)立方式工作,充分發(fā)揮了智能卡的優(yōu)勢(shì)——離線交易、安全可靠等特性,大大增強(qiáng)了硬件功能,同時(shí)也減輕了硬件負(fù)擔(dān),無(wú)需將用戶數(shù)據(jù)寫(xiě)于系統(tǒng)機(jī)內(nèi),而是保存在自己卡上。降低了成本,減小了整個(gè)管理系統(tǒng)的故障率,不會(huì)因IC卡食堂售飯機(jī)故障而影響管理系統(tǒng)的正常運(yùn)轉(zhuǎn)甚至癱瘓,具有高可靠性;也便于維護(hù)、維修,是智能卡和單片機(jī)結(jié)合成功的應(yīng)用實(shí)例。邏輯加密卡SLE4428也以其優(yōu)良的性價(jià)比,近年來(lái)在國(guó)內(nèi)被廣泛應(yīng)用于醫(yī)療、交通、企業(yè)管理以及水、電、煤氣、商業(yè)預(yù)收費(fèi)等領(lǐng)域中?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第35頁(yè)?;趩纹瑱C(jī)控制的IC卡食堂售飯機(jī)的開(kāi)發(fā)的畢業(yè)設(shè)計(jì)全文共41頁(yè),當(dāng)前為第35頁(yè)。參考文獻(xiàn)[l]陳紅軍.IC卡應(yīng)用現(xiàn)狀及其發(fā)展趨勢(shì).北京:握奇智能科技有限公司.2002,1—4[2]康華光編著.電子技術(shù)基礎(chǔ)-模擬部分.北京.高等教育出版社.2003.[3]陳粵初,竇振中編著.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)踐.北京:航空航天大學(xué)出版社[4]高吉祥編著.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽培訓(xùn)系列教程-模擬電子線路設(shè)計(jì).北京.電子工業(yè)出版社.2007.[5]陸永寧.IC卡應(yīng)用系統(tǒng).東南大學(xué)出版社.2000[6]IntelCompany.MemoryComponentsHandbook.1990[7]IntelCompany.MicrocontrollerHandbook,.990[8]D.Sternglass,ThefutureisinthePCcards.IEEESpectrum296(1992),pp.46–50.[9]SimonNewman,GavinSutter.ElectronicPayments-TheSmart

溫馨提示

  • 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)論