畢業設計(論文)基于AT89C51單片機的智能IC卡煤氣表控制裝置設計_第1頁
畢業設計(論文)基于AT89C51單片機的智能IC卡煤氣表控制裝置設計_第2頁
畢業設計(論文)基于AT89C51單片機的智能IC卡煤氣表控制裝置設計_第3頁
畢業設計(論文)基于AT89C51單片機的智能IC卡煤氣表控制裝置設計_第4頁
畢業設計(論文)基于AT89C51單片機的智能IC卡煤氣表控制裝置設計_第5頁
已閱讀5頁,還剩62頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘摘 要要隨著信息社會的到來,人類所擁有的信息種類和數量呈爆炸性增長,ic 卡,一種方便安全可靠的高技術,高附加值的信息載體便應運而生。ic 卡技術以其廣泛的應用領域和巨大的產品市場成為近幾年來我國信息產業的一大特點。與此同時,我國燃氣收費管理長期以來都是以人工抄表為主,存在著工作量大、收費時間長、收費困難、效率低、易出錯的問題,為了減少燃氣收費管理中人力、物力的浪費,減少不安全因素,進行了“智能煤氣表的研究” 。這既是 ic 卡技術實際應用的進一步探索,也是燃氣收費管理方式的改革。本設計對智能 ic 卡煤氣表控制裝置的組成、功能及技術要求進行了理論上的分析和技術上的應用研究。設計依據低成本,

2、高可靠性的原則完成了以下工作:1. 軟件設計中均采用模塊化設計結構,完成了燃氣表的計費功能以及故障的查詢和處理。 2.采用性價比較高的 at89c51 單片機作為控制裝置的核心,控制裝置的硬件電路實現了脈沖采集、數據存儲、電磁閥驅動控制、ic 卡讀寫、電源監測及聲音報警和等功能。3.本文用 visual basic6.0 成功地實現了對 ic 卡的管理以及煤氣收費系統的管理。數據庫軟件具有建立用戶檔案、銷售、寫卡、統計、查詢等功能。 關鍵詞:關鍵詞: ic 卡技術 煤氣表 at89c51 單片機abstractabstractwith the coming of information soc

3、iety, human beings have the amount and type of information in the explosive growth, ic card, a convenient safe, reliable and high technology and high value-added information carrier will come into being. ic technology with its extensive applications and great products market in china has become a fe

4、ature of the information industry. meanwhile, chinas gas charges administration have long been mainly on artificially meter, there are big workload and charging time is long, difficult charging, the efficiency is low, the error-prone problems, in order to reduce gas fee manpower and material resourc

5、es in the management of the waste and reduce the safety factor, smart meiqibiao research. this is both practical application of ic card technology explore further, also is the reform of fuel gas fee management mode.technical requirements makes a theoretical analysis and technical application researc

6、h. design basis low cost, high reliability principle completed the following job: 1. the software design is all adopt modular design structure, completed the gas meter charging functions and fault inquiries and processing. 2. the ratio of higher at89c51 as control device, the core of the hardware ci

7、rcuit implementation control device of pulse acquisition, data storage, electromagnetic valve driving control, ic literacy, power monitoring and voice alarm and etc. function. 3. this article with the visual basic6.0 successfully realized the management of ic card and gas fee system management. data

8、base software has build user archives, sales, write cards, statistics, inquiry, and other functions keywordskeywords: ic technology gas meter at89c51 micro-controller目目 錄錄第第 1 1 章章 摘摘 要要.1 11.1 智能 ic 卡的作用和地位.11.2 研制智能 ic 卡煤氣表控制裝置的目的和意義.21.3 ic 卡在中國的應用與發展.3第第 2 2 章章 智能煤氣表硬件的設計智能煤氣表硬件的設計.42.1 硬件總體結構.4

9、2.2 at89c51 單片機簡介.52.2.1 at89c51 的引腳結構.52.2.2 內部結構.82.2.3 外圍電路.92.3 at24c02 的應用.102.3.1 at24cxx 介紹.102.3.2 at24c02 的簡介.112.3.3 i2c 總線特性的簡介.142.3.4 at24c02 在智能煤氣表中的應用.152.4 8155 的簡介.152.4.1 8155 的結構.162.4.2 8155 的引腳及功能.162.4.3 8155 的工作原理.172.5 led 顯示電路的設計.192.5.1 led 顯示器結構與原理.192.5.2 led 顯示器與顯示方式.202

10、.6 耗氣量計數電路的設計.222.6.1 霍爾效應.222.6.2 計數電路的設計.23 2.6.3 霍爾元件的材料及結構特點.232.7 可燃氣報警電路的設計.242.7.1 傳感器.242.7.2 探測報警電路.242.7.3 調試.252.8 電源電路的設計.252.8.1 電源變壓器.262.8.2 單相整流電路.272.8.3 濾波電路.292.8.4 穩壓電路.302.9 防作弊電路的設計.31第第 3 3 章章 智能煤氣表軟件的設計智能煤氣表軟件的設計.323.1 流程圖.323.2 軟件抗干擾技術.33第第 4 4 章章 收費管理軟件設計收費管理軟件設計.364.1 開發平臺

