版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)</b></p><p> 題目 智能水塔水位控制器</p><p><b> 目 錄</b></p><p> 第一章 前言………………………………………………… 2 </p><p> 第二章
2、 功能說(shuō)明,結(jié)合功能框圖………………………… 3</p><p> 第三章 使用操作說(shuō)明 …………………………………… 5</p><p> 第四章 原理圖分析主要部分工作原理 …………………… 7</p><p> 第五章 PCB板制作 ………………………………………… 9</p><p>
3、 第六章 主要芯片資料應(yīng)用說(shuō)明…………………………… 11</p><p> 第七章 程序框圖及說(shuō)明 …………………………………… 15</p><p> 調(diào)試數(shù)據(jù)記錄表及調(diào)試故障現(xiàn)象及其解決方法… 16</p><p> 心得體會(huì) ………………………………………… 20</p><p> 第十章
4、 致謝……………………………………………… 22</p><p> 第十一章 參考文獻(xiàn)………………………………………… 23</p><p> 第十二章 附錄(源程序)………………………………… 24</p><p> 第一章 前 言</p><p> 目前我國(guó)水資源已經(jīng)相當(dāng)?shù)膮T乏,如何節(jié)約
5、用水也成為了電子愛(ài)好者設(shè)計(jì)制作的焦點(diǎn)。</p><p> 現(xiàn)有的二級(jí)供水方式,既先用水泵從水井中抽到蓄水池中供用戶使用,要求蓄水池的水位必須保持一定的高度,還需要防止水的溢出??墒乾F(xiàn)在市售的都是傳統(tǒng)的水位控制器,多以浮球式、觸點(diǎn)式為主,可靠性不好,有著無(wú)法改進(jìn)的致命缺點(diǎn),如:無(wú)水位顯示,無(wú)電機(jī)保護(hù),可靠性不高,控制精度改進(jìn)度不大,壽命不長(zhǎng)……</p><p> 相對(duì)于機(jī)械式水位控制器,
6、電子式的水位控制器有著無(wú)可比擬的優(yōu)點(diǎn):添加水位顯示電路、電機(jī)保護(hù)電路、強(qiáng)制性手動(dòng)開(kāi)、關(guān)機(jī)電路可以達(dá)到水位顯示、簡(jiǎn)單的電機(jī)保護(hù)、水位自動(dòng)控制,控制精度是傳統(tǒng)機(jī)械式水位控制器的幾何倍。</p><p> 本控制器采用了高效率、高穩(wěn)定性、低功耗的ATMEL80s51單片機(jī),具有水位狀態(tài)顯示、抽水時(shí)間顯示、并有故障檢測(cè)功能。集高效、高精度、高穩(wěn)定性、低功耗、高性價(jià)比、良好的人機(jī)交流界面、操作簡(jiǎn)便、顯示直觀以及低功耗等功
7、能于一體的智能水塔水位控制器無(wú)疑將會(huì)家用水位控制器極具競(jìng)爭(zhēng)力的一匹黑馬。</p><p> 第二章 功能說(shuō)明,結(jié)合功能框圖</p><p><b> 結(jié)構(gòu)方框圖(-)</b></p><p> 本產(chǎn)品控制部分采用低電壓,高性能CMOS8位微處理器ATMEL的AT89S51,該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的
8、MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,功能十分強(qiáng)大并且價(jià)格低廉。</p><p> 水位開(kāi)關(guān)采用三組帶環(huán)行磁鐵的密封在水管中的干簧管,磁鐵在水的浮力作用下吸合干簧管而使之導(dǎo)通,靈敏度很高。</p><p> 工作電壓: 220V ±10%</p><p> 消耗功率: 0.1W(待機(jī)) 2
9、W(工作)</p><p> 控制輸出功率:≤6.6KW</p><p> 水位控制精度: ±5cm</p><p> 短期使用環(huán)境溫度: -40~75度</p><p> 短期使用環(huán)境濕度: 5%~95%</p><p> 穩(wěn)定使用環(huán)境溫度: -20度~50度</p>
10、<p> 長(zhǎng)期使用環(huán)境濕度: 35%~80%</p><p> 誤 差 : <1%</p><p> 2.1 各部分的設(shè)計(jì):</p><p> 2.1.1 水位開(kāi)關(guān)的設(shè)計(jì):</p><p> 三個(gè)水位開(kāi)關(guān)由三個(gè)鋼簧管組成。</p><p> 分別安裝在水塔的高,中,低部位。&l
11、t;/p><p> 最高是停止抽水,最低是啟動(dòng)抽水,中間是起時(shí)間報(bào)警保護(hù)水泵作用。</p><p> 2.1.2 潛水泵的選擇:</p><p><b> 水泵為單相水泵。</b></p><p> 潛水泵安裝在水源內(nèi)部。</p><p> 2.1.3 設(shè)計(jì)按鍵部分:</p>
12、<p> 復(fù)位按鍵,維護(hù)按鍵,模式按鍵,功能按鍵,電源開(kāi)關(guān)。</p><p> 復(fù)位按鍵設(shè)計(jì)在內(nèi)部。維護(hù)按鍵,模式按鍵,功能按鍵,電源開(kāi)關(guān)按鍵都安裝在外部。</p><p> 2.1.4 數(shù)碼管顯示設(shè)計(jì): </p><p> 抽水時(shí)間和次數(shù),由一個(gè)四位數(shù)碼管顯示</p><p> 2.1.5 報(bào)警器的設(shè)計(jì):<
13、/p><p><b> 以低電平觸發(fā)。</b></p><p> 當(dāng)電機(jī)出現(xiàn)空轉(zhuǎn),欠壓,失壓,水源缺水以及系統(tǒng)電路出現(xiàn)故障時(shí),進(jìn)行自動(dòng)報(bào)警并且自動(dòng)控制電機(jī)停止運(yùn)轉(zhuǎn)。</p><p> 2.1.6 狀態(tài)指示燈設(shè)計(jì):</p><p> 當(dāng)紅、黃、綠三燈同時(shí)亮起時(shí)顯示水位已滿,紅燈閃爍表示高水位警告顯示,紅燈亮表示高水位
14、正常顯示,黃燈亮表示中水位顯示,綠燈亮表示低水位正常顯示,綠燈閃爍表示低水位警告,紅黃綠三燈同時(shí)閃爍表示水源缺水報(bào)警。</p><p> 2.1.7 控 制 部 分:</p><p> 按下電源開(kāi)關(guān)后,本產(chǎn)品開(kāi)始自動(dòng)檢測(cè),若無(wú)故障則開(kāi)始工作,檢測(cè)水塔內(nèi)的水位,若水位過(guò)低則綠燈閃爍,自動(dòng)啟動(dòng)水泵開(kāi)始抽水直到水滿,數(shù)碼管開(kāi)始顯示抽水時(shí)間,水位過(guò)中間時(shí)黃燈會(huì)亮,當(dāng)水抽滿時(shí)三盞等全亮;
15、如果水位正常則本產(chǎn)品進(jìn)入待機(jī)狀態(tài)。</p><p> 第三章 使用操作說(shuō)明</p><p> 3.1 產(chǎn)品操作簡(jiǎn)介:</p><p><b> 指示燈功能表(一)</b></p><p> 本產(chǎn)品為智能化水位自動(dòng)控制器,接同電源后無(wú)須任何操作即可自動(dòng)工作。如有必要也可通過(guò)按鍵在任何正常工作情況下強(qiáng)制開(kāi)啟停止
16、水泵。</p><p> 產(chǎn)品面板上有三個(gè)按鍵,左邊一個(gè)紅色帶鎖的維護(hù)鍵,中間一個(gè)綠色點(diǎn)觸式模式鍵、和右邊一個(gè)綠色點(diǎn)觸式按鍵,內(nèi)部還有一個(gè)復(fù)位按鍵,按下復(fù)位鍵則恢復(fù)默認(rèn)設(shè)置。</p><p> 四個(gè)數(shù)碼管分別顯示和記錄抽水次數(shù)、時(shí)間。</p><p> 當(dāng)紅、黃、綠三燈同時(shí)亮起時(shí)顯示水位已滿,紅燈閃爍表示高水位警告顯示,紅燈亮表示高水位正常顯示,黃燈亮表示中水
17、位顯示,綠燈亮表示低水位正常顯示,綠燈閃爍表示低水位警告,紅黃綠三燈同時(shí)閃爍表示水源缺水報(bào)警。 </p><p> 操作規(guī)程:按下電源開(kāi)關(guān)后,本產(chǎn)品開(kāi)始自動(dòng)檢測(cè),若無(wú)故障則開(kāi)始工作,檢測(cè)水塔內(nèi)的水位,若水位過(guò)低則綠燈閃爍,自動(dòng)啟動(dòng)水泵開(kāi)始抽水直到水滿,數(shù)碼管開(kāi)始顯示抽水時(shí)間,水位過(guò)中間時(shí)黃燈會(huì)亮,當(dāng)水抽滿時(shí)三盞等全亮;如果水位正常則本產(chǎn)品進(jìn)入待機(jī)狀態(tài)。</p><p> 用水時(shí),
18、數(shù)碼管全部顯示橫杠,三盞指示燈顯示相應(yīng)的水位,燈的顯示情況與水位狀況如下所示:</p><p> 本產(chǎn)品的水位為自動(dòng)控制,在水位過(guò)低時(shí)可自動(dòng)抽水,水滿則自動(dòng)停機(jī)。若想進(jìn)入手動(dòng)狀態(tài),在抽水狀態(tài)下按下紅色維護(hù)鍵,再按下功能鍵就停止抽水,再按一次則再次啟動(dòng)水泵抽水;在待機(jī)狀態(tài)下按下紅色維護(hù)鍵,再按一次功能鍵就啟動(dòng)水泵抽水,再按一次則停止抽水。</p><p> 注意:在水已經(jīng)滿了的時(shí)候,按啟
19、動(dòng)鍵無(wú)效,不能手動(dòng)啟動(dòng)水泵。</p><p> 在不抽水的用水期按下維護(hù)鍵,數(shù)碼管顯示00-00,可通過(guò)功能鍵可以翻閱以前的抽水次數(shù)和時(shí)間。</p><p> 當(dāng)出現(xiàn)了一些程序錯(cuò)誤不能正常工作的時(shí)候,按下內(nèi)部的復(fù)位鍵則可以解決大部分的問(wèn)題。按下復(fù)位鍵的同時(shí)再按下模式跟功能按鍵1S以上則清除所有數(shù)據(jù),恢復(fù)出廠狀態(tài)。</p><p> 第四章 原理圖分析主要部分工
20、作原理</p><p> 4.1 電源部分采用了常用的三端穩(wěn)壓電路。通過(guò)變壓器將220v的市電降成12v的交流電,經(jīng)過(guò)D1~D4橋堆和2200UF電容進(jìn)行整流、濾波,通過(guò)0.1uf電容濾出高次諧波,得到了波形叫平穩(wěn)的13.2v左右的直流電,通過(guò)7812后得到了非常平穩(wěn)的12v直流電;再經(jīng)過(guò)一次相同的穩(wěn)壓過(guò)程得到了紋波系數(shù)更小的5v直流電。整個(gè)電路的輸出功率也完全可以達(dá)到本廠品的需求。</p>&
21、lt;p><b> 原理圖(-)</b></p><p> 4.2 主面板: 主要是由TA89S51、24C04存儲(chǔ)芯片和一些外圍電路構(gòu)成主要由小電流控制大電流。由三個(gè)水位開(kāi)關(guān)分別裝在水塔的“上,中,下”三個(gè)水位。當(dāng)水塔水位在底水位時(shí),底水位傳感器信號(hào)輸入給TA89S51 P2.5-P2.7,然后TA89S51通過(guò)P3.7控制光耦來(lái)控制水泵抽水,直到水塔抽滿,水泵才停.在抽水的
22、過(guò)程中4位數(shù)碼管顯抽水時(shí)間,和的抽水的次數(shù).</p><p> 4.3 TA89S51各引腳所對(duì)應(yīng)外電路如下:</p><p> 4.4 24C04各引腳功能:</p><p> 4.5 光耦各引腳功能:</p><p> 第五章 PCB板制作</p><p> 5.1 主面板PCB:</
23、p><p> 5.2 控制與顯示PCB:</p><p> 5.3 電源部分:</p><p> 5.5 電路板的選用:</p><p> 選用環(huán)氧樹(shù)脂板, 環(huán)氧樹(shù)脂與銅箔有極好的粘合力,同箔的附著強(qiáng)度與工作溫度高,可以在260度的焊錫熔中不起泡。也可使用覆銅聚四氟乙烯玻璃布層壓板。不同的材料有不</p><p&
24、gt; 同的特點(diǎn),由調(diào)試中可能多次更換元件,所以要考慮到銅箔的粘合力。</p><p> 5.6 布線注意事項(xiàng):</p><p> 布線的好環(huán)直接影響著放大器的性能,不好的線路板,會(huì)使信號(hào)產(chǎn)生歧變,產(chǎn)生本底噪音生尖峰脈沖干擾等,為了盡避免上述影響,線路板在線出盡量做到:</p><p> 5.6.1 接照信號(hào)的傳輸路徑由小到大的順序在電路板上合路的布置各
25、各元器的位置,盡量縮短各元器件之間的距離,以減少外部干擾的引入和不必要的干擾。</p><p> 5.6.2 在供電線路中,大電流通過(guò)的路徑應(yīng)盡量度設(shè)計(jì)得實(shí)一些,以降低電源內(nèi)阻,使電流能順利通過(guò)。</p><p> 5.6.3 在供電線路中,應(yīng)盡量避免大電流的印刷電路式導(dǎo)線交布置在小電流通路的中間或附近,以免造成對(duì)小電流的干擾。</p><p> 5.6.
26、4 走線時(shí),應(yīng)盡量走大于90度直角的線以防止產(chǎn)生尖峰脈沖造成干擾。</p><p> 5.6.5 在設(shè)計(jì)電線時(shí),盡量使星型供電方式,而且地的低盡量離濾波電的地端近。,</p><p> 5.6.6 大功率元件與小功率元件盡量分開(kāi)布線。</p><p> 第六章 主要芯片資料應(yīng)用說(shuō)明</p><p> AT89S51單片機(jī)
27、:</p><p> ATMEL公司生產(chǎn)的AT89S51單片機(jī)是采用高性能的表態(tài)8051設(shè)計(jì),由先進(jìn)工藝制造,并帶有非易性FLADSH程序存儲(chǔ)器。它是一種高性能、低功耗的8位CMOS微處理芯片,市場(chǎng)應(yīng)用多。主要性能特點(diǎn)有:</p><p> 8KB FLASH ROM,可以擦除1000次以上,數(shù)據(jù)保存10年。</p><p> 256字節(jié)內(nèi)部RAM。</
28、p><p><b> 電源控制模式</b></p><p> ——時(shí)鐘可停止和恢復(fù);</p><p><b> ——空閑模式;</b></p><p><b> ——掉電模式。</b></p><p><b> 5個(gè)中斷源。</b&
29、gt;</p><p><b> 2個(gè)中斷優(yōu)先級(jí)。</b></p><p><b> 4個(gè)8位I/O口。</b></p><p> 全雙工增強(qiáng)型UART。</p><p> 2個(gè)16位定時(shí)/計(jì)數(shù)器,T0、T1(標(biāo)準(zhǔn)80C51)</p><p> 全靜態(tài)工作方式:02
30、4MHz。</p><p> 6.2 8051單片機(jī)的簡(jiǎn)介:</p><p> MCS-51單片機(jī)是Intel公司在1980年繼MCS-48系列8位單片機(jī)之后推出的高檔8位單片機(jī)。MCS-51單片機(jī)在性能和片內(nèi)功能方面大大優(yōu)于MCS-48系列單片機(jī)。</p><p> MCS-51的典列產(chǎn)品有:8031、8051、8751。8051內(nèi)部有4KBROM,875
31、1內(nèi)部有4KBEPROM,8031片內(nèi)無(wú)ROM;除此之外,三者的內(nèi)部結(jié)構(gòu)完全相同。在此主要介紹8051單片機(jī)。</p><p> 8051單片機(jī)內(nèi)部由CPU、4KBROM、256B有RAM、兩個(gè)16位的定時(shí)/計(jì)數(shù)器T0和T1,4個(gè)8位的I/O端口P0、P1、P2、P3、串行口等組成。其內(nèi)部原理框圖如下:</p><p> 芯片內(nèi)部結(jié)構(gòu)圖(-)</p><p>&
32、lt;b> 8位CPU</b></p><p> 由運(yùn)算器、指令寄存器、定時(shí)和控制電路、振蕩器等電路組成。為整個(gè)單片機(jī)芯片提供控制邏輯時(shí)序信號(hào),并完成各類(lèi)算術(shù)、邏輯運(yùn)算。</p><p> 6.2.2 存儲(chǔ)器電路:</p><p> 由4K字節(jié)的ROM或EPROM,以及程序地址寄存器等組成程序存儲(chǔ)器電路。用來(lái)存放程序。若內(nèi)部存儲(chǔ)器容量不足
33、,可擴(kuò)展外部存儲(chǔ)器,程序存儲(chǔ)器最大容量可達(dá)64K字節(jié)。</p><p> 由128個(gè)字節(jié)的RAM及RAM地址寄存器等組成數(shù)據(jù)存儲(chǔ)器電路,用以存放用戶數(shù)據(jù)。也可擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器,外擴(kuò)最大容量可達(dá)64K字節(jié)。</p><p> 還有20幾個(gè)特殊功能寄存器(SFR)。包括累加器ACC、B寄存器、數(shù)據(jù)指針DPTR等,用以臨時(shí)存放中間運(yùn)算結(jié)果或一些特殊用途等。</p><p
34、><b> 輸入、輸出接口電路</b></p><p> P0、P1、P2、P3口的鎖存器、驅(qū)動(dòng)器及串行口控制等組成并行/串行接口電路,完成片機(jī)與外部設(shè)備之間的數(shù)據(jù)交換。兩個(gè)16位定時(shí)/計(jì)數(shù)電路構(gòu)成定時(shí)器/計(jì)數(shù)器接口。中斷電路為5個(gè)中斷源提供中斷邏輯控制信號(hào)。</p><p> AT89S51工作極限參數(shù):</p><p> 6.
35、3 引腳說(shuō)明:</p><p> 8051單片機(jī)的外形結(jié)構(gòu)為40條引腳雙列直插式封裝,其引腳排列如圖:</p><p><b> 引腳說(shuō)明圖(-)</b></p><p> 6.3.1 主電源引腳</p><p> Uss(20腳):電路地電平。</p><p> Ucc(40腳):
36、正常運(yùn)行和編程校驗(yàn)時(shí)為+5V電源。</p><p> 6.3.2 外接晶振或外部振蕩器引腳</p><p> XTAL1和XTAL2:接外部晶振電路。當(dāng)采用外部振蕩電路時(shí),XTAL1應(yīng)當(dāng)接地,XTAL2接外部振蕩信號(hào)的輸入。</p><p><b> 制引腳</b></p><p> RST/Upd:RST是
37、復(fù)位信號(hào)輸入端。Upd為備用電源輸入端,即Ucc掉電時(shí),由此引腳提供備用電源,以保持內(nèi)部RAM的信息。</p><p> ALE/PROG:ALE是地址鎖存允許信號(hào)。PROG為編程脈沖輸入端,即當(dāng)選用8751單片機(jī)時(shí),對(duì)片內(nèi)程序存儲(chǔ)器進(jìn)行編程時(shí),由此引腳輸入編程脈沖。</p><p> PSEN:訪問(wèn)外部程序存儲(chǔ)器選通信號(hào),低電平有效。</p><p> Up
38、p/EA:EA為訪問(wèn)內(nèi)部或外部程序存儲(chǔ)器選擇信號(hào)。為1時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器;當(dāng)程序計(jì)數(shù)器PC超過(guò)片內(nèi)程序存儲(chǔ)器地址時(shí),將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器繼續(xù)運(yùn)行。為0時(shí),則只能訪問(wèn)外部程序存儲(chǔ)器。</p><p><b> 輸入/輸出口引腳</b></p><p> P0口(32~39):8位漏極開(kāi)路雙向并行I/O端口。當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),它是復(fù)用的地址和數(shù)據(jù)總路線;外部
39、不擴(kuò)展只做單片使用時(shí),用做雙向I/O口;在進(jìn)行片內(nèi)部程序校驗(yàn)期間,作指令代碼輸出,負(fù)載能力為8個(gè)LSTTL。</p><p> P1口(1~8):8位準(zhǔn)雙向并行I/O端口,在片內(nèi)程序校驗(yàn)期間,作低8位地址用。負(fù)載能力為4個(gè)LSTTL。</p><p> P2口(21~28):8位準(zhǔn)雙向并行I/O端口。當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí)做高8位地址用;不做外部擴(kuò)展時(shí),則做為準(zhǔn)雙向I/O口使用;在片內(nèi)程序
40、校驗(yàn)時(shí)作高8位地址線負(fù)載能力為4個(gè)LSTTL。</p><p> 第七章 程序框圖及說(shuō)明</p><p><b> 程序流程圖(-)</b></p><p><b> 程序清單詳見(jiàn)附錄</b></p><p> 第八章 調(diào)試數(shù)據(jù)記錄表及調(diào)試故障現(xiàn)象及解決方法</p><
41、p> 8.1 硬件調(diào)試:</p><p> ?。ㄒ唬?、首先我們將硬件分為五個(gè)小模塊(電源模塊、主面板模塊、顯示模塊、按鍵和指示燈模塊、傳感器部件)進(jìn)行腐蝕并焊接好元件,將各個(gè)模塊都進(jìn)行測(cè)試。</p><p> 8.1.1 電源模塊:</p><p> 說(shuō)明:因?yàn)槲覀兊睦^電器需要12V進(jìn)行驅(qū)動(dòng),所以在此我們所選用的變壓器為220V~12V交流變壓器,整
42、流元件選用7812跟7805穩(wěn)壓管。</p><p> 調(diào)試:它的輸出電壓就得到了我們所需要的12V、5V、GND電源。焊接好元件后,接好變壓器,發(fā)現(xiàn)電源的指示燈不亮,用手觸摸7812與7805穩(wěn)壓管,發(fā)現(xiàn)7812與7805穩(wěn)壓管?chē)?yán)重發(fā)熱,用萬(wàn)用表測(cè)量輸出電壓,發(fā)現(xiàn)12V、5V于GND的電壓都為0.36V。立即取下變壓器。</p><p> 將電路進(jìn)行檢測(cè),在此我就對(duì)元件的引腳分別加以
43、測(cè)試,看其是否短接。經(jīng)過(guò)測(cè)試發(fā)現(xiàn)7812穩(wěn)壓管的散熱片與電容的接地腳短接,7805穩(wěn)壓管的散熱騙與電阻的的輸入腳短接。我們將穩(wěn)壓管平放在電路板上,測(cè)試無(wú)短接的情況下再次接上變壓器。電源指示燈亮,用萬(wàn)用表測(cè)試輸出電壓,分別為+12.05V、+4.98V、GND。電源部分正常工作。</p><p> 將測(cè)試數(shù)據(jù)交給PCB制作人,讓他修改好PCB,不讓散熱片再次有短接的情況。</p><p>
44、 8.1.2 主面板模塊:</p><p> 說(shuō)明:主面板選用AT89S51芯片進(jìn)行控制,24C04芯片作為外部存儲(chǔ)擴(kuò)充空間。AT89S51單片機(jī)控制光耦芯片的斷開(kāi)與閉合來(lái)控制NPN三極管的導(dǎo)通,繼電器的驅(qū)動(dòng)電壓是+12V直流,當(dāng)三極管導(dǎo)通后繼電器的線圈就有了+12V的直流電壓。從而觸發(fā)繼電器的斷開(kāi)與閉合。</p><p> 調(diào)試:主要測(cè)試對(duì)象是繼電器能否帶動(dòng)大功率的水泵(750W
45、),復(fù)位電路是否正常。</p><p> 繼電器:將電源插在主面板上,接好水泵,寫(xiě)入一個(gè)測(cè)試程序,將AT89S51的17腳置為低電平,接通電源后,查看繼電器是否閉合。得到預(yù)期的實(shí)驗(yàn)結(jié)果,繼電器正常工作。</p><p> #include<reg51.h></p><p> sbit P3^7=a ;</p><p><
46、;b> main()</b></p><p><b> {</b></p><p><b> a=0;</b></p><p><b> }</b></p><p> ?。ㄔ诠怦钚酒?,我們可以看到當(dāng)給以P3.7低電平(GND)時(shí),光耦芯片將會(huì)導(dǎo)通,三
47、極管將會(huì)導(dǎo)通從而使繼電器閉合,水泵工作。)按下電源開(kāi)關(guān),查看水泵是否正常工作,繼電器能否承受起20mA的沖擊電流,測(cè)試后發(fā)現(xiàn),水泵正常工作。繼電器完好無(wú)損!主面板的繼電器部分正常。</p><p> 復(fù)位電路:接好電源后,測(cè)試單片AT89S51的RST腳的電壓,測(cè)試數(shù)據(jù)得出為0V。按下復(fù)位按鍵后進(jìn)行測(cè)試,RST腳的電壓為0.8V。依據(jù)復(fù)位電路的原理,按鍵復(fù)位不正常,檢測(cè)元件是否有電源(+12V、+5V)與地(G
48、ND)是否有短路,在線路的檢查中沒(méi)有出現(xiàn)短路情況,將原理圖進(jìn)行分析,查看元件時(shí)候放置正確,結(jié)果檢查發(fā)現(xiàn)24C04芯片被接反,取下芯片再次測(cè)試,按下按鍵,RST腳為電壓為3.8V,依據(jù)單片機(jī)復(fù)位電路的原理,單片機(jī)以高電平復(fù)位。得出按鍵復(fù)位正常工作。</p><p> 8.1.3 顯示模塊:</p><p> 說(shuō)明:我們所使用的是共陽(yáng)極四位八段數(shù)碼管,位接高電平(高電平是+3V以上,以數(shù)
49、碼管的要求不能超過(guò)5V。)</p><p> 調(diào)試:首先用萬(wàn)用表測(cè)試數(shù)碼管是否是損壞,將萬(wàn)用表調(diào)至二極管測(cè)量檔位,將正表筆接位,接位1時(shí),負(fù)表筆接段選a.b.c.d.e.f.dp段,查看數(shù)碼管是否顯示各個(gè)段,測(cè)試后,位1正常,然后分別接位2、位3、位4結(jié)果顯示全部正常,數(shù)碼管無(wú)損壞。</p><p> 結(jié)合主面板測(cè)試,寫(xiě)入一個(gè)測(cè)試程序,將AT89S51的P0、P2口置為低電平,接通電源
50、后,查看數(shù)碼管顯示是否為滿格。得到預(yù)期的實(shí)驗(yàn)結(jié)果,數(shù)碼管顯示為滿格。</p><p> #include<reg51.h></p><p> sbit P0=a ;</p><p> sbit P2=b;</p><p><b> main()</b></p><p><
51、b> {</b></p><p><b> a=0;</b></p><p><b> b=0;</b></p><p><b> }</b></p><p> 8.1.4 按鍵和指示燈模塊:</p><p> 說(shuō)明:當(dāng)接
52、上單片機(jī)時(shí),若單片機(jī)的引腳沒(méi)有定義,其默認(rèn)就為高電平。當(dāng)指示燈引腳為低電平時(shí)指示燈亮。</p><p> 調(diào)試:首先檢查按鍵是否正常,沒(méi)按下時(shí)為斷開(kāi),按下按鍵則導(dǎo)通,測(cè)試結(jié)果,沒(méi)按下時(shí)其為閉合,經(jīng)過(guò)檢測(cè),發(fā)現(xiàn)電路板在敷銅時(shí)將兩個(gè)腳接到了一起,解決方法,用刀片將外圍的銅全部刮掉,將方案交給PCB制作人,進(jìn)行修改PCB。</p><p> 結(jié)合主面板進(jìn)行測(cè)試按鍵,放入一個(gè)單片機(jī),不寫(xiě)入任何
53、程序,按鍵的引腳默認(rèn)為高電平,接入電源,用萬(wàn)用表測(cè)試引腳,結(jié)果為高電平,當(dāng)按下按鍵則為低電平,用萬(wàn)用表進(jìn)行測(cè)試是否為低電平,測(cè)試結(jié)果為低電平。</p><p> 測(cè)試指示燈時(shí),寫(xiě)入一個(gè)程序:將AT89S51的P1.3~P1.5腳置為低電平,接通電源后,查看指示燈是否亮。得到預(yù)期的實(shí)驗(yàn)結(jié)果,指示燈亮。</p><p> #include<reg51.h></p>
54、<p> sbit P1^3=a;</p><p> sbit P1^4=b;</p><p> sbit P1^5=c;</p><p><b> main()</b></p><p><b> {</b></p><p><b> a=0
55、;</b></p><p><b> b=0;</b></p><p><b> c=0;</b></p><p><b> }</b></p><p> 8.1.5 傳感器部件:</p><p> 說(shuō)明:我們使用的是鋼簧管,當(dāng)鋼
56、簧管受到磁場(chǎng)力時(shí)就會(huì)閉合,沒(méi)有磁場(chǎng)力時(shí)則會(huì)斷開(kāi),我們?cè)诖耸褂萌齻€(gè)鋼簧管作為傳感器部件,達(dá)到三個(gè)水位顯示效果。接出四根線,三根單片機(jī)引腳線,一根接地線。</p><p> 調(diào)試:用磁芯去吸引鋼簧管,再用萬(wàn)用表測(cè)試鋼簧管是否閉合,測(cè)試結(jié)果,閉合。傳感器部件一切正常。</p><p> 接入主面板進(jìn)行調(diào)試,放入一個(gè)沒(méi)有程序的單片機(jī),接上電源,用磁芯吸引鋼簧管,用萬(wàn)用表測(cè)試其相對(duì)應(yīng)的單片機(jī)腳是
57、否為低電平。測(cè)試結(jié)果,沒(méi)當(dāng)吸引鋼簧管時(shí)其單片機(jī)相對(duì)應(yīng)的管腳為低電平。得出結(jié)論,此鋼簧管進(jìn)入面板調(diào)試一切正常。</p><p><b> 總結(jié)調(diào)試:</b></p><p> 組合全部面板:寫(xiě)入一個(gè)測(cè)試程序,查看數(shù)碼管顯示、指示燈的亮、滅,按鍵功能是否正常。接入電源,運(yùn)行該程序,查看其效果是否一切正常,調(diào)試結(jié)果該組合部分全部正常,然后將所有有誤差的PCB修改好,腐蝕
58、出電路板,焊接好元件,經(jīng)過(guò)全部組合后的調(diào)試方法進(jìn)行調(diào)試,其電路能夠順利的進(jìn)行工作。</p><p> 8.2 軟件調(diào)試:</p><p> 8.2.1 水位按鍵掃描程序的調(diào)試。</p><p> 將high_water_scan()等函數(shù)的輸出項(xiàng)如high_up_pulse,high_down_pulse直接聯(lián)系到P0 口觀測(cè)P0口輸出電壓是否正確。<
59、;/p><p> 狀態(tài)掃描函數(shù)的調(diào)試。</p><p> 該函數(shù)輸出項(xiàng)都為外部輸出,可以直接從數(shù)碼管等外部器件知函數(shù)否正常。由觀測(cè)結(jié)果進(jìn)行調(diào)試。</p><p> 蜂鳴器報(bào)警函數(shù)的調(diào)試。</p><p> 蜂鳴器為4分之1秒響一次。時(shí)間周期 由計(jì)時(shí)器 0提供。由觀測(cè)結(jié)果進(jìn)行調(diào)試。</p><p> 指示燈狀態(tài)函數(shù)
60、的調(diào)試。</p><p> 在自動(dòng)運(yùn)行模式時(shí),由傳感器提信號(hào),低水位綠燈亮,中水位黃燈亮,高水位紅燈亮由觀測(cè)結(jié)果進(jìn)行調(diào)試。。</p><p> 數(shù)碼管顯示函數(shù)的調(diào)試。</p><p> 在自動(dòng)運(yùn)行模式時(shí),數(shù)碼管顯示當(dāng)前加水時(shí)間,在查詢模式顯示歷史加水時(shí)間,在手動(dòng)模式時(shí)顯示----。由觀測(cè)結(jié)果進(jìn)行調(diào)試。</p><p> 24C04讀寫(xiě)
61、操作函數(shù)的調(diào)試。</p><p> 在計(jì)時(shí)10次之后,進(jìn)入查詢模式,按下模式/功能進(jìn)行上翻/下翻。由觀測(cè)結(jié)果進(jìn)行調(diào)試。</p><p> 電機(jī)運(yùn)行監(jiān)控函數(shù)的調(diào)試。</p><p> 在所有的調(diào)試完成之后,進(jìn)入手動(dòng)模式,進(jìn)行啟動(dòng)/停止操作觀察繼電器是否工作。進(jìn)入自動(dòng)模式,移動(dòng)干簧管觀察繼電器是否與設(shè)計(jì)思路工作方式相同。</p><p>
62、 由上述步聚依次調(diào)試、改進(jìn)直至完成所有目標(biāo)任務(wù)</p><p> 第九章 心得體會(huì)</p><p> 在一個(gè)多月的時(shí)間里我們終于完成了畢業(yè)設(shè)計(jì)——智能水塔控制器。這段時(shí)間我們雖然相當(dāng)辛苦但收獲良多。許許多多的困難被我們克服,只因?yàn)槲覀兪且粋€(gè)優(yōu)良的團(tuán)隊(duì)有一個(gè)相當(dāng)負(fù)責(zé)相當(dāng)能干的指導(dǎo)老師,而在此期間學(xué)到的將使我受用終身。</p><p> 1、市場(chǎng)會(huì)因?yàn)楦?jìng)爭(zhēng)而使
63、商品變得極為精練和符合供求關(guān)系。</p><p> 在當(dāng)初選擇畢業(yè)設(shè)計(jì)課題時(shí)我就瞄準(zhǔn)了水塔控制器這種看似簡(jiǎn)單的東西。在我國(guó)廣大農(nóng)村地區(qū)因?yàn)樯钏降奶岣咿r(nóng)民們?cè)僖膊幌霙](méi)天都去井里打水用了,他們非常希望擁有城里人一樣的自來(lái)水供水系統(tǒng)。于是由水井、潛水電泵、家用水塔、自動(dòng)水位控制器組成的自動(dòng)供水系統(tǒng)的市場(chǎng)前景變得相當(dāng)可觀,而該系統(tǒng)的核心自動(dòng)水位控制器又是其中最有利可圖的部分。我想以我現(xiàn)在學(xué)到的知識(shí)自己設(shè)計(jì)一個(gè)應(yīng)該不
64、是太難的事。當(dāng)我們四個(gè)志同道合的同學(xué)組合到一起時(shí)我們便開(kāi)始行動(dòng)了。為了牟利所做的設(shè)計(jì)首先要做的事便是市場(chǎng)調(diào)查。但出乎我們意料之外的是此時(shí)的市場(chǎng)上已經(jīng)充斥著各式各樣的水塔控制器了,最便宜的僅二十幾元。我們買(mǎi)回一個(gè)拆開(kāi)一看它簡(jiǎn)單得幾乎沒(méi)有任何電路,成本不超過(guò)十元,但它確有最基本的功能。簡(jiǎn)單一算便知它的利潤(rùn)超過(guò)100%,這使我們相當(dāng)受鼓舞,但它超低的成本是我們無(wú)法超越的。正在我們一籌莫展之際老師指給我們一條明路:別人做低端我們可以做高端啊。沒(méi)
65、錯(cuò)我們學(xué)了這么多電子知識(shí)為什么不做個(gè)功能強(qiáng)大的水位控制器呢?而此時(shí)我們還沒(méi)看到市場(chǎng)上有超過(guò)100元的產(chǎn)品。</p><p> 2、元器件的選擇就像做菜時(shí)的原料一樣,選得好你就成功了一大半。</p><p> 確定了目標(biāo)后就馬不停蹄的開(kāi)始設(shè)計(jì)工作。原始數(shù)據(jù)資料找齊了,元件的選擇是一個(gè)大難關(guān),必盡我們實(shí)際操作的經(jīng)驗(yàn)太少。雖然有老師的大力幫助但元件上的問(wèn)題還是在之后的時(shí)間里造成了一些相當(dāng)棘手
66、的問(wèn)題幾乎讓我們推倒重來(lái)。</p><p> 3、程序的價(jià)值往往比硬件高。</p><p> 我們的作品是用單片機(jī)控制的,我自認(rèn)為程序方面我還有拿得出手的地方便主動(dòng)請(qǐng)纓承擔(dān)了下來(lái)。在編寫(xiě)過(guò)程中我了解到實(shí)際應(yīng)用中的程序和書(shū)上的習(xí)題根本是兩回事。書(shū)上的習(xí)題往往把所有的條件都告訴你了。而在實(shí)際中沒(méi)有人會(huì)告訴你將會(huì)發(fā)生什么但是所有的可能性你都得想到,要做到這點(diǎn)非常困難。生活經(jīng)驗(yàn)的不足和邏輯思維
67、訓(xùn)練不夠使我編寫(xiě)出來(lái)的程序漏洞百出。在無(wú)數(shù)次修改和老師的幫助下我終于在硬件完成調(diào)試之前編寫(xiě)出了調(diào)試用的軟件。這次程序的編寫(xiě)中我體會(huì)到硬件是比較死板的只要能夠運(yùn)行他就一定是好的,而軟件呢,它在沒(méi)有語(yǔ)法錯(cuò)誤的情況下都能運(yùn)行但卻不一定是好的甚至錯(cuò)得更厲害。而且軟件還可以在一定程度上禰補(bǔ)硬件的不足,而硬件卻很難反過(guò)來(lái)禰補(bǔ)軟件,所以軟件往往比硬件值錢(qián)。</p><p><b> 4、包裝也很重要</b&g
68、t;</p><p> 在前期市場(chǎng)調(diào)查時(shí)我們只買(mǎi)了一個(gè)樣品,后來(lái)我們又拿到了另一個(gè)價(jià)值35元包裝很好看,可等我們拆開(kāi)一看里面結(jié)構(gòu)幾乎是一樣的??删推F了十幾元,這讓我從此很注重包裝。并且精心設(shè)計(jì)了我們作品的包裝,雖然并不是太好看但在思想上我已經(jīng)邁進(jìn)了一大步。</p><p> 第十章 致 謝</p><p> 在論文即將完成之際,回顧緊張但又充實(shí)的學(xué)
69、習(xí)和開(kāi)發(fā)過(guò)程,本人在此向所有關(guān)心我們及幫助我們的老師和同學(xué)們致以最真誠(chéng)的感謝。</p><p> 在本次畢業(yè)設(shè)計(jì)中,我們從指導(dǎo)老師----xx老師,身上學(xué)到了很多東西。他認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我們受益匪淺。他無(wú)論在理論上還是在實(shí)踐中,都給與我們很大的幫助,使我們得到很大的提高,這對(duì)于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,在此感謝他耐心的輔導(dǎo)。在做畢業(yè)設(shè)計(jì)的整個(gè)過(guò)程中,xx老師都提
70、出了許多寶貴意見(jiàn),沒(méi)有他的指導(dǎo),我們就不能較好的完成課題設(shè)計(jì)的任務(wù)。</p><p> 另外,我們還要感謝在這幾年來(lái)對(duì)我們有所教導(dǎo)的老師和電子教研室所有老師。他們孜孜不倦的教誨不但讓我學(xué)到了很多知識(shí),而且讓我掌握了學(xué)習(xí)的方法,更教會(huì)了我們做人處事的道理,在此表示感謝。同時(shí),在產(chǎn)品設(shè)計(jì)、市場(chǎng)調(diào)查、制產(chǎn)品和廣告設(shè)計(jì)過(guò)程中還有的和同專(zhuān)業(yè)的同學(xué)也給了我們不少幫助,這里一并表示感謝。</p><p&g
71、t; 衷心的感謝我的指導(dǎo)老師(xx老師),還有電子教研室的各位老師對(duì)我設(shè)計(jì)所提的寶貴意見(jiàn),并再次感謝各位老師對(duì)我三年來(lái)的栽培。謝謝!</p><p> 第 十一 章 參 考 文 獻(xiàn)</p><p> 《單片機(jī)原理及控制技術(shù)》…………………………… 李全利</p><p> 《模擬電子技術(shù)》……………………………………… 戴士弘</p>
72、<p> 《C語(yǔ)言程序設(shè)計(jì)》………………………………成奮華 路惠民</p><p> 《Keil Cx51 單片機(jī)高級(jí)語(yǔ)言編程與應(yīng)用》 ……徐愛(ài)鈞 彭秀華</p><p> 課堂筆記、上機(jī)、課堂作業(yè)及教材等。</p><p> 網(wǎng)上資料、網(wǎng)上書(shū)庫(kù)內(nèi)的材料。第十二章 附 錄</p><p><b> 12
73、.1 源程序</b></p><p> #include <reg52.h></p><p> #define LED_LIGHT 0</p><p> #define LED_OUT 1</p><p> #define SPEAK_ON 0</p><p> #define
74、 SPEAK_OFF 1</p><p> #define W_MOTOR_START 0</p><p> #define W_MOTOR_STOP 1</p><p> /***********************************輸入輸出端口***************************/</p><p> s
75、bit high_water_s=P25^; //上水位干璜管</p><p> sbit mid_water_s=P2^6; //中水位干璜管</p><p> sbit lower_water_s=P2^7; //下水位干璜管</p><p> sbit speak=P2^
76、4; //蜂鳴器驅(qū)動(dòng)端口</p><p> sbit led_red=P1^3; //紅色指示燈端口</p><p> sbit led_yellow=P1^4; //黃色指示燈端口</p><p> sbit led_green= P1^5;
77、 //綠色指示燈端口</p><p> sbit maintain_key=P1^0; //維護(hù)開(kāi)關(guān)端口(第一個(gè)按鍵)</p><p> bit flag_maintain=0;</p><p> bit flag_maintain_stroken=0;</p><p>
78、 sbit mode_key=P1^1; //模式鍵端口(第二個(gè)鍵)</p><p> bit flag_mode=0;</p><p> bit flag_mode_stroken;</p><p> sbit function_key=P1^2; //功能鍵端口(第三個(gè)鍵)</p&g
79、t;<p> bit flag_function=0;</p><p> bit flag_func_stroken=0;</p><p> sbit w_motor=P3^7; //電機(jī)驅(qū)動(dòng)端口</p><p> sfr data_seg_port=0x80; //數(shù)碼管段
80、碼驅(qū)動(dòng)端口</p><p> sfr data_wei_port=0xa0; //數(shù)碼管位碼驅(qū)動(dòng)端口</p><p> /***************************狀態(tài)表示位**************************************/</p><p> bit high_up_pulse=0;
81、 //上水位上升沿</p><p> bit high_down_pulse=0; //上水位下降沿</p><p> bit mid_up_pulse=0; //中水位上升沿</p><p> bit mid_down_pulse=0; //中水位下降沿</p&g
82、t;<p> bit lower_up_pulse=0; //下水位上升沿</p><p> bit lower_down_pulse=0; //下水位下降沿</p><p> bit flag_start_t0=0; //定時(shí)器啟停標(biāo)示 </p><
83、p> bit flag_add_water=0; //加水標(biāo)志 0為用水狀態(tài)、1為加水狀態(tài)</p><p> bit flag_motor_error=0; //電機(jī)出錯(cuò)或下水源缺水</p><p> bit flag_erase_24c04 //24c04數(shù)據(jù)刪除標(biāo)志</p><
84、p> /*********************************基本處理數(shù)據(jù)*******************************/</p><p> char code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定義數(shù)據(jù)段碼</p><p> char code wei
85、[8]={0x7f,0x0bf,0x0df,0x0ef,0x0f7,0x0fb,0x0fd,0x0fe}; //P2.0為S1 定義數(shù)據(jù)位碼 </p><p> //個(gè)位在wei[7]、高位在wei[0] </p><p> int count_50ms=0; //50ms計(jì)時(shí)變量</p><p> char water_point_status=0;
86、 //水塔水位狀態(tài)標(biāo)示</p><p> bit flag_250ms; //0.25ms閃爍標(biāo)志</p><p> char display_data[4]; //數(shù)碼管顯示數(shù)據(jù)數(shù)組</p><p> char add_water_count=0;
87、 //加水次數(shù)</p><p> char find_water_count=0; //查閱加水次數(shù)</p><p> char lower_add_water_time=0; //下層加水時(shí)間分鐘</p><p> char up_
88、add_water_time=0; //上層加水時(shí)間分鐘</p><p> char add_water_time_second; //加水時(shí)間秒鐘</p><p> char add_water_time_minute; //加水時(shí)
89、間分鐘</p><p> char add_water_uptime=0; //加上層水時(shí)間</p><p> char add_water_downtime=0; //加下層水時(shí)間</p><p> char add_water_uptime_stor
90、age=0; //存儲(chǔ)加上層水時(shí)間</p><p> char add_water_downtime_storage=0; //存儲(chǔ)加下層水時(shí)間</p><p> char mod_status=0; //0為手動(dòng)啟停方式 1為手動(dòng)查閱上次加水時(shí)間(通過(guò)功能鍵執(zhí)行) </p><p&g
91、t; char ram_write_24c04[4]; //24c04寫(xiě)數(shù)組</p><p> char ram_read_24c04[4]; //24c04讀數(shù)組 </p><p> /*******************************延時(shí)函數(shù)************************************/</p>
92、<p> void delay(int n)</p><p><b> {</b></p><p><b> int i;</b></p><p> for(i=0;i<n;i++)</p><p><b> ;</b></p><
93、;p><b> }</b></p><p> /***************************水位、按鍵掃描函數(shù)*******************************/</p><p> void high_water_scan(void) //上水位檢測(cè)</p><p><b> {&l
94、t;/b></p><p> if(high_water_s=1)</p><p><b> {</b></p><p> delay(1000);</p><p> if(high_water_s=0)</p><p> high_down_pulse </p>&
95、lt;p><b> }</b></p><p> if(high_water_s=0)</p><p><b> {</b></p><p> delay(1000);</p><p> if(high_water_s=1)</p><p> high_up
96、_pulse </p><p><b> }</b></p><p><b> }</b></p><p> void mid_water_scan(void) //中水位檢測(cè)</p><p><b> {</b></p><p>
97、 if(mid_water_s=1)</p><p><b> {</b></p><p> delay(1000);</p><p> if(mid_water_s=0)</p><p> mid_down_pulse </p><p><b> }</b>&l
98、t;/p><p> if(mid_water_s=0)</p><p><b> {</b></p><p> delay(1000);</p><p> if(mid_water_s=1)</p><p> mid_up_pulse </p><p><b&g
99、t; }</b></p><p><b> }</b></p><p> void lower_water_scan(void) //下水位檢測(cè)</p><p><b> {</b></p><p> if(lower_water_s=1)</p><
100、p><b> {</b></p><p> delay(1000);</p><p> if(lower_water_s=0)</p><p> lower_down_pulse </p><p><b> }</b></p><p> if(lower_w
101、ater_s=0)</p><p><b> {</b></p><p> delay(1000);</p><p> if(lower_water_s=1)</p><p> lower_up_pulse </p><p><b> }</b></p>
102、<p><b> }</b></p><p> void mode_key_scan(void) //模式鍵掃描</p><p><b> {</b></p><p> if(mode_key==0)</p><p><b> {</b>
103、</p><p> delay(100);</p><p> if(mode_key==0)</p><p> flag_mode=1;</p><p><b> }</b></p><p> if(mode_key&&flag_mode)</p><
104、p> flag_mode_stroken=1;</p><p><b> }</b></p><p> void function_key_scan(void) //功能鍵掃描</p><p><b> {</b></p><p> if(function_key=
105、=0)</p><p><b> {</b></p><p> delay(100);</p><p> if(function_key==0)</p><p> flag_function=1;</p><p><b> }</b></p><
106、p> if(flag_function&&function_key)</p><p> flag_func_stroken=1;</p><p><b> }</b></p><p> void erase_24c04(void)</p><p><b> {</b>
107、</p><p> if(maintain_key==0&&mode_key==0&&function_key==0)</p><p><b> {</b></p><p> delay(1000)</p><p> if(maintain_key==0&&mode
108、_key==0&&function_key==0)</p><p> flag_erase_24c04=1; </p><p><b> }</b></p><p><b> }</b></p><p> void key_scan(void)
109、 //按鍵掃描</p><p><b> {</b></p><p> mode_key_scan();</p><p> function_key_scan();</p><p> erase_24c04();</p><p> if(maintain_key==0)
110、 //按下功能鍵</p><p><b> {</b></p><p> mode_key_scan(); //掃描模式鍵</p><p> if(flag_mode_stroken)</p><p><b> {</b></p><p&
111、gt; flag_mode_stroken=0;</p><p> mod_status++; //記錄模式狀態(tài)</p><p> if(mod_status>2)mod_status=0;</p><p><b> }</b></p><p> if(mod_status
112、==0)</p><p><b> {</b></p><p> if(flag_func_stroken)</p><p><b> {</b></p><p> flag_func_stroken=0;</p><p> flag_add_water=~flag
113、_add_water</p><p> if(flag_add_water) //手動(dòng)起動(dòng)電機(jī)</p><p> start_counter_timer();</p><p><b> else</b></p><p> stop_counter_timer();
114、//手動(dòng)停止電機(jī)</p><p><b> }</b></p><p><b> }</b></p><p> else if(mod_status==1)</p><p><b> {</b></p><p> if(flag_func_st
115、roken)</p><p><b> {</b></p><p> flag_func_stroken=0;</p><p> find_water_count--;</p><p> if(find_water_count<0)find_water_count=add_water_count; //修
116、改查詢指針</p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p><b> ;</b
117、></p><p><b> }</b></p><p> if(flag_erase_24c04==1)</p><p> clr_24c04(); //刪除24c04中有效數(shù)據(jù)</p><p><b> }</b></p><p>&l
118、t;b> }//if</b></p><p> else //復(fù)位控制過(guò)程到正常監(jiān)控階段(非調(diào)整階段)</p><p><b> {</b></p><p> flag_mode_stroken=0; </p><p> mod_status=0;
119、</p><p> flag_func_stroken=0;</p><p> flag_erase_24c04=0;</p><p><b> }</b></p><p><b> }</b></p><p> /*************************
120、*******狀態(tài)掃描函數(shù)********************************/</p><p> bit flag_add_water=0; //加水標(biāo)志 0為用水狀態(tài)、1為加水狀態(tài)</p><p> void status_scan(void)</p><p><b> {</b></p&g
121、t;<p> if(flag_add_water==0) //用水方式狀態(tài)掃描</p><p><b> {</b></p><p> if(high_down_pulse&&high_water_s==1) //上位警戒水位</p><p>
122、; {water_point_status=1;high_down_pulse=0;}</p><p> else if(high_up_pulse&&high_water_s==0) //上水位</p><p> {water_point_status=2;high_up_pulse=0;}</p><p><b>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---低成本智能無(wú)線水塔水位控制器的設(shè)計(jì)論文
- 課設(shè):水塔水位控制器設(shè)計(jì)
- 水塔水位控制器課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----水位控制器設(shè)計(jì)
- 水塔水位畢業(yè)設(shè)計(jì)
- 水塔水位自動(dòng)控制畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----水塔水位控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)--水塔水位控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---水塔水位控制系統(tǒng)設(shè)計(jì)
- 基于plc控制的水塔水位畢業(yè)設(shè)計(jì)
- 基于plc控制的水塔水位畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---水塔水位的plc控制的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---水塔水位pid控制系統(tǒng)設(shè)計(jì)
- 接口與通信課程設(shè)計(jì)--水塔水位控制器系統(tǒng)
- 基于PLC控制的水塔水位畢業(yè)設(shè)計(jì).doc
- 畢業(yè)設(shè)計(jì)---plc水塔水位控制及應(yīng)用系統(tǒng)設(shè)計(jì)
- 基于PLC控制的水塔水位畢業(yè)設(shè)計(jì).doc
- 自來(lái)水塔水位自動(dòng)控制設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 智能時(shí)間控制器畢業(yè)設(shè)計(jì)
- 智能溫度控制器畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論