




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上目 錄基于單片機的水箱水位控制系統 第1節 引 言 在人們的日常生活中,房頂水箱水位大都未能實現自動控制,水箱中水位的高低常由水電管理人員進行控制。不僅浪費人力又會造成不必要的資源浪費。這在電廠中等大型廠房顯得尤為突出。為了解決經常停水和有效的避免水資源的浪費,節約能源。設計了一個適用于電廠用水系統的水箱水位控制器。 本系統以8051單片機為核心控制,以電廠600立方米的水箱為例,實現了報警和手動、自動切換功能。該系統操作方便、性能良好,比較符合電廠生產用水系統控制的需要。本文還詳細地給出了相關的硬件框架和軟件流程圖,并編制了相應的匯編語言程序。1.1水箱水位單片機控
2、制系統概述 水是動植物體內和人的身體中不可缺少的物質,可以說,沒有水就沒有生命的存在。工農業生產中也不能離開水,水是工農業生產的重要原料。在農業生產中消耗的淡水量占人類消耗淡水總量的60%80%,工業上也要用大量的水進行生產。在自然界中淡水量不到水總量的1%。據21世紀城市水資源國際學術研討會透露,聯合國已經把我國列為世界上13個最缺水的國家之一,目前我國人均用水量是世界人均用水量的30%左右。人類現在用水量越來越大,且污染也越來越嚴重,這就要求我們要保護水資源。 但是人民并沒有意識到該問題的嚴重性,浪費水資源的現象在現實生活中還時有發生。例如居民生活區樓層頂樓的水箱的浪費問題就很嚴重。不僅要
3、安排人力去人為的檢測水位,而且還測不準。不僅造成水資源的浪費還造成財力的浪費。所以我們何不設計一個自動檢測水位的系統呢,這樣既不需要安排人力去檢測,減少了財力的開支。又加強了測量的精度,減少了水資源的浪費。1.2本設計任務和主要內容本論文主要研究水箱水位控制器系統。實現了水位報警和手動、自動切換功能。操作方便、性能良好。主要內容如下: 當水箱水位低時,啟動M1、M2給水,水位上升到90%,挺M1.當水箱水位低于50%時,同時啟動M1、M2,當水位上升到50%以上70%以下時,停M2,M1繼續運行到水位上升到90%才停止工作當水位高與90開度的時候,由傳感器經變送器發送信號,LG閉合,系統水位高
4、報警。當水位低于75開度的時候,由傳感器經變送器發送信號,LD閉合,系統水位低報警。當水位低與50開度的時候,由傳感器經變送器發送信號,LDD閉合,系統水位低低報警。手動/自動模式轉換控制如下:全自動模式下,系統自動判斷水位的狀況,選擇不同的工作狀態。在手動的模式下,兩臺給水泵的運行控制可由人工自己操作。 第2節 系統主要硬件電路設計 2.1單片機控制系統原理系統電路示意圖如下:圖2-1 系統電路示意圖系統結構設計圖如下:圖2-2 單片機控制系統結構圖其中M1、M2為給水泵機組,LG、LD、LDD分別為水位高、水位低、水位低低浮球開關,當水位高(大于90開度)時,LG閉合,當水位低(小于75開
5、度)時,LD閉合,當水位低低(小于50開度)時,LDD閉合。800立方米水箱的控制器由8051系統構成。為避免電機的起停和電源波動時對電路的影響,輸入輸出均采用光電隔離。輸出通過繼電器,控制水泵機組的起停和報警,其電路圖如下:圖 2-3 單片機控制水泵起停報警圖給水泵電機主控回路圖如下:圖2-4 給水泵電機主控回路圖2.2單片機主機系統電路目前,8051單片機在工業檢測領域中得到了廣泛的應用,因此我們可以在許多單片機應用領域中,配接各種類型的語音接口,構成具有合成語音輸出能力的綜合應用系統,以增強人機對話的功能。89C51是Intel公司生產的一種單片機,在一小塊芯片上集成了一個微型計算機的各
6、個組成部分。每一個單片機包括:一個8位的微型處理器CPU;一個256K的片內數據存儲器RAM;片內程序存儲器ROM;四個8位并行的I/O接口P0-P3,每個接口既可以輸入,也可以輸出;兩個定時器/記數器;五個中斷源的中斷控制系統;一個全雙工UART的串行I/O口;片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接。最高允許振蕩頻率是12MHZ。以上各個部分通過內部總線相連接。下面簡單介紹下其各個部分的功能。中央處理器CPU是單片微型計算機的指揮、執行中心,由它讀人用戶程序,并逐條執行指令,它是由8位算術邏輯運算部件(簡稱ALu)、定時控制部件,若干寄存器A、B、B5w、5P以及16位程序計
7、數器(Pc)和數據指針寄存器(DM)等主要部件組成。算術邏輯單元的硬件結構與典型微型機相似。它具有對8位信息進行+、-、x、/ 四則運算和邏輯與、或、異或、取反、清“0”等運算,并具有判跳、轉移、數據傳送等功能,此外還提供存放中間結果及常用數據寄存器。控制器部件是由指令寄存器、程序計數器Pc、定時與控制電路等組成的。指令寄存器中存放指令代碼。枷執行指令時,從程序存儲器中取來經譯碼器譯碼后,根據不同指令由定時與控制電路發出相應的控制信號,送到存儲器、運算器或Io接口電路,完成指令功能。程序計數器Pc程序計數器Pc用來存放下一條將要執行的指令,共16位可對以K字節的程序存儲器直接尋址c指令執行結束
8、后,Pc計數器自動增加,指向下一條要執行的指令地址。CPU功能,總的來說是以不同的方式,執行各種指令。不同的指令其功自略異。有的指令涉及到枷各寄存器之間的關系;有的指令涉及到單片機核心電路內部各功能部件的關系;有的則與外部器件如外部程序存儲器發生聯系。事實上,cRJ是通過復雜的時序電路完成不同的指令功能。所謂cRJ的時序是指控制器控照指今功能發出一系列在時間上有一定次序的信號,控制和啟動一部分邏輯電路,完成某種操作。2.2.1 時序 時鐘電路 M田51片內設有一個由反向放大器所構成的振蕩電路,XTALI和XTAL2分別為振蕩電路的輸入端和輸出端。時鐘可以由內部方式產生或外部方式產生。采用內部方
9、式時,在C1和C2引腳上接石英晶體和微調電容可以構成振蕩器, 振蕩頻率的選擇范圍為1212MHZ在使用外部時鐘時,XTAL2用來輸入外部時鐘信號,而XTALI接地。 時序 MGL5l單片機的一個執器周期由6個狀態(s1s6)組成,每個狀態又持續2個接蕩周期,分為P1和P2兩個節拍。這樣,一個機器周期由12個振蕩周期組成。若采用12MHz的晶體振蕩器,則每個機器周期為1us,每個狀態周期為16us;在一數情況下,算術和邏輯操作發生在N期間,而內部寄存器到寄存器的傳輸發生在P2期間。對于單周期指令,當指令操作碼讀人指令寄存器時,使從S1P2開始執行指令。如果是雙字節指令,則在同一機器周期的s4讀人
10、第二字節。若為單字節指令,則在51期間仍進行讀,但所讀入的字節操作碼被忽略,且程序計數據也不加1。在加結束時完成指令操作。多數Mcs51指令周期為12個機器周期,只有乘法和除法指令需要兩個以上機器周期的指令,它們需4個機器周期。 對于雙字節單機器指令,通常是在一個機器周期內從程序存儲器中讀人兩個字節,但Movx指令例外,Movx指令是訪問外部數據存儲器的單字節雙機器周期指令,在執行Movx指令期間,外部數據存儲器被訪問且被選通時跳過兩次取指操作。下面是51單片機的振蕩電路圖:圖2-5 51單片機振蕩電路圖2.2.2 89C51引腳電路及其功能 MCS51系列單片機的40個引腳中有2個專用于主電
11、源引腳,2個外接晶振的引腳,4個控制或與其它電源復用的引腳,以及32條輸入輸出I/O引腳。下面按引腳功能分為4個部分敘述個引腳的功能。電源引腳Vcc和VssVcc(40腳):接+5V電源正端;Vss(20腳):接+5V電源正端。外接晶振引腳XTAL1和XTAL2XTAL1(19腳):接外部石英晶體的一端。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成采用外部時鐘時,對于HMOS單片機,該引腳接地;對于CHOMS單片機,該引腳作為外部振蕩信號的輸入端。XTAL2(18腳):接外部晶體的另一端。在單片機內部,接至片內振蕩器的反相放大器的輸出端。當采用外部時鐘時,對于HMOS單片機,該引腳
12、作為外部振蕩信號的輸入端。對于CHMOS芯片,該引腳懸空不接。控制信號或與其它電源復用引腳控制信號或與其它電源復用引腳有RST/VPD、ALE/P、PSEN和EA/VPP等4種形式。(A)RST/VPD(9腳):RST即為RESET,VPD為備用電源,所以該引腳為單片機的上電復位或掉電保護端。當單片機振蕩器工作時,該引腳上出現持續兩個機器周期的高電平,就可實現復位操作,使單片機復位到初始狀態。當VCC發生故障,降低到低電平規定值或掉電時,該引腳可接上備用電源VPD(+5V)為內部RAM供電,以保證RAM中的數據不丟失。(B)ALE/ P (30腳):當訪問外部存儲器時,ALE(允許地址鎖存信號
13、)以每機器周期兩次的信號輸出,用于鎖存出現在P0口的低(C)PSEN(29腳):片外程序存儲器讀選通輸出端,低電平有效。當從外部程序存儲器讀取指令或常數期間,每個機器周期PESN兩次有效,以通過數據總線口讀回指令或常數。當訪問外部數據存儲器期間,PESN信號將不出現。(D)EA/Vpp(31腳):EA為訪問外部程序儲器控制信號,低電平有效。當EA端保持高電平時,單片機訪問片內程序存儲器4KB(MS52子系列為8KB)。若超出該范圍時,自動轉去執行外部程序存儲器的程序。當EA端保持低電平時,無論片內有無程序存儲器,均只訪問外部程序存儲器。對于片內含有EPROM的單片機,在EPROM編程期間,該引
14、腳用于接21V的編程電源Vpp。輸入/輸出(I/O)引腳P0口、P1口、P2口及P3口(A).P0口(39腳22腳):P0.0P0.7統稱為P0口。當不接外部存儲器與不擴展I/O接口時,它可作為準雙向8位輸入/輸出接口。當接有外部程序存儲器或擴展I/O口時,P0口為地址/數據分時復用口。它分時提供8位雙向數據總線。對于片內含有EPROM的單片機,當EPROM編程時,從P0口輸入指令字節,而當檢驗程序時,則輸出指令字節。(B).P1口(1腳8腳):P1.0P1.7統稱為P1口,可作為準雙向I/O接口使用。對于MCS52子系列單片機,P1.0和P1.1還有第2功能:P1.0口用作定時器/計數器2的
15、計數脈沖輸入端T2;P1.1用作定時器/計數器2的外部控制端T2EX。對于EPROM編程和進行程序校驗時,P0口接收輸入的低8位地址。(C).P2口(21腳28腳):P2.0P2.7統稱為P2口,一般可作為準雙向I/O接口。當接有外部程序存儲器或擴展I/O接口且尋址范圍超過256個字節時,P2口用于高8位地址總線送出高8位地址。對于EPROM編程和進行程序校驗時,P2口接收輸入的8位地址。(D).P3口(10腳17腳):P3.0P3.7統稱為P3口。它為雙功能口,可以作為一般的準雙向I/O接口,也可以將每1位用于第2功能,而且P3口的每一條引腳均可獨立定義為第1功能的輸入輸出或第2功能。附:8
16、9C51的引腳如圖圖2-6 51單片機引腳分布第3節 系統的軟件設計3.1系統主程序設計 ORG 0000HAJMP MAINORG 0060HMAIN: MOV P1, #FFH ;P1 P3口初始化置1MOV P3,#FFHJNB P1.3 , AUT ;若手動在自動位置,跳到自動模式子程序AJMP MEN ;否則轉到手動模式子程序END主程序框架圖如下:圖3-1 主程序流程圖3.2自動模式子程序設計AUT:NOP ;空命令JNB P1.2 , LG ;水位高LGJB P1.1 LD , ;水位沒低-LDCLR P3.1 ;水位低報警JB P1.0, LDD ;水位未低低-LDDCLR P
17、3.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分鐘 AJMP AUT ;返回自動模式LDD: JNB P1.6 ,Y3 ;單獨運行M1(LDD水位LD)CLR P1.4Y3: JB P1.7 Y2SETB P1.5AJMP Y2LG: CLR P3.2 ;水位高報警LD: AJMP MAIN ;返回主程序自動模式子程序流程圖如下:圖 3-2 自動模式子程序流程圖3.3手動模式子程序設計MEN: NOPJNB P1
18、.1 , MAIN ;水位高返回主程序ACALL KEYCJNE A ,#FOH,NN ;有無鍵合AJMP MENNN: JNB ACC.4 ,HM1 JNB ACC.5, HM2JNB ACC.6 ,DM1JNB ACC.7 ,DM2AJMP MENHM1: JNB P1.6 ,MENCLR P1.4AJMP MENHM2: JNB P1.7, MEN CLR P1.5AJMP MENDM1: JB P1.6, MENSETB P1.4AJMP MENDM2: JB P1.7, MENSETB P1.5AJMP MENRET手動模式子程序流程圖如下:圖3-3 手動模式子程序流程圖3.4延時1
19、S子程序設計延時1S主程序:T1M1: MOV R1, #F0HL4: MOV R2, #08HL1: MOV R3, #FAHL2: MOV R4, #FAHL1: DJNZ R4, L1DJNZ R3, L2DJNZ R2, L3DJNZ R1, L4RET3.5延時6S子程序設計延時6ms子程序:T1M3: MOV R4, #12MM: MOV R5, #248DJN2 R5, $ DJN2 R4, D3RET3.6有無鍵合子程序設計有無鍵合子程序:KEY: ACALL KS1 ;有無閉合JNZ LK1ACALL TIMAJMP KEY ;無鍵閉合返回LK1: ACALL TIMACALL TIMACALL KS1JNZ LK2 第4節 結束語通過這次單片機的課程設計,使我認識到單片機的應用領域確實很廣泛,不僅培養了我自己的獨立思考能力,還加深了對單片機應用的認識。但我也僅
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論