11、及開發選用的語言.364.1.1 visual basic 概述.364.1.2 access 的介紹.384.2 收費管理中心主機軟件流程圖.424.2.1 收費管理中心各部分功能的簡介.434.2.2 用量查詢程序.444.2.3 報表輸出程序.464.2.4 用氣信息及斷氣控制功能.474.2.6 ic 卡智能煤氣表充值系統源程序代碼.48總總 結結.54致致 謝謝.55參考文獻參考文獻.56附錄附錄 1 1:智能煤氣表原理圖:智能煤氣表原理圖.57附錄附錄 2 2:智能煤氣表程序清單:智能煤氣表程序清單.58第第 1 1 章章 摘摘 要要1.11.1 智能智能 icic 卡的作用和地位

12、卡的作用和地位隨著社會的進步和現代化程度的不斷提高,人類所擁有的信息種類和數量都在成倍增加,人們每天都要處理許多與個人有關的信息,如購物、打電話、交水費、電費、燃氣費、到銀行存款取款等,這樣就需要攜帶多種票證、現金、單據,給人們帶來極大的不便和不安全感。于是,人們開始尋求一種具有支付、查詢、密碼查驗等多功能及攜帶方便、安全可靠的“卡” 。ic 卡就是隨著計算機技術、微電子技術和信息化技術的發展應運而生的一種現代社會重要的信息載體和交易工具。ic 卡又被稱為集成電路卡(integrated circuit card),它是將集成電路芯片鑲嵌于塑料基片之中,并被封裝成卡片的形式,其外形與普通信用卡

13、完全相同,尺寸大小符合 iso7816 標準。ic 卡具有突出的 3s 特點,即 standard(國際標準化)、smart(靈巧智能化)和 security(安全性)。因而發展迅速,被廣泛地應用于移動數據計算場合,如銀行、電信、交通、廣播電視、公用事業等領域。ic 卡不僅改進了現有多種卡的使用方法和功能作用,它還不斷開創新的應用領域。雖然 ic 卡本身并不創造任何價值,但是,如果將 ic 卡和其它設備組成系統就能夠提供非常豐富的服務功能。把這些功能與生產或流通領域有機地結合起來,將出現令人意想不到的奇跡,創造出巨大的經濟和社會效益。我國的金融和非金融產業部門都己認識到發展 ic 卡產業對加速

14、我國國民經濟信息化的重大作用。因此,與國外有關公司合作,引進制卡、讀卡設備及應用的先進技術,成立了有關集團、公司、以加速我國應用和發展 ic 卡的應用和發展。 在國際上不少國家由于受到當時歷史條件和技術發展的限制,都是先發展磁卡,其中大多數國家磁卡己發展得相當普遍,擁有數量龐大的磁卡應用設備,若要將其完全改造成 ic 卡讀寫設備將是相當困難的。此外,伴隨著使用磁卡犯罪現象的日趨嚴重,采用 ic 卡已成為勢在必行的潮流。ic 卡可以最有效地杜絕惡性透支,便于正常用款、存款,其內部有各種安全措施,可免除偽造,它無須計算機網絡的實時支持,可脫機作業,還可以實現一卡多用。因此普遍受到人們的贊譽和青睞,

15、根據我國國情,我們沒有必要也不應該重復走國外的老路,而應盡快開發適用于我國的 ic 卡。1993 年 6 月,政府提出了全民推行使用信用卡,以減少大量的現金流通,加強國家對經濟的宏觀調控,實施以“電子貨幣”工程為重點啟動的卡基礎應用系統工程,即“金卡”工程。有關專家預計,ic 卡必將在世界范圍內逐步取代磁卡等卡種,在金融、電信、保險、公共福利事業等領域大量的應用,并正在我國實施的“金卡”工程中扮演著重要角色。1.21.2 研制智能研制智能 icic 卡煤氣表控制裝置的目的和意義卡煤氣表控制裝置的目的和意義ic 卡的使用與其應用系統是密切相關的。一方面,采用 ic 卡可以使系統的運作更富創造性,

16、另一方面,應用系統又會不斷地對 ic 卡提出新的要求,促使其功能更加完善。因此,怎樣把 ic 卡與實際應用有機地結合起來,充分發揮ic 卡的優越性,一直是 ic 卡技術的一個重要課題,智能 ic 卡燃氣表控制系統就是 ic 卡技術的一種實際應用。 我國大規模發展燃氣化工程是從七十年代開始的,與世界發達國家相比,不論是從燃氣普及率上,還是從燃氣的計量、收費和管理上,都有很大的差距。更突出的問題是,我國燃氣化工程一次性投資很大,燃氣經營多處于微利潤或虧損,除了政策性虧損外,其中計量供銷差和收費管理漏洞是各地煤氣公司普遍存在的重要虧損原因。所以國家每年要投入大量資金來彌補虧損,這就給國家增加了相當大

17、的負擔,也使城市燃氣事業的自身發展缺乏活力。目前,隨著國家開發大西北“西氣東輸”計劃的正式啟動,對燃氣管理的進一步規范提出了更高的要求。此外,國家的“金卡工程” 的深入開展為新型的智能 ic 卡預付費燃氣表的研制提供了十分廣闊的應用前景。我國各地已研制了電子卡、磁卡、光卡和 ic 卡的智能燃氣表,這些技術的共性就是把卡作為信息載體,作為“開”表的鑰匙。因為 ic 卡除了在價格上暫時比其它幾種卡稍貴一些(光卡除外),ic 卡的技術性能等指標均高于其它卡。鑒于 ic 卡的優點,ic 卡與燃氣表的結合是未來發展的一種趨勢。隨著 ic 卡技術的不斷發展以及國內相關行業服務意識的提高,在與居民用戶日常生

