基于51單片機(jī)水位檢測(cè)系統(tǒng)設(shè)計(jì)與制作_第1頁(yè)
基于51單片機(jī)水位檢測(cè)系統(tǒng)設(shè)計(jì)與制作_第2頁(yè)
基于51單片機(jī)水位檢測(cè)系統(tǒng)設(shè)計(jì)與制作_第3頁(yè)
基于51單片機(jī)水位檢測(cè)系統(tǒng)設(shè)計(jì)與制作_第4頁(yè)
基于51單片機(jī)水位檢測(cè)系統(tǒng)設(shè)計(jì)與制作_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

1產(chǎn)品功能分析...........................................................................................................1

2設(shè)計(jì)方案遴選...........................................................................................................1

2.1單片機(jī)的選擇...............................................................................................1

2.2壓力傳感器的選擇.......................................................................................2

2.3系統(tǒng)框圖設(shè)計(jì)...............................................................................................2

3產(chǎn)品硬件設(shè)計(jì)...........................................................................................................3

3.1STC89C52RC單片機(jī)核心電路設(shè)計(jì)..............................................................3

3.2壓力傳感器設(shè)計(jì)...........................................................................................3

3.3LCD1602液晶顯示模塊電路........................................................................3

4產(chǎn)品軟件設(shè)計(jì)...........................................................................................................4

4.1主程序流程圖...............................................................................................4

4.2APP程序設(shè)計(jì)................................................................................................5

4.3產(chǎn)品程序清單...............................................................................................6

5產(chǎn)品調(diào)試及使用說(shuō)明...............................................................................................6

5.1產(chǎn)品調(diào)試.......................................................................................................6

5.2產(chǎn)品使用說(shuō)明...............................................................................................6

6產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn)...................................................................................................7

參考資料.......................................................................................................................7

附錄1元器件清單..............................................................................................8

附錄2電路原理圖..............................................................................................9

附錄3PCB設(shè)計(jì)圖...............................................................................................9

附錄4產(chǎn)品實(shí)物圖..........................................................................................10

附錄5產(chǎn)品裝配圖............................................................................................10

附錄6程序代碼................................................................................................11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于51單片機(jī)水位檢測(cè)系統(tǒng)設(shè)計(jì)與制作

1產(chǎn)品功能分析

液位監(jiān)控器的應(yīng)用雖然非常廣泛,但是現(xiàn)在工業(yè)領(lǐng)域?qū)S眯?,研究領(lǐng)域高

精度的液位監(jiān)控器的價(jià)格非常貴,對(duì)于民用產(chǎn)品來(lái)講成本高,資源浪費(fèi)。所以

我們的設(shè)計(jì)應(yīng)更加注重于對(duì)基礎(chǔ)基本傳感器應(yīng)用,由最低的成本,獲得我們最

大的需求。日常生活中,水位檢測(cè)可以融入我們的生活給我們帶便利。生活中

很常見(jiàn),沒(méi)水的時(shí)候把水閥打開(kāi)忘記關(guān)掉,等回來(lái)的時(shí)候已經(jīng)滿(mǎn)屋是水,在農(nóng)

村生活中自來(lái)抽水系統(tǒng)等完全可以用,也不需要太高的精度,為我們的生活帶

來(lái)一定的便利。

2設(shè)計(jì)方案遴選

液位監(jiān)控器的應(yīng)用雖然非常廣泛,但是現(xiàn)在高精度的液位監(jiān)控器的價(jià)格非

常貴,實(shí)現(xiàn)民用還有一定的難度。所以我們的設(shè)計(jì)應(yīng)更加創(chuàng)新利用更小的成本

設(shè)計(jì)生產(chǎn)出更好的傳感器。

2.1單片機(jī)的選擇

方案一:采用ARM7作為主控器件,雖然速度很快,資源很多,但價(jià)格比較

高,資源浪費(fèi),缺乏市場(chǎng)競(jìng)爭(zhēng)力。

方案二:采用SST89C52作為主控器件,雖然該款單片機(jī)較便宜,運(yùn)行速度

較慢,但是運(yùn)行速度相對(duì)而言足夠系統(tǒng)運(yùn)行并有富余,也可以對(duì)單片機(jī)操作,

來(lái)完成系統(tǒng)的功能設(shè)置,且電機(jī)的控制可以增加簡(jiǎn)單的外圍電路設(shè)計(jì)。單片機(jī)

