IC卡自動加油機的設(shè)計
我們以方式0擴展89051的串行口,用8位串人并出移位寄存器74LS164和共陽極八段LED數(shù)碼管組成顯示器,共8位,用于顯示IC卡信息、加油信息和相關(guān)的工作狀態(tài)等。8個寄存器以串行方式連接,在同步時鐘TXD的作用下,顯示段碼從RXD快速移人寄存器,然后由LED數(shù)碼管顯示,采用這種靜態(tài)顯示方式不僅CPU控制簡單,而且可獲得較高的亮度。
“看門狗 ”電路是為了提高單片機系統(tǒng)的運行可靠性而設(shè)計的。系統(tǒng)受擾后可能出現(xiàn)程序跑飛現(xiàn)象,以至“死機”,影響到系統(tǒng)的正常工作,甚至涉及到設(shè)備及人身安全。但由MAX705組成了一“看門狗”后,使得在程序跑飛后89051自動復(fù)位,進而使CPU恢復(fù)運行。另外,也可對CPU進行手動復(fù)位。
3 軟件設(shè)計
加油機軟件用MCS一51匯編語言編制,采用結(jié)構(gòu)化、模塊化程序設(shè)計方法,由鍵盤掃描及相關(guān)功能的實現(xiàn)、顯示處理、油量的計量,IC卡讀寫、油泵與電磁閥控制、20ms定時中斷服務(wù)、外部中斷0服務(wù)模塊等所組成,其主程序流程圖如圖4所示。
圖 4 加油機主程序流程圖
IC卡的可靠讀寫是本機系統(tǒng)軟件設(shè)計中的一個關(guān)鍵問題。經(jīng)分析AT24COIA的讀寫時序,發(fā)現(xiàn)串行1/0數(shù)據(jù)線SDA上的狀態(tài)變化一定要發(fā)生在時鐘輸人SCL的低有效期間,在時鐘的上升沿將數(shù)據(jù)送人至EEPROM中;而在讀取卡上數(shù)據(jù)時,在時鐘的下降沿EEPROM輸出數(shù)據(jù),同樣,SDA數(shù)據(jù)變化也發(fā)生在SCL的低有效期間,因而要在SCL高有效期內(nèi)才能讀取卡的數(shù)據(jù)。下面以寫IC卡為例介紹編程實現(xiàn):
;開始位
4 結(jié)語
以890C51單片機為核心設(shè)計成的IC卡自動加油機,數(shù)據(jù)存儲可靠性高,軟件保密性好。近一年的實際應(yīng)用表明:操作簡單、讀寫穩(wěn)定、效果良好,使加油中心的服務(wù)效率大為提高,對中心的現(xiàn)代化管理起到了極其重要的作用。此外,隨著經(jīng)濟信息化進程的加快,該加油機在商業(yè)性加油站有廣闊的應(yīng)用前景。(文/(上海交通大學(xué)自動化研究所 李志虎 邵惠鶴)
參考文獻
1、王愛英.智能卡技術(shù)〔M].北京:清華大學(xué)出版社,1996
2、何立民.單片機應(yīng)用系統(tǒng)設(shè)計〔M].北京:北京航空航天大學(xué)出版社,1993
評論