18、活相關的計量表計中使用 ic 卡技術己經得到了迅速的推廣和廣泛的應用。目前在電表、水表、燃氣表及暖氣熱力表中都開始采用 ic 卡作為抄表收費、控制以及數據管理的媒介,使得 ic 卡表已經成為當前國內應用技術發展的一個亮點。此外,從燃氣表的管理模式和收費方式上看,我國采用智能 ic 卡燃氣表裝置是可行的。1.31.3 icic 卡在中國的應用與發展卡在中國的應用與發展我國的信用卡正跳過磁卡發展階段而直接進入 ic 卡時代,國內先后組建華旭、華鑫集團公司等,出現了一批科研及生產、經營單位。96 年 10 月,國內第一張用芯片設計、研制到卡片制作生產全部國產化的中華 ic 卡順利通過技術鑒定,哈爾濱

19、工業大學微電子中心與航天金卡電子公司聯合研制成功的 hwz201 型 ic 卡也在 96 年年底鑒定,該邏輯加密型 ic 卡芯片用 1 微米以 cmos 與eeprom 工藝小批量生產,據稱一年內可提供 10 萬張 ic 卡。另外,上海貝嶺微電子有限公司也從美國引進了 1.2 微米 eeprom 關鍵技術,制造 ic 卡芯片。目前,國內引進 ic 卡后部裝配生產線較多,它們采用國外芯片,生產能力未充分發揮,97 年研制出加密算法,ic 卡操作系統 cos,著手開發智能 ic 卡,其 cpu芯片擬先用國外芯片,而操作系統采用國產的,國內 ic 卡應用市場發展迅猛,截止 98 年 6 月,7 家銀

20、行共有發卡機構 2023 個,發卡量 2040 萬張,存款余額670 多億元,特約商戶 18 萬多家,取現網點 24 萬多個,自動柜員機 atm 7 萬多臺。目前國內 ic 卡的應用已跳出單一的銀行業務與傳統的信用功能,與其它產業聯袂發展,它的付費功能,可用于交電費、水費、燃氣費、電話費、車船費,甚至醫療費、保險費、納稅等。我國目前正按多種使用要求開發 ic 卡新品種,以便最大限度地發揮 ic 卡的各種功能和作用。第第 2 2 章章 智能煤氣表硬件的設計智能煤氣表硬件的設計2.12.1 硬件總體結構硬件總體結構at89c51at24co2(1)at24co2(2)濃度檢測電路計量機構脈沖發生報

21、警顯示電路電機驅動電路閥門電源切換電路 圖 2-1 硬件總體結構如圖 2.1 所示,系統采用了 at89c51 單片機作為核心,ic 卡采用了at24co2 卡,其中 at24co2(1)為 ic 卡內存儲芯片,at24co2(2)中存儲用戶信息。濃度檢測電路、計量機構、報警顯示電路、電源切換電路、電器驅動電路等構成了煤氣表系統。2.22.2 at89c51at89c51 單片機簡介單片機簡介2.2.12.2.1 at89c51at89c51 的引腳結構的引腳結構從應用的角度來看,at89c51 單片機具有集成度高、系統結構簡單、系統擴展方便、可靠性高、處理功能強、處理速度高、容易產品化等特點

22、。圖 2.2是 at89c51 雙列直插封裝方式的引腳結構圖。at89c51 運用了 atmel 公司的高密度非易失存儲器技術,與工業標準的80c51 的指令和管腳排列兼容。芯片內可下載的 flash 存儲器可通過 spi 串行接口或通過通用的非易失存儲器編程器對其進行系統內的重新編程。通過將可下載的 flash 存儲器與通用的 8 位 cpu 相結合,at89c51 成為一種許多嵌入式應用系統中低成本,靈活性好的單片機。如圖 2-2。 圖 2-2 at89c51 單片機引腳配置圖其主要特點如下:與 mcs-51 產品兼容,4k 字節可系統內重復編程的 flash eprom,128 字節的內

23、部 ram,操作電壓為 4v 至 6v,32 路可編程 i/o,2 個 16位計數器/定時器,5 個中斷源,可編程的 uart 串行接口。下面分別敘述這些引腳的功能:(1)電源:at89c51 單片機正常工作時,其 40 腳(vcc)接+5v 電源,20 腳(vss)接地。(2)外接晶體引腳 xtal1,xtal2。xtal1 接外部晶體的一個引腳。在單片機內部,它是構成片內振蕩器的反相放大器的輸人端。當采用外部振蕩器時,該引腳接收振蕩器的信號,即把此信號直接接到內部時鐘發生器的輸人端。xial2 接外部晶體的另一個引腳。在單片機內部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,此引

24、腳應懸浮不連接。(3)控制或與其他電源復用引腳 rst;ale/prog;和/vpp。psenearst 復位輸人端。當振蕩器運行時,在該引腳上出現兩個機器周期的高電平將使單片機復位。ale/;當訪問外部存儲器時,ale 地址鎖存允許的輸出用于鎖存地址prog的低位字節。即使不訪問外部存儲器,ale 端仍以不變的頻率輸出。此頻率為振蕩器頻率的 1/6 周期性地出現正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。然而要注意的是:每當訪問外部數據存儲器時,將跳過一個ale 脈沖。在對 flash 存儲器編程期間,該引腳還用于輸入編程脈沖 prog。如果需要的話,通過對專用寄存器 sfr

