單片機(jī)水位溫度控制系統(tǒng)_第1頁
單片機(jī)水位溫度控制系統(tǒng)_第2頁
單片機(jī)水位溫度控制系統(tǒng)_第3頁
單片機(jī)水位溫度控制系統(tǒng)_第4頁
單片機(jī)水位溫度控制系統(tǒng)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī)的太陽能熱水器水溫水位監(jiān)測系統(tǒng)摘要:該太陽能熱水器水溫水位控制主要由AT89S52單片機(jī)控制,DS18B20溫度傳感器,LCD1602液晶,時鐘芯片1302和報警系統(tǒng)組成。該系統(tǒng)能夠?qū)崟r顯示當(dāng)前時間和日期,以及秒表功能,測量水箱內(nèi)實時溫度,并以液晶顯示屏的形式告知使用者。同時還能對水位進(jìn)行實時監(jiān)控,水位不足或者已滿都可以讓使用者得知,當(dāng)水位已滿時就會報警,提醒使用者及時關(guān)閉加水閥門。關(guān)鍵詞:AT89S52單片機(jī) 溫度控制 水位控制The Control of Measurement System of Water Level andTemperature of Solar Energ

2、y HeatingAbstract: the solar energy water heater mainly by water level control AT89S52 SCM control, the temperature sensor DS18B20, LCD1602 LCD, clock and alarm system chip 1302. The system can real-time display the current date and time, and stopwatch function, measuring tank temperature, and real-

3、time LCD inform the user. Also can real-time monitoring of water shortage, water or already full allow users, when the water is full already will alarm, remind users timely close water valve. Through the Protues software simulation above mentioned function normal realization.Keywords: AT89S52 SCM Te

4、mperature control Water level control目錄1引言32方案比較42.1溫度傳感器的選擇4方案一4方案二42.1.3 方案比較42.2 水位采集系統(tǒng)的選擇52.2.1 方案一52.2.2 方案二52.2.3 方案比較73硬件設(shè)計73.1 溫度傳感器DS18B2073.1.1 DS18B20的主要特性:73.1.2 DS18B20的外形73.1.3 DS18B20主要的數(shù)據(jù)部件73.1.4 DS18B20電源供電方式電路圖83.2 顯示電路93.3 蜂鳴器電路93.4 單片機(jī)及其外圍電路103.5 水位控制系統(tǒng)的設(shè)計123.5.1 CD4069芯片資料123.5.

5、2 74LS244芯片資料123.6 整體電路圖(如圖14)134 軟件設(shè)計15 4.1 溫度顯示部分. 164.2 關(guān)于DS18B20的編程.174.3 初始化結(jié)構(gòu).185 系統(tǒng)調(diào)試196 總結(jié)20致謝20參考文獻(xiàn)21附錄221引言單片機(jī)的應(yīng)用技術(shù)是一項新型的工程技術(shù),特別是隨大規(guī)模集成電路的產(chǎn)生而飛速發(fā)展。目前,單片機(jī)以其體積小、重量輕、抗干擾能力強(qiáng)、對環(huán)境要求不高??煽啃愿?、性能價格比高、開發(fā)較為容易,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、設(shè)備自動化等諸多領(lǐng)域極為廣泛的應(yīng)用,都可見到單片機(jī)的蹤影。目前市場上太陽能熱水器的控制系統(tǒng)大部分都存在著或多或少的缺點:成本較高,操作復(fù)雜,控

6、制不方便等。本設(shè)計中采用美國DALLAS半導(dǎo)體公司出產(chǎn)智能溫度傳感器DS18B20作為檢測元件,測溫范圍為-55125攝氏度,最大分辨率可達(dá)0.0625攝氏度,可以直接讀出被測溫度值,而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和好使用的特點。本設(shè)計的水位傳感器電路,省去了傳統(tǒng)的A/D轉(zhuǎn)換器,操作簡單,控制方便。我們在日常的太陽能熱水器的使用中,很少能預(yù)測出當(dāng)時水溫的高低,還有在給太陽能熱水器補(bǔ)給水源時,其水位具體什么時候能夠加滿也未能知曉,這就大大浪費了水資源,也給日程生活添加了不必要的開支,我在課程設(shè)計中基于單片機(jī)89S52能夠準(zhǔn)確的告知使用者熱水器的即時溫度,還能通過報警