就顯現(xiàn)出來(lái)它的優(yōu)勢(shì)——控制簡(jiǎn)單、方便、快捷。這樣一來(lái),單片機(jī)就可以

充分發(fā)揮其資源、有較為強(qiáng)大的控制功能及可位尋址操作功能。

綜上所述,為簡(jiǎn)化外圍電路設(shè)計(jì),提高市場(chǎng)競(jìng)爭(zhēng)力,我們選擇方案二。

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

2.2壓力傳感器的選擇

方案一:采用橋式壓力傳感器

橋式壓力傳感器是通過(guò)應(yīng)變片的應(yīng)力變形,當(dāng)有應(yīng)力變形時(shí),傳感器會(huì)

輸出電壓,隨著中立重力的加大輸出電壓會(huì)出現(xiàn)線(xiàn)性變化。由于橋式壓力傳

感器,應(yīng)力變形很小,輸出的電壓變化幅度小、電壓值小。且體積小,結(jié)構(gòu)

比較簡(jiǎn)單,動(dòng)態(tài)效應(yīng)也好,靈敏度高,能測(cè)出十幾帕的微壓,長(zhǎng)期穩(wěn)定性好,

滯后和蠕變小,頻率效應(yīng)高,便于生產(chǎn),成本也低。

方案二:采用分立元件搭建一個(gè)壓力傳感模塊

采用壓敏電阻和外圍電路搭建一個(gè)壓力傳感器,通過(guò)放大電路對(duì)壓敏電

阻的電壓放大,有普通的AD采集。該方案容易受到外界干擾,有時(shí)甚至檢

測(cè)不到,還要用到AD采樣和電壓比較器來(lái)處理,這樣加大了電路設(shè)計(jì)的難

度。這樣的靈敏度不夠,誤差大,功耗大,增加了開(kāi)發(fā)成本。

比較以上兩種方案,方案一占有很大的優(yōu)勢(shì)。這樣不但能準(zhǔn)確完成測(cè)

量,而且能避免電路的復(fù)雜性,因此擬選擇方案一。

2.3系統(tǒng)框圖設(shè)計(jì)

采集

壓力傳感器ADC0832

水位

STC89c52

單片機(jī)

按鍵

LCD1602顯示

根據(jù)設(shè)計(jì)內(nèi)容要求,經(jīng)仔細(xì)分析計(jì)算,充分考慮各種因素,制定整體制作

方案。整體方案以AT89C51為控制核心,對(duì)各傳感器采集數(shù)據(jù)進(jìn)行綜合分析,

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

作出相應(yīng)的處理,保證精確穩(wěn)定、快速的完成設(shè)計(jì)任務(wù)。系統(tǒng)方框圖如圖所示。

3產(chǎn)品硬件設(shè)計(jì)

該系統(tǒng)以STC89c52單片機(jī)為控制核心設(shè)計(jì)的水位檢測(cè)裝置,該系統(tǒng)主要有

單片機(jī)最小系統(tǒng)、按鍵模塊、1602液晶顯示模塊、壓力傳感器模塊、電磁繼電

器驅(qū)動(dòng)模塊和ADC0832組成。STC89c52系列單片機(jī)內(nèi)部自帶資源豐富、運(yùn)算速

度較快,適用于強(qiáng)干擾和要求速度較高的場(chǎng)合。以電磁繼電器開(kāi)環(huán)控制和壓力

傳感器閉環(huán)實(shí)現(xiàn)對(duì)該系統(tǒng)的控制,達(dá)到系統(tǒng)的穩(wěn)定可靠

3.1STC89C52RC單片機(jī)核心電路設(shè)計(jì)

STC89C52RC是宏晶科技推出的新一代超強(qiáng)抗干擾、高速、低功耗的單片機(jī),

基于Intel標(biāo)準(zhǔn)的8052,指令代碼完全兼容傳統(tǒng)的8051系列單片機(jī),12時(shí)

鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇。

3.2壓力傳感器設(shè)計(jì)

壓力傳感器是通過(guò)膜片兩邊存在壓力差時(shí),膜片產(chǎn)生變形,膜片上各點(diǎn)產(chǎn)

生應(yīng)力。四個(gè)電阻在應(yīng)力的作用下,阻值產(chǎn)生變化,電橋失去平衡,輸出相應(yīng)

的電壓,電壓與膜片兩邊的壓力差成正比。所以通過(guò)8位AD芯片ADC0832和簡(jiǎn)