25、區中 8eh 單元的 d0 位置數,可禁止 ale 操作。該位置數后,只有在執行一條 movx 或 movc 指令期間,ale 才會被激活。另外,該引腳會被微弱拉高,單片機執行外部程序時,應該設定禁止 ale 位為無效。程序存儲允許,輸出是外部程序存儲器的讀選通信號。當 at89c51psen由外部程序存儲器取指令時,每個機器周期兩次 psen 有效即輸出 2 個脈沖。但在此期間內,每當訪問外部數據存儲器時,這兩次有效的 psen 信號將不出現。/vpp 外部訪問允許端。要使 cpu 只訪問外部程序存儲器地址為 00c0h-eaffffh 則端必須保持低電接到 gnd 端。然而要注意的是,如果

26、保密位 lbi 被ea編程,復位時在內部會鎖存 ea 端的狀態。當端保持高電平(接 vcc 端)時,eacpu 則執行內部程序存儲器中的程序。在 flash 存儲器編程期間,該引腳也用于施加 12v 的編程允許電源 vpp(如果選用 12v 編程) 。(4)輸人/輸出引腳 p0.0-p0.7,p1.0-p1.7,p2.0-p2.7,p3.0-p3.7。1.p0 口p0 口是多功能口,即可作為地址/數據總線使用,又可作為普通 i/o 口使用。p0 口作為地址/數據總線時,控制線為高電平,用來輸出外存儲器地址的 8 位d0d7,因此 p0 口進行分時復用操作。p0 端口是一個 8 位漏極開路型雙向

27、 1/0 端口。作為輸出口用時,每位能以吸收電流的方式驅動 8 個 ttl 輸人,對端口寫 1 時,又可作高阻抗輸人端用。在訪問外部程序和數據存儲器時,它是分時多路轉換的地址(低 8 位)數據總線,在訪問期間激活了內部的上拉電阻。在 flash 編程時,p0 端口接收指令字節;而在校驗程序時,則輸出指令字節。驗證時,要求外接上拉電阻2.p1 口pl 口是一個帶有內部上拉電阻的 8 位雙向 i/0 端口。pl 口的輸出緩沖器可驅動 4 個 ttl 輸人。對端口寫 1 時,通過內部的上拉電阻把端口拉到高電位,這時可用作輸人口。pl 口作輸人口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會

28、輸出一個電流 iil。在對 flash 編程和程序校驗時,pl 口接收低 8 位地址。3.p2 口p2 口是一個帶有內部上拉電阻的 8 位雙向 i/0 端口。p2 口的輸出緩沖器可驅動吸收或輸出電流方式)4 個 ttl 輸人。對端口寫 1時,通過內部的上拉電阻把端口拉到高電位,這時可用作輸人口。p2 作輸人口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流iil。在訪問外部程序存儲器和 16 位地址的外部數據存儲器時,如執行 movx dptr 時,p2 口送出高 8 位地址。在訪問 8 位地址的外部數據存儲器時,如執行movx r1 指令時,p2 口引腳上的內容就是專用寄

29、存器 sfr 區中 p2 口寄存器的內容,在整個訪問期間不會改變。在對 flash 編程時和程序校驗期間,p2 口也接收高位地址和一些控制信號。4.p3 口p3 口是一個帶內部上拉電阻的 8 位雙向 1/0 端口。p3 口的輸出緩沖器可驅動(吸收或輸出電流方式)4 個 ttl 輸人。對端口寫 1 時,通過內部的上拉電阻把端口拉到高電位,這時可用作輸人口。p3 口作輸人口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流 iil。p3 口也是準雙向口,在作第二功能使用時,相應的口鎖存器必須為“1” 。對并行口進行讀寫時有兩種操作:一是鎖存器,二是讀引腳。1讀引腳的指令是絕大部分

30、的并行口作為操作數的數據指令。2讀鎖存器指令執行器如下操作,讀入鎖存器的值,改寫,然后再寫入。在 at89c51 中,p3 端口還有一些復用功能。復用功能如表 2-1 所列。表表 2-12-1 p3p3 各端口引腳與復用功能表各端口引腳與復用功能表端口引腳復用用能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2int0(外部中斷 0)p3.3int1(外部中斷 1)p3.4t0(定時器 0 的外部輸入)p3.5t1(定時器 1 的外部輸入)p3.6wr(外部數據存儲器寫選通)p3.7rd(外部數據存儲器讀寫通)2.2.22.2.2 內部結構內部結構at89c51 單片機內部集成

31、口多達 8 個部件:1.數據存儲器(ram):片內為 128 個字節(單元) ,片外最多可擴展至 64k 字節2.程序存儲器(rom/eprom):有 4k 的 eprom。3.中斷系統:有 5 個中斷源,兩個中斷優先級4.定時器/計數器:兩個 16 位的定時/計數器,具有四種工作方式。5.串行口:1 個全雙工的串行口,具有四種工作方式。6.p0 口、p1 口、p2、p3 口:為 4 個并行的 8 位 i/o 口。7.特殊功能寄存器(sfr):共有 21 個,用于對片內各個功能模塊進行管理、控監視。實際上是一些控制寄存器和狀態寄存器,是一個特殊功能的 ram 區域。8.處理器(cpu):為 8