7、的模式告知使用者熱水器儲蓄罐已滿,從而達(dá)到了節(jié)約水源,方便大眾的目的。同時,也能告知使用者當(dāng)時的日期和時間。此次課程設(shè)計中設(shè)計了一個簡易的測量太陽能熱水器水溫,水位的裝置,并能通過報警的形式告知使用者水位已滿請關(guān)閉,我相信經(jīng)過進(jìn)一步的加工,一定會很好的運用到我們?nèi)粘5纳钪小?方案比較2.1溫度傳感器的選擇方案一熱敏電阻是溫度傳感器的一種,它由半導(dǎo)體陶瓷組成。熱敏電阻(NTC)不同于普通的電阻,它具有負(fù)的電阻溫度特性,即當(dāng)溫度升高時,其電阻值減小。熱敏電阻的阻值溫度特性曲線是一條指數(shù)曲線,非線性較大,因此在使用時要進(jìn)行線性化處理。線性化處理雖然能夠改善熱敏電阻的特性曲線,但是比較復(fù)雜。為此,在

8、要求不高的一般應(yīng)用中,常做出在一定的溫度范圍內(nèi)溫度與阻值成線性關(guān)系的假定,從而簡化計算。使用熱敏電阻是為了感知溫度,給熱敏電阻通以恒定的電流,電阻兩端就可測到一個電壓,然后通過公式下面的公式可求得溫度:T=T0-KVT。T為被測溫度;T0為與熱敏電阻特性有關(guān)的溫度參數(shù);K為與熱敏電阻特性有關(guān)的系數(shù);VT為熱敏電阻兩端的電壓。根據(jù)這一公式,測得熱敏電阻兩端的電壓,了解到參數(shù)T0和K,則可以計算出熱敏電阻的環(huán)境溫度,也就是被測的溫度,這樣就把電阻隨溫度的變化轉(zhuǎn)化為電壓隨溫度變化。這種設(shè)計還需要用到A/D轉(zhuǎn)換電路,而且在測量的過程中,由于環(huán)境的影響會帶來較大的誤差。方案二采用溫度傳感器DS18B20

9、,它是美國Dallas半導(dǎo)體公司生產(chǎn)的數(shù)字化溫度傳感器DS18B20,它與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。全部傳感元件及轉(zhuǎn)化電路集成在形如一只三極管的集成電路內(nèi)。我們可以采用DS18B20采集溫度,然后在顯示電路上顯示。該設(shè)計外圍電路簡單,只需要通過DS18B20進(jìn)行采集溫度,一個液晶顯示電路,軟件設(shè)計部分只需要采集溫度,對溫度進(jìn)行轉(zhuǎn)化,再用顯示電路將其顯示出來。我們可以知道,環(huán)境對DS18B20影響不大,同時DS18B20的測量精度穩(wěn)定并可用軟件設(shè)置、接線簡單,大大的節(jié)省了單片機(jī)的數(shù)據(jù)串口。 方案比較本設(shè)計主要是從溫度傳感器的選擇考慮。傳統(tǒng)的測溫元件有

10、熱電偶和熱電阻,而它們測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要較多的外部硬件支持,電路及軟件調(diào)試比較復(fù)雜,制作難度高,成本也相對較高。從以上兩種方案中,可以看出采用方案二所設(shè)計的電路比較簡單,采用溫度傳感器DS18B20作為檢測元器件,測溫范圍-55125,分辨率最大可達(dá)0.0625。DS18B20可以直接讀出被測溫度值。采用3線制與單片機(jī)相連,減少了外部硬件電路,具有低成本和易使用的特點。2.2 水位采集系統(tǒng)的選擇 方案一該水位采集系統(tǒng)是將采集的信號進(jìn)過A/D轉(zhuǎn)換器傳送到單片機(jī)中如圖1。I為恒流源,該電流流過一個電阻產(chǎn)生的壓降為IR。當(dāng)K1,K2K8均打開時,V0=8IR,現(xiàn)取IR=1V

