畢業(yè)設計基于AT89C51單片機的智能水表設計
《畢業(yè)設計基于AT89C51單片機的智能水表設計》由會員分享,可在線閱讀,更多相關《畢業(yè)設計基于AT89C51單片機的智能水表設計(28頁珍藏版)》請在裝配圖網上搜索。
1、1 目 錄 摘 要 .1 1. 緒論 .1 1.1 課題背景及意義 .1 1.2 傳統(tǒng)水表 .2 1.2.1 傳統(tǒng)水表的主要結構 .2 1.2.2 傳統(tǒng)水表的主要特點 .2 1.3 智能水表 .3 1.3.1 智能水表的特點 .4 1.3.2 國內外智能水表的發(fā)展現(xiàn)狀及發(fā)展趨勢 .4 2. 智能水表的硬件組成 .5 2.1 智能水表系統(tǒng)硬件組成 .5 2.2 IC 卡讀寫電路 .6 2.2.1 Mifare 1 射頻 IC 卡 .6 2.2.2 RC522 讀寫模塊 .7 2.2.3 IC 卡讀寫電路的原理及說明 .8 2.3 液晶顯示電路 .10 2.4 電源模塊 .10 3 . 系統(tǒng)各軟件
2、電路設計 .10 3.1 IC 卡讀寫設計 .10 3.2 液晶顯示電路軟件設計 .12 4. 結論 .12 參考文獻 .12 致 謝 .14 附錄: .15 Abstract .15 2 IC 卡智能水表設計 王健 摘 要 本論文主要設計研究基于單片機的 IC 卡智能水表電路,其主要功能是以 AT89C51 單片機為核心,實現(xiàn) IC 卡的讀寫,液晶顯示的控制,電磁閥的控制,完成整 個水表信號的讀、寫處理,。本文對每個模塊逐一進行了研究,全面詳細地論述了硬 件電路的設計流程,對本設計中非接觸式 IC 卡讀寫電路模塊、液晶顯示電路模塊和 RC522 讀寫電路模塊等工作原理及功能進行了詳細了說明。
3、 關鍵詞 單片機 IC 卡 液晶顯示 記憶模塊 第 1 章 緒論 1.1 課題背景及意義 隨著社會科學技術的高速發(fā)展,資源短缺現(xiàn)象日益嚴重,尤其是與人類生存嘻嘻相關的水資源。 水是寶貴的環(huán)境資源,也是我國可持續(xù)發(fā)展戰(zhàn)略的重要物質基礎。但是,我國是世界上人均水資源 擁有量是分貧乏的國家之一,節(jié)約和保護水資源是我國當前一項是十分重要的戰(zhàn)略措施。節(jié)約水資 源包括兩個方面的措施,一是大力推廣應用節(jié)水新技術;二是加強用水的科學管理,在某種意義上 來說,加強用水科學管理是當前的首要任務。要加強用水的科學管理,最重要的是加速研究開發(fā)科 學先進、應用方便的節(jié)水科學管理儀表以及這種儀表的普及應用。因此研制一種低
4、功耗、計量精確 方便的智能水表顯得極為重要。 長期以來,我國城鎮(zhèn)居民所使用的水表普遍是普通機械旋翼濕式水表,這種水表價格低廉,性 能比較穩(wěn)定,但是還采用人工抄表、按戶收費的模式。此方式存在著工作量大,收費周期長,收費 困難,效率低下等缺點。隨著我國信息產業(yè)的飛速發(fā)展,金卡工程的全面實施,實現(xiàn)自來水收費管 理的電子化、信息化及網絡化已成為可能。 水表系統(tǒng)的智能化可以大大提高供水管理部門的工作效率、節(jié)約費用,用以改善供水設施,提 高居民飲水質量;同事還能為加強自來水使用的監(jiān)督管理提供手段,從而在技術上為節(jié)約用水合理 用水創(chuàng)造條件。微電子技術和計算機技術的不斷發(fā)展,引起了儀表機構的根本性變革,以微型
5、計算 機(單片機)為主體,將計算機技術和檢測技術有機結合,組成新一代“智能化儀表”,智能化儀 表在測量過程自動化。智能儀表不僅能解決傳統(tǒng)儀表不易或不能解決的問題,還能簡化儀表電路, 提高儀表的可靠性,更容易實現(xiàn)高精度、高性能、多功能的目的。隨著科學技術的進一步發(fā)展,儀 表的智能化程度將越來越高。 3 我國目前智能水表新產品開發(fā)基本上是借鑒國外先進模式,因為國外在此方面的研究設計起步 較早。例如 ABB 公司的 KENT 水表采用充電電池,具有按鍵讀數(shù)、可以顯示日期時間及各戶用水量, 建有機械式與電子式讀數(shù)功能,而且還配有 IBMPC 兼容機接口,可以進行電話通信;德國 Sameco 公司的新型
6、水表可顯示上一年與本年度用水量以及日期與時間等,并開發(fā)電卡式水表;此外,日本、 以色列等國也相繼推出自己的新產品。國內的一些企業(yè)也對多種智能化水表系統(tǒng)作了研究,但在微 功耗、可靠性等方面效果并不理想,由目前國情來看,我國的傳統(tǒng)水表必須改進,才能適應社會和 經濟的發(fā)展。 1.2 傳統(tǒng)水表 傳統(tǒng)水表的發(fā)展經歷了漫長年代,它涉及社會生活的各個方面。它對改善人類生活、促進社會 發(fā)展和科技進步起到了無法估量的作用。直到現(xiàn)在很多領域還能繼續(xù)發(fā)揮作用。 1.2.1 傳統(tǒng)水表的主要結構 傳統(tǒng)水表主要結構由硬件構成,以相對固定形式確定下來,所實現(xiàn)的功能較單一。只具有流量 采集和機械指針顯示用水量的功能,用戶在使
7、用過程中無法對其功能進行改變。它一般具有輸入信 號接口、內部處理電路和實時顯示三部分。對于一些儀表功能如自凋零、自校準、自動調節(jié)量程等 的設置是由用戶在儀表設備面板上手工完成。 1.2.2 傳統(tǒng)水表的主要特點 傳統(tǒng)水表的主要特點是自成體系,自我包容,用戶無法更改。傳統(tǒng)水表功能單一,只具流量采 集和機械指針顯示用水量的功能。同時,一臺普通傳統(tǒng)水表具有相對獨立性,不能與其他水表設備 進行通信,而只能用于現(xiàn)場測量,測量結果不能處理、存儲、顯示,局限性很大。另外,傳統(tǒng)水表 無法升級換代,而且開發(fā)周期長、經費投入大。 隨著科技水平不斷發(fā)展,人們對傳統(tǒng)水表提出以下幾方面的要求:測量精度高、功能強、可 靠性
8、好,測量全能自動化、智能化,小型化、使用靈活方便、升級方便,同時還能進行測量數(shù)據(jù)的 處理、存儲和顯示,具有和其他設備進行數(shù)據(jù)通訊等功能。這些新的要求不僅促使著傳統(tǒng)水表不斷 地改進和發(fā)展,也孕育著新一代水表智能水表的產生 1。 1.3 智能水表 隨著為電子技術的不斷發(fā)展,集成了處理器、存儲器、定時器/計數(shù)器、并行和串行接口、看 門狗甚至 A/D、D/A 轉換器等電路在一塊芯片上的超大規(guī)模集成電路芯片單片機出現(xiàn)了。智能 水表是一種以單片機為主體,結合計算機技術與測量控制技術,利用現(xiàn)代微電子技術、現(xiàn)代傳感技 術、智能 IC 卡技術對用水量進行計量并進行用水數(shù)據(jù)傳遞及結算交易的新型水表。智能水表除了
9、可對用水量進行計量并進行用水數(shù)據(jù)傳遞及結算交易的新型水表。智能水表除了可對水量進行記錄 4 和電子顯示外,還可以按照約定對用水量進行自動控制,并且自動完成階梯水價的水費計算,同時 可以進行用水數(shù)據(jù)存儲的功能。出于其數(shù)據(jù)傳遞和交易結算通過 IC 卡進行,因而可以實現(xiàn)由工作 人員上門抄表收費到用戶自己去營業(yè)所交費的轉變。IC 卡交易系統(tǒng)還具有交易方便,計算準確, 可以利用銀行進行結算的特點 2 。 1.3.1 智能水表的特點 與傳統(tǒng)水表相比,智能水表有以下特點: 1對供水部門來說,可以實現(xiàn)先交費再供水的用水模式。這是大家都普遍認可的一個優(yōu)點。這 對解決水費托拖欠這個過去難以解決的問題會有幫助。供水
10、部門推行 IC 卡水表的經驗表明,人們 普遍接受這一模式,供水部門不僅解決了拖欠交費的老大難問題,還可以提前收到資金。對用戶來 說,由于水費的支出在總支出中占得比重很小,這種改變,對用戶來說,只是把水費的交付時間提 前了一段時間,所以,用戶并不敏感。但對供水部門來說,這種變化則是不能小看的。隨著水資源 的緊張和水的商品屬性逐步被社會認可,水的交易將會逐漸采用一般商品的交易模式,顯然,先交 費后用水,是更合理的一種交易模式。 2改變了入戶抄表收費的模式。這種模式改變的意義是巨大的。由于城市規(guī)模不斷擴大和居 民戶數(shù)快速增加,供水部門抄表和收費的工作量將不斷加大。沿用傳統(tǒng)的上門抄表模式,將很難適 應
11、這種變化。而現(xiàn)在由于各種原因的影響,人工入戶抄表的效率 已經在逐漸下降并且是這種模式的成本不斷增加。解決這個問題,可以采用多種途徑,但依靠 技術進步來解決這個問題,應當是更值得提倡的方式。顯然,采用智能 IC 卡水表及其管理系統(tǒng), 將可以從根本上改變由供水部門派人去千家萬戶抄表收費的模式。只要供水部門合理設置交費機構, 基本上不會給用戶帶來麻煩。如果得到金融系統(tǒng)的配合,還可以減少布點的成本。因此大規(guī)模采用 智能 IC 卡水表技術對降低供水部門的管理成本是會有顯著幫助的。而使用 IC 卡進行交易結算,用 戶可以自主決定交費時間和數(shù)量,增大了用戶的自主性。特別是隨著人們家庭安全意識和隱私意識 的增
12、強,入戶抄表和上面收費等隨意進入私人住戶的做法將逐漸不受歡迎甚至受到抵制,這是一個 必須給予重視的社會發(fā)展趨勢。而使用智能 IC 卡進行交易結算,將可以有效解決這個會帶來很多 社會隱患的問題。 3可以有效解決一些技術難題。比如,隨著水資源的緊張,將會逐步實行超計劃水價甚至階梯 式水價等較為復雜的用水管理模式。這些,將對供水交易提出較高的技術要求。采用普遍水表和人 工抄表的模式,是難以解決這些技術問題的,而采用智能 IC 卡水表,將很容易解決這些問題。 4隨著科學技術的發(fā)展,供水行業(yè)也需要逐步實現(xiàn)用高科技手段進行供水管理。采用傳統(tǒng)水 表,這個跨越式很難完成的,而采用智能 IC 卡水表,將為運用計
13、算機技術進行現(xiàn)代化管理奠定一 個技術基礎。 5 5當然,使用智能 IC 卡水表還有其他優(yōu)點,比如可以有效解決盡量扯皮、用水糾紛,貪污水 費、人情用水、用水統(tǒng)計困難等問題。 6與遠傳 抄表系統(tǒng)相比,智能 IC 卡水表具有使用和維護成本很低,沒有布線造成的混亂和 高故障率等問題。智能 IC 卡水表的以上優(yōu)點,將會使智能 IC 卡水表逐漸被社會所接受并成為一種 基本配置。 1.3.2 國內外智能水表的發(fā)展現(xiàn)狀及發(fā)展趨勢 目前,國內企業(yè)與研究機構主要致力于智能網絡遠傳水表的智能卡式水表系統(tǒng)方面的研究開發(fā), 如寧波水表廠、上海自來水公司水表廠等都在相繼開發(fā)遠傳水表,由于智能網絡遠傳水表系統(tǒng)需要 配套遠傳
14、通信網絡支持,其初期投資大,因此只適用于在一些新建住宅小區(qū)組成相對獨立的小網, 所以目前尚未大量投入市場;而后者采用先付費后用水的管理模式,在當前收費困難、人工抄表效 率低下的情況下,更能獲得供水管理部門的青睞。 1、智能網絡遠傳水表系統(tǒng) 就目前來講,智能網絡遠傳水表又可分為分線制集中抄表方式和總線制智能抄表方式。 (1)分線制集中抄表方式 各種分線制集中抄表方式的基本原理大致相同,即由采集器定時順序采集來自多路分戶線的 水表信號,并進行數(shù)據(jù)處理、存儲。各采集器之間采用總線制連接,最后連接到計算機。其典型特 點是各戶表通過分戶線連接至采集器。 分線制集中抄表模式單純從技術上講較成熟,也節(jié)約成本
15、(多戶表共享一個采集器),但從實 際情況看,分線制集中抄表模式存在如下缺點: 由于每次水表的計量信號是通過分戶線穿越較長距離到達采集器,中途任何一個環(huán)節(jié)出現(xiàn)疏 漏都將使采集器采集不到數(shù)據(jù),而且鋪設分戶線不僅使安裝任務繁重,也存在許多隱患:短線,斷 線等。錯綜復雜的線路更使得維護工作困難重重。 采集器均安裝于現(xiàn)場,需專業(yè)人員調試系統(tǒng)并定期巡視維護,專業(yè)隊伍日益“壯大”,維護 費用也相應劇增。 分線制集中抄表模式的風險不僅僅是各表風險的簡單累加。如果采集器掉電或出現(xiàn)其他嚴重 故障則會使該采集器上所有數(shù)據(jù)丟失,集中抄表的風險無法有效分散,與測控系統(tǒng)強調的集中管理、 分散控制的分布式設計死相違背。 (
16、2 )總線制智能抄表方式 6 總線制智能水表由于采集、計數(shù)工作單元均安裝在智能水表內并密封,水表的數(shù)據(jù)采集、處理、 存貯等基礎工作全由智能水表本身完場,手抄器或電腦不參與底層數(shù)據(jù)采集僅進行通訊聯(lián)系,消除 了外界因素對計量的影響。另外因智能水表引出的總線通、斷不影響單表數(shù)據(jù)采集和保存(僅影響 水表數(shù)據(jù)的讀出),無需重新置數(shù),水表的真實讀數(shù)仍可繼續(xù)讀出,其安全性、穩(wěn)定性是比較可靠 的。但由于單表內設置單片機和后備電源,成本較高,推廣普及較慢。 由于各表輸出的總線只需掛接,可以減少分線制抄表方式大量煩瑣的布線、系統(tǒng)調試任務以及 后期使用過程中線路、系統(tǒng)維護等繁重勞動強度,也方便高層次設計如網絡結構的
17、設計、與其他系 統(tǒng)(如安防、照明、空調、消防)共享開放式網絡的設計,進而為用戶提供完善、綜合的配套服務。 2、智能IC卡式水表系統(tǒng) 智能卡水表是在當今智能卡技術與市場迅猛發(fā)展、單個智能卡及刷卡機性能價格比日益提高的 特定時期應運而生的。主要由智能卡式水表、智能卡、讀卡器、收費管理信息系統(tǒng)等組成。用戶須 在供水部門指定售卡點,購水后刷卡方能使用。它具有有限用水量、解決用水收費糾紛的功能,這 是其他抄表方式及普通水表上門抄表方式所不能比擬的,并且智能卡水表如同普通水表,無需鋪設 管線及線路維護,安裝方便、維護簡單;另外,智能卡水表自帶數(shù)據(jù)采集模塊、電源部分、電磁閥 (電動閥)控制,由智能卡讀入預購
18、水量等信息,使用簡單,動作可靠,并且它的前期投資費用低, 因此日益受到供水管理部門的青睞。 根據(jù)我國金卡工程的長遠發(fā)展建設來看,單純地將普通機械式水表轉化成機械式+電子式固然 已邁出了重要的一步,但是還不夠完善,因為水表的計量預收費及管理自動化將是大勢所趨。未來 信息技術的發(fā)展必將朝著網絡化的方向發(fā)展,作為樓宇自動化發(fā)展的方向的一個重要方面|智 能化水表系統(tǒng)。因此如何設計合適的平臺,將自動抄表系統(tǒng)、遠程監(jiān)控報警系統(tǒng)、家居安防系統(tǒng)等 無“縫隙”地與數(shù)據(jù)網及控制網連接起來,開發(fā)出能體現(xiàn)優(yōu)良的綜合性、互操作性、方便實際現(xiàn)場 安裝維護的一體化智能系統(tǒng)將成為今后一段時期內的熱點。 2. 智能水表的組成
19、2.1 智能水表系統(tǒng)硬件組成 7 本水表電路的硬件設計原則是在低功耗的前提下,實現(xiàn)多功能,組成框圖如圖 2-1 所示。系 統(tǒng)硬件電路由 IC 卡讀寫電路、液晶顯示控制電路、電磁閥控制電路、脈沖提取電路、安全保護電 路、記憶單元電路、通信接口電路組成,以 AT89C51 為核心控制芯片,完成整個水表信號的讀、寫 處理,監(jiān)控水表工作的功能。該 CPU 芯片內置 4K 的程序存儲器,有 32 個多功能的 I/O 口,具有多 個可編程的中斷 I/O 口和數(shù)據(jù)串行通信口。并且,該芯片功耗低,特別適用于水表控制線路多、功 能全、功耗低的要求。它能方便地讀取 IC 卡的數(shù)據(jù),并控制電磁閥和液晶顯示器的工作,
20、同時還 可以將水表的數(shù)據(jù)存入 E2ROM 進行永久保存并可通過串口送至表外的數(shù)據(jù)終端,大大地提高了該水 表的智能化的功能。 IC 卡讀寫電路 AT89C51 記憶單電路 通信接口電路液晶顯示電路 通信插座 Ic 卡插座 圖 2-1 硬件總體框圖 2.2 IC 卡讀寫電路 2.2.1 Mifare 1 射頻 IC 卡 Mifare 1 射頻 IC 卡的核心是 Philips 公司制造的 Mifare 1 IC S50 系列微晶片,其內部包括 1KB 高速 EEPROM、數(shù)字控制模塊和一個高效率射頻天線模塊。卡片本身不帶電池供電,工作時將卡 片放在讀寫器的有效工作區(qū)域,卡片讀寫器的天線發(fā)送無線電載
21、波信號耦合到卡片上的天線提供電 源能量,其電壓可達 2V 以上,足以滿足卡片上的 IC 電路供電需要。在信道保證和數(shù)據(jù)完整性方面, Mifare 1 標準還提供了信道檢測、存儲數(shù)據(jù)冗余校驗、三次傳遞認證以及防沖突機制等功能,保 證了數(shù)據(jù)交換過程的安全。Mifare 1 射頻 IC 卡的主要性能指標如下。 (1)1KB的EEPROM,分為16個扇區(qū),每個扇區(qū)分為4塊,每塊16B,以塊為存取單位。 (2)每個扇區(qū)有獨立的一組(2個)密碼及存取權限設置。 (3)每張卡有唯一的32位序列號。 8 (4)具有防沖突機制、支持多卡操作。 (5)無電源,自帶天線,內含加密控制邏輯和通信邏輯電路。 (6)數(shù)據(jù)
22、可保存10年,可反復寫10萬次。 (7)工作頻率為13.56MHZ。 (8)106kbps 的快速數(shù)據(jù)傳輸速率。 (9)讀寫距離最大可達10cm(取決于天線設計)。 (10)工作溫度范圍:-20- +50 。 C。 2.2.2 RC522 讀寫模塊 MF RC522 是應用于 13.56MHz 非接觸式通信中高集成度讀寫卡系列芯片中的一員。是 NXP 公司針 對“三表”應用推出的一款低電壓、低成本、體積小的非接觸式讀寫卡芯片,是智能儀表和便攜式 手持設備研發(fā)的較好選擇。 作為 13.56MHz 高集成讀寫卡系列芯片家族的新成員,MF RC522 與 MF RC500 和 MF RC530 有
23、不少相似之處,同時也具備諸多特點和差異。它與主機間的通信采用連線較少的串行通信,可選取 SPI、I2C 或串行 UART(類似 RS232)模式之一,有利于減少連線,縮小 PCB 板體積,降低成本。 IC 卡內部框圖,如圖 2-2 所示 圖 2-2 IC 卡內部示意圖 MFRC522 支持 SPI、I2C、UART 接口; (2)64 字節(jié)發(fā)送和接收的 FIFO 緩存; (3) 4 頁,每頁 16 個寄存器,共 64 個寄存器; 具有硬件掉電、軟件掉電、發(fā)送掉電三種節(jié)電模式; 9 (5) 支持 ISO/IEC 14443 TypeA 和 MIFARE通信協(xié)議; RC522 的接口引腳和讀寫器模
24、塊的電源端,接地端,具體的功能定義如下: (1)OSCIN :晶振輸入 (2)IRQ :輸出,用來指示一個中斷事件。 (3 ) SIGIN :信號輸入。 (4 ) DVDD :數(shù)字電源 (5 ) AVDD :模擬電源 (6 ) AUX1 AUX2:輔助輸出 (7 ) OSCOUT :晶振輸出 (8 ) SDA :串行數(shù)據(jù)線 其基本結構圖如圖 2-3 所示 圖2-3 RC522基本結構圖 2.2.3 IC 卡讀寫電路的原理及說明 IC 卡應用系統(tǒng)的硬件設計結構框圖如圖 2.3 所示,總體原理圖見附錄 1。單片機 AT89C51 是本 設計的核心器件,它主要完成了對射頻卡(MIFARE 1 卡)的
25、讀寫操作。RC522 讀寫器對射頻卡進行 讀寫后通過串口電平轉換電路將 RS232 電平轉換為單片機所識別的 TTL 電平,或者使用 USB 轉接 線通信,從而達到了使用 AT89C51 單片機來控制射頻卡的讀寫過程。 10 圖 2-4 IC 卡與單片機硬件連接結構圖 硬件電路由單片機模塊、電平轉換模塊和 RC522 讀寫模塊 3 部分電路組成,其工作原理分別如 圖 2-4、圖 2-5 所示。 讀寫器與 M1 卡交換數(shù)據(jù)的過程: 1)由讀寫器 MCU(微控制器)發(fā)送指令給 MCM, 2)MCM 執(zhí)行指令并將其轉換為射頻信號發(fā)送給卡; 3)卡接收到來自 MCM 的指令后,按指令完成其內部的各種處
26、理,并回送應答信號/數(shù)據(jù)給 MCM; 4)MCM 接收卡回送的射頻信號并將其轉換為數(shù)字信號輸出給 MCU,讀寫器 MCU 讀取 MCM 接收到的 應答/數(shù)據(jù),即可完成與 M1 卡的數(shù)據(jù)交換。 單片機 AT89C51 串口電平 轉換電路 IC 卡讀寫器 報警電路 Mifare 1 射頻卡 11 圖 2-5 RC522 通信模塊 2.3 液晶顯示模塊 液晶顯示模塊選用圖形液晶顯示模塊 LCD1602,它是一種專門用來顯示字母、數(shù)字、符號的點 陣型液晶模塊。它由若干個 5x7 或者 5x11 等點陣個點距的間隔,起到字符間和行間距的作用。 1602LCD 是指顯示的內容為 162 既可以顯示兩行,每
27、行 16 字符液晶模塊(顯示字符和數(shù)字)。 2.4 電源模塊 在一般情況下,液晶器件的驅動需要兩種不同的電源電壓,一種是+5V(工作電壓),另一種是- 10V(背景光對比度調節(jié)電壓)。所以,使用液晶模塊時,使用 USB(+5V)電源供電,IC 卡接受模塊需 要+3.3V 電壓。 3. 系統(tǒng)各模塊軟件電路設計 3.1 IC 卡讀寫軟件設計 3.1.1 讀寫器與 M1 卡交換數(shù)據(jù)的過程: 1)由讀寫器 MCU(微控制器)發(fā)送指令給 MCM, 2)MCM 執(zhí)行指令并將其轉換為射頻信號發(fā)送給卡; 3)卡接收到來自 MCM 的指令后,按指令完成其內部的各種處理,并回送應答信號/數(shù)據(jù)給 MCM; 12 4
28、)MCM 接收卡回送的射頻信號并將其轉換為數(shù)字信號輸出給 MCU,讀寫器 MCU 讀取 MCM 接收到的 應答/數(shù)據(jù),即可完成與 M1 卡的數(shù)據(jù)交換。 3.1.2 IC 卡讀寫操作步驟 1)激活 MCM 2)MCM 軟復位 3)向 MCM 下載密碼(LOAD KEY),校驗傳輸密碼正確后可向 MCM 的 KEY-RAM 寫入用戶自己設定 的密碼,以上操作與卡無關。 4)請求應答(ANSWER TO REQUEST):尋卡 5)防沖突(ANTICOLLISION):選擇唯一一張卡 6)選擇標記(SELECT):激活所選擇的卡 7)認證 (AUTHENTICATION):安全性 8)讀寫操作(讀、
29、寫、加值、減值):交換數(shù)據(jù) (READ/WRITE/INCREAMENT/DECREMENT) 停止(HALT):置 IC 卡為停止模式,防止重復操作 3.1.3 MIFARE 卡操作步驟 單片機控制讀卡器 RC522,對非接觸 IC 卡進行讀寫的程序流程圖,如圖 3-1 所示。 開始 復位應答 防沖突機制 選擇卡片 三次相互驗證 加值 減值寫塊讀塊 中止 圖 3-1 單片機對 IC 卡操作流程圖 13 3.2 液晶顯示電路軟件設計 3.2.1 液晶顯示控制驅動器指令集 本設計采用的是 LCD1602 液晶顯示,掌握液晶顯示主要掌握指令集,主要的指令集如表 3-1。 清除顯 示 0 0 0 0
30、 0 0 0 0 0 1 將 DDRAM 填滿20H,并且設定 DDRAM 的地址 計數(shù)器(AC)到00H 功能設 定 0 0 0 0 1 D L X R E X X DL=0/1:4/8 位數(shù)據(jù) RE=1: 擴充指令操作 RE=0: 基本指令操作 讀取忙 標志和 地址 0 1 B F A C 6 A C 5 A C 4 A C 3 A C 2 A C 1 A C 0 讀取忙標志 (BF)可以確認內部動作是否完成,同時 可以讀出地址計數(shù)器 (AC)的值 寫數(shù)據(jù) RAM 1 0 數(shù)據(jù) 將數(shù)據(jù) D7D0 寫入到內部的 RAM (DDRAM/CGRAM/IRAM/GRAM) 讀 RAM 的值 1 1
31、 數(shù)據(jù) 從內部 RAM 讀取數(shù)據(jù) D7 D0(DDRAM/CGRAM/IRAM/GRAM) 表 3-1 LCD1602 部分指令集 1602 液晶顯示模塊內部的字符發(fā)生存儲器(CGROM)已經存儲了 160 個不同的點陣字符圖形, 這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的字符、和日文假名等,每一個字符都有一個 固定的代碼,比如大寫的英文字母 A 的代碼是 01000001B(41H),顯示時模塊把地址 41H 中的點 陣字符圖形顯示出來,我們就能看到字母“A“。 因為 1602 識別的是 ASCII 碼直接賦值,在單片機編程中還可以用字符型常量或變量賦值,如“A” 4. 結 論 本次設
32、計是通過 51 單片機控制 RC522 系列讀寫模塊對 Mifarel IC 智能卡進行讀寫操作,控制 液晶顯示等模塊,設計出使用戶先買水后用水的一種智能化水表,使水費收取工作邁向自動化。其 設計主要包括 IC 卡讀寫、液晶顯示、記憶單元、電磁閥控制 4 個模塊。實現(xiàn)單片機對 IC 卡的讀寫 控制,以及卡信息的調用,以及液晶對 IC 卡信息的顯示,包括卡號以及卡的類型,每刷一次卡使 得 IC 卡的金額減一。對于水表的控制在設計中弱化了,用一個 led 燈來代替。 14 參考文獻 1 http:/ 2 姚存治 智能水表及集中抄表的現(xiàn)狀和發(fā)展趨勢 2009 3 周航慈.單片機應用程序設計技術. 北
33、京航大出版社.2002 4 楊振野.IC 卡技術及其應用.科學出版社.2006 5 趙文博.單片機語言 C51 程序設計.電子工來出版社.2006 6 MAX3232.Status: ACTIVE 3V to 5.5V Multichannel RS-232 Line Drivr/Receiver 7 AT89C51 control RC522 card reader to write Mifare radio frequency nip and connect the systematic host computer through CAN bus to read,CAN bus contr
34、oller is SJA1000,the transceiver is P82C250. 2007 8 徐瑋,沈建良.單片機快速入門 .北京航空航天大學出版社 .2008 9 李朝青.單片機原理及接口技術 .北京航大出版社 10 上海杰捷智能卡制作中心.Shanghai J unsigned int unLen; unsigned char ucComMF522BufMAXRLEN; ClearBitMask(Status2Reg,0 x08); WriteRawRC(BitFramingReg,0 x07); SetBitMask(TxControlReg,0 x03); ucComMF52
35、2Buf0 = req_code; status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,1,ucComMF522Buf, if (status = MI_OK) *(pTagType+1) = ucComMF522Buf1; else status = MI_ERR; return status; / /功 能:防沖撞 /參數(shù)說明: pSnrOUT:卡片序列號,4 字節(jié) /返 回: 成功返回 MI_OK / 18 char PcdAnticoll(unsigned char *pSnr) char status; unsigned char i,
36、snr_check=0; unsigned int unLen; unsigned char ucComMF522BufMAXRLEN; ClearBitMask(Status2Reg,0 x08); WriteRawRC(BitFramingReg,0 x00); ClearBitMask(CollReg,0 x80); ucComMF522Buf0 = PICC_ANTICOLL1; ucComMF522Buf1 = 0 x20; status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,2,ucComMF522Buf, if (status =
37、MI_OK) for (i=0; i4; i+) *(pSnr+i) = ucComMF522Bufi; snr_check = ucComMF522Bufi; if (snr_check != ucComMF522Bufi) status = MI_ERR; SetBitMask(CollReg,0 x80); return status; / /功 能:選定卡片 /參數(shù)說明: pSnrIN:卡片序列號,4 字節(jié) /返 回: 成功返回 MI_OK / char PcdSelect(unsigned char *pSnr) /卡片類型 char status; unsigned char i;
38、 unsigned int unLen; unsigned char ucComMF522BufMAXRLEN; ucComMF522Buf0 = PICC_ANTICOLL1; 19 ucComMF522Buf1 = 0 x70; ucComMF522Buf6 = 0; for (i=0; i4; i+) ucComMF522Bufi+2 = *(pSnr+i); ucComMF522Buf6 = *(pSnr+i); CalulateCRC(ucComMF522Buf,7, ClearBitMask(Status2Reg,0 x08); status = PcdComMF522(PCD_T
39、RANSCEIVE,ucComMF522Buf,9,ucComMF522Buf, if (status = MI_OK) else status = MI_ERR; return status; / /功 能:驗證卡片密碼 /參數(shù)說明: auth_modeIN: 密碼驗證模式 / 0 x60 = 驗證 A 密鑰 / 0 x61 = 驗證 B 密鑰 / addrIN:塊地址 / pKeyIN:密碼 / pSnrIN:卡片序列號,4 字節(jié) /返 回: 成功返回 MI_OK / char PcdAuthState(unsigned char auth_mode,unsigned char addr,
40、unsigned char *pKey,unsigned char *pSnr) char status; unsigned int unLen; unsigned char i,ucComMF522BufMAXRLEN; ucComMF522Buf0 = auth_mode; ucComMF522Buf1 = addr; for (i=0; i6; i+) ucComMF522Bufi+2 = *(pKey+i); for (i=0; i6; i+) ucComMF522Bufi+8 = *(pSnr+i); / memcpy( / memcpy( 20 status = PcdComMF5
41、22(PCD_AUTHENT,ucComMF522Buf,12,ucComMF522Buf, if (status != MI_OK) | (!(ReadRawRC(Status2Reg) return status; / /功 能:讀取 M1 卡一塊數(shù)據(jù) /參數(shù)說明: addrIN:塊地址 / pDataOUT:讀出的數(shù)據(jù),16 字節(jié) /返 回: 成功返回 MI_OK / char PcdRead(unsigned char addr,unsigned char *pData) char status; unsigned int unLen; unsigned char i,ucComMF5
42、22BufMAXRLEN; ucComMF522Buf0 = PICC_READ; ucComMF522Buf1 = addr; CalulateCRC(ucComMF522Buf,2, status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf, if (status = MI_OK) i16; i+) *(pData+i) = ucComMF522Bufi; else status = MI_ERR; return status; / /功 能:寫數(shù)據(jù)到 M1 卡一塊 /參數(shù)說明: addrIN:塊地址 / pData
43、IN:寫入的數(shù)據(jù), 16 字節(jié) /返 回: 成功返回 MI_OK / char PcdWrite(unsigned char addr,unsigned char *pData) char status; unsigned int unLen; unsigned char i,ucComMF522BufMAXRLEN; ucComMF522Buf0 = PICC_WRITE; 21 ucComMF522Buf1 = addr; CalulateCRC(ucComMF522Buf,2, status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucC
44、omMF522Buf, if (status != MI_OK) | (unLen != 4) | (ucComMF522Buf0 if (status = MI_OK) /memcpy(ucComMF522Buf, pData, 16); for (i=0; i16; i+) ucComMF522Bufi = *(pData+i); CalulateCRC(ucComMF522Buf,16, status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,18,ucComMF522Buf, if (status != MI_OK) | (unLen !=
45、4) | (ucComMF522Buf0 return status; / /功 能:扣款和充值 /參數(shù)說明: dd_modeIN:命令字 / 0 xC0 = 扣款 / 0 xC1 = 充值 / addrIN:錢包地址 / pValueIN: 4 字節(jié)增( 減)值,低位在前 /返 回: 成功返回 MI_OK / char PcdValue(unsigned char dd_mode,unsigned char addr,unsigned char *pValue) char status; unsigned int unLen; unsigned char i,ucComMF522BufMAX
46、RLEN; ucComMF522Buf0 = dd_mode; ucComMF522Buf1 = addr; CalulateCRC(ucComMF522Buf,2, status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf, if (status != MI_OK) | (unLen != 4) | (ucComMF522Buf0 22 if (status = MI_OK) / memcpy(ucComMF522Buf, pValue, 4); for (i=0; i16; i+) ucComMF522Bufi =
47、*(pValue+i); CalulateCRC(ucComMF522Buf,4, unLen = 0; status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,6,ucComMF522Buf, if (status != MI_ERR) status = MI_OK; if (status = MI_OK) ucComMF522Buf0 = PICC_TRANSFER; ucComMF522Buf1 = addr; CalulateCRC(ucComMF522Buf,2, status = PcdComMF522(PCD_TRANSCEIVE,uc
48、ComMF522Buf,4,ucComMF522Buf, if (status != MI_OK) | (unLen != 4) | (ucComMF522Buf0 return status; / /功 能:備份錢包 /參數(shù)說明: sourceaddrIN:源地址 / goaladdrIN:目標地址 /返 回: 成功返回 MI_OK / char PcdBakValue(unsigned char sourceaddr, unsigned char goaladdr) char status; unsigned int unLen; unsigned char ucComMF522BufMA
49、XRLEN; ucComMF522Buf0 = PICC_RESTORE; ucComMF522Buf1 = sourceaddr; CalulateCRC(ucComMF522Buf,2, 23 status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf, if (status != MI_OK) | (unLen != 4) | (ucComMF522Buf0 if (status = MI_OK) ucComMF522Buf0 = 0; ucComMF522Buf1 = 0; ucComMF522Buf2 = 0;
50、ucComMF522Buf3 = 0; CalulateCRC(ucComMF522Buf,4, status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,6,ucComMF522Buf, if (status != MI_ERR) status = MI_OK; if (status != MI_OK) return MI_ERR; ucComMF522Buf0 = PICC_TRANSFER; ucComMF522Buf1 = goaladdr; CalulateCRC(ucComMF522Buf,2, status = PcdComMF522(P
51、CD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf, if (status != MI_OK) | (unLen != 4) | (ucComMF522Buf0 return status; / /功 能:命令卡片進入休眠狀態(tài) /返 回: 成功返回 MI_OK / char PcdHalt(void) char status; unsigned int unLen; 24 unsigned char ucComMF522BufMAXRLEN; ucComMF522Buf0 = PICC_HALT; ucComMF522Buf1 = 0; CalulateCR
52、C(ucComMF522Buf,2, status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf, return MI_OK; / /用 MF522 計算 CRC16 函數(shù) / void CalulateCRC(unsigned char *pIndata,unsigned char len,unsigned char *pOutData) unsigned char i,n; ClearBitMask(DivIrqReg,0 x04); WriteRawRC(CommandReg,PCD_IDLE); SetBitMas
53、k(FIFOLevelReg,0 x80); for (i=0; ilen; i+) WriteRawRC(FIFODataReg, *(pIndata+i); WriteRawRC(CommandReg, PCD_CALCCRC); i = 0 xFF; do n = ReadRawRC(DivIrqReg); i-; while (i!=0) pOutData0 = ReadRawRC(CRCResultRegL); pOutData1 = ReadRawRC(CRCResultRegM); / /功 能:復位 RC522 /返 回: 成功返回 MI_OK / char PcdReset(
54、void) MF522_RST=1; Delay(1); MF522_RST=0; Delay(1); 25 Design of the Water Meter IC Card System Based on Sing-chip Abstract In this paper, the main design based on single-chip pre-charges the IC card water meter system hardware circuit design, its main function is based on AT89C51 single-chip microc
55、omputer as the core, the realization of IC card reader, LCD display control, the control solenoid valve, pulse extraction, at the same time security protection circuit, memory cell circuit, communication interface circuit, the signal meter to complete the reading, writing and processing, monitoring
56、the work function of water meters. In this paper, one by one we studied for each module. Full detail of the hardware circuit design flow, for the design of the Central African contactless IC card reader circuit module, liquid crystal display circuit module and circuit module, such as reading and wri
57、ting RC522 working principle and function are described in detail. Key words SCM IC card Liquid crystal display Memory modules g an employment tribunal clai Employment tribunals sort out disagreements between employers and employees. You may need to make a claim to an employment tribunal if: you don
58、t agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly. For more information about dismissal and unfair dismissal, see Dismissal. You can make a claim to an employment tribunal, even if you havent appea
59、led against the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal. Remember that in most cases you must make an application to an employment tribunal within three month
60、s of the date when the event you are complaining about happened. If your application is received after this time limit, the tribunal will not usually accept i. If you are worried about how the time limits apply to you, take advice from one of the organisations listed under Further help. Employment t
61、ribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation. Most people find making a claim to an employment tribunal challenging. If you are thinking about making a claim to an employment tribunal, you should get
62、help straight away from one of the organisations listed under Further help. If you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. This is known as a damages-based agreement. In England
63、and Wales, your solicitor cant charge you more than 35% of your compensation if you win the case. If you are thinking about signing up for a damages-based agreement, you should make sure youre clear about the terms of the agreement. It might be best to get advice from an experienced adviser, for exa
64、mple, at a Citizens Advice Bureau. To find your nearest CAB, including those that give advice by e- mail, click on nearest CAB. For more information about making a claim to an employment tribunal, see Employment tribunals. 26 The (lack of) air up there Watch mCayman Islands-based Webb, the head of F
65、ifas anti-racism taskforce, is in London for the Football Associations 150th anniversary celebrations and will attend Citys Premier League match at Chelsea on Sunday. I am going to be at the match tomorrow and I have asked to meet Yaya Toure, he told BBC Sport. For me its about how he felt and I wou
66、ld like to speak to him first to find out what his experience was. Uefa has opened disciplinary proceedings against CSKA for the racist behaviour of their fans during Citys 2-1 win. Michel Platini, president of European footballs governing body, has also ordered an immediate investigation into the referees actions. CSKA said they were surprised and disappointed by Toures complaint. In a statement the Russian side added: We found no racist insults from fans of CSKA. Age has reached the end of the
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。