單的外圍電路組成的采集模塊一起使用,是電路簡(jiǎn)化,操作方便,易于固定、

控制,稱(chēng)量值精度高。我們選用D3B壓力傳感器。

3.3LCD1602液晶顯示模塊電路

液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模

塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯

示字符地址,也就是告訴模塊在哪里顯示字符,下圖就是1602的內(nèi)部顯示地

址。

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

點(diǎn)陣圖形式液晶由M×N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128

列,每8列對(duì)應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16×8=128個(gè)點(diǎn)組成。顯示屏

上64×16個(gè)顯示單元與顯示RAM區(qū)的1024字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容與顯示屏

上相應(yīng)位置的亮暗對(duì)應(yīng)。

例如顯示屏第一行的亮暗由RAM區(qū)的000H~00FH的16字節(jié)的內(nèi)容決定,當(dāng)

(000H)=FFH時(shí),屏幕左上角顯示一條短亮線(xiàn),長(zhǎng)度為8個(gè)點(diǎn);當(dāng)(3FFH)=FFH

時(shí),屏幕右下角顯示一條短亮線(xiàn);當(dāng)(000H)=FFH,(001H)=00H,(002H)

=00H…,(00EH)=00H,(00FH)=00H時(shí),在屏幕的頂部顯示一條由8條亮線(xiàn)和

8條暗線(xiàn)組成的虛線(xiàn)。這就是LCD顯示的基本原理。

字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母、數(shù)字和符號(hào)等的點(diǎn)陣式

LCD,常用16×1,16×2,20×2和40×2等的模塊。一般的LCD1602字符型液晶

顯示器的內(nèi)部控制器,大部分為HD44780,能夠顯示英文字母、阿拉伯?dāng)?shù)字、日

文片假名和一般性符號(hào)。

4產(chǎn)品軟件設(shè)計(jì)

4.1主程序流程圖

系統(tǒng)程序圖設(shè)計(jì)如下:

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

開(kāi)始

程序初始化

按鍵按下Y

N

設(shè)置最大值/最小值

讀取ADC采集值

數(shù)據(jù)處理

大于最大值小于最小值

YY

NN

停止水泵工作驅(qū)動(dòng)水泵

1602顯示

結(jié)束

4.2APP程序設(shè)計(jì)

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4.3產(chǎn)品程序清單

水位檢測(cè)程序清單

reg51.h

LCD1602intring.h

主程序

main

c51.ceeprom52.h

定義IO口初始化1602

5產(chǎn)品調(diào)試及使用說(shuō)明

5.1產(chǎn)品調(diào)試

板子做好以后,就把所有的元件焊上去了,這樣對(duì)于沒(méi)有調(diào)試過(guò)的板子,

就很難找到原因。.所以焊接的順序很重要,應(yīng)該是應(yīng)該按功能劃分的器件進(jìn)行

焊接,順序是功能部件的焊接--調(diào)試(OK)--另一功能部件的焊接,這樣容易找到

問(wèn)題的所在。

5.2產(chǎn)品使用說(shuō)明

把USB電源線(xiàn)插上,然后打開(kāi)電源開(kāi)關(guān)。(此時(shí)液晶上顯示水位、第二行

顯示模式(模式包括手動(dòng)跟自動(dòng)模式,按設(shè)置按鍵2可以切換模式))

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

在手動(dòng)模式下,按第三個(gè)設(shè)置按鍵可以直接打開(kāi)和關(guān)閉水泵

按第一個(gè)設(shè)置按鍵可以調(diào)整水位上限和下限值。

設(shè)置數(shù)值后打開(kāi)自動(dòng)模式,水泵跟傳感器開(kāi)始工作

如果水位小于低位值,則蜂鳴器開(kāi)始報(bào)警并且加水,對(duì)應(yīng)指示燈亮、一旦水位

高于高位值,蜂鳴器報(bào)警并停止加水且對(duì)應(yīng)指示燈亮。

如果水位在高位值跟低位值中間則蜂鳴器停止警報(bào),當(dāng)水位低于低位值時(shí)開(kāi)始

抽水,抽水到高于高位值時(shí)停止抽水。

抽水滿(mǎn)一次后,需要水位低于低位值后再抽水。

在用水過(guò)程中,水位在低位值跟高位值中間是不抽水工作的。

6產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn)

[1]J-STD-001E電氣與電子組件的焊接要求

[2]IPC-A-610D(中文版),IPC-A-610E電子組件的可接受性要求