11、,則V0=8V。當(dāng)水位上升到Kn處時,浮子推動磁體M移動至干簧管Kn處,Kn接通。經(jīng)過OP緩沖輸出的電壓V0=(n-1)V。輸出端經(jīng)ADC0809轉(zhuǎn)換器后直接輸入到單片機(jī)中。當(dāng)水位到達(dá)最高位置時單片機(jī)將控制電磁閥停止向水箱加水,并在液晶上顯示“水已滿”字樣。圖1 方案二用5根不銹鋼針分別置于水箱內(nèi)5種不同高度的位置,當(dāng)某個鋼針不接觸水面時,其輸出為高電平;當(dāng)其與水面接觸時則輸出為低電平。它們輸出的信號接六反向器CD4069,經(jīng)過CD4069反向并經(jīng)74LS244驅(qū)動后分別接入89C52單片機(jī)的P3.0-P3.4腳。單片機(jī)對這些引腳進(jìn)行判斷之后,在液晶上顯示對應(yīng)的值。顯示分為5檔,每檔為滿水位的

12、20%。(如圖2)CD406974LS244+5V圖2 方案比較 方案2比方案1設(shè)計原理簡單,硬件要求少,成本較低,方案2省去了方案1中A/D轉(zhuǎn)換器,操作比較方便,方案1在軟件設(shè)計中也比方案2來得更加簡潔明了。因此水位采集系統(tǒng)選擇采用方案2。3硬件設(shè)計3.1 溫度傳感器DS18B20 DS18B20的主要特性:(1)電壓范圍較寬,電壓范圍:3.05.5V。(2)單線接口方式,DS18B20在與單片機(jī)連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。(3)DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三條線上,實現(xiàn)組網(wǎng)多點測溫。(4)測溫范圍55125,在-10

13、+85時精度為0.5,精度較高。(5)可編程的分辨率為912位,對應(yīng)的可分辨的溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫。(6)在9位分辨率時最多能在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(7)測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力。(8)負(fù)壓特性:電源極性接反時,芯片不會燒毀,但不能正常工作。 DS18B20的外形DS18B20的外形及管腳排列圖如下圖2所示。 圖3 DS18B20外形及引腳排列圖1GND 地信號2DQ 數(shù)據(jù)輸入/輸出引腳。