32、 位的 cpu,而且內含一個位處理器,不僅可以處理字節數據,還可以進行多位變量的處理。2.2.32.2.3 外圍電路外圍電路1.復位電路通過某種方式,使單片機內各寄存器的值變為初始狀態的操作稱為復位。為使單片機正常工作,必須保證良好的復位。復位可分為上電復位和外部復位兩種方式。123456abcd654321dcbatitlenumberrevisionsizebdate:19-jun-2005sheet of file:c:docum ents and settingsadministrator圖圖圖ba ckup11.ddbdrawn by:30pf30pf12mh zxtal 2xtal

33、 1上電復位是指單片機在接通電源時對單片機復位,外部復位可由外部脈沖復位或由手動復位。本系統采用上電復位方式。復位電路如圖 2-3。 上電瞬間,由于電容 c 兩端電壓不能突變,所以電容正極電壓為低,單片機 reset 腳保持高電平。隨著電容正極電壓的逐漸上升,reset 腳的電壓逐漸下降。只要合理選擇 r、c 的值使 reset 腳上高電平的保持時間超過兩個機器周期,就可以使單片機可靠復位。2.時鐘電路單片機的定時控制功能是用片內的時鐘電路和定時電路來完成的,而片內的時鐘產生有兩種方式:內部時鐘方式和外部時鐘方式。本課題采用內部時鐘方式(如圖 2-4 所示),片內高增益反相放大器通過xtali

34、 和 xtal2 外接作為反饋元件的晶體(呈感性)與電容組成的并聯諧振回路構成一個自激振蕩器向內部時鐘電路提供振蕩時鐘。at89c51 工作的時鐘頻率范圍為 0 到 24mhz.本課題選擇 12mhz 的石英晶振與 30pf 的電容構成并聯諧振電路。圖 2-3 復位電路圖 2-4 時鐘電路1a2ao78gnda123654vccscltestsda2.32.3 at24c02at24c02 的應用的應用2.3.12.3.1 at24cxxat24cxx 介紹介紹at24cxx 系列采用低功耗 coms 工藝制造,內部設有高壓泵電路,可以單電壓工作,具有擦除/寫入 10 萬次和數據保留 100

35、年的高可靠性,提供雙線串行接口,支持 iso/ice78163 同步協議,便于與各種微機系統進行接口,使用方便。另外,對存儲器在芯片中的數據,還可通過軟件的方法利用各種算法進行加密處理,從而提高安全性,擴大器件的應用范圍。at24cxx 含 24c01/24c02/24c04/24c08/16,它們分別提供 1k/2k/4k/8k/16k位串行 e2prom,內部組態為 128/256/512/20488 位,支持 8 字節(1k,2k) 、16 字節(4k,8k,16k)頁面寫入方式。如將這些芯片的輸入地址引腳 a2、a1和 a0 按照表 2-2 所示進行硬件接地后,便可用于 ic 卡中。表

36、表 2-22-2 at24cxxat24cxx 用于用于 icic 卡的硬件連接卡的硬件連接at24cxx0102040816接地引腳a2,a1,a0a2,a1.a0a2,a1a2無2.3.22.3.2 at24c02at24c02 的簡介的簡介1.at24c02 引腳簡介,如圖 2-5。(1)a2,a1,a0 接地引腳(2)gnd 模擬地(3)sda 數據引腳(4)scl 時鐘引腳(5)vcc 電源引腳(6)test 測試端 圖 2-5 at24c02 引腳圖2.at24c02 的卡模塊觸點(圖 2-6)及功能設置(表 23) 。圖 2-6 卡模塊觸點圖表表 2 23 3 功能設置功能設置

37、引腳 卡觸點 符號 功能 1 c1 vcc 操作電壓 5v 2 c2 nc 復位 3 c3scl 串行時鐘線 4 c4 nc 未用5 c5 gnd 地 6 c6 nc 未用 7 c7 sda 串行數據線 8 c8 nc 未用3.at24c02 卡工作狀態at24c02 卡工作時的總線時序如圖 2-7 所示。scl 和 sda 兩總線平時通過一個電阻上拉為高電平,sda 總線上的數據僅在 scl 低電平時間周期內可能改變。scl 高電平周期期間數據的改變表示“開始”或“停止”兩種狀態:當 scl 處于高電平時,sda 由高電平轉向低電平表示一個“開始”狀態必須在其他操作之前執行,而“停止”狀態則

38、終止所有操作。除了以上兩種狀態外,at24c02卡與外界的通訊還需要另外一個狀態,那就是“確認(ack) ”:總線上的任何接收數據設備必須將 sda 總線置于低電平以確認它成功的收到了每個字節(所有的地址和數據都是以 8 位碼串行輸入、輸出 at24c02 卡) ,該確認是在每個字節之后,第九個時鐘周期時發生。at24c02 卡也通過在收到每個地址或數據碼之后置 sda 于低電平的方式確認。為了正確地訪問 at24c02 卡,外部數據傳送設備必須在發出“開始”狀態之后,隨即給出一個 8 位地址碼,稱為器件尋址碼。該碼高四位為 1010,這在 at24c02 系列所有芯片中都是一樣的。接下來 3