[3]IPC-7711/21電子組件和電路板的返工&返修

[4]GB/T11457-2006信息技術(shù)軟件工程術(shù)語(yǔ);

[5]GB/T8566-2007信息技術(shù)軟件生存周期過(guò)程標(biāo)準(zhǔn);

[6]GB/T8567-2006計(jì)算機(jī)軟件文檔編制規(guī)范。

參考資料

[1]高慧芳等.單片機(jī)原理及應(yīng)用技術(shù)[M].北京:科學(xué)出版社,2010.

[2]ISDSeriesSingle-ChipVoiceDeviceDataBook.WinbondInc.,2000

[3]宋戈,黃鶴松,員玉良,蔣海峰.51單片機(jī)應(yīng)用開(kāi)發(fā)范例大全[M],北京:人民郵電出版社,2010:

P193-P205

[4]王竹便.錄音技術(shù)及技巧淺議[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì).2005

[5]孟憲超.數(shù)碼錄音筆原理及應(yīng)用[J].信息時(shí)代導(dǎo)刊.2004

[6]韓改寧,李永鋒.基于AT89C52單片機(jī)的語(yǔ)音錄放系統(tǒng)實(shí)現(xiàn)[J].成陽(yáng)師范學(xué)院,2009,17(9):116-

117

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄1元器件清單

名稱(chēng)型號(hào)標(biāo)志r數(shù)量實(shí)物圖片

蜂鳴器BellB11

電容10ufB21

電容220ufC11

電容30pfC2,C32

電容104C61

二極管

DIODEC101

電源接口電源接口

5VD21

微動(dòng)開(kāi)關(guān)SW-AJJ14

5MM紅色發(fā)光

LEDJ32

二極管

排針

Header4K1,K2,K3,K41

三極管9012L1,L22

電阻1KP14

電阻10kP21

電阻3KP31

排阻10KQ4,Q61

電源開(kāi)關(guān)自鎖開(kāi)關(guān)R2,R10,R161

繼電器接口2PR111

晶振12MR261

5V水泵抽水水泵RX11

繼電器JSW11

水位傳感器D3B壓力傳感器U11

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

單片機(jī)STC89C52U21

單片機(jī)插座40PY11

模式轉(zhuǎn)換芯片ADC0832CCN1

IC插座8P1

液晶LCD16021

附錄2電路原理圖

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄3PCB設(shè)計(jì)圖

附錄4產(chǎn)品實(shí)物圖

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄5產(chǎn)品裝配圖

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄6程序代碼

#include<reg52.h>//頭文件

#include<intrins.h>

#include"eeprom52.h"http://STC89C52EEPROM程序文件

#defineucharunsignedchar//宏定義

#defineuintunsignedint

#defineLCD1602_datP0//LCD1602數(shù)據(jù)口宏定義

sbitLCD1602_rs=P2^5;//LCD1602控制數(shù)據(jù)IO口

sbitLCD1602_rw=P2^6;

sbitLCD1602_e=P2^7;

sbitbeep=P1^3;//蜂鳴器IO

sbitled_1=P1^4;//LED指示燈IO

sbitled_2=P1^6;

sbitkey_1=P3^0;//系統(tǒng)控制按鍵IO口

sbitkey_2=P3^1;

sbitkey_3=P3^2;

sbitalarm_1=P2^0;//控制繼電器IO口

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

sbitADC0832_CS=P1^2;//ADC0832控制IO口使能口

sbitADC0832_CLK=P1^1;//時(shí)鐘IO口

sbitADC0832_DIO=P1^0;//數(shù)據(jù)輸入輸出IO口

uintsum;//10次AD值的綜合變量

ucharRH,RH_H=12,RH_L=8,state,ms,cs;//當(dāng)前水位,水位上限,下限,設(shè)

置項(xiàng)變量,50ms變量,cs為計(jì)次數(shù)變量,

bitbeep1,zt,s1;//報(bào)警標(biāo)志位,工作模式標(biāo)志位,閃爍標(biāo)志位

unsignedintA_D()//ADC0832讀值程序

