《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于PIC單片機(jī)的智能IC卡燃?xì)獗黼娍叵到y(tǒng)設(shè)計(jì)

基于PIC單片機(jī)的智能IC卡燃?xì)獗黼娍叵到y(tǒng)設(shè)計(jì)

2009-05-08
作者:李 鋒 邢 武 龍 飛 陳

  摘? 要: 給出了一種以PIC單片機(jī)為核心的智能IC卡燃?xì)獗?/a>電控系統(tǒng)的設(shè)計(jì),介紹了該系統(tǒng)的控制模式、電控系統(tǒng)的硬件電路構(gòu)成,、系統(tǒng)軟件設(shè)計(jì)及其實(shí)際應(yīng)用情況,。

  關(guān)鍵詞: PIC單片機(jī)?? 智能IC卡燃?xì)獗?? 電控系統(tǒng)

?

  智能IC卡燃?xì)獗硎且环N根據(jù)用戶IC卡購氣量實(shí)現(xiàn)自動計(jì)量計(jì)費(fèi),、自動控制用氣的民用高技術(shù)產(chǎn)品,具有傳統(tǒng)人工抄表收費(fèi)式燃?xì)獗頍o可比擬的優(yōu)越性,。當(dāng)前,隨著國家“金卡工程”的深入開展和開發(fā)大西北“西氣東輸”計(jì)劃的正式啟動,智能IC卡燃?xì)獗硪殉尸F(xiàn)出十分廣闊的應(yīng)用前景。本文介紹了該產(chǎn)品的核心技術(shù)——基于PIC單片機(jī)的智能IC卡燃?xì)獗黼娍叵到y(tǒng)設(shè)計(jì),論述了智能IC卡燃?xì)獗淼目刂颇J?、電控系統(tǒng)的硬件電路構(gòu)成,、系統(tǒng)軟件設(shè)計(jì)及其實(shí)際應(yīng)用情況。

1 智能IC卡燃?xì)獗砜刂颇J?/STRONG>

  智能IC卡燃?xì)獗硎窃诔R?guī)家用模式燃?xì)獗眢w上安裝智能測控系統(tǒng)而構(gòu)成的,該測控系統(tǒng)主要由IC卡,、計(jì)量電路,、電控系統(tǒng)以及氣路控制閥等組成,系統(tǒng)結(jié)構(gòu)如圖1所示。

?

  當(dāng)用戶將含有購氣量(以加密數(shù)值形式表示)的IC卡插入表內(nèi)時(shí),控制閥在電控系統(tǒng)控制下開通氣路,。用戶每用一個(gè)計(jì)量單位,計(jì)量電路便發(fā)出一組等周期計(jì)量脈沖序列,該脈沖序列如經(jīng)電控系統(tǒng)判定為有效,即可從已購氣量中減去一個(gè)計(jì)量單位,并通過液晶模塊顯示表內(nèi)剩余氣量,。當(dāng)剩余氣量為零時(shí),控制閥自動關(guān)閉,氣路即被切斷,此時(shí)用戶須重新持卡購氣。在正常情況下控制閥處于接通態(tài),只有當(dāng)特殊事件發(fā)生時(shí)控制閥才從接通態(tài)變?yōu)殛P(guān)閉態(tài),。圖2示出了三種事件狀態(tài)下控制閥的通斷情況,。

2 系統(tǒng)電路構(gòu)成

  智能IC卡燃?xì)獗黼娍叵到y(tǒng)電路由低功耗單片機(jī)、EEPROM存儲電路,、電源電壓監(jiān)測電路,、電池保護(hù)電路、液晶顯示及聲光報(bào)警電路,、IC卡讀寫控制電路等組成,下面結(jié)合圖3所示的電路原理圖作進(jìn)一步介紹,。

2.1? PIC單片機(jī)及電路組成

  PIC單片機(jī)是Microchip公司近年來推出的新型單片機(jī)系列。它采用先進(jìn)的RISC技術(shù),具有低價(jià)格,、低功耗,、高性能、全靜態(tài),、易使用等特點(diǎn),目前已在儀器儀表,、工業(yè)自動化、計(jì)算機(jī)通訊以及民用產(chǎn)品等領(lǐng)域得到廣泛應(yīng)用,。本設(shè)計(jì)中采用了PIC系列中的主流型號PIC16C57作為電路系統(tǒng)的控制核心,。該單片機(jī)在靜態(tài)時(shí)處于低功耗睡眠狀態(tài),功耗小于3μA。當(dāng)接收到計(jì)量脈沖或有IC卡操作時(shí),單片機(jī)由睡眠態(tài)轉(zhuǎn)為工作狀態(tài),。在本系統(tǒng)中,單片機(jī)通過C5,、C6口以I2C 總線方式對IC卡進(jìn)行讀寫操作,以模擬I2C 方式與存儲器IC2進(jìn)行數(shù)據(jù)通訊,并通過B2、B4口分別獲取實(shí)時(shí)電池電壓及電源保護(hù)信號,通過輸出口B6、B7控制電控閥動作,通過輸出口A0,、A1驅(qū)動漢字液晶模塊,。

2.2 EEPROM存儲電路

  EEPROM存儲器IC2采用24LC02B芯片,該芯片可以在無電源狀態(tài)下長期可靠存儲系統(tǒng)內(nèi)重要數(shù)據(jù),工作壽命可達(dá)106次。當(dāng)用戶卡插入系統(tǒng)時(shí),卡內(nèi)密碼,、卡號,、購氣量及用戶用氣記錄等關(guān)鍵數(shù)據(jù)將以密文形式存儲在24LC02B芯片中。