39、c1c7c8c6c5c4c3c2vccncsdancgndncsclnc位依次是 a2,a1 和 a0,它們與芯片各自的輸入地址引腳硬件連接相對應,未作硬件連接的引腳所對應位用于頁面尋址。最后 1 位是讀、寫操作選擇位,該位為 0(低電平)時激發寫操作,為 1(高電平)時激發讀操作。4.at24c02 的讀寫方法at24c02 具有寫字節和寫頁面兩種寫操作方式。圖 2-8 所示為寫字節方式,該方式在器件尋址和確認之后跟隨一個數據尋址碼,卡片在收到該尋址碼后通過sda 發出確認,并隨時鐘輸入 8 位數據碼,同樣,收到數據之后卡片再次發出確認,數據傳送設備必須用停止狀態來終止寫操作。這時,卡片進入

40、一個內計時固定存儲器寫入周期,在該寫周期內,所有輸入都被禁止,直至寫操作完成。圖 2-7 at24c02 卡總線時序at24c02 的讀操作分為立即地址讀取、隨機地址讀取和順序地址讀取三種方式。隨機讀取方式式需要一個“空”字節序列來加載數據地址,一旦器件尋址碼和數據尋址碼隨時鐘輸入,并被確認,傳送設備必須產生另一個開始狀態。通過送出一個讀、寫選擇位處于高電平的器件尋址碼去激發一次立即尋址讀取,卡片確認器件地址,并隨時鐘串行輸出數據。數據的讀取不通過確認應答,而通過產生一個停止狀態來應答。 圖 2-8 寫字節操作2.3.32.3.3 i i2 2c c 總線特性的簡介總線特性的簡介i2c 雙向二

41、線制串行總線協議定義:只有在總線處于“非忙”狀態時,數據傳輸才能被初始化。在數據傳輸期間,只要時鐘線為高電平,數據線都必須保持穩定,否則數據線上的任何變化都被當作“啟動”或“停止”信號。i2c 串行總線支持所有 nmos、cmos, 工藝制造的器件,通過兩根線(sda-串行數據線,scl串行時鐘線)再連接到總線之間傳遞信息,根據地址識別每個器件,根據器件的功能可以工作在發送接收方式,對于發送器和接收器而言,在進行數據傳遞時可以認為時主器件或從器件。主器件是啟動在總線上傳的數據并產生時鐘信號以允許傳送的器件,這時能尋址的器件即認為時從器件。1.總線非忙狀態(a 段):數據線 sda 和時鐘線 s

42、cl 都保持高電平。2.啟動數據傳輸(b 段):當時鐘總線 scl 為高電平狀態時,數據線 sda由高電平變為低電平的下降沿被認為時“啟動”信號。只有出現“啟動”信號以后,其他的命令才有效。3.停止數據傳輸(c 段):當時鐘線scl 為高電平狀態時,數據線 sda由低電平變為高電平的上升沿被認為時“停止”信號。隨著“停止”信號的出現,所有的外部操作都結束。4.數據有效(d 段):在出現“啟動”信號以后,在時鐘線為高電平時數據線是穩定的,這是數據線的狀態就表示要傳送的數據。數據線上的數據改變必須在時鐘線為低電平期間完成,每位數據占一個時鐘脈沖寬度。每個數據的傳輸都是由“啟動”信號開始,結束語“停

43、止”信號。在“啟動”與“停止”信號之間傳輸的數據字節數由微機處理機確定,并且從理論上設字節數沒有限制。起始(s) ,停止(p)都是由 scl 高電平期間 sda 的跳變決定的。sda 電平下拉時啟動 i2c 總線,上拉時停止使用總線。在啟動 i2c 總線后,對應 scl 高電平期間 sda 上的數據有效,對應 scl 低電平期間允許 sda 上的數據更迭。5.應答信號:每個正在接收數據的 e2prom 在接到一個字節的數據后,通常需要發出一個應答信號,微處理機必須產生一個與這個應答相聯系的額外的時鐘脈沖。在應答時鐘脈沖周期內,時鐘脈沖為高電平,數據線必須下拉成穩定的低電平。微處理機對 e2pr

44、om 完成的最后一個字節不產生應答位,但是應該給e2prom 一個結束信號。在這種情況下,e2prom 應該結束數據線的高電平狀態,而使微處理機能夠產生“停止”信號。但是,如果正在進行內部定時編程周期,那么將不產生應答位。2.3.42.3.4 at24c02at24c02 在智能煤氣表中的應用在智能煤氣表中的應用at24c02(1)為 ic 卡內存儲芯片,該芯片是一種具有 i2c 總線結構的串行e2prom,容量為 256 字節。用氣前,用戶持卡向煤氣公司購買煤氣,由煤氣公司寫卡機把所購煤氣量編碼加密后寫入 ic 卡中。然后插入家中煤氣表 ic 卡插槽內,由 at89c51 對該卡進行解碼和核

45、對工作,并讀取購氣量。卡中的密碼信息經某種算法得到且每次不同,內容完全相同的兩次插卡操作,其后面一次將被視為非法,這樣可防止通過復制 ic 卡進行竊氣的行為。同時,表內記錄的累積已耗用氣量被寫入 ic 卡中,供氣插卡時煤氣公司的計算機管理系統查對,發現累積已耗用氣量比累積購氣量大的情況,即進行調查。在插槽中插入 ic 卡時,觸動 k2 閉合,引起中斷,且 p1.5 由高變低供該中斷服務程序查詢確認是1intic 卡插入。表內非易失性內存芯片與 ic 卡內芯片一樣,即 at24c02(2) 。煤氣表中諸如累積已耗用氣量、結余氣量、購氣次數等重要數據都存在at24c02(2)中,這樣可克服由充電電