{

unsignedchari;

unsignedchardat;

ADC0832_CS=1;//一個(gè)轉(zhuǎn)換周期開(kāi)始

ADC0832_CLK=0;//為第一個(gè)脈沖作準(zhǔn)備

ADC0832_CS=0;//CS置0,片選有效

ADC0832_DIO=1;//DIO置1,規(guī)定的起始信號(hào)

ADC0832_CLK=1;//第一個(gè)脈沖

ADC0832_CLK=0;//第一個(gè)脈沖的下降沿,此前DIO必須是高電平

ADC0832_DIO=1;//DIO置1,通道選擇信號(hào)

ADC0832_CLK=1;//第二個(gè)脈沖,第2、3個(gè)脈沖下沉之前,DI必須跟別

輸入兩位數(shù)據(jù)用于選擇通道,這里選通道RH0

ADC0832_CLK=0;//第二個(gè)脈沖下降沿

ADC0832_DIO=0;//DI置0,選擇通道0

ADC0832_CLK=1;//第三個(gè)脈沖

ADC0832_CLK=0;//第三個(gè)脈沖下降沿

ADC0832_DIO=1;//第三個(gè)脈沖下沉之后,輸入端DIO失去作用,應(yīng)置1

ADC0832_CLK=1;//第四個(gè)脈沖

for(i=0;i<8;i++)//高位在前

{

ADC0832_CLK=1;//第四個(gè)脈沖

ADC0832_CLK=0;

dat<<=1;//將下面儲(chǔ)存的低位數(shù)據(jù)向右移

dat|=(unsignedchar)ADC0832_DIO;//將輸出數(shù)據(jù)DIO通過(guò)或運(yùn)算儲(chǔ)存

在dat最低位

}

ADC0832_CS=1;//片選無(wú)效

returndat;//將讀書(shū)的數(shù)據(jù)返回

}

/********************************************************************

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

*名稱(chēng):delay()

*功能:小延時(shí)。

*輸入:無(wú)

*輸出:無(wú)

********************************************************************

***/

voiddelay(uintT)//延時(shí)函數(shù)

{

while(T--);

}

/********************************************************************

*名稱(chēng):LCD1602_write(ucharorder,dat)

*功能:1602寫(xiě)如數(shù)據(jù)函數(shù)

*輸入:輸入的命令值

*輸出:無(wú)

********************************************************************

***/

voidLCD1602_write(ucharorder,dat)//1602一個(gè)字節(jié)處理

{

LCD1602_e=0;

LCD1602_rs=order;

LCD1602_dat=dat;

LCD1602_rw=0;

LCD1602_e=1;

delay(1);

LCD1602_e=0;

}

/********************************************************************

*名稱(chēng):LCD1602_writebye(uchar*prointer)

*功能:1602寫(xiě)入數(shù)據(jù)函數(shù)指針式

*輸入:輸入的命令值

*輸出:無(wú)

********************************************************************

***/

voidLCD1602_writebyte(uchar*prointer)//1602字符串處理

{

while(*prointer!='\0')

{

LCD1602_write(1,*prointer);

prointer++;

}

}

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

/********************************************************************

*名稱(chēng):LCD1602_cls()

*功能:初始化1602液晶

*輸入:無(wú)

*輸出:無(wú)

********************************************************************

***/

voidLCD1602_cls()//1602初始化

{

LCD1602_write(0,0x01);//1602清屏指令

delay(1500);

LCD1602_write(0,0x38);//功能設(shè)置8位、5*7點(diǎn)陣

delay(1500);

LCD1602_write(0,0x0c);//設(shè)置光標(biāo)不顯示開(kāi)關(guān)、不顯示光標(biāo)、字

符不閃爍

LCD1602_write(0,0x06);

LCD1602_write(0,0xd0);

delay(1500);

}

/********************************************************************

*名稱(chēng):show()

*功能:LCD1602液晶顯示程序

*輸入:無(wú)

*輸出:無(wú)

********************************************************************

***/

voidshow()