14、開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD 可選擇的VDD引腳。當(dāng)工作于寄生電源時,此引腳必須接地。 DS18B20主要的數(shù)據(jù)部件DS18B20有2個主要的數(shù)據(jù)部件: (1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。(2)DS18B20中的溫度

15、傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號位。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,溫度報警觸發(fā)器TH和TL,配置寄存器。 DS18B20電源供電方式電路圖(1)DS18B20寄生電源供電方式電路DS18B20寄生電源供電電路,如圖5所示,要想讓DS18B20進(jìn)行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,當(dāng)幾個溫度傳感器掛在同一根I/O線上進(jìn)行多點測溫時,靠上拉電阻是無法提供足夠的能量,會造成無法轉(zhuǎn)換

16、溫度或溫度誤差極大。因此,圖6電路只適用于單一溫度傳感器測溫,也不宜采用電池供電,并且電源電壓必須是穩(wěn)壓5V。當(dāng)電源電壓下降時,會使測量的誤差變大。 圖5 DS18B20寄生電源供電電路 圖6 DS18B20外部供電單點測溫電路(2)DS18B20的外部電源供電方式DS18B20外部供電單點測溫電路,如圖7所示,DS18B20外部供電多點測溫電路如圖6所示。此時I/O線不需要強(qiáng)上拉電壓,同時在總線上可以掛接多個DS18B20傳感器,組成多點測溫系統(tǒng)。但要注意在外部供電的方式下,DS18B20的GND引腳不能懸空,否則讀取的溫度總是85。 圖6 DS18B20外部供電多點測溫電路 比較上述兩種供

17、電方式后認(rèn)為外部電源供電方式對電源要求比電源供電方式優(yōu)越些且穩(wěn)定性好,故在此設(shè)計中采用如圖6的外部電源供電方式供電電路。 3.2 顯示電路 由DS1602液晶顯示屏組成,其特點是比較直觀便于觀察(如圖7)。圖73.3 蜂鳴器電路 蜂鳴器俗稱喇叭(如圖8),是廣泛應(yīng)用于各種電子產(chǎn)品的一種元器件,它用于提示、報警、音樂等許多應(yīng)用場合。蜂鳴器通常工作電流比較大,電路上的TTL電平基本上驅(qū)動不了蜂鳴器,需要增加一個電流放大的電路才可以。蜂鳴器由振蕩器、磁鐵、振動膜片以及外殼等組成,接通電源后,振蕩器產(chǎn)生音頻信號,電流通過電磁線圈使電磁線圈產(chǎn)生磁場,振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲

18、。當(dāng)P3.7端輸出高電平時,三極管截止,沒有電流流過線圈,蜂鳴器不發(fā)聲,當(dāng)P3.7端為低電平時,三極管導(dǎo)通,這樣蜂鳴器中就有電流流過,就會發(fā)出聲音因此,可通過程序來控制蜂鳴器的聲音大小。 圖8 蜂鳴器電路圖3.4 單片機(jī)及其外圍電路此次課程設(shè)計采用STC公司的單片機(jī)STC89S52作為系統(tǒng)的控制器。主要從以下特點考慮:1.STC89S52是一種低功耗,高性能CMOS工藝的8位單片機(jī),片內(nèi)含有8K的系統(tǒng)可編程Flash存儲器。使用STC公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位C

19、PU和在系統(tǒng)提供高靈活,是一個很有效的解決方案。 2.STC89S52具有的標(biāo)準(zhǔn)功能:8k Bytes Flash片內(nèi)程序存儲器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89S52可降至0KHZ靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)停止工作,直到一個中斷或硬件復(fù)位為止。3.STC89S52有40個引腳,32個外部雙向輸入/輸出(I/O)口,同時內(nèi)含8個中斷口,5個中斷優(yōu)先級,3個16位可編程定時計數(shù)器,2個

20、全雙工串行通信口,2個讀寫口。AT89S52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其通用的微處理器和Flash存儲器結(jié)合在一起,可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。在本設(shè)計中,XTAL1和XTAL2端外接石英晶體作為定時元件,內(nèi)部反向放大器自激振蕩,產(chǎn)生時鐘。所用石英晶體的振蕩頻率為12MHZ,電容C1,C2常為20pF40pF內(nèi),從而形成了單片機(jī)的最小系統(tǒng)。如圖9所示。圖9 晶振電路設(shè)計中用的是上電復(fù)位,單片機(jī)上電過后,便自動的進(jìn)入復(fù)位狀態(tài)。圖10是上電復(fù)位電路。當(dāng)采用的晶體頻率為12MHZ時,可采取C=22 uf,R=1K。圖10 上電復(fù)位電路3.5 水位控制系統(tǒng)的設(shè)計用

21、5根不銹鋼針分別置于水箱內(nèi)5種不同高度的位置,當(dāng)某個鋼針不接觸水面時,其輸出為高電平;當(dāng)其與水面接觸時則輸出為低電平。它們輸出的信號接六反向器CD4069,經(jīng)過CD4069反向并經(jīng)74LS244驅(qū)動后分別接入89C52單片機(jī)的P3.0-P3.5腳。單片機(jī)對這些引腳進(jìn)行判斷之后,在液晶上顯示對應(yīng)的值。顯示分為5檔,每檔為滿水位的20%。(如圖11)CD406974LS244+5V圖11 CD4069芯片資料 CD4069是由六個COS/MOS反相器電路組成,該器件通常用在不需要中功率TTL驅(qū)動和邏輯電平轉(zhuǎn)換的電路中。(如圖12)圖123.5.2 74LS244芯片資料74LS244是三態(tài)八緩沖器

