《畢業(yè)論文——水箱單片機控制系統(tǒng)》由會員分享,可在線閱讀,更多相關《畢業(yè)論文——水箱單片機控制系統(tǒng)(21頁珍藏版)》請在裝配圖網上搜索。
1、 題目:海豐熱電公司800立方米 水箱單片機控制系統(tǒng) 姓 名: 指導教師:摘 要本單片機系統(tǒng)設計的目的是應用單片機控制技術,以8051單片機為核心控制慶豐熱電公司的800立方米的水箱的水位,并實現(xiàn)了報警和手動、自動切換功能。該系統(tǒng)操作方便、性能良好,比較符合電廠生產用水系統(tǒng)控制的需要。本文還詳細的給出了相關的硬件框圖和軟件流程圖,并編制了該匯編語言程序。關鍵詞: 單片機 水位 控制 報警目 錄摘 要1目 錄2一、 單片機的說明31、8051單片機簡介32、單片機的時序53、引腳極其功能6二、水箱給水設備系統(tǒng)的構成10三、本系統(tǒng)8051單片機控制部分12四、本系統(tǒng)的工作原理13五、主程序框圖14
2、六、本系統(tǒng)程序清單17七、附錄:本系統(tǒng)電路圖21一 8051單片機系統(tǒng)說明1 8051單片機簡介目前,8051單片機在工業(yè)檢測領域中得到了廣泛的應用,因此我們可以在許多單片機應用領域中,配接各種類型的語音接口,構成具有合成語音輸出能力的綜合應用系統(tǒng),以增強人機對話的功能。89C51是Intel公司生產的一種單片機,在一小塊芯片上集成了一個微型計算機的各個組成部分。每一個單片機包括:一個8位的微型處理器CPU;一個256K的片內數(shù)據(jù)存儲器RAM;片內程序存儲器ROM;四個8位并行的I/O接口P0-P3,每個接口既可以輸入,也可以輸出;兩個定時器/記數(shù)器;五個中斷源的中斷控制系統(tǒng);一個全雙工UAR
3、T的串行I/O口;片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接。最高允許振蕩頻率是12MHZ。以上各個部分通過內部總線相連接。下面簡單介紹下其各個部分的功能。中央處理器CPU是單片微型計算機的指揮、執(zhí)行中心,由它讀人用戶程序,并逐條執(zhí)行指令,它是由8位算術邏輯運算部件(簡稱ALu)、定時控制部件,若干寄存器A、B、B5w、5P以及16位程序計數(shù)器(Pc)和數(shù)據(jù)指針寄存器(DM)等主要部件組成。算術邏輯單元的硬件結構與典型微型機相似。它具有對8位信息進行+、-、x、/ 四則運算和邏輯與、或、異或、取反、清“0”等運算,并具有判跳、轉移、數(shù)據(jù)傳送等功能,此外還提供存放中間結果及常用數(shù)據(jù)寄
4、存器??刂破鞑考怯芍噶罴拇嫫?、程序計數(shù)器Pc、定時與控制電路等組成的。指令寄存器中存放指令代碼。枷執(zhí)行指令時,從程序存儲器中取來經譯碼器譯碼后,根據(jù)不同指令由定時與控制電路發(fā)出相應的控制信號,送到存儲器、運算器或Io接口電路,完成指令功能。程序計數(shù)器Pc 程序計數(shù)器Pc用來存放下一條將要執(zhí)行的指令,共16位可對以K字節(jié)的程序存儲器直接尋址c指令執(zhí)行結束后,Pc計數(shù)器自動增加,指向下一條要執(zhí)行的指令地址。 CPU功能,總的來說是以不同的方式,執(zhí)行各種指令。不同的指令其功自略異。有的指令涉及到枷各寄存器之間的關系;有的指令涉及到單片機核心電路內部各功能部件的關系;有的則與外部器件如外部程序存儲器
5、發(fā)生聯(lián)系。事實上,cRJ是通過復雜的時序電路完成不同的指令功能。所謂cRJ的時序是指控制器控照指今功能發(fā)出一系列在時間上有一定次序的信號,控制和啟動一部分邏輯電路,完成某種操作。2 時序 1時鐘電路 M田51片內設有一個由反向放大器所構成的振蕩電路,XTALI和XTAL2分別為振蕩電路的輸入端和輸出端。時鐘可以由內部方式產生或外部方式產生。采用內部方式時,在C1和C2引腳上接石英晶體和微調電容可以構成振蕩器, 振蕩頻率的選擇范圍為1212MHZ在使用外部時鐘時,XTAL2用來輸入外部時鐘信號,而XTALI接地。 2時序 MGL5l單片機的一個執(zhí)器周期由6個狀態(tài)(s1s6)組成,每個狀態(tài)又持續(xù)2
6、個接蕩周期,分為P1和P2兩個節(jié)拍。這樣,一個機器周期由12個振蕩周期組成。若采用12MHz的晶體振蕩器,則每個機器周期為1us,每個狀態(tài)周期為16us;在一數(shù)情況下,算術和邏輯操作發(fā)生在N期間,而內部寄存器到寄存器的傳輸發(fā)生在P2期間。對于單周期指令,當指令操作碼讀人指令寄存器時,使從S1P2開始執(zhí)行指令。如果是雙字節(jié)指令,則在同一機器周期的s4讀人第二字節(jié)。若為單字節(jié)指令,則在51期間仍進行讀,但所讀入的字節(jié)操作碼被忽略,且程序計數(shù)據(jù)也不加1。在加結束時完成指令操作。多數(shù)Mcs51指令周期為12個機器周期,只有乘法和除法指令需要兩個以上機器周期的指令,它們需4個機器周期。 對于雙字節(jié)單機器
7、指令,通常是在一個機器周期內從程序存儲器中讀人兩個字節(jié),但Movx指令例外,Movx指令是訪問外部數(shù)據(jù)存儲器的單字節(jié)雙機器周期指令,在執(zhí)行Movx指令期間,外部數(shù)據(jù)存儲器被訪問且被選通時跳過兩次取指操作。下面是51單片機的振蕩電路圖:3引腳極其功能MCS51系列單片機的40個引腳中有2個專用于主電源引腳,2個外接晶振的引腳,4個控制或與其它電源復用的引腳,以及32條輸入輸出I/O引腳。下面按引腳功能分為4個部分敘述個引腳的功能。1、 電源引腳Vcc和VssVcc(40腳):接+5V電源正端;Vss(20腳):接+5V電源正端。2、 外接晶振引腳XTAL1和XTAL2XTAL1(19腳):接外部
8、石英晶體的一端。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成采用外部時鐘時,對于HMOS單片機,該引腳接地;對于CHOMS單片機,該引腳作為外部振蕩信號的輸入端。XTAL2(18腳):接外部晶體的另一端。在單片機內部,接至片內振蕩器的反相放大器的輸出端。當采用外部時鐘時,對于HMOS單片機,該引腳作為外部振蕩信號的輸入端。對于CHMOS芯片,該引腳懸空不接。3、 控制信號或與其它電源復用引腳 控制信號或與其它電源復用引腳有RST/VPD、ALE/P、PSEN和EA/VPP等4種形式。(A)RST/VPD(9腳):RST即為RESET,VPD為備用電源,所以該引腳為單片機的上電復位或
9、掉電保護端。當單片機振蕩器工作時,該引腳上出現(xiàn)持續(xù)兩個機器周期的高電平,就可實現(xiàn)復位操作,使單片機復位到初始狀態(tài)。當VCC發(fā)生故障,降低到低電平規(guī)定值或掉電時,該引腳可接上備用電源VPD(+5V)為內部RAM供電,以保證RAM中的數(shù)據(jù)不丟失。(B)ALE/ P (30腳):當訪問外部存儲器時,ALE(允許地址鎖存信號)以每機器周期兩次的信號輸出,用于鎖存出現(xiàn)在P0口的低(C)PSEN(29腳):片外程序存儲器讀選通輸出端,低電平有效。當從外部程序存儲器讀取指令或常數(shù)期間,每個機器周期PESN兩次有效,以通過數(shù)據(jù)總線口讀回指令或常數(shù)。當訪問外部數(shù)據(jù)存儲器期間,PESN信號將不出現(xiàn)。(D)EA/V
10、pp(31腳):EA為訪問外部程序儲器控制信號,低電平有效。當EA端保持高電平時,單片機訪問片內程序存儲器4KB(MS52子系列為8KB)。若超出該范圍時,自動轉去執(zhí)行外部程序存儲器的程序。當EA端保持低電平時,無論片內有無程序存儲器,均只訪問外部程序存儲器。對于片內含有EPROM的單片機,在EPROM編程期間,該引腳用于接21V的編程電源Vpp。 4.輸入/輸出(I/O)引腳P0口、P1口、P2口及P3口(A).P0口(39腳22腳):P0.0P0.7統(tǒng)稱為P0口。當不接外部存儲器與不擴展I/O接口時,它可作為準雙向8位輸入/輸出接口。當接有外部程序存儲器或擴展I/O口時,P0口為地址/數(shù)據(jù)
11、分時復用口。它分時提供8位雙向數(shù)據(jù)總線。對于片內含有EPROM的單片機,當EPROM編程時,從P0口輸入指令字節(jié),而當檢驗程序時,則輸出指令字節(jié)。(B).P1口(1腳8腳):P1.0P1.7統(tǒng)稱為P1口,可作為準雙向I/O接口使用。對于MCS52子系列單片機,P1.0和P1.1還有第2功能:P1.0口用作定時器/計數(shù)器2的計數(shù)脈沖輸入端T2;P1.1用作定時器/計數(shù)器2的外部控制端T2EX。對于EPROM編程和進行程序校驗時,P0口接收輸入的低8位地址。(C).P2口(21腳28腳):P2.0P2.7統(tǒng)稱為P2口,一般可作為準雙向I/O接口。當接有外部程序存儲器或擴展I/O接口且尋址范圍超過2
12、56個字節(jié)時,P2口用于高8位地址總線送出高8位地址。對于EPROM編程和進行程序校驗時,P2口接收輸入的8位地址。(D).P3口(10腳17腳):P3.0P3.7統(tǒng)稱為P3口。它為雙功能口,可以作為一般的準雙向I/O接口,也可以將每1位用于第2功能,而且P3口的每一條引腳均可獨立定義為第1功能的輸入輸出或第2功能。P3口的第2功能見下表 單片機P3.0管腳含義引腳第2功能P3.0RXD(串行口輸入端0)P3.1TXD(串行口輸出端)P3.2INT0(部中斷0請求輸入端,低電平有效)P3.3INT1(中斷1請求輸入端,低電平有效)P3.4T0(時器/計數(shù)器0計數(shù)脈沖端)P3.5T1(時器/計數(shù)
13、器1數(shù)脈沖端)P3.6WR(部數(shù)據(jù)存儲器寫選通信號輸出端,低電平有效)P3.7RD(部數(shù)據(jù)存儲器讀選通信號輸出端,低電平有效)綜上所述,MCS51系列單片機的引腳作用可歸納為以下兩點:1).單片機功能多,引腳數(shù)少,因而許多引腳具有第2功能;2).單片機對外呈3總線形式,由P2、P0口組成16位地址總線;由P0口分時復用作為數(shù)據(jù)總線。附:89C51的管腳如圖二 800立方米水箱給水設備系統(tǒng)的構成800立方米由兩臺給水泵機組、水箱和三只浮球開關組成,其系統(tǒng)結構如圖:其中M1、M2為給水泵機組,LG、LD、LDD分別為水位高、水位低、水位低低浮球開關,當水位高(大于90開度)時,LG閉合,當水位低(
14、小于75開度)時,LD閉合,當水位低低(小于50開度)時,LDD閉合。 800立方米水箱的控制器由8051系統(tǒng)構成。為避免電機的起停和電源波動時對電路的影響,輸入輸出均采用光電隔離。輸出通過繼電器,控制水泵機組的起停和報警,其電路圖如下:給水泵電機主控回路圖如下:三 本系統(tǒng)8051單片機控制部分結構本系統(tǒng)采用8051單片機,引腳具體控制如下:P1口和P3口為輸入輸出檢測信號和控制信號。下面是8051芯片引腳具體分配:P1.0:水位低低輸入信號。(低0 高1)P1.1:水位低輸入信號。(低0 高1)P1.2:水位高輸入信號。(高1,低0)P1.3:手動與自動轉換輸入信號。(手動1,自動0)P1.
15、4:M1起動KM1控制輸出信號。(手動1,自動0)P1.5:M2起動KM1控制輸出信號。(手動1,自動0)P1.6:M1開關狀態(tài)輸入信號。(開0,關1)P1.7:M2開關狀態(tài)輸入信號。(開0,關1)P3.0:水位低低報警輸出信號。P3.1:水位低報警輸出信號。P3.2:水位高報警輸出信號。P3.4:手動起動M1輸入信號,低電頻有效動作。P3.5:手動起動M2輸入信號,低電頻有效動作。P3.6:手動停M1輸入信號,低電頻有效動作。P3.7:手動停M2輸入信號,低電頻有效動作。四 本系統(tǒng)的工作原理當水箱水位低時,起動M1、M2給水,水位上升到90%,停M1。當水箱水位低低(小于50%)時,同時起動
16、M1、M2,當水位上升到50%以上70%以下時,停M2,M1繼續(xù)運行到水位上升到90%以上才停止工作。經過調試系統(tǒng),測得以下數(shù)據(jù):水位從50%-70%,兩臺泵運行需要約10分鐘;水位從70%-90%,一臺泵運行需要約15分鐘。水箱的水位一般保持在70%-90%。報警控制如下:當水位高與90開度的時候,由傳感器經變送器發(fā)送信號,LG閉合,系統(tǒng)水位高報警。當水位低于75開度的時候,由傳感器經變送器發(fā)送信號,LD閉合,系統(tǒng)水位低報警。當水位低與50開度的時候,由傳感器經變送器發(fā)送信號,LDD閉合,系統(tǒng)水位低低報警。手動/自動模式轉換控制如下:全自動模式下,系統(tǒng)自動判斷水位的狀況,選擇不同的工作狀態(tài)。
17、在手動的模式下,兩臺給水泵的運行控制可由人工自己操作。五 主程序框圖1 主程序框圖2 自動模式子程序:3 手動模式子程序:六 本系統(tǒng)程序清單主程序:ORG 0000HAJMP MAINORG 0060HMAIN: MOV P1, #FFH ; P1 P3口初始化置1MOV P3,#FFHJNB P1.3 , AVT ; 若手動在自動位置,跳到自動模式子程序AJMP MEN ;否則轉到手動模式子程序ENDAUT: NOP(空命令)JNB P1.2 , LG ;水位高LGJB P1.1 LD , ;水位沒低-LDCLR P3.1 ;水位低報警JB P1.0, LDD ;水位未低低-LDDCLR P
18、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 Y2 SETB P1.5AJMP Y2LG:CLR P3.2 ;水位高報警LD:AJMP MAIN ;返回主程序手動控制子程序MEN:NOP JNB P1.1 , MAIN ;ACALL KEYCJNE A ,#FOH,NN
19、 ;AJMP MENNN:JNB ACC.4 ,HM1JNB ACC.5, HM2JNB ACC.6 ,DM1JNB ACC.7 ,DM2AJMP MENHM1: JNB P1.6 ,MENCLR P1.4AJMP MENHM2:JNBP1.7, MEN CLR P1.5AJMP MENDM1:JB P1.6, MENSETB P1.4AJMP MENDM2:JB P1.7, MENSETB P1.5AJMP MENRET延時1S主程序T1M1: MOV R1, #F0HL4: MOV R2, #08HL1: MOV R3, #FAHL2: MOV R4, #FAHL1: DJNZ R4, L1DJNZ R3, L2DJNZ R2, L3DJNZ R1, L4RET延時6ms子程序T1M3: MOV R4, #12MM: MOV R5, #248DJN2 R5, $DJN2 R4, D3RET有無鍵合子程序:KEY:ACALL KS1 ;有無閉合JNZ LK1ACALL TIMAJMP KEY ;無鍵閉合返回LK1:ACALL TIMACALL TIMACALL KS1JNZ LK2ACALL TIMAJMP KEYLK2:RETKS1:MOV A , P3 ;掃描 ANL A , #FOH ;屏蔽低4位 RET七 系統(tǒng)電路示意圖