{

if(state==0)//當(dāng)前水位及工作模式顯示

{

LCD1602_write(0,0x80);LCD1602_writebyte("Waterlevel:");//當(dāng)前水位

LCD1602_write(0,0x80+12);

if(RH>9)LCD1602_write(1,0x30+RH/10%10);

elseLCD1602_writebyte("");

LCD1602_write(0,0x80+13);

LCD1602_write(1,0x30+RH%10);

LCD1602_write(0,0x80+14);

LCD1602_writebyte("cm");

LCD1602_write(0,0xC0);LCD1602_writebyte("State:");//工作模式

LCD1602_write(0,0xC0+6);

if(zt==0)

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

{

LCD1602_writebyte("Manul");

}else

{

LCD1602_writebyte("Auto");

}

}else//水位上下限設(shè)置界面

{

LCD1602_write(0,0x80);

LCD1602_writebyte("Water_H:");//水位上限

LCD1602_write(0,0x80+8);

if(state==1&&s1==1)//通過(guò)閃爍標(biāo)志為達(dá)到閃爍的效果

{

LCD1602_writebyte("");

}else

{LCD1602_write(0,0x80+8);

if(RH_H>9)LCD1602_write(1,0x30+RH_H/10%10);

elseLCD1602_writebyte("");

LCD1602_write(0,0x80+9);

LCD1602_write(1,0x30+RH_H%10);

}

LCD1602_write(0,0x80+10);

LCD1602_writebyte("cm");

LCD1602_write(0,0xC0);

LCD1602_writebyte("Water_L:");//水位下限

if(state==2&&s1==1)//通過(guò)閃爍標(biāo)志為達(dá)到閃爍的效果

{

LCD1602_write(0,0xC0+8);

LCD1602_writebyte("");

}else

{

LCD1602_write(0,0xC0+8);

if(RH_L>9)LCD1602_write(1,0x30+RH_L/10%10);

elseLCD1602_writebyte("");

LCD1602_write(0,0xC0+9);

LCD1602_write(1,0x30+RH_L%10);

}

LCD1602_write(0,0xC0+10);

LCD1602_writebyte("cm");

}

}

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

/********************************************************************

*名稱(chēng):key()

*功能:按鍵控制程序?qū)崿F(xiàn)系統(tǒng)各個(gè)控制功能

*輸入:無(wú)

*輸出:無(wú)

********************************************************************

***/

voidkey()

{

if(!key_1)//設(shè)置按鍵設(shè)置功能:切換顯示及設(shè)置的選項(xiàng)

{

delay(888);//按鍵去抖

if(!key_1)//再次判斷按鍵

{

while(!key_1)show();//按鍵判斷是否釋放

state=(state+1)%3;//執(zhí)行按鍵功能切換設(shè)置項(xiàng)

}

}

if(!key_2)//切換設(shè)置項(xiàng)值的大小及非設(shè)置模式下切換系統(tǒng)工作模式

按鍵

{

delay(888);//按鍵去抖

if(!key_2)//再次判斷按鍵

{

while(!key_2)show();//按鍵判斷是否釋放

if(state==1)//執(zhí)行按鍵功能切換設(shè)置項(xiàng)

{

if(RH_H<100)RH_H++;//設(shè)置上限值

SectorErase(0x2000);//保存上限值保存到單片機(jī)中EEPROM

byte_write(0x2000,RH_H);

}elseif(state==2)

{

if(RH_L<RH_H-1)RH_L++;//設(shè)置下限值

SectorErase(0x2200);//保存下限值保存到單片機(jī)中EEPROM

byte_write(0x2200,RH_L);

}else

{

zt=!zt;//切換系統(tǒng)的工作模式自動(dòng)手動(dòng)

alarm_1=1;//關(guān)閉繼電器

}

}

}

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

if(!key_3)//切換設(shè)置項(xiàng)值的大小及手動(dòng)模式下切換系統(tǒng)工作狀態(tài)

‘開(kāi)關(guān)’

{

delay(888);//按鍵去抖

if(!key_3)//再次判斷按鍵

{

while(!key_3)show();//按鍵判斷是否釋放

if(state==1)//執(zhí)行按鍵功能切換設(shè)置項(xiàng)

{

if(RH_H>RH_L+1)RH_H--;

SectorErase(0x2000);//保存上限值保存到單片機(jī)中EEPROM

byte_write(0x2000,RH_H);

}elseif(state==2)

{

if(RH_L>0)RH_L--;

SectorErase(0x2200);//保存下限值保存到單片機(jī)中EEPROM

byte_write(0x2200,RH_L);

}else

{

if(zt==0)

{

alarm_1=!alarm_1;//手動(dòng)模式切換系統(tǒng)的工作狀態(tài)

}

}

}

}

}

/********************************************************************

*名稱(chēng):proc()

*功能:系統(tǒng)處理程序部分

*輸入:無(wú)

*輸出:無(wú)

********************************************************************

***/

voidproc()

{

if(zt==1)//zt==1為自動(dòng)模式如果系統(tǒng)在自動(dòng)模式下

{

if(RH>=RH_H)//如果當(dāng)前水位值達(dá)到水位上限值則

{

alarm_1=1;//關(guān)閉繼電器

led_1=0;//顯示對(duì)應(yīng)的指示燈

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

}else

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論