46、池長期維持 ram 中信息所潛在的不可靠性。at24c02 僅有 8 條引腳,串行通信只用兩根口線,做成 ic 卡時外界連線少,作為非易失性內存更是比采用并行 e2prom 減少許多連線,pcb 布線更簡潔,體積更小。ic 卡煤氣表中所需存取的重要數據少,且數據存儲速度要求不太高,故這種小容量的串行 e2prom 非常適用。at24c02 是 i2c 總線結構器件,這就要求 at89c51 通過編程使其 p1.0 和 p1.1 完全遵循 i2c 總線時序及 at24c02 的數據傳送格式,去分別等效串行數據線 sda 和串行時鐘線 scl,從而實現兩者的通信。2.42.4 81558155 的

47、簡介的簡介8155 芯片內具有 256 個字節的 ram,兩個 8 位、一個 6 位的可編程 i/o 口和一個 14 位計數器,與單片機的接口簡單,是單片機應用系統中廣泛使用的芯片。2.4.12.4.1 81558155 的結構的結構按照器件的功能,8155 可由下列三部分組成;1.隨機存儲部分 容量為 2568 位的靜態 ram。2.i/o 接口部分 (1)端口 a:可編程 8 位 i/o 端口 pa0pa7。 (2)端口 b:可編程 8 位 i/o 端口 pb0pb7 (3)端口 c:可編程 6 位 i/o 端口 pc0pc53.計數器/定時器部分 是一個 14 位的二進制減法計數器/定時

48、器2.4.22.4.2 81558155 的引腳及功能的引腳及功能如圖 2-9 所示,8155 具有 40 條引腳線,采用雙列直插式封裝。 圖 2-9 8155 引腳圖1.ad7ad0(8 條) ad7ad0 是地址/數據總線,與單片機的 p0 口相連,用于分時傳送地址/數據信息。2.i/o 總線(22 條)pa7pa0 為通用 i/o 線,用于傳送 a 口上的外設數據,數據傳送方向由寫入8155 命令字決定的;pb7pb0 通用 i/o 線,用于傳送 b 口上的外設數據,數據傳送方向也由 8155 命令字決定。pc5pc0 制線,共有 6 條,在通用 i/o 方式下,用作傳送 i/o 口數據

49、,在選用 i/o 方式下,用作傳送命令/狀態信息。3.控制總線(8 條)reset:復位輸入線,在 reset 線上輸入一個寬大于 600ns 的正脈沖 8155立即處于復位狀態,a、b、c 三口也定義為輸入方式。和 io/:為 8155 片選輸入線,若=0,cpu 選中本 8155 工作;否則,cemce本 8155 不工作。io/為 i/o 端口或 ram 存儲器的選通輸入線;若 io/=0,mm則 cpu 選中 8155 的 ram 存儲器工作。若 io/=1,則 cpu 選中 8155 片內某一m存儲器。和:是 8155 的讀/寫命令輸入線,為寫命令線,當=0 和rdwrrdwrrd=

50、1 時,8155 處于讀出數據狀態:當=1 和=0 時,8155 處于寫入數據wrrdwr狀態。ale:為允許地址輸入線,高電平有效,若 ale=1,則 8155 允許 ad7ad0上地址鎖存到地址鎖存器;否則,8155 的地址鎖存器處于封鎖狀態。timerin 和:timerin 是計數器輸入線,輸入的脈沖上跳沿用timerout于對 8155 片內的 14 位計數器減 1,為計數器輸出線,當 14 位的計timerout數器減為 0 時就可以在該引線上輸出脈沖或方波,輸出脈沖的形狀與所選的計數器工作方式有關。4.電源線(2 條)vcc 為+5v 電源輸入線,vss 接地。2.4.32.4.

51、3 81558155 的工作原理的工作原理 8155 的結構框圖見圖 2-10。這里主要介紹它的三組 i/o 端口電路及 14 位二進制減法器的工作原理。1.8155i/o 端口工作原理8155 的三組 i/o 端口電路的工作方式,均由可編程的命令寄存器的內容所規定,而其狀態可由讀出狀態寄存器的內容而獲得,上面已經敘述,8155 的命令寄存器和狀態寄存器分別為各自獨立的 8 位寄存器。在 8155 的器件內部,從邏輯上來說,只允許寫入命令寄存器和讀出狀態寄存器的內容。而實際上,讀命令寄存的內容及寫入狀態寄存器的操作實際不允許、也不可能實現的。因此完全可將命令寄存器和狀態寄存器的地址合用一個地址

52、通道,以減少器件占用通道地址;同時將兩個寄存器簡稱為命令/狀態寄存器,有時以 c/s 寄存器來表示。圖 2-10 8155 結構框圖 (1) 8155 的命令字格式。命令寄存器由 8 位組成,每一位都能鎖存。其中低 4 位(03)用來定義 pa、pb 和 pc 口的工作方式;當 pc 用作控制 pa 或pb 端口工作時,第 4、5 兩位分別用來允許和禁止 pa 和 pb 的中斷;而最高兩位(第 6、7 兩位)則用來定義計數器/定時器的工作方式。利用輸出指令,可以把命令寄存器的各位編碼打入其中。 (2)8155 狀態字格式。狀態寄存器為 8 位,各位均可鎖存,其中最高位為任意位,第 6 位用于指

