基于A(yíng)T89C51的IC卡智能水表設計
摘要:IC卡智能水表以AT89C51為控制核心,實(shí)現IC卡的讀寫(xiě),液晶顯示的控制,電磁閥的控制,脈沖的提取,同時(shí)具有安全保護電路、記憶單元電路、通信接口電路,完成整個(gè)水表信號的讀、寫(xiě)處理,監控水表工作的功能。在設計中編程語(yǔ)言使用了C51,并采用模塊化設計方法,不僅易于編程和調試,也可減小軟件故障率和提高軟件的可靠性。本系統具有性能優(yōu)良、穩定可靠的優(yōu)點(diǎn)。
關(guān)鍵詞:AT89C51;IC卡;液晶顯示;記憶模塊
為適應國家用水制度的改革,研究和利用現代化智能技術(shù)對自來(lái)水實(shí)行自動(dòng)控制,減輕供水管理部門(mén)因“先供水后收費”造成的資金壓力,減少每月抄表、收費所帶來(lái)的麻煩和因收費問(wèn)題帶來(lái)的糾紛,用現代科學(xué)技術(shù)手段改變自來(lái)水管理體制的落后現狀,勢在必行?;趩纹瑱C的IC智能水表不但可以提高供水部門(mén)的工作效率,而且在技術(shù)上為節約用水、合理用水創(chuàng )造了條件,由于這些特點(diǎn),基于單片機的IC智能水表得到了越來(lái)越廣泛的應用。
1 總體系統設計
該系統系統硬件電路主要由IC卡讀寫(xiě)電路、液晶顯示控制電路、電磁閥控制電路、脈沖提取電路、安全保護電路、記憶單元電路、通信接口電路組成,以AT89C51為核心控制芯片,完成整個(gè)水表信號的讀、寫(xiě)處理,監控水表工作的功能。它能方便地讀取IC卡的數據,并控制電磁閥和液晶顯示器的工作,同時(shí)還可以將水表的數據存入E2ROM進(jìn)行永久保存并可通過(guò)串口送至表外的數據終端,大大地提高了該水表的智能化的功能。系統硬件方框總圖如圖1所示。
2 硬件組成與原理
硬件設計是整個(gè)系統的基礎,要考慮的方方面面很多,除了實(shí)現模擬路燈控制系統基本功能以外,主要還要考慮如下幾個(gè)因素:1)系統穩定度;2)器件的通用性或易選購性;3)軟件編程的易實(shí)現性;4)系統其它功能及性能指標,因此只有合理的硬件設計才能更好的與軟件控制相結合,從而達到整體性好,人性化強、可靠性高的優(yōu)點(diǎn)。
2.1 控制電路
控制電路實(shí)質(zhì)是單片機最小系統??刂齐娐肥窍到y的核心,考慮到程序的大小選用了AT89C51單片機。它由晶體振蕩電路以及輕觸按鍵構成復位電路構成,主要是實(shí)現對外圍電路的控制功能,使各模塊電路正常有序的工作。
晶體震蕩電路結合單片機內部的電路,產(chǎn)生單片機所必須的時(shí)鐘頻率,作用是為系統提供基本的時(shí)鐘信號。
單片機復位電路的作用是使單片機的復位操作使單片機進(jìn)入初始化狀態(tài),本設計中用的是按鍵電平復位,即當電路已在運行當中時(shí),按下復位鍵后松開(kāi),即能使RST為一段時(shí)間的高電平,從而實(shí)現復位的操作。
2.2 IC卡讀寫(xiě)電路
控制電路實(shí)質(zhì)是單片機最小系統。它主要完成了對射頻卡(MIFARE 1卡)的讀寫(xiě)操作。H6152讀寫(xiě)器對射頻卡進(jìn)行讀寫(xiě)后通過(guò)串口電平轉換電路將RS232電平轉換為單片機所識別的TTL電平,從而實(shí)現了使用AT89C51單片機來(lái)控制射頻卡的讀寫(xiě)過(guò)程。硬件電路由單片機模塊、串口電平轉換模塊和H6152讀寫(xiě)模塊3部分電路組成。
2.3 液晶顯示電路
顯示電路用于在人機接口中反饋信息,主要由液晶模塊構成。硬件設計中選用了低功耗CMOS技術(shù)實(shí)現的帶KS0108B控制器的GXM12864全點(diǎn)陣圖形式液晶,AT89C51的P0口直接與液晶模塊的數據總線(xiàn)DB0~DB7相連;P2口的0、1、3、5、6引腳分別和液晶模塊的/CSB、/CSA、E、R/W、D/I相連,在單片機程序執行過(guò)程中,對它們作相應的控制。通過(guò)編程可實(shí)現對液晶顯示屏的任意位置的顯示、滾動(dòng)顯示和反顯等功能。
2.4 記憶單元電路
本系統采用美國ATMEL公司的低功耗CMOS串行EEPROM芯片AT24C01是,它內含256x8位存儲空間,具有工作電壓寬(2.5~5.5 V)、擦寫(xiě)次數多(大于10 000次)、寫(xiě)入速度快(小于10 ms)等特點(diǎn)。利用單片機AT89C51與24C01進(jìn)行I2C通信,實(shí)現對某一地址內數據的讀/寫(xiě)校驗操作。
2.5 電磁閥控制電路
電磁閥選用脈沖式電磁閥,這種電磁閥在開(kāi)啟時(shí)只需在其控制線(xiàn)AB兩端加一正向脈沖(幅度DC12 V寬度大于20 ms),水閥一旦開(kāi)啟則會(huì )自動(dòng)保持。當關(guān)斷時(shí)則在A(yíng)B兩端加一反向脈沖,水閥就會(huì )關(guān)閉。因為這種電磁閥開(kāi)啟后不需給電磁閥持續供電,所以它的功耗非常低,因而特別適合用在IC卡水表中作為水表開(kāi)啟送水或欠費停水的執行單元。電路設計上采用多路模擬開(kāi)關(guān)組合成一組雙刀雙擲開(kāi)關(guān),在A(yíng)T89C51的控制下,將正脈沖或負脈沖加到電磁閥的控制線(xiàn)AB兩端。
2.6 其他模塊電路
2.6.1 脈沖提取電路
脈沖提取電路,用于提取IC卡水表的計量脈沖??稍谠械睦鲜綕袷剿砑尤氪裴樅透苫晒?,磁針隨著(zhù)用水的流動(dòng)而旋轉使得干簧管動(dòng)作發(fā)出開(kāi)關(guān)信號,作為計量信號。也可以利用干式磁傳水表已有的開(kāi)關(guān)信號輸出,作為計量信號。
2.6.2 安全保護電路
安全保護電路,利用AT89C51可編程的I/O中斷口接到水表的外封裝上實(shí)現保護。使封裝完好時(shí)I/O線(xiàn)相當于接地,為低電平,一旦封裝被非法打開(kāi),I/O線(xiàn)就不與地連接,其電平變?yōu)楦唠娖?,此時(shí)CPU將發(fā)生安全保護中斷,立即關(guān)斷電磁閥中斷供水。這樣就能有效地防止私拆或惡意破壞水表的事件發(fā)生。
2.6.3 通信接口電路
通信接口電路,利用AT89C51的串行通信口,選用MAX2338芯片形成485接口電路。外部數據讀取設備可通過(guò)水表的485接口,將水表的數據讀出,實(shí)現自動(dòng)抄表功能。
3 系統軟件設計
軟件是本系統的靈魂。軟件采用模塊化設計方法,不僅易于編程和調試,也可減小軟件故障率和提高軟件的可靠性。同時(shí),對軟件進(jìn)行全面測試也是檢驗錯誤排除故障的重要手段。這里我們選用了移值性好、結構清晰、能進(jìn)行復雜運算的C語(yǔ)言來(lái)實(shí)現編程。程序設計中,主要包括IC卡讀寫(xiě)模塊、液晶顯示模塊、記憶單元處理模塊等幾個(gè)模塊。
3.1 IC卡讀寫(xiě)模塊
單片機控制卡片讀寫(xiě)器H6152,對非接觸式IC卡進(jìn)行讀寫(xiě)的程序流程圖,如圖2所示。
3.2 液晶顯示模塊
單片機控制液晶顯示器件GXM12864,欲顯示以用水量和剩余水量的程序流程圖如圖3所示。
3.3 記憶單元處理模塊
本設計利用單片機與24C01進(jìn)行I2C通信,實(shí)現對某一地址內數據的讀/寫(xiě)校驗操作。這里假設地址0x02內裝的是水表顯示的已用和剩余水量的數據。默認是讀取其數據,當然也可以設置為其他地址了。其程序流程圖如圖4所示。
4 結論
本設計通過(guò)51單片機控制H6152系列讀寫(xiě)模塊對Mifarel IC智能卡進(jìn)行讀寫(xiě)操作,控制液晶顯示等模塊,設計出使用戶(hù)先買(mǎi)水后用水的一種智能化水表,使水費收取工作邁向自動(dòng)化。其設計主要包括IC卡讀寫(xiě)、液晶顯示、記憶單元、電磁閥控制4個(gè)模塊。
評論