2.3 電壓監(jiān)測電路

系統(tǒng)采用S80751芯片進(jìn)行電壓實(shí)時(shí)監(jiān)測,當(dāng)系統(tǒng)電池電壓在正常值時(shí),,S80751的輸出1腳為高電平;當(dāng)電池電壓低于保護(hù)值時(shí),該芯片的1腳變?yōu)榈碗娖?單片機(jī)檢測到該信號后,即控制液晶模塊顯示欠壓,以提醒用戶更換電池,。

2.4 電源保護(hù)電路

為有效保護(hù)系統(tǒng)電源,本電路可對電池盒位置進(jìn)行高靈敏檢測。當(dāng)電池盒被拉開時(shí),保護(hù)電路輸出低電平,單片機(jī)監(jiān)測到該信號后,即控制閥門使其關(guān)斷,。直到電池安裝好并將電池盒推入表內(nèi)正常位置時(shí),單片機(jī)才會再次控制閥門使其重新開閥供氣,。

2.5 液晶顯示及聲光報(bào)警電路

液晶顯示電路采用PHILIP標(biāo)準(zhǔn)I2C通訊模塊制作,可漢字顯示欠壓、購氣,、關(guān)閥,、卡誤和氣量五種信息狀態(tài)及其任意組合。聲光報(bào)警電路采用高亮LED和高響蜂鳴器,由單片機(jī)控制發(fā)出聲光報(bào)警,。

2.6 IC卡及讀寫電路

  IC卡由于具有存儲容量大,、數(shù)據(jù)保密性好、抗干擾能力強(qiáng),、操作速度快等突出優(yōu)點(diǎn),近年來在世界范圍內(nèi)得到廣泛應(yīng)用,。本系統(tǒng)采用符合ISO7816國際標(biāo)準(zhǔn)的IC卡,用于可靠存儲用戶密鑰、購氣量,、用氣記錄等關(guān)鍵數(shù)據(jù),。單片機(jī)通過IC卡讀寫電路完成對IC卡信息的讀寫,本讀寫電路在卡口保護(hù),、輔助偽卡識別,、確保準(zhǔn)確安全讀寫IC卡信息等方面都進(jìn)行了精心而合理的設(shè)計(jì)。

3 系統(tǒng)軟件設(shè)計(jì)

  系統(tǒng)軟件采用PIC16C5X精簡指令集編寫,。軟件設(shè)計(jì)緊密結(jié)合智能IC卡燃?xì)獗淼目刂颇J?充分體現(xiàn)了對IC卡信息讀寫,、卡類型判斷、計(jì)量信號判斷與數(shù)據(jù)處理,、電壓監(jiān)測與電源保護(hù)等功能,并在IC卡信息安全性,、軟件運(yùn)行可靠性及抗干擾等方面進(jìn)行了精心設(shè)計(jì)。系統(tǒng)主程序框圖如圖4所示,。

?

  下面給出IC卡讀,、寫的子程序:

  R10BYTE?????? MOVF 8,0

???????????????????? MOVWF FSR

???????????????????? MOVLW .10???????? ,;讀10個(gè)存儲單元

???????????????????? MOVWF BCOUNT

???????????????????? CALL START

???????????????????? MOVLW CTRL_W

???????????????????? CALL TR1BYTE

???????????????????? CALL RACK

???????????????????? MOVLW? 8????????? ,;存于寄存器8中

???????????????????? CALL? TR1BYTE

???????????????????? CALL? RACK

???????????????????? CALL? START

???????????????????? MOVLW?? CTRL_R

???????????????????? CALL? TR1BYTE

???????????????????? CALL? RACK

  READ???????????? CALL? RD1BYTE???? ;讀字節(jié)子程序

????  ???????????? INCF FSR

????????   ?????? DECFSZ BCOUNT

???????????????????? GOTO? READ11

???????????????????? CALL THACK

???????????????????? CALL STOP

???????????????????? RETLW 0????????????;子程序返回

  READ11   ????? CALL TACK

???????????????????? GOTO READ

  W8BYTE???? ? ??? MOVF? 8,,0

???????????????????? MOVWF? FSR

???????????????????? CALL? START

???????????????????? MOVLW? CTRL_W??? ?。籌C卡存放地址

???????????????????? CALL TR1BYTE

???????????????????? CALL RACK???????

???????????????????? MOVL W 8?? ????? ??;從寄存器8中讀取數(shù)據(jù)

???????????????????? CALL TR1BYTE

???????????????????? CALL RACK

  WRITE ??? ?????? MOVF? 0,0?????????,;寫入IC卡

???????????????????? CALL? TR1BYTE

???????????????????? CALL? RACK

???????????????????? INCF? FSR

???????????????????? BTFSS? FSR,,3

???????????????????? GOTO? WRITE

???????????????????? CALL? STOP

  DE10MS??? MOVLW?? .5???????     ,;寫延時(shí)

???????????????????? MOVWF? LOOPS

???????????????????? BCF? 3,,5

???????????????????? CALL? WAIT??

???????????????????? BSF 3,5

???????????????????? RETLW? 0????????????,;返回主程序

?

參考文獻(xiàn)

1 蔡純潔,邢 武. PIC16/17單片機(jī)原理和應(yīng)用.合肥中國科學(xué)技術(shù)大學(xué)出版社,,1997

2 何立民.I2C總線應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,1995

3 王愛英.智能卡技術(shù).北京:清華大學(xué)出版社,,1996

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]