53、定轉換接口的狀態,另一位用作指示計數器/定時器的狀態之用。通過 c/s 寄存器的操作(即用指令系統的輸入指令) ,可讀出狀態寄存器的內容。2.8155 計數器/定時器工作原理 8155 的定時器是一個 14 位的減法計數器,它能對輸入定時器的脈沖進行計數,在達到最后計數值時,有一個矩形波或脈沖輸出。為了對定時器進行程序控制,首先裝入計數長度。由于計數長度為 14 位,因每次裝入長度只能是 8 位,所以必須分兩次裝入。裝入計數長度寄存器的值為2h3ffh。而第 14、15 位用來規定定時器的輸出方式。2568靜態ramabc計時器pa0-pa7pb0-pb7pc0-pc5mio/cerdwrti

54、merouttimerinrestalead0-ad7應該注意,硬件復位信號的到達,會使 8155 計數器停止計數,只有 c/s 寄存器發出啟動定時器命令為止。單片機可以和 8155 直接連接,不需要任何外加電路,對系統增加 256 個字節的 ram、22 位 i/o 線及一個計數器。在同時需要擴展 ram 和 i/o 口及計數器的單片機應用系統中選用 8155 時特別經濟的。8155i/o 口可以外接打印機、a/d、d/a、鍵盤等控制信號的輸入輸出。8155 的定時器可以作為分頻器或定時器。2.52.5 ledled 顯示電路的設計顯示電路的設計 單片機應用系統中,顯示器是最常用的輸出設備。

55、特別是 led(發光二極管顯示器)和 lcd(液晶顯示器) 。這兩種顯示器成本低廉,配置靈活,與單片機接口方便。本設計采用的是 led 顯示電路。2.5.12.5.1 ledled 顯示器結構與原理顯示器結構與原理led 顯示塊是單片機應用產品中常用的廉價輸出設備。它是由發光二極管顯示字段的顯示器件,在單片機應用系統中通常使用的是七段 led 數碼管。當發光二極管導通時,相應的一個點或一段發光,控制不同組合的二極管導通,就能顯示出各種字符。這種顯示塊有共陰和共陽兩種接法,如圖 2-11 所示。共陰極 led 顯示塊的發光二極管陰極共地,如圖中(a)所示當某個發光二極管的陽極為高電平時,發光二極

56、管點亮。共陽極 led 顯示快的發光二極管陽極并接,如圖中(b)所示。7 段發光二極管再加上一個小數點位,共計 8 段。七段顯示塊與單片機接口非常容易。只要將一個 8 位并行輸出口與顯示快的發光二極管引腳相連即可。8 位并行輸出口輸出不同的字節數據即可獲得不同的數字或字符。通常將控制發光二極管的 8 位字節數據稱為段選碼。共陽極與共陰極的段選碼互為補償。 123456abcd654321dcbatitlenumberrevisionsizebdate:21-jun-2005sheet of file:c:documents and settingslenovo圖圖datu3.ddbdrawn

57、by:abcdefgdpabcdefgdpvcc123456abcd654321dcbatitlenumberrevisionsizebdate:21-jun-2005sheet of file:c:documents and settingslenovo圖圖datu3.ddbdrawn by:abfcgdedpy1234567abcdefg8dpdpds?dpy_7-seg_dp(a) (b) (c)(a)共陰極 (b)共陽極 (c)管腳配置圖 2-11 七段 led 顯示器 2.5.22.5.2 ledled 顯示器與顯示方式顯示器與顯示方式在單片機應用系統中使用 led 顯示塊構成 n

58、位 led 顯示器。n 位 led 顯示器有 n8 根段選線。根據顯示方式不同,位選線與段選線的連接方法不同。段選線控制字符選擇,位選線控制顯示位的亮、暗。led 顯示器有靜態顯示和動態顯示兩中方式。1.led 靜態顯示方式 led 顯示器工作在靜態顯示方式下,共陰極或共陽極連接在一起接地或+5v;每位的段選線(adp)與一個 8 位并行口相連。如圖 2-12 所示該圖表示了一個四位靜 led 顯示電路。該電路每一位可獨立顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應的顯示字符。由于每一位由一個 8 位輸出口控制段選碼,故在同一時間里每一位顯示的字符可以不同。n 位靜態顯示器要求由

59、 n8 根 i/o 口線,占用 i/o 資源較多,故在位數多時往往采用動態顯示方式。 圖 2-12 四位靜態 led 顯示電路2.led 動態顯示方式123456abcd654321dcbatitlenumberrevisionsizebdate:21-jun-2005sheet of file:c:documents and settingslenovo圖圖datu3.ddbdrawn by:abfcgdedp y1234567abcdefg8dpdpabfcgdedp y1234567abcdefg8dpdpabfcgdedp y1234567abcdefg8dpdpabfcgdedp y

60、1234567abcdefg8dpdp在多位 led 顯示時,為了簡化電路,降低成本,將所有位的段選線并聯在一起,由一個 8 位 i/o 口控制,而共陰極點或共陽極點分別由相應的 i/o 口線控制。圖 2-13 就是一個 8 位 led 動態顯示器電路。圖 2-13 八位 led 動態顯示器電路八位 led 動態顯示器電路只需要兩個 8 位 i/o 口。其中一個控制段選碼,另一個控制位選。由于所有的段選碼皆有一個 i/o 控制,因此,八位 led 只可能顯示相同的字符。要想每位顯示不同的字符,必須采用掃描方式。即在每一瞬間只使某一位顯示相應字符。在此瞬間,段選控制 i/o 輸出相應字符段選碼,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論