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

下載本文檔

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

文檔簡介

本科生畢業設計 基于單片機的水箱控制系統的設計 獨 創 性 聲 明本人鄭重聲明:所呈交的畢業論文(設計)是本人在指導老師指導下取得的研究成果。除了文中特別加以注釋和致謝的地方外,論文(設計)中不包含其他人已經發表或撰寫的研究成果。與本研究成果相關的所有人所做出的任何貢獻均已在論文(設計)中作了明確的說明并表示了謝意。簽名: 年 月 日授 權 聲 明本人完全了解許昌學院有關保留、使用本科生畢業論文(設計)的規定,即:有權保留并向國家有關部門或機構送交畢業論文(設計)的復印件和磁盤,允許畢業論文(設計)被查閱和借閱。本人授權許昌學院可以將畢業論文(設計)的全部或部分內容編入有關數據庫進行檢索,可以采用影印、縮印或掃描等復制手段保存、匯編論文(設計)。本人論文(設計)中有原創性數據需要保密的部分為(如沒有,請填寫“無”): 簽名: 年 月 日指導教師簽名: 年 月 日摘 要在過去,大量的水箱操作是由相應的人員進行的,這樣的人工方式帶來了很大的弊端,比如水位的控制,時刻監控水箱的環境,夜間的監控等等,操作員稍有疏忽,或者簡易的監測器件損壞,將帶來無法彌補的損失,更嚴重的甚至會危機到生產人員的人身安全等。所以,對水箱控制,如果能夠使用精密的而且完全會嚴格按照生產規定運行的自動化系統,可以最大限度的避免事故發生的幾率,同時也能節省資源并能有效提高生產效率。本單片機系統設計的目的是應用單片機控制技術,以AT89S51單片機為核心控制水箱的水位,并實現了報警和手動、自動切換功能。該系統操作方便、性能良好,比較符合電廠生產用水系統控制的需要。關鍵詞:單片機;水位;控制;報警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 水箱控制系統的研究意義11.2 設計的主要內容12 AT89S51單片機水箱控制系統原理22.1 水箱給水設備系統原理22.2 AT89S51單片機控制系統原理22.2.1 單片機控制部分結構說明22.2.2 AT89S51單片機水箱控制系統工作原理32.3 AT89S51水箱控制系統主控原理32.4 給水泵電機主控回路43 AT89S51單片機水箱控制系統硬件設計53.1 AT89S51單片機引腳功能介紹53.2 AT24C1024芯片結構及引腳說明83.2.1 AT24C1024各引腳描述93.2.2 基于AT89S51的AT24C02 I2C總線113.3 水箱控制系統主控硬件設計143.4仿真結果154 系統的軟件設計164.1程序概要設計164.2 系統程序原理164.2.1主程序設計164.2.2自動模式子程序設計164.2.3 手動模式子程序設計175 總 結20參考文獻21附 錄22致 謝301 緒論1.1 水箱控制系統的研究意義在人們的日常生活和工業生產中,水箱中水位的高低由人員進行控制,不僅浪費人力又會造成不必要的資源浪費。目前,AT89S51單片機在工業檢測領域中得到了廣泛的應用,本方案就是利用單片機對水位檢測得到的信息進行控制,實現對水箱水位的自動控制,從而避免水資源的浪費,節約能源,大大提高生產效率。1.2 設計的主要內容本論文主要研究水箱水位控制器系統。以AT89S51單片機為核心控制水箱的水位,實現水位報警和手動、自動切換功能。主要內容如下:當水箱水位低時,啟動M1、M2給水,水位上升到90%,停M1.當水箱水位低于50%時,同時啟動M1、M2,當水位上升到50%以上75%以下時,停M2,M1繼續運行到水位上升到90%才停止工作。當水位高于90%的時候,由傳感器經變送器發送信號,LG閉合,系統水位高報警。當水位低于75%的時候,由傳感器經變送器發送信號,LD閉合,系統水位低報警。當水位低于50%的時候,由傳感器經變送器發送信號,LDD閉合,系統水位低低報警。手動/自動模式轉換控制如下:全自動模式下,系統自動判斷水位的狀況,選擇不同的工作狀態。在手動的模式下,兩臺給水泵的運行控制可由人工自己操作。2 AT89S51單片機水箱控制系統原理2.1 水箱給水設備系統原理水箱給水設備系統由兩臺給水泵機組、水箱和三只浮球開關組成,其系統結構如圖2-1所示。LGLDLDD水箱90%75%50%M1給水泵M2圖2-1 水箱給水系統結構圖其中M1、M2為給水泵機組,LG、LD、LDD分別為水位高、水位低、水位低低浮球開關,當水位高(大于90%)時,LG閉合,當水位低(小于75%)時,LD閉合,當水位低低(小于50%)時,LDD閉合。2.2 AT89S51單片機控制系統原理AT89S51有PDIP,PLCC,TQFP三種封裝方式,其中最常見的就是采用40PIN封裝的雙列直插DIP封裝。芯片共有40個引腳P1口和P3口為輸入輸出檢測信號和控制信號。2.2.1 單片機控制部分結構說明P1.0:水位低低輸入信號。(低0,高1)P1.1:水位低輸入信號。(低0,高1)P1.2:水位高輸入信號。(高0,低1)P1.3:手動與自動轉換輸入信號。(手動1,自動0)P1.4:M1起動KM1控制輸出信號。(手動1,自動0)P1.5:M2起動KM2控制輸出信號。(手動1,自動0)P1.6:M1開關狀態輸入信號。(開0,關1)P1.7:M2開關狀態輸入信號。(開0,關1)P3.0:水位低低報警輸出信號。P3.1:水位低報警輸出信號。P3.2:水位高報警輸出信號。P3.4:手動起動M1輸入信號,低電平有效動作。P3.5:手動起動M2輸入信號,低電平有效動作。P3.6:手動停M1輸入信號,低電平有效動作。P3.7:手動停M2輸入信號,低電平有效動作。2.2.2 AT89S51單片機水箱控制系統工作原理當水箱水位低時,起動M1、M2給水,水位上升到90%,停M1;當水箱水位低低(小于50%)時,同時起動M1、M2;當水位上升到50%以上75%以下時,停M2,M1繼續運行到水位上升到90%以上才停止工作。經過數據統計,得到以下數據:水位從50%-75%,兩臺泵運行需要約10分鐘;水位從75%-90%,一臺泵運行需要約15分鐘。水箱的水位一般保持在75%-90%。報警控制如下:當水位高于90%的時候,由傳感器經變送器發送信號,LG閉合,系統水位高報警。 當水位低于75%的時候,由傳感器經變送器發送信號,LD閉合,系統水位低報警。 當水位低與50%的時候,由傳感器經變送器發送信號,LDD閉合,系統水位低低報警。 手動/自動模式轉換控制如下: 全自動模式下,系統自動判斷水位的狀況,選擇不同的工作狀態。 手動的模式下,兩臺給水泵的運行控制可由人工自己操作。2.3 AT89S51水箱控制系統主控原理 為避免電機的起停和電源波動時對電路的影響,輸入輸出均采用光電隔離。輸出通過繼電器,控制水泵機組的起停和報警。給水泵的啟停報警如圖2-2所示。+12V+5VI/O口光電耦合發光二極管光敏三極管圖2-2單片機控制水泵啟停報警圖光電隔離是半導體管敏感器件和發光二極管組成的一種新器件,它主要功能是實現電信號的傳送。輸入與輸出絕緣隔離,信號單向傳輸,無反饋影響。抗干擾性強,響應速度快。 工作時,把輸入信號加到輸入端,使發光管發光,光敏器件在磁光輻射下輸出光電流,從而實現電光點的兩次轉換。 繼電器隔離是用電信號控制繼電器的機械觸電來實現隔離控制。2.4 給水泵電機主控回路給水泵電機主控回路如圖2-3所示。KM1KM2M1M2圖2-3 給水電機主控回路3 AT89S51單片機水箱控制系統硬件設計3.1 AT89S51單片機引腳功能介紹AT89S51單片機為數據采集及處理模塊核心,它主要完成系統對水位高低信號是否滿足指標的信息采集,對采集到的水位信號通過系統程序進行對信號的判斷等處理,根據采集信號的不同,驅動相應信號對應功能的引腳來實現對水箱水位的控制。其結構圖如3-1。圖3-1 AT89S51單片機結構圖引腳說明:AT89S51具有如下特點:40個引腳,4k Bytes Flash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。 AT89S51單片機是美國ATMEL公司生產的低功耗,高性能CMOS 8位單片機,片內含4K bytes的可系統編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術生產,兼容標準8051指令系統及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價AT89S51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。 此外,AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產品的需求。 1主要特性: 與MCS-51 兼容 4K字節可編程FLASH存儲器(壽命:1000寫/擦循環) 全靜態工作:0Hz-33MHz 三級程序存儲器保密鎖定 128*8位內部RAM 32條可編程I/O口線 兩個16位定時器/計數器 6個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內振蕩器和時鐘電路 2管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口只做I/O口使用。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P3口:P3口有兩個功能,P3口管腳可以是8個帶內部上拉電阻的雙向I/O口,當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。除了作為I/O使用外(其內部有上拉電阻),還有一些特殊功能,由特殊寄存器來設置。 I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時,把端口鎖存器的內容讀入到內部總線,經過某種運算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數據讀入到內部總線。輸入緩沖器CPU將根據不同的指令分別發出讀端口或讀引腳信號以完成不同的操作。這是由硬件自動完成的,1然后再實行讀引腳操作,否則就可能讀入出錯,如果不對端口置1,端口鎖存器原來的狀態有可能為0,Q端為0,Q為1,加到場效應管柵極的信號為1,該場效應管就導通對地呈現低阻抗,此時即使引腳上輸入的信號為1,也會因端口的低阻抗而使信號變低使得外加的1信號讀入后不一定是1。若先執行置1操作,則可以使場效應管截止引腳信號直接加到三態緩沖器中實現正確的讀入,由于在輸入操作時還必須附加一個準備動作,所以這類I/O口被稱為準雙向口。89S51的P0/P1/P2/P3口作為輸入時都是準雙向口。RST復位信號:當輸入的信號連續2個機器周期以上高電平時即為有效,用以完成單片機的復位初始化操作,當復位后程序計數器PC=0000H,即復位后將從程序存儲器的0000H單元讀取第一條指令碼。 ALE/:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節。在沒有訪問外部存儲器時,ALE以1/6振蕩周期頻率輸出(即6分頻),當訪問外部存儲器以1/12振蕩周期輸出(12分頻)。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。PROG為編程脈沖的輸入端。:外部程序存儲器的選通信號。在由外部ROM取指期間,每個機器周期兩次/PSEN有效。但在訪問外部RAM存儲器時,兩個PSEN脈沖被跳過不會輸出。 /VPP:當/EA保持低電平時,CPU讀取外部程序存儲器(ROM)(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,CPU讀取內部程序存儲器(ROM)。當讀取內部程序存儲器超過0FFFH時自動讀取外部ROM。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 P3口的第2功能如表3-1所示。表3-1 P3口的第二功能表引腳第2功能P3.0RXD(串行口輸入端0)P3.1TXD(串行口輸出端)P3.2(部中斷0請求輸入端,低電平有效)P3.3(中斷1請求輸入端,低電平有效)P3.4T0(時器/計數器0計數脈沖端)P3.5T1(時器/計數器1數脈沖端)P3.6(部數據存儲器寫選通信號輸出端,低電平有效)P3.7(部數據存儲器讀選通信號輸出端,低電平有效)綜上所述AT89S51單片機的引腳作用可歸納為以下兩點。單片機功能多,引腳數少,因而許多引腳具有第2功能;單片機對外呈3總線形式,由P2、P0口組成16位地址總線;由P0口分時復用作為數據總線。3.2 AT24C1024芯片結構及引腳說明EEPROM芯片是一種用電信號編程也用電信號擦除的ROM芯片,它可以通過讀/寫操作進行逐個存儲單元的讀出和寫入,讀/寫功能與RAM存儲器相似,只是寫入慢些,但斷電后卻能保留信息。本設計采用的是AT24C1024芯片。AT24C1024提供1,048,567位的串行可電擦除只讀存儲器,它的每八位組成一個字節,共131,072個字節。該設備的級聯功能允許多達2個設備共享同一條2-線總線。該設備適合用于許多工業和商業,應用必要的低功耗和低電壓的操作。該期器件可提供節省空間的8引腳PDIP,8引腳鉛SOIC封裝,8引腳無鉛陣列和8引腳球狀DBGA封裝。另外,這一系列產品,允許在2.7V(2.7V5.5V)下工作。工作溫度:-55+125存儲溫度:-65+150任何引腳的對低電壓:-1.0V+7.0V最大工作電壓:6.25V直流輸出電流:5.0mV其結構圖如3-3所示。圖3-3 AT24C1024EEPROM結構圖3.2.1 AT24C1024各引腳描述串行時鐘(SCL):SCL的輸入是在時鐘的上升沿數據進入每個EEPROM設備和下降沿數據輸出每個設備。串行數據(SDA):SDA引腳是雙向串行數據傳輸的。這個引腳是漏極輸出的,可以與其他的漏極開路或集電極開路的設備線或器件連接。頁地址(A1):A1引腳是設備的輸入地址,它能夠通過導線與不兼容的設備AT24C128/256/512連接。當A1通過硬件連接時,2個以上的1024K設備可以在同一條系統總線上尋址。如果A1是懸空默認為0。寫保護(WP):硬件寫保護引腳是用來保護意外寫操作訪問全部的內存空間。寫保護輸入引腳接地,允許正常的寫操作。如果WP接高電平至Vcc,禁止所有的寫操作訪問內存。如果WP懸空,內部拉低至GND,切換至Vcc之前將創建一個軟件寫保護功能。內部組織:AT24C1024,1024K串行EEPROM:1024K內部有512頁,每頁有256個字節。隨機訪問一個字地址數據需要17位數據的字地址。設備操作時鐘和數據傳輸:SDA引腳通常被外部設備拉高,SDA引腳僅在低電平時可以改變(有效性是指數據的時序圖)。SCL在高電平期間,數據變化將引起啟動和停止條件。開始條件:在SCL為高時,SDA從高到低變化時產生起始條件,它必須先于任何其他命令。停止條件:在SCL為高時,SDA從低至高變化時產生停止條件,該時序后,停止命令將放置在EEPROM的待機電源模式下。應答:所有的地址和數據都是以8位串行方式從EEPROM輸入輸出。待機模式:AT24C1024具有低功耗代價模式,啟用條件1上電2接收到停止位以后和任何內部操作完成。記憶恢復:在協議中斷后,斷電或系統復位后,任何2-線部分可以按以下步驟重置:時鐘高達9次當SLC為高時,尋找SDA的每個周期的高電平。產生一個開始條件設備地址1024K的EEPROM需要一個8位器件地址啟動開始條件,讀寫芯片,器件地址是強制性的,并且序列的前五位是最重要的,這點所有的2線EEPROM期間都一樣。1024K使用一個器件地址A1并允許2個器件接到同一條總線上。A1位必須連接到相應的硬件引腳上。A1引腳使用內部專用電路,如果A1懸空,認為邏輯低。器件地址的第7位(P0)是內存頁地址位,這種存儲器頁地址位是數據字地址后面最重要的位。第8位是讀/寫操作選擇位,讀操作時該位置高,寫操作時該位置低。EEPROM通過比較是自己的器件地址,將輸出于0,若不是自己的,則返回待機狀態。寫操作字節寫:選擇一個1024K存儲器的字數據需要一個17位的地址。字地址段包括器件地址的P0位,它是最重要的字地址的最低有效位。一個寫操作需要P0位和兩個8位數據字地址按照設備地址字確認,當接收到這個地址后,EEPROM將在第一個8位數據字時鐘后返回0,接下來接收一個8位數據,返回一個0。該處理設備,如微控制器,它終止時要寫入一個停止狀態序列。此時EEPROM進入內部時鐘向非易失性存儲的寫周期Twr。此時所有的輸入操作都不響應,直到寫操作完成。頁寫:1024K的EEPROM每頁能寫256個字節。啟動頁寫同字節寫一樣,只是微控制器在時鐘控制下接收第一個數據后不發送停止條件。另外當EEPROM應答接收到得第一個數據后,微控制器可以繼續傳輸多達256個數據字。每接收一個數據字,EEPROM需要應答一個0.微控制器寫一個停止條件來終止頁寫。每接收到一個數據字,數據字地址的低8位自動遞增。數據字地址的高8位不變,保持存儲器頁位置。當內部產生的字地址達到了頁邊界,下一個字節將放在同一頁的開頭。如果超過256個字的數據傳輸到EEPROM,數據字地址將“滾動”,并且覆蓋以前的數據。地址“過渡”期間寫是從最后一個字節到當前頁的第一個字節。應答輪詢:一旦內部時鐘寫周期開始,EEPROM禁止輸入,可以啟動應答輪詢。這涉及到開始條件后發送器件地址,讀/寫位代表所要進行的操作。只有在內部寫周期已完成,EEPROM才相應并返回0,允許讀或寫操作繼續。讀操作讀操作同寫操作一樣,只是讀操/作選擇位要設置1,有3種讀操作:當前地址讀,隨機地址讀和連續讀。當前地址讀:內部數據字地址計數器保持上次讀或寫操作后遞增1的地址。只有在芯片保持工作期間地址保持有效。地址“過渡”期間讀是從存儲器的最后一頁的最后一個字節到第一頁的第一個字節。一旦讀/寫選擇位設置為1,EEPROM返回應答后,當前地址的數據串行輸出。微控制器不響應輸入的0,但產生停止條件。隨機讀:隨機讀需要一個“虛擬”字節的寫操作來獲得數據的地址。一旦器件地址和數據地址字節寫入并且EEPROM返回了應答,微控制器必須再產生另外的一個開始條件。現在微控制器發送一個讀/寫控制為高的設備地址,EEPROM應答設備地址并串行輸出數據。微控制器不響應0但產生一個停止條件。連續讀:連續讀由一個當前地址或隨機地址讀啟動,微控制器收到一個數據后,將返回一個應答,只要EEPROM接收到一個應答,就繼續增加數據地址并串行傳輸連續數據。當達到限制的內存地址,數據地址將“滾動”,并順序讀下去。順序讀操作終止時,微控制器不應答0,但產生停止條件。3.2.2 基于AT89S51的AT24C02 IC總線IC總線通過SDA(串行數據線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據地址識別每個器件:不管是單片機、存儲器、LCD驅動器還是鍵盤接口。1IC總線的基本結構采用IC總線標準的單片機或IC器件,其內部不僅有IC接口電路,而且將內部各單元電路按功能劃分為若干相對獨立的模塊,通過軟件尋址實現片選,減少了器件片選線的連接。CPU不僅能通過指令將某個功能單元電路掛靠或摘離總線,還可對該單元的工作狀況進行檢測,從而實現對硬件系統的既簡單又靈活的擴展與控制。2雙向傳輸的接口特性傳統的單片機串行接口的發送和接收一般都各用一條線,如MCS51系列的TXD和RXD,而IC總線則根據器件的功能通過軟件程序使其可工作于發送或接收方式。當某個器件向總線上發送信息時,它就是發送器(也叫主器件),而當其從總線上接收信息時,又成為接收器(也叫從器件)。主器件用于啟動總線上傳送數據并產生時鐘以開放傳送的器件,此時任何被尋址的器件均被認為是從器件。IC總線的控制完全由掛接在總線上的主器件送出的地址和數據決定。在總線上,既沒有中心機,也沒有優先機。總線上主和從(即發送和接收)的關系不是一成不變的,而是取決于此時數據傳送的方向。SDA和SCL均為雙向I/O線,通過上拉電阻接正電源。當總線空閑時,兩根線都是高電平。連接總線的器件的輸出級必須是集電極或漏極開路,以具有線“與”功能。I2C總線的數據傳送速率在標準工作方式下為100kbit/s,在快速方式下,最高傳送速率可達400kbit/s。3IC總線上的時鐘信號在IC總線上傳送信息時的時鐘同步信號是由掛接在SCL時鐘線上的所有器件的邏輯“與”完成的。SCL線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使SCL線一直保持低電平,使SCL線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響SCL線的狀態,于是這些器件將進入高電平等待的狀態。當所有器件的時鐘信號都上跳為高電平時,低電平期結束,SCL線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上產生一個同步時鐘。可見,時鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。4數據的傳送在數據傳送過程中,必須確認數據傳送的開始和結束。在IC總線技術規范中,SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。開始和結束信號都是由主器件產生。在開始信號以后,總線即被認為處于忙狀態;在結束信號以后的一段時間內,總線被認為是空閑的。 IC總線進行數據傳送時,時鐘信號為高電平期間,數據線上的數據必須保持穩定,只有在時鐘線上的信號為低電平期間,數據線上的高電平或低電平狀態才允許變化。IC總線的數據傳送格式:每一個字節必須保證是8位長度。數據傳送時,先傳送最高位(MSB),每一個被傳送的字節后面都必須跟隨一位應答位(即一幀共有9位)。如果一段時間內沒有收到從機的應答信號,則自動認為從機已正確接收到數據。 在IC總線開始信號后,送出的第一個字節數據是用來選擇從器件地址的,其中前7位為地址碼,第8位為方向位(R/W)。方向位為“0”表示發送,即主器件把信息寫到所選擇的從器件;方向位為“1”表示主器件將從從器件讀信息。開始信號后,系統中的各個器件將自己的地址和主器件送到總線上的地址進行比較,如果與主器件發送到總線上的地址一致,則該器件即為被主器件尋址的器件,其接收信息還是發送信息則由第8位(R/W)確定。每次都是先傳最高位,通常從器件在接收到每個字節后都會作出響應,即釋放SCL線返回高電平,準備接收下一個數據字節,主器件可繼續傳送。如果從器件正在處理一個實時事件而不能接收數據時,(例如正在處理一個內部中斷,在這個中斷處理完之前就不能接收IC總線上的數據字節)可以使時鐘SCL線保持低電平,從器件必須使SDA保持高電平,此時主器件產生1個結束信號,使傳送異常結束,迫使主器件處于等待狀態。當從器件處理完畢時將釋放SCL線,主器件繼續傳送。當主器件發送完一個字節的數據后,接著發出對應于SCL線上的一個時鐘(ACK)認可位,在此時鐘內主器件釋放SDA線,一個字節傳送結束,而從器件的響應信號將SDA線拉成低電平,使SDA在該時鐘的高電平期間為穩定的低電平。從器件的響應信號結束后,SDA線返回高電平,進入下一個傳送周期。AT24C02的芯片地址1010為固定,A0,A1,A2正好與芯片的1,2,3引角對應,為當前電路中的地址選擇線,三根線可選擇8個芯片同時連接在電路中,當要與哪個芯片通信時傳送相應的地址即可與該芯片建立連接,TX-1B實驗板上三根地址線都為0。最后一位R/W為告訴從機下一字節數據是要讀還是寫,0為寫入,1為讀出。5總線競爭的仲裁總線上可能掛接有多個器件,有時會發生兩個或多個主器件同時想占用總線的情況。IC總線具有多主控能力,可以對發生在SDA線上的總線競爭進行仲裁,其仲裁原則是這樣的:當多個主器件同時想占用總線時,如果某個主器件發送高電平,而另一個主器件發送低電平,則發送電平與此時SDA總線電平不符的那個器件將自動關閉其輸出級。總線競爭的仲裁是在兩個層次上進行的。首先是地址位的比較,如果主器件尋址同一個從器件,則進入數據位的比較,從而確保了競爭仲裁的可靠性。由于是利用IC總線上的信息進行仲裁,因此不會造成信息的丟失。6. IC總線接口器件目前在視頻處理、移動通信等領域采用IC總線接口器件已經比較普遍。另外,通用的I2C總線接口器件,如帶IC總線的單片機、RAM、ROM、A/D、D/A、LCD驅動器等器件,也越來越多地應用于計算機及自動控制系統中。3.3 水箱控制系統主控硬件設計硬件電路總體原理框圖如圖3-4所示。AT89S51時鐘電路檢測電路存儲電路報警電路按鍵電路復位電路圖3-4 單片機水箱控制系統整體設計框圖水箱控制系統硬件主要由一個AT89S51單片機,一個EEPROM1024芯片構成,AT89S51與EEPROM1024連接方法如下:P0.0(39)-A0 (2)P0.1(38)-SCL (6)P0.2(37)-SDA (5)P0.3(36)-WAP (7)單片機水箱控制系統主控硬件圖3-4所示。圖3-4 單片機水箱控制系統主控硬件圖3.4仿真結果在本設計的仿真過程中,若按下表示水位低低的按鍵,水位低低報警,相應蜂鳴器發出蜂鳴聲,同理,分別按下表示水位低和水位高的按鍵,報警電路中的水位低和水位高分別報警,對應蜂鳴器發出蜂鳴聲。仿真結果如圖3-5所示。圖3-5 仿真結果 在仿真結果圖中,按下的是水位低低按鍵,表示水箱中的水位低低,單片機接收到水位低低信號,報警電路中,水位低低蜂鳴器報警,發出蜂鳴聲。仿真結果正確,設計達到預期目的。4 系統的軟件設計4.1程序概要設計 本系統程序開發,使用的語言是匯編語言。程序實現當水位處于LG(高)、LD(低)或LDD(低低)時,報警信號輸出,判斷泵水方式(自動或手動)。當水位到達規定容量時,停止泵水。在程序中,低電平為有效(即0為有效),高電平為無效(即1為無效)。4.2 系統程序原理主程序要實現的是,對數據的初始化,并且判斷用戶是使用自動模式還是手動模式,根據用戶的具體需求:若用戶選擇自動模式,則程序調用自動化子程序;若用戶選擇手動模式,則程序調用手動子程序。4.2.1主程序設計主程序原理流程圖如圖4-1所示。 開始初始化自動?轉自動模式轉手動模式YN圖4-1 主程序原理流程圖4.2.2自動模式子程序設計自動模式子程序運行的前置條件是,系統開始運行,并且用戶選擇使用自動化控制模式。自動模式子程序首先判斷水位是否高LG,若水位高于指標,則運行“水位高報警”程序,并返回主程序。若水位不高,則判斷水位是否低LD,若水位低,則運行“水位低報警”程序。然后判斷水位是否低低LDD。若水位沒有達到LDD的指標,則試判斷“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 手動模式子程序設計手動模式子程序運行的前置條件是,系統開始運行,并且用戶選擇使用自手動控制模式。手動模式子程序首先判斷“水位是否LG” ,若水位LG達到指標,則程序返回主程序;若水位LG未達到指標,則程序運行“判斷有無鍵合”:若“判斷沒有鍵合”則子程序進行循環;若“判斷鍵合”,則程序判斷“M1是否鍵合”。若用戶操作“M1鍵合”,則程序運行“判斷M1是否開啟”:若“M1開啟”則子程序進行循環;若“判斷M1未開啟”,則程序運行“開啟M1”。若用戶操作“M1不鍵合”,則程序判斷“M2是否鍵合”:若用戶操作“M2鍵合”,則程序運行“判斷M2是否開啟”;若“M2開啟”則子程序進行循環;若“判斷M2未開啟”,則程序運行“開啟M2”。若程序判斷用戶均未進行“M1、M2鍵合”,則程序要判斷“是否停止M1鍵合”:若用戶操作“M1停止鍵合”,則程序判斷“M1是否停止”;若“M1停止”,則子程序循環;若“M1沒有停止”,則程序運行“停止M1”。若用戶不操作“M1停止鍵合”,則程序判斷“是否停止M2鍵合”:若用戶操作“M2停止鍵合”,則程序判斷“M2是否停止”,若“M2停止”,則子程序循環;若“M2沒有停止”,則程序運行“停止M2”。手動模式原理流程圖如圖4-3所示。 開始水位高?有無鍵合?M1鍵合?M2鍵合?NNNY停M2YNNN停M1鍵合?停M2鍵合?YM1開著?開M1YM1開著?N開M2YYM1停著?YNNNM2停著?Y停M2YY返回主程序N圖4-3 手動模式子程序原理流程圖5 總 結通過這次單片機的課程設計,使我認識到單片機的應用領域確實很廣泛,不僅培養了我自己的獨立思考能力,還加深了對單片機應用的認識。但我也僅僅是掌握了其中的一小部分而已。所以設計過程中難免出現差錯,以后我會繼續學習,不斷完善自己。縱觀我們現在生活的各個領域,從導彈的導航裝置,到飛機上各種儀表的控制,從計算機的網絡通訊與數據傳輸,到工業自動化過程的實時控制和數據處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。所以不僅是在現在,在將來將會有更多的 人來接受它、使用它。我國的單片機年容量已達3億片,且每年以大約20%的速度增長,但相對于世界市場我國的占有率還不到1%。特別是沿海地區的玩具廠等生產產品多數用到單片機,不斷地輻射向內地。由此看來,學習單片機是有廣闊前景的。而在本次的畢業論文是基于單片機的水箱控制系統,主要核心就是AT89S51單片機。通過這次設計,我綜合運用大學四年所學知識去分析和解決問題,我深刻的了解和掌握了單片機的控制原理和設計方法。不僅加深和回顧了單片機等專業知識而且積累到單片機控制技術在實際中的經驗。由于自身缺少在實踐設計的經驗,所以在這次的設計中我自身也發現了很多不足的方面,從論文的本身的方面結構到具體設計中硬件設計知識和經驗的不足使得設計和論文存在的很多的問題,但是在我的導師左老師的細心指導下,經過前后多次的修改和完善,最終完成了畢業設計的任務。單片機控制技術領域是一個有著非常潛力和前景的專業技術,我相信通過這次畢業論文的設計,不僅加深和掌握了這一專業技術,而且也提高了自己的專業能力和綜合素質,為我的大學生涯畫下一個完整的句號。 參考文獻1 趙秀珍.單片微型計算機原理及其應用M.中國水利水電出版社,2001 2陳有卿,謝剛.新穎電子模塊應用手冊M.機械工業出版社,20033 楊興瑤,張益清等.新編實用電子電路500列.化學工業出版社,2006年4 馬忠梅,張凱等.單片機的C語言應用程序設計.北京航空航天大學出版社,2003年5 秦獲輝.科技英語(電子類).西安電子科技大學出版社,2005年6 朱殿棟.數字電路設計實用手冊.電子工業出版社,2003年4 方佩敏.新編傳感器原理電路詳解M.電子工業出版社,2003 8 陳景初.單片機應用系統設計與實踐M.北京航空航天大學出版社,20049 姜學東,曲金龍.嵌入式系統控制系統研究,電力電子技術.2003年10 劉瑞新.單片機原理及應用教程M.機械工業出版社,2003年11 姚勇,李忠勤.水箱水位的模擬控制裝置J.煤炭技術,2004年12 李萍.51系列單片機叢書 AT80C51 單片機原理、開發與應用實例.中國電力出版社,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附 錄系統主程序如下: ORG 0000HAJMP MAINORG 0060HMAIN: MOV P1, #FFH ;P1 P3口初始化置1MOV P3,#FFHJNB P1.3 , AUT ;若手動在自動位置,跳到自動模式子程序AJMP MEN ;否則轉到手動模式子程序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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論