《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于PIC單片機的智能IC卡燃氣表電控系統(tǒng)設(shè)計

基于PIC單片機的智能IC卡燃氣表電控系統(tǒng)設(shè)計

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

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

  關(guān)鍵詞: PIC單片機?? 智能IC卡燃氣表?? 電控系統(tǒng)

?

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

1 智能IC卡燃氣表控制模式

  智能IC卡燃氣表是在常規(guī)家用模式燃氣表體上安裝智能測控系統(tǒng)而構(gòu)成的,該測控系統(tǒng)主要由IC卡,、計量電路,、電控系統(tǒng)以及氣路控制閥等組成,系統(tǒng)結(jié)構(gòu)如圖1所示。

?

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

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

  智能IC卡燃氣表電控系統(tǒng)電路由低功耗單片機、EEPROM存儲電路、電源電壓監(jiān)測電路,、電池保護電路,、液晶顯示及聲光報警電路、IC卡讀寫控制電路等組成,下面結(jié)合圖3所示的電路原理圖作進一步介紹,。

2.1? PIC單片機及電路組成

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

2.2 EEPROM存儲電路

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

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

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

2.4 電源保護電路

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

2.5 液晶顯示及聲光報警電路

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

2.6 IC卡及讀寫電路

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

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

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

?

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

  R10BYTE?????? MOVF 8,,0

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

???????????????????? MOVLW .10???????? ;讀10個存儲單元

???????????????????? 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???????     ,;寫延時

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

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

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

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

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

?

參考文獻

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

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

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

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