畢業(yè)設(shè)計畢業(yè)論文基于單片機的水箱控制系統(tǒng)杜海波.doc_第1頁
畢業(yè)設(shè)計畢業(yè)論文基于單片機的水箱控制系統(tǒng)杜海波.doc_第2頁
畢業(yè)設(shè)計畢業(yè)論文基于單片機的水箱控制系統(tǒng)杜海波.doc_第3頁
畢業(yè)設(shè)計畢業(yè)論文基于單片機的水箱控制系統(tǒng)杜海波.doc_第4頁
畢業(yè)設(shè)計畢業(yè)論文基于單片機的水箱控制系統(tǒng)杜海波.doc_第5頁
免費預(yù)覽已結(jié)束,剩余30頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本科生畢業(yè)設(shè)計 基于單片機的水箱控制系統(tǒng)的設(shè)計 獨 創(chuàng) 性 聲 明本人鄭重聲明:所呈交的畢業(yè)論文(設(shè)計)是本人在指導(dǎo)老師指導(dǎo)下取得的研究成果。除了文中特別加以注釋和致謝的地方外,論文(設(shè)計)中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果。與本研究成果相關(guān)的所有人所做出的任何貢獻(xiàn)均已在論文(設(shè)計)中作了明確的說明并表示了謝意。簽名: 年 月 日授 權(quán) 聲 明本人完全了解許昌學(xué)院有關(guān)保留、使用本科生畢業(yè)論文(設(shè)計)的規(guī)定,即:有權(quán)保留并向國家有關(guān)部門或機構(gòu)送交畢業(yè)論文(設(shè)計)的復(fù)印件和磁盤,允許畢業(yè)論文(設(shè)計)被查閱和借閱。本人授權(quán)許昌學(xué)院可以將畢業(yè)論文(設(shè)計)的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存、匯編論文(設(shè)計)。本人論文(設(shè)計)中有原創(chuàng)性數(shù)據(jù)需要保密的部分為(如沒有,請?zhí)顚憽盁o”): 簽名: 年 月 日指導(dǎo)教師簽名: 年 月 日摘 要在過去,大量的水箱操作是由相應(yīng)的人員進(jìn)行的,這樣的人工方式帶來了很大的弊端,比如水位的控制,時刻監(jiān)控水箱的環(huán)境,夜間的監(jiān)控等等,操作員稍有疏忽,或者簡易的監(jiān)測器件損壞,將帶來無法彌補的損失,更嚴(yán)重的甚至?xí)C到生產(chǎn)人員的人身安全等。所以,對水箱控制,如果能夠使用精密的而且完全會嚴(yán)格按照生產(chǎn)規(guī)定運行的自動化系統(tǒng),可以最大限度的避免事故發(fā)生的幾率,同時也能節(jié)省資源并能有效提高生產(chǎn)效率。本單片機系統(tǒng)設(shè)計的目的是應(yīng)用單片機控制技術(shù),以AT89S51單片機為核心控制水箱的水位,并實現(xiàn)了報警和手動、自動切換功能。該系統(tǒng)操作方便、性能良好,比較符合電廠生產(chǎn)用水系統(tǒng)控制的需要。關(guān)鍵詞:單片機;水位;控制;報警ABSTRACTIn the past, many of the tanks are operated by the staff to operate, so that artificial means a lot of drawbacks, such as the water level control, water tanks at all times to monitor the environment, and so on the night of monitoring, the operator slightly negligence, or damage to the Summary of the monitoring device will bring irreparable damage will be even more serious crisis in production, such as the personal safety of staff. Therefore, control of water tanks, if the use of sophisticated and can totally be run in strict accordance with the provisions of the automated production system that can maximize the chances of avoiding accidents, but also save resources and can effectively improve the efficiency of production. The purpose of single-chip system design is the application of single-chip control technology, to 8051 as the core to control the water level in water tanks, and implementation of the alarm and manual, automatic switching function. The system is easy to operate, good performance, more in line with the power to control the production of the necessary water system.Keywords: Single-chip; level ;Control ;Alarm目 錄 1 緒論11.1 水箱控制系統(tǒng)的研究意義11.2 設(shè)計的主要內(nèi)容12 AT89S51單片機水箱控制系統(tǒng)原理22.1 水箱給水設(shè)備系統(tǒng)原理22.2 AT89S51單片機控制系統(tǒng)原理22.2.1 單片機控制部分結(jié)構(gòu)說明22.2.2 AT89S51單片機水箱控制系統(tǒng)工作原理32.3 AT89S51水箱控制系統(tǒng)主控原理32.4 給水泵電機主控回路43 AT89S51單片機水箱控制系統(tǒng)硬件設(shè)計53.1 AT89S51單片機引腳功能介紹53.2 AT24C1024芯片結(jié)構(gòu)及引腳說明83.2.1 AT24C1024各引腳描述93.2.2 基于AT89S51的AT24C02 I2C總線113.3 水箱控制系統(tǒng)主控硬件設(shè)計143.4仿真結(jié)果154 系統(tǒng)的軟件設(shè)計164.1程序概要設(shè)計164.2 系統(tǒng)程序原理164.2.1主程序設(shè)計164.2.2自動模式子程序設(shè)計164.2.3 手動模式子程序設(shè)計175 總 結(jié)20參考文獻(xiàn)21附 錄22致 謝301 緒論1.1 水箱控制系統(tǒng)的研究意義在人們的日常生活和工業(yè)生產(chǎn)中,水箱中水位的高低由人員進(jìn)行控制,不僅浪費人力又會造成不必要的資源浪費。目前,AT89S51單片機在工業(yè)檢測領(lǐng)域中得到了廣泛的應(yīng)用,本方案就是利用單片機對水位檢測得到的信息進(jìn)行控制,實現(xiàn)對水箱水位的自動控制,從而避免水資源的浪費,節(jié)約能源,大大提高生產(chǎn)效率。1.2 設(shè)計的主要內(nèi)容本論文主要研究水箱水位控制器系統(tǒng)。以AT89S51單片機為核心控制水箱的水位,實現(xiàn)水位報警和手動、自動切換功能。主要內(nèi)容如下:當(dāng)水箱水位低時,啟動M1、M2給水,水位上升到90%,停M1.當(dāng)水箱水位低于50%時,同時啟動M1、M2,當(dāng)水位上升到50%以上75%以下時,停M2,M1繼續(xù)運行到水位上升到90%才停止工作。當(dāng)水位高于90%的時候,由傳感器經(jīng)變送器發(fā)送信號,LG閉合,系統(tǒng)水位高報警。當(dāng)水位低于75%的時候,由傳感器經(jīng)變送器發(fā)送信號,LD閉合,系統(tǒng)水位低報警。當(dāng)水位低于50%的時候,由傳感器經(jīng)變送器發(fā)送信號,LDD閉合,系統(tǒng)水位低低報警。手動/自動模式轉(zhuǎn)換控制如下:全自動模式下,系統(tǒng)自動判斷水位的狀況,選擇不同的工作狀態(tài)。在手動的模式下,兩臺給水泵的運行控制可由人工自己操作。2 AT89S51單片機水箱控制系統(tǒng)原理2.1 水箱給水設(shè)備系統(tǒng)原理水箱給水設(shè)備系統(tǒng)由兩臺給水泵機組、水箱和三只浮球開關(guān)組成,其系統(tǒng)結(jié)構(gòu)如圖2-1所示。LGLDLDD水箱90%75%50%M1給水泵M2圖2-1 水箱給水系統(tǒng)結(jié)構(gòu)圖其中M1、M2為給水泵機組,LG、LD、LDD分別為水位高、水位低、水位低低浮球開關(guān),當(dāng)水位高(大于90%)時,LG閉合,當(dāng)水位低(小于75%)時,LD閉合,當(dāng)水位低低(小于50%)時,LDD閉合。2.2 AT89S51單片機控制系統(tǒng)原理AT89S51有PDIP,PLCC,TQFP三種封裝方式,其中最常見的就是采用40PIN封裝的雙列直插DIP封裝。芯片共有40個引腳P1口和P3口為輸入輸出檢測信號和控制信號。2.2.1 單片機控制部分結(jié)構(gòu)說明P1.0:水位低低輸入信號。(低0,高1)P1.1:水位低輸入信號。(低0,高1)P1.2:水位高輸入信號。(高0,低1)P1.3:手動與自動轉(zhuǎn)換輸入信號。(手動1,自動0)P1.4:M1起動KM1控制輸出信號。(手動1,自動0)P1.5:M2起動KM2控制輸出信號。(手動1,自動0)P1.6:M1開關(guān)狀態(tài)輸入信號。(開0,關(guān)1)P1.7:M2開關(guān)狀態(tài)輸入信號。(開0,關(guān)1)P3.0:水位低低報警輸出信號。P3.1:水位低報警輸出信號。P3.2:水位高報警輸出信號。P3.4:手動起動M1輸入信號,低電平有效動作。P3.5:手動起動M2輸入信號,低電平有效動作。P3.6:手動停M1輸入信號,低電平有效動作。P3.7:手動停M2輸入信號,低電平有效動作。2.2.2 AT89S51單片機水箱控制系統(tǒng)工作原理當(dāng)水箱水位低時,起動M1、M2給水,水位上升到90%,停M1;當(dāng)水箱水位低低(小于50%)時,同時起動M1、M2;當(dāng)水位上升到50%以上75%以下時,停M2,M1繼續(xù)運行到水位上升到90%以上才停止工作。經(jīng)過數(shù)據(jù)統(tǒng)計,得到以下數(shù)據(jù):水位從50%-75%,兩臺泵運行需要約10分鐘;水位從75%-90%,一臺泵運行需要約15分鐘。水箱的水位一般保持在75%-90%。報警控制如下:當(dāng)水位高于90%的時候,由傳感器經(jīng)變送器發(fā)送信號,LG閉合,系統(tǒng)水位高報警。 當(dāng)水位低于75%的時候,由傳感器經(jīng)變送器發(fā)送信號,LD閉合,系統(tǒng)水位低報警。 當(dāng)水位低與50%的時候,由傳感器經(jīng)變送器發(fā)送信號,LDD閉合,系統(tǒng)水位低低報警。 手動/自動模式轉(zhuǎn)換控制如下: 全自動模式下,系統(tǒng)自動判斷水位的狀況,選擇不同的工作狀態(tài)。 手動的模式下,兩臺給水泵的運行控制可由人工自己操作。2.3 AT89S51水箱控制系統(tǒng)主控原理 為避免電機的起停和電源波動時對電路的影響,輸入輸出均采用光電隔離。輸出通過繼電器,控制水泵機組的起停和報警。給水泵的啟停報警如圖2-2所示。+12V+5VI/O口光電耦合發(fā)光二極管光敏三極管圖2-2單片機控制水泵啟停報警圖光電隔離是半導(dǎo)體管敏感器件和發(fā)光二極管組成的一種新器件,它主要功能是實現(xiàn)電信號的傳送。輸入與輸出絕緣隔離,信號單向傳輸,無反饋影響??垢蓴_性強,響應(yīng)速度快。 工作時,把輸入信號加到輸入端,使發(fā)光管發(fā)光,光敏器件在磁光輻射下輸出光電流,從而實現(xiàn)電光點的兩次轉(zhuǎn)換。 繼電器隔離是用電信號控制繼電器的機械觸電來實現(xiàn)隔離控制。2.4 給水泵電機主控回路給水泵電機主控回路如圖2-3所示。KM1KM2M1M2圖2-3 給水電機主控回路3 AT89S51單片機水箱控制系統(tǒng)硬件設(shè)計3.1 AT89S51單片機引腳功能介紹AT89S51單片機為數(shù)據(jù)采集及處理模塊核心,它主要完成系統(tǒng)對水位高低信號是否滿足指標(biāo)的信息采集,對采集到的水位信號通過系統(tǒng)程序進(jìn)行對信號的判斷等處理,根據(jù)采集信號的不同,驅(qū)動相應(yīng)信號對應(yīng)功能的引腳來實現(xiàn)對水箱水位的控制。其結(jié)構(gòu)圖如3-1。圖3-1 AT89S51單片機結(jié)構(gòu)圖引腳說明:AT89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 AT89S51單片機是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機,片內(nèi)含4K bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價AT89S51單片機可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。 此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 1主要特性: 與MCS-51 兼容 4K字節(jié)可編程FLASH存儲器(壽命:1000寫/擦循環(huán)) 全靜態(tài)工作:0Hz-33MHz 三級程序存儲器保密鎖定 128*8位內(nèi)部RAM 32條可編程I/O口線 兩個16位定時器/計數(shù)器 6個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 2管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口只做I/O口使用。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P3口:P3口有兩個功能,P3口管腳可以是8個帶內(nèi)部上拉電阻的雙向I/O口,當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。除了作為I/O使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來設(shè)置。 I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時,把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號以完成不同的操作。這是由硬件自動完成的,1然后再實行讀引腳操作,否則就可能讀入出錯,如果不對端口置1,端口鎖存器原來的狀態(tài)有可能為0,Q端為0,Q為1,加到場效應(yīng)管柵極的信號為1,該場效應(yīng)管就導(dǎo)通對地呈現(xiàn)低阻抗,此時即使引腳上輸入的信號為1,也會因端口的低阻抗而使信號變低使得外加的1信號讀入后不一定是1。若先執(zhí)行置1操作,則可以使場效應(yīng)管截止引腳信號直接加到三態(tài)緩沖器中實現(xiàn)正確的讀入,由于在輸入操作時還必須附加一個準(zhǔn)備動作,所以這類I/O口被稱為準(zhǔn)雙向口。89S51的P0/P1/P2/P3口作為輸入時都是準(zhǔn)雙向口。RST復(fù)位信號:當(dāng)輸入的信號連續(xù)2個機器周期以上高電平時即為有效,用以完成單片機的復(fù)位初始化操作,當(dāng)復(fù)位后程序計數(shù)器PC=0000H,即復(fù)位后將從程序存儲器的0000H單元讀取第一條指令碼。 ALE/:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在沒有訪問外部存儲器時,ALE以1/6振蕩周期頻率輸出(即6分頻),當(dāng)訪問外部存儲器以1/12振蕩周期輸出(12分頻)。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PROG為編程脈沖的輸入端。:外部程序存儲器的選通信號。在由外部ROM取指期間,每個機器周期兩次/PSEN有效。但在訪問外部RAM存儲器時,兩個PSEN脈沖被跳過不會輸出。 /VPP:當(dāng)/EA保持低電平時,CPU讀取外部程序存儲器(ROM)(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,CPU讀取內(nèi)部程序存儲器(ROM)。當(dāng)讀取內(nèi)部程序存儲器超過0FFFH時自動讀取外部ROM。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 P3口的第2功能如表3-1所示。表3-1 P3口的第二功能表引腳第2功能P3.0RXD(串行口輸入端0)P3.1TXD(串行口輸出端)P3.2(部中斷0請求輸入端,低電平有效)P3.3(中斷1請求輸入端,低電平有效)P3.4T0(時器/計數(shù)器0計數(shù)脈沖端)P3.5T1(時器/計數(shù)器1數(shù)脈沖端)P3.6(部數(shù)據(jù)存儲器寫選通信號輸出端,低電平有效)P3.7(部數(shù)據(jù)存儲器讀選通信號輸出端,低電平有效)綜上所述AT89S51單片機的引腳作用可歸納為以下兩點。單片機功能多,引腳數(shù)少,因而許多引腳具有第2功能;單片機對外呈3總線形式,由P2、P0口組成16位地址總線;由P0口分時復(fù)用作為數(shù)據(jù)總線。3.2 AT24C1024芯片結(jié)構(gòu)及引腳說明EEPROM芯片是一種用電信號編程也用電信號擦除的ROM芯片,它可以通過讀/寫操作進(jìn)行逐個存儲單元的讀出和寫入,讀/寫功能與RAM存儲器相似,只是寫入慢些,但斷電后卻能保留信息。本設(shè)計采用的是AT24C1024芯片。AT24C1024提供1,048,567位的串行可電擦除只讀存儲器,它的每八位組成一個字節(jié),共131,072個字節(jié)。該設(shè)備的級聯(lián)功能允許多達(dá)2個設(shè)備共享同一條2-線總線。該設(shè)備適合用于許多工業(yè)和商業(yè),應(yīng)用必要的低功耗和低電壓的操作。該期器件可提供節(jié)省空間的8引腳PDIP,8引腳鉛SOIC封裝,8引腳無鉛陣列和8引腳球狀DBGA封裝。另外,這一系列產(chǎn)品,允許在2.7V(2.7V5.5V)下工作。工作溫度:-55+125存儲溫度:-65+150任何引腳的對低電壓:-1.0V+7.0V最大工作電壓:6.25V直流輸出電流:5.0mV其結(jié)構(gòu)圖如3-3所示。圖3-3 AT24C1024EEPROM結(jié)構(gòu)圖3.2.1 AT24C1024各引腳描述串行時鐘(SCL):SCL的輸入是在時鐘的上升沿數(shù)據(jù)進(jìn)入每個EEPROM設(shè)備和下降沿數(shù)據(jù)輸出每個設(shè)備。串行數(shù)據(jù)(SDA):SDA引腳是雙向串行數(shù)據(jù)傳輸?shù)?。這個引腳是漏極輸出的,可以與其他的漏極開路或集電極開路的設(shè)備線或器件連接。頁地址(A1):A1引腳是設(shè)備的輸入地址,它能夠通過導(dǎo)線與不兼容的設(shè)備AT24C128/256/512連接。當(dāng)A1通過硬件連接時,2個以上的1024K設(shè)備可以在同一條系統(tǒng)總線上尋址。如果A1是懸空默認(rèn)為0。寫保護(hù)(WP):硬件寫保護(hù)引腳是用來保護(hù)意外寫操作訪問全部的內(nèi)存空間。寫保護(hù)輸入引腳接地,允許正常的寫操作。如果WP接高電平至Vcc,禁止所有的寫操作訪問內(nèi)存。如果WP懸空,內(nèi)部拉低至GND,切換至Vcc之前將創(chuàng)建一個軟件寫保護(hù)功能。內(nèi)部組織:AT24C1024,1024K串行EEPROM:1024K內(nèi)部有512頁,每頁有256個字節(jié)。隨機訪問一個字地址數(shù)據(jù)需要17位數(shù)據(jù)的字地址。設(shè)備操作時鐘和數(shù)據(jù)傳輸:SDA引腳通常被外部設(shè)備拉高,SDA引腳僅在低電平時可以改變(有效性是指數(shù)據(jù)的時序圖)。SCL在高電平期間,數(shù)據(jù)變化將引起啟動和停止條件。開始條件:在SCL為高時,SDA從高到低變化時產(chǎn)生起始條件,它必須先于任何其他命令。停止條件:在SCL為高時,SDA從低至高變化時產(chǎn)生停止條件,該時序后,停止命令將放置在EEPROM的待機電源模式下。應(yīng)答:所有的地址和數(shù)據(jù)都是以8位串行方式從EEPROM輸入輸出。待機模式:AT24C1024具有低功耗代價模式,啟用條件1上電2接收到停止位以后和任何內(nèi)部操作完成。記憶恢復(fù):在協(xié)議中斷后,斷電或系統(tǒng)復(fù)位后,任何2-線部分可以按以下步驟重置:時鐘高達(dá)9次當(dāng)SLC為高時,尋找SDA的每個周期的高電平。產(chǎn)生一個開始條件設(shè)備地址1024K的EEPROM需要一個8位器件地址啟動開始條件,讀寫芯片,器件地址是強制性的,并且序列的前五位是最重要的,這點所有的2線EEPROM期間都一樣。1024K使用一個器件地址A1并允許2個器件接到同一條總線上。A1位必須連接到相應(yīng)的硬件引腳上。A1引腳使用內(nèi)部專用電路,如果A1懸空,認(rèn)為邏輯低。器件地址的第7位(P0)是內(nèi)存頁地址位,這種存儲器頁地址位是數(shù)據(jù)字地址后面最重要的位。第8位是讀/寫操作選擇位,讀操作時該位置高,寫操作時該位置低。EEPROM通過比較是自己的器件地址,將輸出于0,若不是自己的,則返回待機狀態(tài)。寫操作字節(jié)寫:選擇一個1024K存儲器的字?jǐn)?shù)據(jù)需要一個17位的地址。字地址段包括器件地址的P0位,它是最重要的字地址的最低有效位。一個寫操作需要P0位和兩個8位數(shù)據(jù)字地址按照設(shè)備地址字確認(rèn),當(dāng)接收到這個地址后,EEPROM將在第一個8位數(shù)據(jù)字時鐘后返回0,接下來接收一個8位數(shù)據(jù),返回一個0。該處理設(shè)備,如微控制器,它終止時要寫入一個停止?fàn)顟B(tài)序列。此時EEPROM進(jìn)入內(nèi)部時鐘向非易失性存儲的寫周期Twr。此時所有的輸入操作都不響應(yīng),直到寫操作完成。頁寫:1024K的EEPROM每頁能寫256個字節(jié)。啟動頁寫同字節(jié)寫一樣,只是微控制器在時鐘控制下接收第一個數(shù)據(jù)后不發(fā)送停止條件。另外當(dāng)EEPROM應(yīng)答接收到得第一個數(shù)據(jù)后,微控制器可以繼續(xù)傳輸多達(dá)256個數(shù)據(jù)字。每接收一個數(shù)據(jù)字,EEPROM需要應(yīng)答一個0.微控制器寫一個停止條件來終止頁寫。每接收到一個數(shù)據(jù)字,數(shù)據(jù)字地址的低8位自動遞增。數(shù)據(jù)字地址的高8位不變,保持存儲器頁位置。當(dāng)內(nèi)部產(chǎn)生的字地址達(dá)到了頁邊界,下一個字節(jié)將放在同一頁的開頭。如果超過256個字的數(shù)據(jù)傳輸?shù)紼EPROM,數(shù)據(jù)字地址將“滾動”,并且覆蓋以前的數(shù)據(jù)。地址“過渡”期間寫是從最后一個字節(jié)到當(dāng)前頁的第一個字節(jié)。應(yīng)答輪詢:一旦內(nèi)部時鐘寫周期開始,EEPROM禁止輸入,可以啟動應(yīng)答輪詢。這涉及到開始條件后發(fā)送器件地址,讀/寫位代表所要進(jìn)行的操作。只有在內(nèi)部寫周期已完成,EEPROM才相應(yīng)并返回0,允許讀或?qū)懖僮骼^續(xù)。讀操作讀操作同寫操作一樣,只是讀操/作選擇位要設(shè)置1,有3種讀操作:當(dāng)前地址讀,隨機地址讀和連續(xù)讀。當(dāng)前地址讀:內(nèi)部數(shù)據(jù)字地址計數(shù)器保持上次讀或?qū)懖僮骱筮f增1的地址。只有在芯片保持工作期間地址保持有效。地址“過渡”期間讀是從存儲器的最后一頁的最后一個字節(jié)到第一頁的第一個字節(jié)。一旦讀/寫選擇位設(shè)置為1,EEPROM返回應(yīng)答后,當(dāng)前地址的數(shù)據(jù)串行輸出。微控制器不響應(yīng)輸入的0,但產(chǎn)生停止條件。隨機讀:隨機讀需要一個“虛擬”字節(jié)的寫操作來獲得數(shù)據(jù)的地址。一旦器件地址和數(shù)據(jù)地址字節(jié)寫入并且EEPROM返回了應(yīng)答,微控制器必須再產(chǎn)生另外的一個開始條件?,F(xiàn)在微控制器發(fā)送一個讀/寫控制為高的設(shè)備地址,EEPROM應(yīng)答設(shè)備地址并串行輸出數(shù)據(jù)。微控制器不響應(yīng)0但產(chǎn)生一個停止條件。連續(xù)讀:連續(xù)讀由一個當(dāng)前地址或隨機地址讀啟動,微控制器收到一個數(shù)據(jù)后,將返回一個應(yīng)答,只要EEPROM接收到一個應(yīng)答,就繼續(xù)增加數(shù)據(jù)地址并串行傳輸連續(xù)數(shù)據(jù)。當(dāng)達(dá)到限制的內(nèi)存地址,數(shù)據(jù)地址將“滾動”,并順序讀下去。順序讀操作終止時,微控制器不應(yīng)答0,但產(chǎn)生停止條件。3.2.2 基于AT89S51的AT24C02 IC總線IC總線通過SDA(串行數(shù)據(jù)線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識別每個器件:不管是單片機、存儲器、LCD驅(qū)動器還是鍵盤接口。1IC總線的基本結(jié)構(gòu)采用IC總線標(biāo)準(zhǔn)的單片機或IC器件,其內(nèi)部不僅有IC接口電路,而且將內(nèi)部各單元電路按功能劃分為若干相對獨立的模塊,通過軟件尋址實現(xiàn)片選,減少了器件片選線的連接。CPU不僅能通過指令將某個功能單元電路掛靠或摘離總線,還可對該單元的工作狀況進(jìn)行檢測,從而實現(xiàn)對硬件系統(tǒng)的既簡單又靈活的擴展與控制。2雙向傳輸?shù)慕涌谔匦詡鹘y(tǒng)的單片機串行接口的發(fā)送和接收一般都各用一條線,如MCS51系列的TXD和RXD,而IC總線則根據(jù)器件的功能通過軟件程序使其可工作于發(fā)送或接收方式。當(dāng)某個器件向總線上發(fā)送信息時,它就是發(fā)送器(也叫主器件),而當(dāng)其從總線上接收信息時,又成為接收器(也叫從器件)。主器件用于啟動總線上傳送數(shù)據(jù)并產(chǎn)生時鐘以開放傳送的器件,此時任何被尋址的器件均被認(rèn)為是從器件。IC總線的控制完全由掛接在總線上的主器件送出的地址和數(shù)據(jù)決定。在總線上,既沒有中心機,也沒有優(yōu)先機??偩€上主和從(即發(fā)送和接收)的關(guān)系不是一成不變的,而是取決于此時數(shù)據(jù)傳送的方向。SDA和SCL均為雙向I/O線,通過上拉電阻接正電源。當(dāng)總線空閑時,兩根線都是高電平。連接總線的器件的輸出級必須是集電極或漏極開路,以具有線“與”功能。I2C總線的數(shù)據(jù)傳送速率在標(biāo)準(zhǔn)工作方式下為100kbit/s,在快速方式下,最高傳送速率可達(dá)400kbit/s。3IC總線上的時鐘信號在IC總線上傳送信息時的時鐘同步信號是由掛接在SCL時鐘線上的所有器件的邏輯“與”完成的。SCL線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使SCL線一直保持低電平,使SCL線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響SCL線的狀態(tài),于是這些器件將進(jìn)入高電平等待的狀態(tài)。當(dāng)所有器件的時鐘信號都上跳為高電平時,低電平期結(jié)束,SCL線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結(jié)束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上產(chǎn)生一個同步時鐘??梢姡瑫r鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。4數(shù)據(jù)的傳送在數(shù)據(jù)傳送過程中,必須確認(rèn)數(shù)據(jù)傳送的開始和結(jié)束。在IC總線技術(shù)規(guī)范中,SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。開始和結(jié)束信號都是由主器件產(chǎn)生。在開始信號以后,總線即被認(rèn)為處于忙狀態(tài);在結(jié)束信號以后的一段時間內(nèi),總線被認(rèn)為是空閑的。 IC總線進(jìn)行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。IC總線的數(shù)據(jù)傳送格式:每一個字節(jié)必須保證是8位長度。數(shù)據(jù)傳送時,先傳送最高位(MSB),每一個被傳送的字節(jié)后面都必須跟隨一位應(yīng)答位(即一幀共有9位)。如果一段時間內(nèi)沒有收到從機的應(yīng)答信號,則自動認(rèn)為從機已正確接收到數(shù)據(jù)。 在IC總線開始信號后,送出的第一個字節(jié)數(shù)據(jù)是用來選擇從器件地址的,其中前7位為地址碼,第8位為方向位(R/W)。方向位為“0”表示發(fā)送,即主器件把信息寫到所選擇的從器件;方向位為“1”表示主器件將從從器件讀信息。開始信號后,系統(tǒng)中的各個器件將自己的地址和主器件送到總線上的地址進(jìn)行比較,如果與主器件發(fā)送到總線上的地址一致,則該器件即為被主器件尋址的器件,其接收信息還是發(fā)送信息則由第8位(R/W)確定。每次都是先傳最高位,通常從器件在接收到每個字節(jié)后都會作出響應(yīng),即釋放SCL線返回高電平,準(zhǔn)備接收下一個數(shù)據(jù)字節(jié),主器件可繼續(xù)傳送。如果從器件正在處理一個實時事件而不能接收數(shù)據(jù)時,(例如正在處理一個內(nèi)部中斷,在這個中斷處理完之前就不能接收IC總線上的數(shù)據(jù)字節(jié))可以使時鐘SCL線保持低電平,從器件必須使SDA保持高電平,此時主器件產(chǎn)生1個結(jié)束信號,使傳送異常結(jié)束,迫使主器件處于等待狀態(tài)。當(dāng)從器件處理完畢時將釋放SCL線,主器件繼續(xù)傳送。當(dāng)主器件發(fā)送完一個字節(jié)的數(shù)據(jù)后,接著發(fā)出對應(yīng)于SCL線上的一個時鐘(ACK)認(rèn)可位,在此時鐘內(nèi)主器件釋放SDA線,一個字節(jié)傳送結(jié)束,而從器件的響應(yīng)信號將SDA線拉成低電平,使SDA在該時鐘的高電平期間為穩(wěn)定的低電平。從器件的響應(yīng)信號結(jié)束后,SDA線返回高電平,進(jìn)入下一個傳送周期。AT24C02的芯片地址1010為固定,A0,A1,A2正好與芯片的1,2,3引角對應(yīng),為當(dāng)前電路中的地址選擇線,三根線可選擇8個芯片同時連接在電路中,當(dāng)要與哪個芯片通信時傳送相應(yīng)的地址即可與該芯片建立連接,TX-1B實驗板上三根地址線都為0。最后一位R/W為告訴從機下一字節(jié)數(shù)據(jù)是要讀還是寫,0為寫入,1為讀出。5總線競爭的仲裁總線上可能掛接有多個器件,有時會發(fā)生兩個或多個主器件同時想占用總線的情況。IC總線具有多主控能力,可以對發(fā)生在SDA線上的總線競爭進(jìn)行仲裁,其仲裁原則是這樣的:當(dāng)多個主器件同時想占用總線時,如果某個主器件發(fā)送高電平,而另一個主器件發(fā)送低電平,則發(fā)送電平與此時SDA總線電平不符的那個器件將自動關(guān)閉其輸出級??偩€競爭的仲裁是在兩個層次上進(jìn)行的。首先是地址位的比較,如果主器件尋址同一個從器件,則進(jìn)入數(shù)據(jù)位的比較,從而確保了競爭仲裁的可靠性。由于是利用IC總線上的信息進(jìn)行仲裁,因此不會造成信息的丟失。6. IC總線接口器件目前在視頻處理、移動通信等領(lǐng)域采用IC總線接口器件已經(jīng)比較普遍。另外,通用的I2C總線接口器件,如帶IC總線的單片機、RAM、ROM、A/D、D/A、LCD驅(qū)動器等器件,也越來越多地應(yīng)用于計算機及自動控制系統(tǒng)中。3.3 水箱控制系統(tǒng)主控硬件設(shè)計硬件電路總體原理框圖如圖3-4所示。AT89S51時鐘電路檢測電路存儲電路報警電路按鍵電路復(fù)位電路圖3-4 單片機水箱控制系統(tǒng)整體設(shè)計框圖水箱控制系統(tǒng)硬件主要由一個AT89S51單片機,一個EEPROM1024芯片構(gòu)成,AT89S51與EEPROM1024連接方法如下:P0.0(39)-A0 (2)P0.1(38)-SCL (6)P0.2(37)-SDA (5)P0.3(36)-WAP (7)單片機水箱控制系統(tǒng)主控硬件圖3-4所示。圖3-4 單片機水箱控制系統(tǒng)主控硬件圖3.4仿真結(jié)果在本設(shè)計的仿真過程中,若按下表示水位低低的按鍵,水位低低報警,相應(yīng)蜂鳴器發(fā)出蜂鳴聲,同理,分別按下表示水位低和水位高的按鍵,報警電路中的水位低和水位高分別報警,對應(yīng)蜂鳴器發(fā)出蜂鳴聲。仿真結(jié)果如圖3-5所示。圖3-5 仿真結(jié)果 在仿真結(jié)果圖中,按下的是水位低低按鍵,表示水箱中的水位低低,單片機接收到水位低低信號,報警電路中,水位低低蜂鳴器報警,發(fā)出蜂鳴聲。仿真結(jié)果正確,設(shè)計達(dá)到預(yù)期目的。4 系統(tǒng)的軟件設(shè)計4.1程序概要設(shè)計 本系統(tǒng)程序開發(fā),使用的語言是匯編語言。程序?qū)崿F(xiàn)當(dāng)水位處于LG(高)、LD(低)或LDD(低低)時,報警信號輸出,判斷泵水方式(自動或手動)。當(dāng)水位到達(dá)規(guī)定容量時,停止泵水。在程序中,低電平為有效(即0為有效),高電平為無效(即1為無效)。4.2 系統(tǒng)程序原理主程序要實現(xiàn)的是,對數(shù)據(jù)的初始化,并且判斷用戶是使用自動模式還是手動模式,根據(jù)用戶的具體需求:若用戶選擇自動模式,則程序調(diào)用自動化子程序;若用戶選擇手動模式,則程序調(diào)用手動子程序。4.2.1主程序設(shè)計主程序原理流程圖如圖4-1所示。 開始初始化自動?轉(zhuǎn)自動模式轉(zhuǎn)手動模式Y(jié)N圖4-1 主程序原理流程圖4.2.2自動模式子程序設(shè)計自動模式子程序運行的前置條件是,系統(tǒng)開始運行,并且用戶選擇使用自動化控制模式。自動模式子程序首先判斷水位是否高LG,若水位高于指標(biāo),則運行“水位高報警”程序,并返回主程序。若水位不高,則判斷水位是否低LD,若水位低,則運行“水位低報警”程序。然后判斷水位是否低低LDD。若水位沒有達(dá)到LDD的指標(biāo),則試判斷“M1是否開啟”,若沒有開啟,則開啟M1;若“M1開啟”則判斷“M2是否開啟”,若“M2開啟”,則程序運行“停止M2”程序;若“M2沒有開啟”,則試運行“延遲1分鐘”程序,一分鐘后返回主程序。自動模式子程序原理流程圖如圖4-2所示。開始水位高?水位低?M2是否開M2是否開水位低低?水位低報警開M1水位低低報警開M2水位高報警返回主程序M1是否開開M1M1是否開延遲1分鐘NYNYYNNNo停M2Y YN YYN返回主程序圖4-2 自動模式子程序原理流程圖4.2.3 手動模式子程序設(shè)計手動模式子程序運行的前置條件是,系統(tǒng)開始運行,并且用戶選擇使用自手動控制模式。手動模式子程序首先判斷“水位是否LG” ,若水位LG達(dá)到指標(biāo),則程序返回主程序;若水位LG未達(dá)到指標(biāo),則程序運行“判斷有無鍵合”:若“判斷沒有鍵合”則子程序進(jìn)行循環(huán);若“判斷鍵合”,則程序判斷“M1是否鍵合”。若用戶操作“M1鍵合”,則程序運行“判斷M1是否開啟”:若“M1開啟”則子程序進(jìn)行循環(huán);若“判斷M1未開啟”,則程序運行“開啟M1”。若用戶操作“M1不鍵合”,則程序判斷“M2是否鍵合”:若用戶操作“M2鍵合”,則程序運行“判斷M2是否開啟”;若“M2開啟”則子程序進(jìn)行循環(huán);若“判斷M2未開啟”,則程序運行“開啟M2”。若程序判斷用戶均未進(jìn)行“M1、M2鍵合”,則程序要判斷“是否停止M1鍵合”:若用戶操作“M1停止鍵合”,則程序判斷“M1是否停止”;若“M1停止”,則子程序循環(huán);若“M1沒有停止”,則程序運行“停止M1”。若用戶不操作“M1停止鍵合”,則程序判斷“是否停止M2鍵合”:若用戶操作“M2停止鍵合”,則程序判斷“M2是否停止”,若“M2停止”,則子程序循環(huán);若“M2沒有停止”,則程序運行“停止M2”。手動模式原理流程圖如圖4-3所示。 開始水位高?有無鍵合?M1鍵合?M2鍵合?NNNY停M2YNNN停M1鍵合?停M2鍵合?YM1開著?開M1YM1開著?N開M2YYM1停著?YNNNM2停著?Y停M2YY返回主程序N圖4-3 手動模式子程序原理流程圖5 總 結(jié)通過這次單片機的課程設(shè)計,使我認(rèn)識到單片機的應(yīng)用領(lǐng)域確實很廣泛,不僅培養(yǎng)了我自己的獨立思考能力,還加深了對單片機應(yīng)用的認(rèn)識。但我也僅僅是掌握了其中的一小部分而已。所以設(shè)計過程中難免出現(xiàn)差錯,以后我會繼續(xù)學(xué)習(xí),不斷完善自己。縱觀我們現(xiàn)在生活的各個領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。所以不僅是在現(xiàn)在,在將來將會有更多的 人來接受它、使用它。我國的單片機年容量已達(dá)3億片,且每年以大約20%的速度增長,但相對于世界市場我國的占有率還不到1%。特別是沿海地區(qū)的玩具廠等生產(chǎn)產(chǎn)品多數(shù)用到單片機,不斷地輻射向內(nèi)地。由此看來,學(xué)習(xí)單片機是有廣闊前景的。而在本次的畢業(yè)論文是基于單片機的水箱控制系統(tǒng),主要核心就是AT89S51單片機。通過這次設(shè)計,我綜合運用大學(xué)四年所學(xué)知識去分析和解決問題,我深刻的了解和掌握了單片機的控制原理和設(shè)計方法。不僅加深和回顧了單片機等專業(yè)知識而且積累到單片機控制技術(shù)在實際中的經(jīng)驗。由于自身缺少在實踐設(shè)計的經(jīng)驗,所以在這次的設(shè)計中我自身也發(fā)現(xiàn)了很多不足的方面,從論文的本身的方面結(jié)構(gòu)到具體設(shè)計中硬件設(shè)計知識和經(jīng)驗的不足使得設(shè)計和論文存在的很多的問題,但是在我的導(dǎo)師左老師的細(xì)心指導(dǎo)下,經(jīng)過前后多次的修改和完善,最終完成了畢業(yè)設(shè)計的任務(wù)。單片機控制技術(shù)領(lǐng)域是一個有著非常潛力和前景的專業(yè)技術(shù),我相信通過這次畢業(yè)論文的設(shè)計,不僅加深和掌握了這一專業(yè)技術(shù),而且也提高了自己的專業(yè)能力和綜合素質(zhì),為我的大學(xué)生涯畫下一個完整的句號。 參考文獻(xiàn)1 趙秀珍.單片微型計算機原理及其應(yīng)用M.中國水利水電出版社,2001 2陳有卿,謝剛.新穎電子模塊應(yīng)用手冊M.機械工業(yè)出版社,20033 楊興瑤,張益清等.新編實用電子電路500列.化學(xué)工業(yè)出版社,2006年4 馬忠梅,張凱等.單片機的C語言應(yīng)用程序設(shè)計.北京航空航天大學(xué)出版社,2003年5 秦獲輝.科技英語(電子類).西安電子科技大學(xué)出版社,2005年6 朱殿棟.數(shù)字電路設(shè)計實用手冊.電子工業(yè)出版社,2003年4 方佩敏.新編傳感器原理電路詳解M.電子工業(yè)出版社,2003 8 陳景初.單片機應(yīng)用系統(tǒng)設(shè)計與實踐M.北京航空航天大學(xué)出版社,20049 姜學(xué)東,曲金龍.嵌入式系統(tǒng)控制系統(tǒng)研究,電力電子技術(shù).2003年10 劉瑞新.單片機原理及應(yīng)用教程M.機械工業(yè)出版社,2003年11 姚勇,李忠勤.水箱水位的模擬控制裝置J.煤炭技術(shù),2004年12 李萍.51系列單片機叢書 AT80C51 單片機原理、開發(fā)與應(yīng)用實例.中國電力出版社,2008年13 Quarette J. Made the principle of thermal plant equipment concise manual. J . Evaluation.199914 Laugman R. Embedded System Control System. US Patent.200015 Series single-chip single-chip microcomputer AT80C51 principle, the development and application examples.199816 Texas Instruments Incorporated.TMS320DM642 Technical Overview:DSP Video and Imaging Digital Applications.Sep.2002附 錄系統(tǒng)主程序如下: ORG 0000HAJMP MAINORG 0060HMAIN: MOV P1, #FFH ;P1 P3口初始化置1MOV P3,#FFHJNB P1.3 , AUT ;若手動在自動位置,跳到自動模式子程序AJMP MEN ;否則轉(zhuǎn)到手動模式子程序END自動模式子程序如下AUT:NOP ;空命令JNB P1.2 , LG ;水位高LGJB P1.1 , LD ;水位沒低-LDCLR P3.1 ;水位低報警JB P1.0, LDD ;水位未低低-LDDCLR P3.0 ;水位低低報警JNB 3.1 P1.6, Y1 ;M1已啟動Y1CLR P1.4 ;否則啟動M1Y1: JNB P1.7 ,Y2 ;M2已啟動-Y2 CLR P1.5 ;否則啟動M2Y2: ACALL DELAY ;延

溫馨提示

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

評論

0/150

提交評論