前言:想要寫出一篇引人入勝的文章?我們特意為您整理了CPU卡下的飲料銷售機(jī)控制系統(tǒng)設(shè)計(jì)范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
為了給人們提供一個(gè)方便、安全、環(huán)保的飲料消費(fèi)環(huán)境,降低飲料的制造成本和減少對(duì)資源的浪費(fèi),本文提出以STC15F2K32S2高速單片機(jī)和MFRC500讀卡芯片為核心,以FM1208作為存儲(chǔ)消費(fèi)金額的載體,設(shè)計(jì)出了一款具有較高性價(jià)比cpu卡飲料銷售機(jī)系統(tǒng),并論述了該系統(tǒng)的硬件和軟件設(shè)計(jì)的具體方案。飲料銷售機(jī)作為一種高科技智能化產(chǎn)品,以其操作方便、服務(wù)便捷、晝夜服務(wù)等優(yōu)點(diǎn)得到廣大消費(fèi)者的青睞。如今,在高校、超市、住宅小區(qū)、地鐵、商場(chǎng)、公園等客流量和人口較大的場(chǎng)所以及人員較集中的企業(yè)、公司等場(chǎng)所,隨處都可以發(fā)現(xiàn)飲料銷售機(jī)的身影。但是當(dāng)今市場(chǎng)上的自動(dòng)飲料銷售機(jī)大多數(shù)為投幣式,這種自動(dòng)飲料銷售機(jī)找零是個(gè)相當(dāng)麻煩的問題,而且即使有少量的刷卡消費(fèi)的自動(dòng)飲料銷售機(jī),使用的也是最廣泛的IC卡M1卡,但是這種卡早年被破解,安全性較低。CPU卡是一種加密性很好的IC卡,內(nèi)部嵌有微處理器,它特有的內(nèi)外部認(rèn)證機(jī)制以及以金融IC卡規(guī)范為代表的專用認(rèn)證機(jī)制,能夠完全保證交易的合法性。因此,該設(shè)計(jì)采用FM1208作為存儲(chǔ)金額的載體設(shè)計(jì)出了一款基于CPU卡的飲料銷售機(jī)控制系統(tǒng),該系統(tǒng)可以讀取合法的FM1208用戶卡、管理卡,具有飲料選擇、存儲(chǔ)消費(fèi)記錄、提取消費(fèi)記錄等功能。該系統(tǒng)安全性高、人機(jī)交互界面友好,操作靈活、方便,極大地方便了消費(fèi)者,有效地提高了工作效率,并對(duì)CPU卡的普及應(yīng)用具有一定的推動(dòng)作用。
1系統(tǒng)總體設(shè)計(jì)
該系統(tǒng)采用宏晶科技公司生產(chǎn)的STC15F2K32S2高速單片機(jī)驅(qū)動(dòng)MFRC500讀卡芯片來操作CPU卡,硬件系統(tǒng)由單片機(jī)主控、射頻讀卡模塊、飲料檢測(cè)模塊、時(shí)鐘日歷模塊、數(shù)碼管顯示模塊、Flash存儲(chǔ)模塊等組成。系統(tǒng)具有2個(gè)獨(dú)立式按鍵,可以用來選擇飲料種類或者對(duì)系統(tǒng)進(jìn)行參數(shù)設(shè)置;讀卡模塊可以讀取合法的CPU卡用戶卡以及管理卡等;TM1620驅(qū)動(dòng)芯片驅(qū)動(dòng)六位數(shù)碼管實(shí)時(shí)顯示消費(fèi)金額;大容量的Flash存儲(chǔ)器和日歷時(shí)鐘模塊可以實(shí)時(shí)記錄用戶的消費(fèi)金額和刷卡時(shí)間,以備查詢;電磁閥門可以實(shí)現(xiàn)對(duì)飲料流出進(jìn)行控制等功能。系統(tǒng)使用上位機(jī)管理軟件配合CPU卡發(fā)卡器,實(shí)現(xiàn)用戶登錄、注冊(cè)、各種類型的卡發(fā)放、圈存、退款,記錄查詢,賬目管理等功能;下位機(jī)控制系統(tǒng)主要實(shí)現(xiàn)對(duì)CPU卡檢測(cè)、扣款、顯示、報(bào)警、控制飲料機(jī)電磁閥動(dòng)作等功能,最終實(shí)現(xiàn)飲料銷售的功能。系統(tǒng)的總體設(shè)計(jì)框圖如圖1所示。
2系統(tǒng)硬件設(shè)計(jì)
該控制系統(tǒng)采用高速、低功耗STC15F2K32S2增強(qiáng)型單片機(jī)和MFRC500射頻讀卡芯片來實(shí)現(xiàn)系統(tǒng)設(shè)計(jì),具有讀卡速度快、讀卡距離遠(yuǎn)、設(shè)計(jì)成本低等特點(diǎn),既可以讀取M1系列的IC卡,也可以支持符合ISO14443A協(xié)議的CPU卡。STC15F2K32S2單片機(jī)是宏晶科技公司生產(chǎn)的單周期單片機(jī),內(nèi)部集成高可靠復(fù)位電路和5MHz~35MHz可選的高精度R/C時(shí)鐘,可用在高速通信、智能控制等場(chǎng)合。利用該單片機(jī)內(nèi)部的EEPROM可以存儲(chǔ)系統(tǒng)的各種參數(shù),如系統(tǒng)密碼、費(fèi)率、開機(jī)畫面顯示等,使用非常方便。單片機(jī)和射頻芯片接口采用模擬總線方式,主控制器通過AD0-AD7以并行方式與MFRC500射頻芯片通訊,完成對(duì)其配置和讀寫控制,WR和RD控制MFRC500射頻芯片對(duì)數(shù)據(jù)的讀和寫,NCS用來控制是否選中MFRC500射頻芯片,低電平有效。數(shù)碼管驅(qū)動(dòng)電路采用的是專用的LED數(shù)碼管顯示驅(qū)動(dòng)芯片TM1620,TM1620可替代HC595、HC373等傳統(tǒng)的驅(qū)動(dòng)電路,性價(jià)比較高,TM1620無需加三極管及電阻而直接驅(qū)動(dòng)數(shù)碼管/數(shù)碼屏,且驅(qū)動(dòng)電流大,亮度8級(jí)可調(diào)。在單片機(jī)程序設(shè)計(jì)方面,只要刷新一次顯示RAM數(shù)據(jù)而不用動(dòng)態(tài)掃描,3線串行和單片機(jī)通信,非常省單片機(jī)硬件和軟件資源。TM1620芯片的TSTB、TCLK和TDIN引腳分別與單片機(jī)的P3.7、P3.6、P3.5引腳相連;TSTB為片選引腳,為低后的第一個(gè)字節(jié)作為指令;TDIN數(shù)據(jù)輸入引腳,在時(shí)鐘上升沿輸入串行數(shù)據(jù),從低位開始在上升或下降沿初始化串行接口,隨后等待接收指令。TCLK時(shí)鐘輸入引腳,在上升沿讀取串行數(shù)據(jù),下降沿輸出數(shù)據(jù)。電磁閥門控制電路主要是使用大功率三極管驅(qū)動(dòng)TIP122來驅(qū)動(dòng)的,TIP122是一種中等功率線性開關(guān)器件,經(jīng)常用于低速開關(guān)電路中。當(dāng)給單片機(jī)P2.3和P2.4引腳低電平時(shí)候,三極管導(dǎo)通,TIP122開始工作;反之,當(dāng)兩個(gè)引腳為低電平時(shí)候,TIP122不工作。電路中的兩個(gè)二極管D2、D3起到保護(hù)TIP122晶體管的作用。系統(tǒng)硬件設(shè)計(jì)電路圖如2所示。
3系統(tǒng)軟件設(shè)計(jì)
CPU卡飲料銷售機(jī)系統(tǒng)的下位機(jī)軟件采用的是KeilC集成開發(fā)環(huán)境,用C語言設(shè)計(jì)相應(yīng)COS命令來實(shí)現(xiàn)的,上位機(jī)軟件是用VC++6.0開發(fā)的,配合CPU卡發(fā)卡器實(shí)現(xiàn)用戶各種類型的卡發(fā)放、充值、退款等功能,限于篇幅,此處主要論述下位機(jī)軟件設(shè)計(jì)方法。下位機(jī)上電后首先對(duì)系統(tǒng)進(jìn)行初始化,包括讀取系統(tǒng)參數(shù)、初始化射頻芯片MFRC500、初始化TM1620等操作,然后顯示系統(tǒng)年月日、時(shí)分秒、費(fèi)率、系統(tǒng)空閑時(shí)數(shù)碼管上顯示的狀態(tài)等,完成以上操作之后,系統(tǒng)進(jìn)入尋卡循環(huán)。如果檢測(cè)到合法的CUP卡后則在數(shù)碼管上顯示出卡內(nèi)的余額,并給出蜂鳴器提示,通過按鍵來可以選擇飲料,若有被選擇的飲料則系統(tǒng)開始扣費(fèi),沒有則不扣費(fèi),用戶消費(fèi)完拿走CPU卡后關(guān)閉電磁閥門,并把用戶的消費(fèi)金額及消費(fèi)時(shí)間存入的系統(tǒng)的Flash存儲(chǔ)器中。系統(tǒng)上電進(jìn)入正常狀態(tài)后,一直處于尋卡狀態(tài),一旦有合法的CPU卡進(jìn)入天線區(qū)域,則讀取卡片內(nèi)存儲(chǔ)的卡類型信息,通過卡號(hào)來區(qū)分是哪種類型的卡??愋褪前凑湛ㄌ?hào)進(jìn)行分類的,該卡號(hào)不是CPU卡默認(rèn)的序列號(hào),而是在發(fā)卡器發(fā)卡時(shí)通過COS命令寫入到CPU卡內(nèi)部的二進(jìn)制文件信息。下位機(jī)啟動(dòng)后,默認(rèn)進(jìn)入檢測(cè)CPU卡模式。當(dāng)檢測(cè)到有合法的用戶卡后,進(jìn)行外部密鑰和金額讀取,并在數(shù)碼管上顯示出金額,同時(shí)蜂鳴器發(fā)出提示,等待用戶按鍵選擇對(duì)應(yīng)的飲料按鍵。當(dāng)按下某種飲料對(duì)應(yīng)的按鍵,此時(shí)數(shù)碼管上會(huì)按消費(fèi)比率進(jìn)行扣款,并在數(shù)碼管上一直顯示消費(fèi)總額,如果某種飲料已經(jīng)售完,則按下相應(yīng)的按鍵不會(huì)進(jìn)行扣款。按鍵處理任務(wù)負(fù)責(zé)接收用戶的按鍵輸入信息,并根據(jù)按鍵輸入信息進(jìn)入不同處理模式,分配對(duì)應(yīng)的任務(wù),完成人機(jī)交互功能。結(jié)論:該設(shè)計(jì)敘述了基于CPU卡的飲料銷售機(jī)系統(tǒng)設(shè)計(jì)的基本原理和設(shè)計(jì)方法,分析了硬件和軟件設(shè)計(jì)的具體方案。該系統(tǒng)實(shí)現(xiàn)了對(duì)FM1208CPU卡的各種操作,同時(shí)對(duì)消費(fèi)信息的存儲(chǔ)、整理、提取也帶來了極大的方便。系統(tǒng)有效的解決了IC卡消費(fèi)的不安全性和當(dāng)前市場(chǎng)上投幣式自動(dòng)飲料銷售機(jī)找零麻煩的問題,對(duì)CPU卡普及應(yīng)用具有推動(dòng)作用,對(duì)CPU卡技術(shù)的研究也具有重要的意義。
作者:常國(guó)權(quán) 單位:安陽工學(xué)院計(jì)算機(jī)科學(xué)與信息工程學(xué)院