![居民小區(qū)水箱控制系統(tǒng)畢業(yè)設計論文_第1頁](http://file4.renrendoc.com/view/5480e995d8b061667f8ca08140c06a6c/5480e995d8b061667f8ca08140c06a6c1.gif)
![居民小區(qū)水箱控制系統(tǒng)畢業(yè)設計論文_第2頁](http://file4.renrendoc.com/view/5480e995d8b061667f8ca08140c06a6c/5480e995d8b061667f8ca08140c06a6c2.gif)
![居民小區(qū)水箱控制系統(tǒng)畢業(yè)設計論文_第3頁](http://file4.renrendoc.com/view/5480e995d8b061667f8ca08140c06a6c/5480e995d8b061667f8ca08140c06a6c3.gif)
![居民小區(qū)水箱控制系統(tǒng)畢業(yè)設計論文_第4頁](http://file4.renrendoc.com/view/5480e995d8b061667f8ca08140c06a6c/5480e995d8b061667f8ca08140c06a6c4.gif)
![居民小區(qū)水箱控制系統(tǒng)畢業(yè)設計論文_第5頁](http://file4.renrendoc.com/view/5480e995d8b061667f8ca08140c06a6c/5480e995d8b061667f8ca08140c06a6c5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 題目 居民小區(qū)水箱智能控制系統(tǒng)目 錄第一章 前言 2 第二章 功能說明,結(jié)合功能框圖 3第三章 使用操作說明 5第四章 原理圖分析主要局部工作原理 7第五章 PCB板制作 9第六章 主要芯片資料應用說明 11第七章 程序框圖及說明 15 調(diào)試數(shù)據(jù)記錄表及調(diào)試故障現(xiàn)象及其解決方法 16 心得體會 20第十章 致謝 22第十一章 參考文獻 23第十二章 附錄源程序 24第一章 前 言 水箱智能控制系統(tǒng)是小區(qū)智能化開展過程中必不可少的重要組成局部,他的性能和工作質(zhì)量的優(yōu)良時刻關系著人民的平安。在過去,大量的對水箱操作是由相應的人員進行操作的,這樣的人工方式帶來了很大的弊端,比方水位的控制,時刻監(jiān)控
2、水位的環(huán)境,夜間的監(jiān)控等等,操作員稍有疏忽,或者簡易的監(jiān)測器件損壞,將帶來無法彌補的損失。所以,對水箱控制,如果能夠使用精密的而且完全會嚴格按照成產(chǎn)規(guī)定運行的自動化系統(tǒng),可以最大限度的防止事故的幾率,同時也能節(jié)省資源并能有效提高生產(chǎn)的效率。相對于機械式水位控制器,電子式的水位控制器有著無可比較的優(yōu)點:添加水位顯示電路、點擊保護電路、強制性手動開、關機電路可以到達水位顯示、簡單的電機保護、水位自動控制,控制精度是傳統(tǒng)機械式水位控制器的幾何倍。本控制采用了高效率、高穩(wěn)定性、低功耗的ATM89C51單片機,正是由于它單芯片的結(jié)構形式與所采用的半導體工藝,使其在速度、功耗、本錢上和多芯片系統(tǒng)相比具有較
3、大的優(yōu)勢。它側(cè)重的是增強對測控對象的控制功能,提高工業(yè)環(huán)境下的可靠性,構成靈活、方便的應用計算機系統(tǒng)的界面接口。其主要優(yōu)點歸納起來有五點:1性價比高 ;(2)集成度高,可靠性好;3功能完善,接口多樣;4低功耗、低電壓;5總線多樣,易于擴展。第二章 功能說明,結(jié)合功能框圖數(shù)碼管顯示 狀態(tài)指示燈 按鍵 控制局部潛水泵 報警裝置 水位開關 結(jié)構方框圖-本產(chǎn)品控制局部采用低電壓,高性能CMOS8位微處理器ATMEL的AT89C51,該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,功能十分強大并且價格
4、低廉。水位開關采用三組帶環(huán)行磁鐵的密封在水管中的干簧管,磁鐵在水的浮力作用下吸合干簧管而使之導通,靈敏度很高。工作電壓: 220V 10%消耗功率: 0.1W待機 2W工作控制輸出功率:6.6KW水位控制精度: 5cm短期使用環(huán)境溫度: 4075度短期使用環(huán)境濕度: 5%95%穩(wěn)定使用環(huán)境溫度: 20度50度長期使用環(huán)境濕度: 35%80%誤 差 : 1%2.1 各局部的設計:2.1.1 水位開關的設計: 三個水位開關由三個鋼簧管組成。分別安裝在水塔的高,中,低部位。最高是停止抽水,最低是啟動抽水,中間是起時間報警保護水泵作用。2.1.2 潛水泵的選擇: 水泵為單相水泵。潛水泵安裝在水源內(nèi)部。
5、2.1.3 設計按鍵局部:復位按鍵,維護按鍵,模式按鍵,功能按鍵,電源開關。 復位按鍵設計在內(nèi)部。維護按鍵,模式按鍵,功能按鍵,電源開關按鍵都安裝在外部。 2.1.4 數(shù)碼管顯示設計: 抽水時間和次數(shù),由一個四位數(shù)碼管顯示2.1.5 報警器的設計: 以低電平觸發(fā)。當電機出現(xiàn)空轉(zhuǎn),欠壓,失壓,水源缺水以及系統(tǒng)電路出現(xiàn)故障時,進行自動報警并且自動控制電機停止運轉(zhuǎn)。2.1.6 狀態(tài)指示燈設計: 當紅、黃、綠三燈同時亮起時顯示水位已滿,紅燈閃爍表示高水位警告顯示,紅燈亮表示高水位正常顯示,黃燈亮表示中水位顯示,綠燈亮表示低水位正常顯示,綠燈閃爍表示低水位警告,紅黃綠三燈同時閃爍表示水源缺水報警。2.1
6、.7 控 制 部 分: 按下電源開關后,本產(chǎn)品開始自動檢測,假設無故障那么開始工作,檢測水塔內(nèi)的水位,假設水位過低那么綠燈閃爍,自動啟動水泵開始抽水直到水滿,數(shù)碼管開始顯示抽水時間,水位過中間時黃燈會亮,當水抽滿時三盞等全亮;如果水位正常那么本產(chǎn)品進入待機狀態(tài)。第三章 使用操作說明3.1 產(chǎn)品操作簡介:三盞燈常亮高水位警告紅燈閃爍水滿紅燈常亮高水位正常黃燈常亮中水位顯示綠燈常亮低水位正常綠燈閃爍低水位警告三燈閃爍水源缺水報警 指示燈功能表一本產(chǎn)品為智能化水位自動控制器,接同電源后無須任何操作即可自開工作。如有必要也可通過按鍵在任何正常工作情況下強制開啟停止水泵。產(chǎn)品面板上有三個按鍵,左邊一個紅
7、色帶鎖的維護鍵,中間一個綠色點觸式模式鍵、和右邊一個綠色點觸式按鍵,內(nèi)部還有一個復位按鍵,按下復位鍵那么恢復默認設置。四個數(shù)碼管分別顯示和記錄抽水次數(shù)、時間。當紅、黃、綠三燈同時亮起時顯示水位已滿,紅燈閃爍表示高水位警告顯示,紅燈亮表示高水位正常顯示,黃燈亮表示中水位顯示,綠燈亮表示低水位正常顯示,綠燈閃爍表示低水位警告,紅黃綠三燈同時閃爍表示水源缺水報警。 操作規(guī)程:按下電源開關后,本產(chǎn)品開始自動檢測,假設無故障那么開始工作,檢測水塔內(nèi)的水位,假設水位過低那么綠燈閃爍,自動啟動水泵開始抽水直到水滿,數(shù)碼管開始顯示抽水時間,水位過中間時黃燈會亮,當水抽滿時三盞等全亮;如果水位正常那么本產(chǎn)品進入
8、待機狀態(tài)。 用水時,數(shù)碼管全部顯示橫杠,三盞指示燈顯示相應的水位,燈的顯示情況與水位狀況如下所示:本產(chǎn)品的水位為自動控制,在水位過低時可自動抽水,水滿那么自動停機。假設想進入手動狀態(tài),在抽水狀態(tài)下按下紅色維護鍵,再按下功能鍵就停止抽水,再按一次那么再次啟動水泵抽水;在待機狀態(tài)下按下紅色維護鍵,再按一次功能鍵就啟動水泵抽水,再按一次那么停止抽水。注意:在水已經(jīng)滿了的時候,按啟動鍵無效,不能手動啟動水泵。在不抽水的用水期按下維護鍵,數(shù)碼管顯示00-00,可通過功能鍵可以翻閱以前的抽水次數(shù)和時間。當出現(xiàn)了一些程序錯誤不能正常工作的時候,按下內(nèi)部的復位鍵那么可以解決大局部的問題。按下復位鍵的同時再按下
9、模式跟功能按鍵1S以上那么去除所有數(shù)據(jù),恢復出廠狀態(tài)。第四章 原理圖分析主要局部工作原理 4.1 電源局部采用了常用的三端穩(wěn)壓電路。通過變壓器將220v的市電降成12v的交流電,經(jīng)過D1D4橋堆和2200UF電容進行整流、濾波,通過0.1uf電容濾出高次諧波,得到了波形叫平穩(wěn)的13.2v左右的直流電,通過7812后得到了非常平穩(wěn)的12v直流電;再經(jīng)過一次相同的穩(wěn)壓過程得到了紋波系數(shù)更小的5v直流電。整個電路的輸出功率也完全可以到達本廠品的需求。 原理圖-4.2 主面板: 主要是由TA89S51、24C04存儲芯片和一些外圍電路構成主要由小電流控制大電流。由三個水位開關分別裝在水塔的“上,中,下
10、三個水位。當水塔水位在底水位時,底水位傳感器信號輸入給TA89S51 P2.5-P2.7,然后TA89S51通過P3.7控制光耦來控制水泵抽水,直到水塔抽滿,水泵才停.在抽水的過程中4位數(shù)碼管顯抽水時間,和的抽水的次數(shù).4.3 TA89S51各引腳所對應外電路如下:P0.0P0.7數(shù)碼管驅(qū)動P1.0P1.2按鍵控制輸入端P1.3P1.5指示燈輸出端P1.6P1.7接24C204第5、6腳P2.0P2.4數(shù)碼管位選信號輸出P2.5P2.7傳感器信號輸入P3.7接光耦第2腳4.4 24C04各引腳功能:第1、2、3、4、7腳接地第8腳接電源4.5 光耦各引腳功能:第1腳5v電源第2腳P3.7第3腳
11、懸空第4腳三極管Q5基極第5腳12v電源第6腳懸空第五章 PCB板制作5.1 主面板PCB: 5.2 控制與顯示PCB:5.3 電源局部:5.5 電路板的選用: 選用環(huán)氧樹脂板, 環(huán)氧樹脂與銅箔有極好的粘合力,同箔的附著強度與工作溫度高,可以在260度的焊錫熔中不起泡。也可使用覆銅聚四氟乙烯玻璃布層壓板。不同的材料有不同的特點,由調(diào)試中可能屢次更換元件,所以要考慮到銅箔的粘合力。5.6 布線考前須知:布線的好環(huán)直接影響著放大器的性能,不好的線路板,會使信號產(chǎn)生歧變,產(chǎn)生本底噪音生尖峰脈沖干擾等,為了盡防止上述影響,線路板在線出盡量做到:5.6.1 接照信號的傳輸路徑由小到大的順序在電路板上合路
12、的布置各各元器的位置,盡量縮短各元器件之間的距離,以減少外部干擾的引入和不必要的干擾。5.6.2 在供電線路中,大電流通過的路徑應盡量度設計得實一些,以降低電源內(nèi)阻,使電流能順利通過。5.6.3 在供電線路中,應盡量防止大電流的印刷電路式導線交布置在小電流通路的中間或附近,以免造成對小電流的干擾。5.6.4 走線時,應盡量走大于90度直角的線以防止產(chǎn)生尖峰脈沖造成干擾。5.6.5 在設計電線時,盡量使星型供電方式,而且地的低盡量離濾波電的地端近。,5.6.6 大功率元件與小功率元件盡量分開布線。第六章 主要芯片資料應用說明AT89S51單片機:ATMEL公司生產(chǎn)的AT89S51單片機是采用高性
13、能的表態(tài)8051設計,由先進工藝制造,并帶有非易性FLADSH程序存儲器。它是一種高性能、低功耗的8位CMOS微處理芯片,市場應用多。主要性能特點有: 8KB FLASH ROM,可以擦除1000次以上,數(shù)據(jù)保存10年。 256字節(jié)內(nèi)部RAM。 電源控制模式時鐘可停止和恢復;空閑模式;掉電模式。 5個中斷源。 2個中斷優(yōu)先級。 4個8位I/O口。 全雙工增強型UART。 2個16位定時/計數(shù)器,T0、T1標準80C51 全靜態(tài)工作方式:024MHz。6.2 8051單片機的簡介:MCS-51單片機是Intel公司在1980年繼MCS-48系列8位單片機之后推出的高檔8位單片機。MCS-51單片
14、機在性能和片內(nèi)功能方面大大優(yōu)于MCS-48系列單片機。MCS-51的典列產(chǎn)品有:8031、8051、8751。8051內(nèi)部有4KBROM,8751內(nèi)部有4KBEPROM,8031片內(nèi)無ROM;除此之外,三者的內(nèi)部結(jié)構完全相同。在此主要介紹8051單片機。8051單片機內(nèi)部由CPU、4KBROM、256B有RAM、兩個16位的定時/計數(shù)器T0和T1,4個8位的I/O端口P0、P1、P2、P3、串行口等組成。其內(nèi)部原理框圖如下:芯片內(nèi)部結(jié)構圖(-)8位CPU由運算器、指令存放器、定時和控制電路、振蕩器等電路組成。為整個單片機芯片提供控制邏輯時序信號,并完成各類算術、邏輯運算。6.2.2 存儲器電路
15、:由4K字節(jié)的ROM或EPROM,以及程序地址存放器等組成程序存儲器電路。用來存放程序。假設內(nèi)部存儲器容量缺乏,可擴展外部存儲器,程序存儲器最大容量可達64K字節(jié)。由128個字節(jié)的RAM及RAM地址存放器等組成數(shù)據(jù)存儲器電路,用以存放用戶數(shù)據(jù)。也可擴展外部數(shù)據(jù)存儲器,外擴最大容量可達64K字節(jié)。還有20幾個特殊功能存放器SFR。包括累加器ACC、B存放器、數(shù)據(jù)指針DPTR等,用以臨時存放中間運算結(jié)果或一些特殊用途等。 輸入、輸出接口電路P0、P1、P2、P3口的鎖存器、驅(qū)動器及串行口控制等組成并行/串行接口電路,完成片機與外部設備之間的數(shù)據(jù)交換。兩個16位定時/計數(shù)電路構成定時器/計數(shù)器接口。
16、中斷電路為5個中斷源提供中斷邏輯控制信號。AT89S51工作極限參數(shù):工作溫度 儲藏溫度 任一腳對地電壓 1.0V to +7.0V最高工作電壓 6.6直流輸出電流 25.0mA6.3 引腳說明:8051單片機的外形結(jié)構為40條引腳雙列直插式封裝,其引腳排列如圖:引腳說明圖-6.3.1 主電源引腳Uss20腳:電路地電平。Ucc40腳:正常運行和編程校驗時為+5V電源。6.3.2 外接晶振或外部振蕩器引腳XTAL1和XTAL2:接外部晶振電路。當采用外部振蕩電路時,XTAL1應當接地,XTAL2接外部振蕩信號的輸入。 制引腳RST/Upd:RST是復位信號輸入端。Upd為備用電源輸入端,即Uc
17、c掉電時,由此引腳提供備用電源,以保持內(nèi)部RAM的信息。ALE/PROG:ALE是地址鎖存允許信號。PROG為編程脈沖輸入端,即中選用8751單片機時,對片內(nèi)程序存儲器進行編程時,由此引腳輸入編程脈沖。PSEN:訪問外部程序存儲器選通信號,低電平有效。Upp/EA:EA為訪問內(nèi)部或外部程序存儲器選擇信號。為1時,訪問內(nèi)部程序存儲器;當程序計數(shù)器PC超過片內(nèi)程序存儲器地址時,將自動轉(zhuǎn)向外部程序存儲器繼續(xù)運行。為0時,那么只能訪問外部程序存儲器。 輸入/輸出口引腳P0口3239:8位漏極開路雙向并行I/O端口。當訪問外部存儲器時,它是復用的地址和數(shù)據(jù)總路線;外部不擴展只做單片使用時,用做雙向I/O
18、口;在進行片內(nèi)部程序校驗期間,作指令代碼輸出,負載能力為8個LSTTL。P1口18:8位準雙向并行I/O端口,在片內(nèi)程序校驗期間,作低8位地址用。負載能力為4個LSTTL。P2口2128:8位準雙向并行I/O端口。當訪問外部存儲器時做高8位地址用;不做外部擴展時,那么做為準雙向I/O口使用;在片內(nèi)程序校驗時作高8位地址線負載能力為4個LSTTL。第七章 程序框圖及說明開始調(diào)用函數(shù)庫初始化源程序水位、按鍵掃描狀態(tài)掃描數(shù)碼管顯示指示燈狀態(tài)24C04讀寫操作啟停加水時間計時蜂鳴器報警電機運行監(jiān)控 程序流程圖-程序清單詳見附錄第八章 調(diào)試數(shù)據(jù)記錄表及調(diào)試故障現(xiàn)象及解決方法8.1 硬件調(diào)試: 一、首先我
19、們將硬件分為五個小模塊電源模塊、主面板模塊、顯示模塊、按鍵和指示燈模塊、傳感器部件進行腐蝕并焊接好元件,將各個模塊都進行測試。8.1.1 電源模塊:說明:因為我們的繼電器需要12V進行驅(qū)動,所以在此我們所選用的變壓器為220V12V交流變壓器,整流元件選用7812跟7805穩(wěn)壓管。調(diào)試:它的輸出電壓就得到了我們所需要的12V、5V、GND電源。焊接好元件后,接好變壓器,發(fā)現(xiàn)電源的指示燈不亮,用手觸摸7812與7805穩(wěn)壓管,發(fā)現(xiàn)7812與7805穩(wěn)壓管嚴重發(fā)熱,用萬用表測量輸出電壓,發(fā)現(xiàn)12V、5V于GND的電壓都為0.36V。立即取下變壓器。將電路進行檢測,在此我就對元件的引腳分別加以測試,
20、看其是否短接。經(jīng)過測試發(fā)現(xiàn)7812穩(wěn)壓管的散熱片與電容的接地腳短接,7805穩(wěn)壓管的散熱騙與電阻的的輸入腳短接。我們將穩(wěn)壓管平放在電路板上,測試無短接的情況下再次接上變壓器。電源指示燈亮,用萬用表測試輸出電壓,分別為+12.05V、+4.98V、GND。電源局部正常工作。將測試數(shù)據(jù)交給PCB制作人,讓他修改好PCB,不讓散熱片再次有短接的情況。8.1.2 主面板模塊:說明:主面板選用AT89S51芯片進行控制,24C04芯片作為外部存儲擴充空間。AT89S51單片機控制光耦芯片的斷開與閉合來控制NPN三極管的導通,繼電器的驅(qū)動電壓是+12V直流,當三極管導通后繼電器的線圈就有了+12V的直流電
21、壓。從而觸發(fā)繼電器的斷開與閉合。調(diào)試:主要測試對象是繼電器能否帶動大功率的水泵750W,復位電路是否正常。繼電器:將電源插在主面板上,接好水泵,寫入一個測試程序,將AT89S51的17腳置為低電平,接通電源后,查看繼電器是否閉合。得到預期的實驗結(jié)果,繼電器正常工作。#includesbit P37=a ;main()a=0;在光耦芯片中,我們可以看到當給以P3.7低電平GND時,光耦芯片將會導通,三極管將會導通從而使繼電器閉合,水泵工作。按下電源開關,查看水泵是否正常工作,繼電器能否承受起20mA的沖擊電流,測試后發(fā)現(xiàn),水泵正常工作。繼電器完好無損!主面板的繼電器局部正常。復位電路:接好電源后
22、,測試單片AT89S51的RST腳的電壓,測試數(shù)據(jù)得出為0V。按下復位按鍵后進行測試,RST腳的電壓為0.8V。依據(jù)復位電路的原理,按鍵復位不正常,檢測元件是否有電源+12V、+5V與地GND是否有短路,在線路的檢查中沒有出現(xiàn)短路情況,將原理圖進行分析,查看元件時候放置正確,結(jié)果檢查發(fā)現(xiàn)24C04芯片被接反,取下芯片再次測試,按下按鍵,RST腳為電壓為3.8V,依據(jù)單片機復位電路的原理,單片機以高電平復位。得出按鍵復位正常工作。8.1.3 顯示模塊: 說明:我們所使用的是共陽極四位八段數(shù)碼管,位接高電平高電平是+3V以上,以數(shù)碼管的要求不能超過5V。調(diào)試:首先用萬用表測試數(shù)碼管是否是損壞,將萬
23、用表調(diào)至二極管測量檔位,將正表筆接位,接位1時,負表筆接段選a.b.c.d.e.f.dp段,查看數(shù)碼管是否顯示各個段,測試后,位1正常,然后分別接位2、位3、位4結(jié)果顯示全部正常,數(shù)碼管無損壞。結(jié)合主面板測試,寫入一個測試程序,將AT89S51的P0、P2口置為低電平,接通電源后,查看數(shù)碼管顯示是否為滿格。得到預期的實驗結(jié)果,數(shù)碼管顯示為滿格。#includesbit P0=a ;sbit P2=b;main()a=0;b=0;8.1.4 按鍵和指示燈模塊:說明:當接上單片機時,假設單片機的引腳沒有定義,其默認就為高電平。當指示燈引腳為低電平時指示燈亮。調(diào)試:首先檢查按鍵是否正常,沒按下時為斷
24、開,按下按鍵那么導通,測試結(jié)果,沒按下時其為閉合,經(jīng)過檢測,發(fā)現(xiàn)電路板在敷銅時將兩個腳接到了一起,解決方法,用刀片將外圍的銅全部刮掉,將方案交給PCB制作人,進行修改PCB。結(jié)合主面板進行測試按鍵,放入一個單片機,不寫入任何程序,按鍵的引腳默認為高電平,接入電源,用萬用表測試引腳,結(jié)果為高電平,當按下按鍵那么為低電平,用萬用表進行測試是否為低電平,測試結(jié)果為低電平。測試指示燈時,寫入一個程序:將AT89S51的P1.3P1.5腳置為低電平,接通電源后,查看指示燈是否亮。得到預期的實驗結(jié)果,指示燈亮。#includesbit P13=a;sbit P14=b;sbit P15=c;main()a
25、=0;b=0;c=0;8.1.5 傳感器部件:說明:我們使用的是鋼簧管,當鋼簧管受到磁場力時就會閉合,沒有磁場力時那么會斷開,我們在此使用三個鋼簧管作為傳感器部件,到達三個水位顯示效果。接出四根線,三根單片機引腳線,一根接地線。 調(diào)試:用磁芯去吸引鋼簧管,再用萬用表測試鋼簧管是否閉合,測試結(jié)果,閉合。傳感器部件一切正常。 接入主面板進行調(diào)試,放入一個沒有程序的單片機,接上電源,用磁芯吸引鋼簧管,用萬用表測試其相對應的單片機腳是否為低電平。測試結(jié)果,沒當吸引鋼簧管時其單片機相對應的管腳為低電平。得出結(jié)論,此鋼簧管進入面板調(diào)試一切正常??偨Y(jié)調(diào)試:組合全部面板:寫入一個測試程序,查看數(shù)碼管顯示、指示
26、燈的亮、滅,按鍵功能是否正常。接入電源,運行該程序,查看其效果是否一切正常,調(diào)試結(jié)果該組合局部全部正常,然后將所有有誤差的PCB修改好,腐蝕出電路板,焊接好元件,經(jīng)過全部組合后的調(diào)試方法進行調(diào)試,其電路能夠順利的進行工作。8.2 軟件調(diào)試:8.2.1 水位按鍵掃描程序的調(diào)試。將high_water_scan()等函數(shù)的輸出項如high_up_pulse,high_down_pulse直接聯(lián)系到P0 口觀測P0口輸出電壓是否正確。 狀態(tài)掃描函數(shù)的調(diào)試。該函數(shù)輸出項都為外部輸出,可以直接從數(shù)碼管等外部器件知函數(shù)否正常。由觀測結(jié)果進行調(diào)試。 蜂鳴器報警函數(shù)的調(diào)試。蜂鳴器為4分之1秒響一次。時間周期
27、由計時器 0提供。由觀測結(jié)果進行調(diào)試。 指示燈狀態(tài)函數(shù)的調(diào)試。在自動運行模式時,由傳感器提信號,低水位綠燈亮,中水位黃燈亮,高水位紅燈亮由觀測結(jié)果進行調(diào)試。 數(shù)碼管顯示函數(shù)的調(diào)試。在自動運行模式時,數(shù)碼管顯示當前加水時間,在查詢模式顯示歷史加水時間,在手動模式時顯示-。由觀測結(jié)果進行調(diào)試。 24C04讀寫操作函數(shù)的調(diào)試。在計時10次之后,進入查詢模式,按下模式/功能進行上翻/下翻。由觀測結(jié)果進行調(diào)試。 電機運行監(jiān)控函數(shù)的調(diào)試。在所有的調(diào)試完成之后,進入手動模式,進行啟動/停止操作觀察繼電器是否工作。進入自動模式,移動干簧管觀察繼電器是否與設計思路工作方式相同。 由上述步聚依次調(diào)試、改良直至完成
28、所有目標任務第九章 心得體會在一個多月的時間里我們終于完成了畢業(yè)設計居民小區(qū)水箱控制系統(tǒng)。這段時間我們雖然相當辛苦但收獲良多。許許多多的困難被我們克服,只因為我們是一個優(yōu)良的團隊有一個相當負責相當能干的指導老師,而在此期間學到的將使我受用終身。1、市場會因為競爭而使商品變得極為精練和符合供求關系。在當初選擇畢業(yè)設計課題時我就瞄準了居民小區(qū)水箱控制系統(tǒng)這種看似簡單的東西。在我國廣闊農(nóng)村地區(qū)因為生活水平的提高農(nóng)民們再也不想沒天都去井里打水用了,他們非常希望擁有城里人一樣的自來水供水系統(tǒng)。于是由水井、潛水電泵、家用水塔、自動水位控制器組成的自動供水系統(tǒng)的市場前景變得相當可觀,而該系統(tǒng)的核心自動水位控
29、制器又是其中最有利可圖的局部。我想以我現(xiàn)在學到的知識自己設計一個應該不是太難的事。為了牟利所做的設計首先要做的事便是市場調(diào)查。但出乎我們意料之外的是此時的市場上已經(jīng)充滿著各式各樣的水位控制器了,最廉價的僅二十幾元。我們買回一個拆開一看它簡單得幾乎沒有任何電路,本錢不超過十元,但它確有最根本的功能。簡單一算便知它的利潤超過100%,這使我們相當受鼓舞,但它超低的本錢是我們無法超越的。正在我們一籌莫展之際老師指給我們一條明路:別人做低端我們可以做高端啊。沒錯我們學了這么多電子知識為什么不做個功能強大的水位控制器呢?而此時我們還沒看到市場上有超過100元的產(chǎn)品。2、元器件的選擇就像做菜時的原料一樣,
30、選得好你就成功了一大半。確定了目標后就馬不停蹄的開始設計工作。原始數(shù)據(jù)資料找齊了,元件的選擇是一個大難關,必盡我們實際操作的經(jīng)驗太少。雖然有老師的大力幫助但元件上的問題還是在之后的時間里造成了一些相當棘手的問題幾乎讓我們推倒重來。3、程序的價值往往比硬件高。我們的作品是用單片機控制的,在編寫過程中我了解到實際應用中的程序和書上的習題根本是兩回事。書上的習題往往把所有的條件都告訴你了。而在實際中沒有人會告訴你將會發(fā)生什么但是所有的可能性你都得想到,要做到這點非常困難。生活經(jīng)驗的缺乏和邏輯思維訓練不夠使我編寫出來的程序漏洞百出。在無數(shù)次修改和老師的幫助下我終于在硬件完成調(diào)試之前編寫出了調(diào)試用的軟件
31、。這次程序的編寫中我體會到硬件是比較死板的只要能夠運行他就一定是好的,而軟件呢,它在沒有語法錯誤的情況下都能運行但卻不一定是好的甚至錯得更厲害。而且軟件還可以在一定程度上禰補硬件的缺乏,而硬件卻很難反過來禰補軟件。第十章 致 謝今天我的畢業(yè)設計終于定稿了,這是我畢業(yè)設計的致謝局部,應該說是寫進了我真實的想要表達的謝意,其實,還有許多人要感謝,只是不太適合放在論文里。半年的時間一晃而過,至此畢業(yè)設計成文之際,回想起半年來的點點滴滴,心里不由感慨萬分。這次的畢業(yè)設計,對我而言是一個全新的領域,從根本原理的學習,到相關的理論分析,不僅僅是對三年學習的一個檢驗,更是對科研能力的培養(yǎng)。在這半年之中,有許
32、多人給予了我?guī)椭笇В诖?,表達我最真摯的感謝: 首先我要感謝我的導師董老師,董老師踏實嚴謹?shù)闹螌W態(tài)度,扎實的學術功底,豐富的經(jīng)驗,以及對于科研事業(yè)的熱愛,讓我崇敬,也為我樹立起了前進道路上的典范。平時工作中,老師平易近人,耐心解答我的任何疑問,悉心指導我的理論學習和實際操作,使我在短短半年的時間內(nèi)迅速融入了所學習的專業(yè)中,在專業(yè)上有了很大的提高。其次,我想感謝自動化系的其它老師,各位老師雖然沒有直接參與我的畢業(yè)設計指導工作,但也給予了我很多鼓勵和幫助。平時工作中各位老師所表現(xiàn)出的踏實敬業(yè),耳濡目染地影響著我對工作和學習的態(tài)度,使我學到了許多道理,謝謝各位老師。不管是大學以來一直一同努力的同伴
33、,還是在畢業(yè)設計階段才認識的同學,你們給我這半年忙碌的生活中注入許多歡樂,每一次與你們的探討都讓我深受啟發(fā)。最后,感謝父母二十多年的養(yǎng)育,不管什么時候都在背后支持我,給我適時的鼓勵和提醒,看著我成長。畢業(yè)設計是將大學三年所學綜合運用的過程,我相信,這段時間的鍛煉和學習必將為我的將來打下良好的根底。再一次向所有關心過我,幫助過我的人表達最誠摯的謝意!感謝我的導師董靜老師,以及所有任課老師,他們嚴謹細致、一絲不茍的作風一直是我工作、學習中的典范;他們循循善誘的教導和不拘一格的思路給予了我無盡的啟迪。 第 十一 章 參 考 文 獻1. 李全利 單片機原理及接口技術 高等教育出版社 2. 廖常初 S7
34、-200PLC編程及應用 機械工業(yè)出版社 3. 張莉 C/C+程序設計教程 清華大學出版社 4. 黃仁欣 單片機原理及應用技術. 清華大學出版社 5. 胡文金 單片機應用技術實訓教程 重慶大學出版社 6. 朱殿棟 數(shù)字電路設計實用手冊 北京電子工業(yè)出版社 7. 朱月秀 單片機原理與應用 科學出版社 8. 馮建華 基于單片機的控制系統(tǒng)研究 單片機學報 9. 楊欣,王玉鳳 51單片機應用從零開始 清華大學出版社 10. 龔運新,胡長勝 單片機實用技術教程 北京師范大學出版社第十二章 附 錄12.1 源程序#include #define LED_LIGHT 0#define LED_OUT 1#d
35、efine SPEAK_ON 0#define SPEAK_OFF 1#define W_MOTOR_START 0#define W_MOTOR_STOP 1/*輸入輸出端口*/sbit high_water_s=P25; /上水位干璜管sbit mid_water_s=P26; /中水位干璜管sbit lower_water_s=P27; /下水位干璜管sbit speak=P24; /蜂鳴器驅(qū)動端口sbit led_red=P13; /紅色指示燈端口sbit led_yellow=P14; /黃色指示燈端口sbit led_green= P15; /綠色指示燈端口sbit maintai
36、n_key=P10; /維護開關端口第一個按鍵bit flag_maintain=0;bit flag_maintain_stroken=0;sbit mode_key=P11; /模式鍵端口第二個鍵bit flag_mode=0;bit flag_mode_stroken;sbit function_key=P12; /功能鍵端口第三個鍵bit flag_function=0;bit flag_func_stroken=0;sbit w_motor=P37; /電機驅(qū)動端口sfr data_seg_port=0 x80; /數(shù)碼管段碼驅(qū)動端口sfr data_wei_port=0 xa0;
37、/數(shù)碼管位碼驅(qū)動端口/*狀態(tài)表示位*/bit high_up_pulse=0; /上水位上升沿bit high_down_pulse=0; /上水位下降沿bit mid_up_pulse=0; /中水位上升沿bit mid_down_pulse=0; /中水位下降沿bit lower_up_pulse=0; /下水位上升沿bit lower_down_pulse=0; /下水位下降沿bit flag_start_t0=0; /定時器啟停標示 bit flag_add_water=0; /加水標志 0為用水狀態(tài)、1為加水狀態(tài)bit flag_motor_error=0; /電機出錯或下水源缺水b
38、it flag_erase_24c04 /24c04數(shù)據(jù)刪除標志 /*根本處理數(shù)據(jù)*/char code seg10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; /定義數(shù)據(jù)段碼char code wei8=0 x7f,0 x0bf,0 x0df,0 x0ef,0 x0f7,0 x0fb,0 x0fd,0 x0fe; /P2.0為S1 定義數(shù)據(jù)位碼 /個位在wei7、高位在wei0 int count_50ms=0; /50ms計時變量char water_point_status=0; /水塔水位狀態(tài)標示bit fl
39、ag_250ms; /0.25ms閃爍標志char display_data4; /數(shù)碼管顯示數(shù)據(jù)數(shù)組char add_water_count=0; /加水次數(shù)char find_water_count=0; /查閱加水次數(shù)char lower_add_water_time=0; /下層加水時間分鐘char up_add_water_time=0; /上層加水時間分鐘char add_water_time_second; /加水時間秒鐘char add_water_time_minute; /加水時間分鐘char add_water_uptime=0; /加上層水時間char add_wate
40、r_downtime=0; /加下層水時間char add_water_uptime_storage=0; /存儲加上層水時間char add_water_downtime_storage=0; /存儲加下層水時間char mod_status=0; /0為手動啟停方式 1為手動查閱上次加水時間通過功能鍵執(zhí)行 char ram_write_24c044; /24c04寫數(shù)組char ram_read_24c044; /24c04讀數(shù)組 /*延時函數(shù)*/void delay(int n) int i; for(i=0;i2)mod_status=0; if(mod_status=0) if(fl
41、ag_func_stroken) flag_func_stroken=0;flag_add_water=flag_add_waterif(flag_add_water) /手動起動電機start_counter_timer();elsestop_counter_timer(); /手動停止電機 else if(mod_status=1) if(flag_func_stroken) flag_func_stroken=0;find_water_count-;if(find_water_count0)find_water_count=add_water_count; /修改查詢指針 else ;
42、if(flag_erase_24c04=1)clr_24c04(); /刪除24c04中有效數(shù)據(jù) /ifelse /復位控制過程到正常監(jiān)控階段(非調(diào)整階段) flag_mode_stroken=0; mod_status=0;flag_func_stroken=0;flag_erase_24c04=0; /*狀態(tài)掃描函數(shù)*/bit flag_add_water=0; /加水標志 0為用水狀態(tài)、1為加水狀態(tài)void status_scan(void)if(flag_add_water=0) /用水方式狀態(tài)掃描 if(high_down_pulse&high_water_s=1) /上位警戒水位w
43、ater_point_status=1;high_down_pulse=0;else if(high_up_pulse&high_water_s=0) /上水位water_point_status=2;high_up_pulse=0; else if(mid_down_pulse&mid_water_s=1) /中水位water_point_status=3;mid_down_pulse=0;elseif(mid_up_pulse&mid_water_s=0) /下水位water_point_status=4;mid_up_pulse=0;else if(lower_down_pulse&lo
44、wer_water_s=1) /下位警告水位water_point_status=5;lower_down_pulse=0;else if(lower_up_pulse&lower_water_s=0) /水塔嚴重缺水狀態(tài)water_point_status=6;lower_up_pulse=0; start_counter_timer();/自動啟動電機elseif(high_up_pulse&high_water_s=1)water_point_status=0;high_up_pulse=0; else ; else /加水方式狀態(tài)掃描 if(lower_down_pulse&lower
45、_water_s=0)water_point_status=7;lower_down_pulse=0;else if(lower_up_pulse&lower_water_s=1)water_point_status=8;lower_up_pulse=0;else if(mid_down_pulse&mid_water_s=0)water_point_status=9;mid_down_pulse=0;else if(mid_up_status&mid_water_s=1)water_point_status=10;mid_up_pulse=0;else if(high_down_pulse&
46、high_water_s=0)water_point_status=11;high_down_pulse=0;else if(high_up_pulse&high_water_s=1)water_point_status=12;high_up_pulse=0;stop_counter_timer();/自動停止電機else ; /*蜂鳴器報警函數(shù)*/void warn_speak(void)if(flag_250ms)speak=SPEAK_ON;elsespeak=SPEAK_OFF;/*指示燈狀態(tài)函數(shù)*/void led_red_flick(void) /紅指示燈閃爍if(flag_250
47、ms)led_red=LED_LIGHT;elseled_red=LED_OUT;void led_yellow_flick(void) /黃指示燈閃爍if(flag_250ms)yellow_red=LED_LIGHT;elseyellow_red=LED_OUT;void led_green_flick(void) /綠指示燈閃爍if(flag_250ms)green_red=LED_LIGHT;elsegreen_red=LED_OUT;void led_red_light(void) /紅指示燈亮 led_red=LED_LIGHT;void led_red_out(void) /紅指
48、示滅 led_red=LED_OUT;void led_yellow_light(void) /黃指示燈亮 led_yellow=LED_LIGHT;void led_yellow_out(void) /黃指示燈滅 led_yellow=LED_OUT;void led_green_light(void) /綠指示燈亮 led_green=LED_LIGHT;void led_green_out(void) /綠指示燈滅 led_green=LED_OUT;void led_scan(void) /指示燈工作狀態(tài)掃描 switch(water_point_status) case 0: /水塔
49、水位爆滿、嚴重警告 case 12: led_red_light(); led_yellow_light(); led_green_light(); warn_speak(); flag_add_water=0; w_motor=W_MOTOR_STOP; break; case 1: case 11: led_red_flick(); /水塔高水位警告顯示 led_yellow_out(); led_green_out(); break; case 2: case 10: led_red_light(); /水塔高水位正常顯示 led_yellow_out(); led_green_out(
50、); break; case 3: case 9: led_red_out(); /水塔中水位閃爍顯示 led_yellow_flick(); led_green_out(); break; case 4: case 8: led_red_out(); /水塔下水位正常顯示 led_yellow_light(); led_green_out(); break; case 5: case 7: led_red_out(); /水塔下水位閃爍警告顯示 led_yellow_out(); led_green_flick(); break; case 6: led_red_flick(); /水塔下水
51、位閃爍警告顯示 led_yellow_flick(); led_green_flick(); warn_speak(); flag_add_water=1; w_motor=W_MOTOR_START; break; default: led_red_out(); led_yellow_out(); led_green_light(); break; /*數(shù)碼管顯示函數(shù)*/void adjust_add_water_time(void) /實時顯示加水時間 display_data0=segadd_water_time_second%10; display_data1=segadd_water
52、_time_second/10; display_data2=segadd_water_time_minute%10; display_data3=segadd_water_time_minute/10;void find_add_water_time(void) /顯示查閱加水時間數(shù)據(jù) display_data0=segadd_water_time_minute%10; /分鐘 display_data1=segadd_water_time_minute/10; display_data2=0 x0bf; display_data3=segfind_water_count%10;void M
53、otor_Error_indicator(void) char i; for(i=0;i4;i+) display_datai=0 x7f; led_red_out(); led_yellow_out(); led_green_out();void adjust_water_use(void) /用水狀態(tài)顯示- char i; for(i=0;i4;i+) display_datai=0 x0bf; void Erase_24c04_Indicator(void) /刪除24c04數(shù)據(jù)指示 if(flag_erase_24c04=1) display_data0=0 x0bf; /-1-1 d
54、isplay_data1=seg1; display_data2=0 x0bf; display_data3=seg1; void display_seg_data_scan(void) if(maintain_key) if(flag_add_water=0) /用水狀態(tài) adjust_water_use(); else adjust_add_water_time(); /自動加水狀態(tài) if(maintain_key=0&mod_status=0) /手動加水狀態(tài) adjust_add_water_time(); if(maintain_key=0&mod_status=1) /查閱狀態(tài) f
55、ind_add_water_time(); if(flag_motor_error) /電機出錯或下水源缺水報警指示 Motor_Error_indicator(); warn_speak(); Erase_24c04_Indicator(); /刪除24c04數(shù)據(jù)指示 void display_seg(void) char i; display_seg_data_scan(); for(i=0;i4;i+) if(maintain_key&flag_add_water=0&flag_250ms) /用水階段閃爍顯示- data_seg_port=display_datai; else dat
56、a_seg_port=0 x0ff; data_wei_port=weii; delay(100); if(maintain_key&flag_add_water=1|maintain_key=0&mod_status=0) data_seg_port=0 x7f; data_wei_port=wei2; delay(30); /* 24c04讀寫操作函數(shù)*/void Read24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes)void Write24c02(unsigned char *Wd
57、ata,unsigned char RomAddress,unsigned char number)char ram_write_24c044; /24c04寫數(shù)組char ram_read_24c044; /24c04讀數(shù)組 char add_water_count=0; /加水次數(shù)char find_water_count=0; /查閱加水次數(shù)void clr_24c04(void) /手動去除24c04中所有有效數(shù)據(jù) char i; ram_write_24c041=-1; /存儲數(shù)據(jù)有效為置無效-1 for(i=0;i50;i+) /最大存儲數(shù)據(jù)50組 Write24c02(ram_write_24c04,4*i,4); add
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程勞務分包合同竣工驗收標準文本
- 2025年度酒水倉儲物流服務合同范本
- 2025年度物流運輸代理居間合同協(xié)議書參考范本
- 2025年度還建房屋買賣合同書-帶養(yǎng)老設施還建住宅
- 2025年度智能物流系統(tǒng)設計與實施合同
- 2025年會所裝修工程驗收合格證書合同
- 二零二五年度豬肉加工企業(yè)原料采購合同書3篇
- 2025年度攝影工作室場地租賃合同范本
- 二零二五年度新能源產(chǎn)業(yè)土地租賃合同終止與綠色能源協(xié)議
- 2025年度地下綜合管廊施工合同履約保證金繳納及流程
- 語言和語言學課件
- 《工作場所安全使用化學品規(guī)定》
- 2022年菏澤醫(yī)學專科學校單招綜合素質(zhì)考試筆試試題及答案解析
- 市政工程設施養(yǎng)護維修估算指標
- 《管理學基礎》完整版課件全套ppt教程(最新)
- 短視頻:策劃+拍攝+制作+運營課件(完整版)
- 基金會財務報表審計指引
- 藍色卡通風好書推薦教育PPT模板
- 2022年江蘇省泰州市中考數(shù)學試題及答案解析
- 石家莊鐵道大學四方學院畢業(yè)設計46
- 智能化系統(tǒng)培訓
評論
0/150
提交評論