22、。(如下頁圖13)引出端符號:1A11A4,2A12A4輸入端/1G, /2G三態(tài)允許端(低電平有效)1Y11Y4,2Y12Y4輸出端圖133.6 整體電路圖(如圖14)圖144 軟件設(shè)計本設(shè)計的基本運行步驟是:接通電源溫度傳感器開始工作,LCD1602顯示出溫度與當(dāng)前的時間日期,當(dāng)向水箱中倒入水后,到達(dá)第一個鋼針時此時液晶屏上顯示01(5cm),到達(dá)第二個鋼針時液晶屏上顯示02(10cm),直至到達(dá)水箱的頂部,液晶屏幕上顯示“FULL”,并且蜂鳴器報警,提醒用戶水已滿,關(guān)閉水閥,從而完成了對水位的控制。根據(jù)運行步驟和電路的功能設(shè)計出水溫水位程序流程圖如圖15所示。圖15P3.0表示第一層水位

23、監(jiān)測口P3.1表示第二層水位監(jiān)測口P3.2表示第三層水位監(jiān)測口P3.3表示第四層水位監(jiān)測口P3.4表示第五層水位監(jiān)測口P2.4表示響鈴警報端口通過判斷是否導(dǎo)電,來檢測水位所在,滿水后達(dá)到報警目的,并斷開注水連接,使蜂鳴器報警。初始化DS18B20溫度傳感器4.1溫度顯示部分:發(fā)送讀取溫度指令,并分別從DS18B20中讀取高8位和低8位的溫度數(shù)值將讀取來的溫度數(shù)值轉(zhuǎn)化為實際溫度數(shù)值將實際溫度值送至1602液晶顯示圖 16 在初始化之后,通過指令從系統(tǒng)中調(diào)取數(shù)據(jù),從DS18B20中的高8位和低8位溫度數(shù)值反饋到轉(zhuǎn)化模塊,轉(zhuǎn)換成可顯示的十進(jìn)制數(shù),送給1602液晶顯示器,分別在1602指定位置顯示 實

24、際溫度值的10位、個位和小數(shù)位反應(yīng)實時溫度。4.2 關(guān)于DS18B20的編程在對DS18B20進(jìn)行讀寫程序時,必須嚴(yán)格保證讀寫時序,否則將無法讀取測得的溫度結(jié)果。根據(jù)DS18B20的通信協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。再才能讀取溫度。指令約定代碼功能溫度轉(zhuǎn)換44H將DS18B20進(jìn)行溫度轉(zhuǎn)換啟動,12位轉(zhuǎn)換時最長為750ms,把結(jié)果存入內(nèi)部9字節(jié)RAM中讀暫存器0BEH讀內(nèi)部RAM中9個字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM的3、4字

25、節(jié)寫上、下限溫度數(shù)據(jù)指令,緊跟該指令之后是傳送兩字節(jié)的數(shù)據(jù)復(fù)制暫存器48H將RAM中第3、4字節(jié)的內(nèi)容復(fù)制給PRAM重調(diào)PRAM0B8H將PRAM中內(nèi)容恢復(fù)到RAM中的第3、4字節(jié)讀供電方式0B4H讀DS18B20的供電方式。寄生供電時DS18B20發(fā)送0,外接電源供電DS18B20發(fā)送1表1 RAMR指令表指令約定代碼功能讀ROM33H讀取DS18B20溫度傳感器ROM中的編碼程序符合ROM55H發(fā)出命令之后,然后發(fā)出64位ROM編碼,訪問單總線上與該編碼對應(yīng)的DS18B20,使之作出響應(yīng),為下一步對該DS18B20讀寫作準(zhǔn)備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識

26、別64位ROM地址,為操作各器件作好準(zhǔn)備跳過ROM0CCR跳過ROM工作表2 ROM指令表系統(tǒng)對DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。DS18B20的初始化序列圖,如圖18所示。4.3 初始化結(jié)構(gòu)圖17 DS18B20的初始化序列圖 5 系統(tǒng)調(diào)試本設(shè)計采用KeilC51編譯器進(jìn)行源程序編譯及仿真調(diào)試,同時用Protel進(jìn)行硬件電路板的設(shè)計制作。硬件電路制作完畢,用萬用表檢測有無短路開路等現(xiàn)象,確定硬件電路沒有錯誤時,用proteus進(jìn)行仿真,運行程序進(jìn)行調(diào)試。在焊接過程中,發(fā)現(xiàn)DS1302芯片發(fā)熱嚴(yán)重,但扔能正常顯示日期等

27、,斷開開關(guān),通過萬用表測量,發(fā)現(xiàn)一腳和八腳短路,但是斷開3.6V電源后,扔持續(xù)發(fā)熱,通過測試,發(fā)現(xiàn)是芯片損壞,重新更換芯片后得到解決。由于初次使用DS18B20器件,在程序設(shè)計過程中遇到很大難題,通過詢問老師和查閱網(wǎng)絡(luò),得到相關(guān)信息,在同學(xué)的共同學(xué)習(xí)下,更深的了解了該元件的使用方法和相關(guān)編程方式,并成功的運用到電路中。在實現(xiàn)功能之后,又加入了部分小功能,如:秒表,定時等,充分利用液晶屏和各芯片功能,使整個作品變得更加豐富,以滿足不同使用者的不同需求,使用起來方便耐用,操作簡單,易于上手。6 總結(jié)經(jīng)過這么長時間來不懈的努力與奮斗,我終于在老師的指導(dǎo)下完成了我的設(shè)計,本設(shè)計除了具有測量太陽能熱水器

28、水溫水位的功能,還具有顯示日期,時間,星期等的附加功能。雖然它還有很多需要完善的地方,在這次作品設(shè)計的過程中學(xué)到了很多東西,使我明白了很多書本上的東西不通過具體的實踐是不能夠領(lǐng)會其中的精髓的,我們必須通過自己的親手實踐,去經(jīng)歷失敗了才能對所學(xué)知識達(dá)到真正的掌握。理論必須聯(lián)系實際,而實踐是檢驗真理的唯一標(biāo)準(zhǔn),我真正的懂得了這句話的真諦。在我以后的工作和生活中,我從此可以汲取很多經(jīng)驗,凡事都要自己去動手,去實踐一下,遇到困難,永遠(yuǎn)不要喪失一顆勝利的心,有耐心,有信心,有細(xì)心,有恒心,有虛心,只有這樣,我才會在逆境中不斷前進(jìn),不斷充實自己!致謝 在本次課程設(shè)計的過程中,特別感謝我的指導(dǎo)老師對我的作品

29、設(shè)計的幫助,不管是在選題階段,設(shè)計階段,還是制作階段,老師都對我進(jìn)行了指導(dǎo),從而使得本次課程設(shè)計能夠順利完成。最后我要感謝我的同學(xué)們,他們在我進(jìn)行電路圖的設(shè)計和焊接過程中給了我很多幫助,在制作的過程中,我感受到了同學(xué)們的建議都是一種寶貴的財產(chǎn)。參考文獻(xiàn)1趙文博,劉文濤.單片機(jī)語言C51程序設(shè)計M北京:人民郵電出版社2006.2胡乾斌.單片微型計算機(jī)原理與應(yīng)用M(第二版).武漢:華中科技大學(xué)出版社.2005.3Microchip Inc.PIC16/17 Microcontrollers Data Book.1995/1996.4馬琨.幾種實用變壓器和穩(wěn)壓電源的制作。電氣時代.1999(1).5

30、何立民.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)M.北京:北京航空航天大學(xué)出版社,2001.6陳家勝.太陽能熱水器輔助電加熱控制器的研制.電子技術(shù),2000,27(10):31-36.附錄#include#include#define uchar unsigned char#define uint unsigned intsbit lcd_rs=P26; /液晶腳定義sbit lcd_re=P25;sbit dq = P10; sbit s1 =P23; /總控制端sbit s2 =P22;/加一sbit s3 =P21; /減一sbit s4 =P20; /秒表控制sbit beep=P24;/鬧鐘控制sb

31、it one=P34; /水位定義sbit two=P33;sbit three=P32;sbit four=P31;sbit five=P30 ;sbit s=P27; /水位測試切換開關(guān)void lcd_writedata(uchar date);void lcd_writecom(uchar com);void change(uchar add,uchar date,uchar row);void change1(uchar add,uchar date,uchar row);void delay_ds1820(int num);uchar readonechar(); /讀一個字節(jié)vo

32、id writeonechar(uchar dat); /寫一個字節(jié)uchar code wendu=0123456789;uint readtemp() ; /讀溫度void displayw() ; /顯示溫度void key();void guding();void ds1302_inputbyte(uchar d); uchar ds1302_outputbyte();uchar read1302(uchar add);void write1302(uchar add,uchar date);void get_1302(uchar realtime);void xianshi();vo

33、id miaobiao_init();void keys();void set_alarm();void read_alarm();void alarm();void alarm_sound();void sheng_set();void read_sheng();void sheng();sbit ds1302_rst=P13; /ds1302腳定義sbit ds1302_clk=P11;sbit ds1302_io=P12;sbit acc0 = ACC0;sbit acc7 = ACC7;uchar num,s1num,s4num,flag,flag1,flag2,flag3,flag4

34、; /定義變量uchar shi,fen,miao,weimiao,t;char time7,time17;uchar ashi,afen,amiao,anian,ayue,ari;uchar code table= StopWatch ;uchar code table1= 00:00:00:00 ;uchar code table2= HAPPY BIRTHDAY ;uchar code table3= 1986-02-20 ;uchar code table43=Mon,Tue,Wed,Thu,Fri,Sat,Sun;void write_xingqi(char xingqi);/延時一

35、毫秒void delay(uint z) uint x,y;for(x=z;x0;x-) for(y=110;y0;y-); void lcd_init()/液晶初始化和命令數(shù)據(jù)操作lcd_writecom(0x38);lcd_writecom(0x0c);lcd_writecom(0x06);lcd_writecom(0x01);lcd_writecom(0x80); void lcd_writecom(uchar com)lcd_rs=0;lcd_re=0;P0=com;lcd_re=1;delay(1);lcd_re=0;void lcd_writedata(uchar date)lcd

36、_rs=1;lcd_re=0;P0=date;lcd_re=1;delay(1);lcd_re=0;void change1(uchar add,uchar date,uchar row) /寫函數(shù)一 uchar shi,ge; shi=date/10; ge=date%10;if(row=0) lcd_writecom(0x80+add); lcd_writedata(0x30+shi); lcd_writedata(0x30+ge);if(row=1) lcd_writecom(0x80+0x40+add); lcd_writedata(0x30+shi); lcd_writedata(0

37、x30+ge);void change(uchar add,uchar date,uchar row)/寫函數(shù)二 防止沖突。 uchar shi,ge; shi=date/10; ge=date%10;if(row=0) lcd_writecom(0x80+add); lcd_writedata(0x30+shi); lcd_writedata(0x30+ge);if(row=1) lcd_writecom(0x80+0x40+add); lcd_writedata(0x30+shi); lcd_writedata(0x30+ge);void key() if(flag3=1) if(s1=0)delay(5);if(s1=0)while(!s1);flag3=0;lcd_init();guding();if(s2=0) delay(5);if(s2=0)while(!s2);flag3=0;lcd_init(); guding(); if(s3=0) delay(5);if(s2=3)while(!s3);flag3=0;lcd_init(); guding(); if(s4=0) delay(5);if(s4=0)while(!s4);flag3=0;lcd_init();

溫馨提示

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

評論

0/150

提交評論