太陽能熱水器控制器畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1 緒論</b></p><p>  1.1 本課題的研究背景</p><p>  太陽能是地球上取之不盡、用之不竭的最寶貴能源。它在防止和改善大氣污染方面,加強對太陽能的研究和利用, 特別是重點發(fā)展太陽能熱水器有著重大的意義和廣闊的前景。太陽能熱水器是一種將太陽輻射能轉(zhuǎn)變?yōu)闊崮? 把水逐漸加熱的熱交換裝置, 它是太陽能熱利用的基礎(chǔ)元

2、件。太陽能的開發(fā)利用, 已越來越引起世界人們的注意。由于石油和能源的緊缺, 促使太陽能熱水器有很大的發(fā)展。日本、法國、澳大利亞等國, 大部分家用熱水來自太陽能熱水器[1]。目前市場上太陽能熱水器的控制系統(tǒng)大部分都存在著或多或少的缺點:功能單一、操作復(fù)雜、控制不方便等。隨著人們生活水平的提高和電子技術(shù)的發(fā)展,這樣的太陽能熱水器控制系統(tǒng)越來越不適應(yīng)人們的生活需求,開發(fā)一種控制方便,操作靈活的太陽能熱水器的控制系統(tǒng),已經(jīng)成為當(dāng)務(wù)之急[2]。&

3、lt;/p><p>  太陽能熱水器單片機(jī)控制系統(tǒng)就是一種以單片機(jī)為控制系統(tǒng)核心的系統(tǒng),不但其機(jī)器性能顯著提高,還增加了難以實現(xiàn)的功能,同時也提高了控制的精確度,硬件與軟件相互配合實現(xiàn)太陽能熱水器工作的智能化和自動化[3]。</p><p>  單片機(jī)具有集成度高、運算速度快、體積小、運行可靠、價格低廉等特點,因此在過程控制、數(shù)據(jù)采集、機(jī)電一體化、智能化儀表、家用設(shè)備以及網(wǎng)絡(luò)技術(shù)等方面得到廣泛

4、應(yīng)用[4]。現(xiàn)今太陽能熱水器的控制系統(tǒng)大多都有著功能不全面、操作性復(fù)雜、控制不方便等問題,很多控制器只具有溫度和水位顯示功能,不具有溫度控制功能,即使熱水器具有輔助加熱功能,也可能由于加熱時間不能控制而產(chǎn)生過燒,從而浪費電能。本課題設(shè)計的太陽能熱水器控制系統(tǒng)以AT89S52單片機(jī)為檢測控制中心單元,不僅實現(xiàn)了時間、溫度和水位三種參數(shù)顯示功能,而且具有時間設(shè)定、溫度設(shè)定與控制功能??刂葡到y(tǒng)可以根據(jù)天氣情況利用輔助加熱裝置使蓄水箱內(nèi)的水溫達(dá)

5、到預(yù)先設(shè)定的溫度,從而達(dá)到24小時供應(yīng)熱水的目的。該控制器和以往顯示儀相比具有性價比高、溫度控制與顯示精度高、使用方便和性能穩(wěn)定等優(yōu)點,提高了我國太陽能應(yīng)用領(lǐng)域控制水平,具有可觀的經(jīng)濟(jì)效益和社會效益[5]。</p><p>  1.2 太陽能熱水器的發(fā)展歷史和現(xiàn)狀</p><p>  1.2.1 太陽能熱水器的發(fā)展歷史</p><p>  太陽能熱水器是利用太陽

6、能集熱器將太陽輻射能轉(zhuǎn)變?yōu)闊崮?,并用來提高水溫的,是目前實際應(yīng)用最多、技術(shù)最成熟的太陽能熱利用的一種裝置。它不僅可為家庭和機(jī)關(guān)、旅社、醫(yī)院等提供洗澡、洗衣、炊事等所需熱水(100℃以下),同時還可用于空調(diào)、干燥、農(nóng)業(yè)種植、水產(chǎn)養(yǎng)殖、海水淡化等。太陽能熱水器的使用已有近百年的歷史,最早的太陽能熱水器工業(yè)出現(xiàn)在18世紀(jì)的美國加州,最原始的太陽能熱水器僅是一只漆黑的金屬圓桶。隨著科學(xué)技術(shù)的進(jìn)步,太陽能熱水器也隨之不斷改進(jìn),由集熱和貯熱合為一體

7、逐步改進(jìn)為集熱和貯熱部分分開,采用先進(jìn)的太陽能集熱器,先進(jìn)的保溫材料和冬季防凍技術(shù)及其他輔助裝置等?,F(xiàn)如今生產(chǎn)的先進(jìn)的太陽能熱水器已實現(xiàn)了全年運行,大大提高了太陽能熱水器的熱效率和利用效率。目前,太陽能熱水器是可再生能源技術(shù)領(lǐng)域商業(yè)化程度最高,推廣應(yīng)用最普遍的技術(shù)之一。以色列在政府的支持下,有85%的住宅都安裝了太陽能熱水器。美國有130多萬個游泳池都裝上了太陽能集熱器,成為環(huán)保型的太陽能游泳池。近年來,太陽能熱水器在我國迅猛發(fā)展,從2

8、0世紀(jì)70年代后期就開始了開發(fā)家用太陽能熱水器。到20世紀(jì)90年代,隨著科技進(jìn)步,環(huán)境意識增強和人</p><p>  1.2.2 太陽能熱水器的發(fā)展現(xiàn)狀</p><p>  目前國內(nèi)的太陽能熱水器主要是采用的緊湊式自然循環(huán)系統(tǒng),這種系統(tǒng)的特點是制造簡單、價格低廉。但如果從太陽能熱水器使用的安全、質(zhì)量、方便以及操作性等方面來看,分離式強制循環(huán)系統(tǒng)更能滿足人們的要求。而采用分離式強制循環(huán)系

9、統(tǒng)時一般都要采用承壓儲水箱,這樣就對熱水器的連接部位的強度以及密封性有了一定的要求。平板型集熱器一般是金屬制成的,集熱器與儲水箱之間的連接采用的是金屬連接,因此可以承受較高的水壓,密封性能也較好。而真空管熱水器的集熱管與儲水箱之間的連接一般是用塑料或橡膠來密封,因此在承壓及密封方面效果差。另外,如果對太陽能熱水器的水質(zhì)要求較高,那么通常是采用雙循環(huán)系統(tǒng),即集熱器加熱的是導(dǎo)熱工質(zhì),再通過導(dǎo)熱工質(zhì)把熱量傳遞給水,避免了水在循環(huán)過程中被二次污

10、染,保證了水質(zhì)。在平板型太陽能集熱器中,傳熱介質(zhì)可以在集熱器與貯水箱內(nèi)的換熱器之間無障礙地流動,通過換熱器去加熱貯水箱內(nèi)的水,完成系統(tǒng)的雙循環(huán),這一點也是平板太陽能熱水器明顯的優(yōu)勢之處[7]。</p><p>  根據(jù)我國所處的地理環(huán)境,太陽能熱水器平均每平方米每年可節(jié)約的能源折合100-150公斤標(biāo)準(zhǔn)煤。由此可見,在如今資源短缺,環(huán)境惡化的現(xiàn)實中,太陽能熱水器的推廣和應(yīng)用,將在節(jié)約常規(guī)能源,減少環(huán)境污染和人類社

11、會可持續(xù)發(fā)展方面起到不可忽視的重要作用,具有極大的發(fā)展前途[8]。</p><p>  在全球能源形勢緊張、氣候變暖嚴(yán)重威脅經(jīng)濟(jì)發(fā)展,世界能源的日益緊缺、油價的不斷攀升和居民生活水平的高和洗浴舒適度要求提高的今天,世界各國都在尋求新的能源替代戰(zhàn)略,以求得可持續(xù)發(fā)展和在日后的發(fā)展中獲取優(yōu)勢地位。太陽能以其清潔、源源不斷、安全等顯著優(yōu)勢,成為關(guān)注重點。在太陽能產(chǎn)業(yè)的發(fā)展中,太陽能熱水器的熱利用轉(zhuǎn)換技術(shù)無疑是最為成熟的

12、[9]。今后,太陽能熱水器將會向更節(jié)能、更高效、更環(huán)保等方向發(fā)展。</p><p>  1.3 本課題的研究目的和意義</p><p>  當(dāng)今計算機(jī)技術(shù)在飛速發(fā)展,微機(jī)應(yīng)用日益普及深入,微機(jī)在通信自動化、工業(yè)自動控制、電子測量、信息管理和信息系統(tǒng)等方面得到廣泛的應(yīng)用。嵌入式計算機(jī)系統(tǒng)是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟、硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功效等嚴(yán)格要

13、求的專業(yè)計算機(jī)系統(tǒng)。其最初應(yīng)用是基于單片機(jī)的。單片機(jī)小巧靈活,成本低,易于產(chǎn)品化。它面向控制,能針對性的解決從簡單到復(fù)雜的各種控制任務(wù)[10]。</p><p>  太陽能熱水器使用方便,節(jié)能,無污染,普及推廣迅速。它是人們?nèi)粘I钪胁豢苫蛉钡募矣迷O(shè)備,提高居民的生活質(zhì)量起了不可替代的作用。隨著科學(xué)技術(shù)的發(fā)展,人們對太陽能熱水器的控制功能的要求也越來越高。目前市場上太陽能熱水器的控制系統(tǒng)大部分都存在著或多或少的缺

14、點:功能單一、操作復(fù)雜、控制不方便等。隨著人們生活水平的提高和電子技術(shù)的發(fā)展,這樣的太陽能熱水器控制系統(tǒng)越來越不適應(yīng)人們的生活需求,開發(fā)一種控制方便,操作靈活的太陽能熱水器的控制系統(tǒng),已經(jīng)成為當(dāng)務(wù)之急[11]。本文設(shè)計了一種以單片機(jī)AT89S52為核心的太陽能熱水器控制器,本設(shè)計具有很強的實用性,用成本低廉的器件以單片機(jī)技術(shù)對太陽能熱水器的溫度、水位和時間的顯示和控制,并且本設(shè)計電路簡單、實用性強、性價比高、控制靈活、顯示直觀醒目,可廣

15、泛應(yīng)用與家用太陽能熱水器。</p><p><b>  2 總體方案</b></p><p><b>  2.1 設(shè)計要求</b></p><p>  本設(shè)計以AT89S52單片機(jī)為太陽能熱水器控制系統(tǒng)的核心,分為單片機(jī)時鐘電路、單片機(jī)復(fù)位電路、溫度檢測電路、水位檢測電路、實時時鐘電路、鍵盤電路、顯示電路、報警電路等模

16、塊。本系統(tǒng)處于監(jiān)控狀態(tài)時,具有以下功能:1、利用數(shù)碼管顯示溫度和時間;2、利用發(fā)光二極管顯示水位;3、當(dāng)水位較低時自動上水,水滿時自動停止;4、當(dāng)溫度低于下限溫度時自動加熱,溫度達(dá)到上限溫度時自動停止加熱;5、通過按鍵實現(xiàn)手動加熱、手動加水、時間顯示以及設(shè)置時間、上限溫度和下限溫度;6、清晨自動上水。</p><p><b>  2.2 總體設(shè)計</b></p><p&

17、gt;  本設(shè)計控制系統(tǒng)中水溫利用溫度傳感器DS18B20讀入溫度數(shù)據(jù),在數(shù)碼管上顯示兩位數(shù)據(jù)。水位采用三個電極,一個是電源負(fù)極,當(dāng)電極接觸到水后,由于水的導(dǎo)電性,使得兩外兩根導(dǎo)線也是低電平,從而使三極管導(dǎo)通,P3.6和P3.7是低電平,當(dāng)兩根導(dǎo)線不接觸水的時候,輸出是高電平。通過P3.6 和P3.7引腳電平高低情況來控制發(fā)光二極管點亮的數(shù)目,從而來指示當(dāng)前的水位。當(dāng)水位比較低的時候,紅燈亮,水位在中間的時候,紅燈和黃燈亮,當(dāng)水位高的時

18、候三個燈都亮。時間通過時鐘芯片DS1302讀取時鐘數(shù)據(jù),然后在四位數(shù)碼管上顯示時分??刂萍訜嵫b置和加水裝置分別由兩個繼電器控制,繼電器采用三極管驅(qū)動。</p><p>  本系統(tǒng)采用8個獨立式按鍵,按下S1鍵單片機(jī)復(fù)位;按下S5鍵可實現(xiàn)手動上水功能,水滿自動停止;按下S6鍵可實現(xiàn)手動加熱功能,溫度達(dá)到上限溫度值自動停止加熱;S2為溫度調(diào)整鍵,按一次可調(diào)整報警上限溫度值,按兩次可調(diào)整報警下限溫度值,按三次數(shù)碼管恢復(fù)

19、到正常溫度顯示;S8為時間調(diào)整鍵,按一次調(diào)整分,按兩次調(diào)整時,按三次確定和保存時間;S3、S4是溫度時間加一和減一操作鍵;按下S7鍵切換溫度和時間顯示。系統(tǒng)組成框圖如圖1所示。</p><p><b>  圖1 系統(tǒng)組成框圖</b></p><p><b>  3 軟件設(shè)計</b></p><p>  系統(tǒng)軟件的設(shè)計采用

20、模塊化的結(jié)構(gòu)。太陽能熱水器控制系統(tǒng)程序主要由主程序、延時子程序、溫度讀取子程序、溫度顯示子程序、時間讀取和顯示子程序、掃描鍵盤子程序、報警子程序構(gòu)成。</p><p>  3.1 主程序設(shè)計</p><p>  本控制系統(tǒng)的主程序是本設(shè)計的總控制程序,以AT89S52單片機(jī)為核心實現(xiàn)對太陽能熱水器水位和水溫的檢測與顯示。主程序首先完成系統(tǒng)初始化設(shè)置,然后根據(jù)存儲的鍵盤狀態(tài)和檢測的水溫、水

21、位等狀態(tài)信號進(jìn)行相應(yīng)的處理。系統(tǒng)正常運行時,首先讀取水溫和水位,然后顯示溫度和水位,系統(tǒng)會根據(jù)顯示的水溫值和水位值判斷是否要進(jìn)行自動加熱和自動上水操作。當(dāng)檢測到的實際水溫小于設(shè)置的下限溫度時,加熱指示燈亮,繼電器工作進(jìn)行加熱,水溫到達(dá)上限溫度時停止加熱;當(dāng)檢測到水位較低時,加水指示燈亮,繼電器工作進(jìn)行加水,水位達(dá)到最高時停止加水;通過掃描按鍵來進(jìn)行相對應(yīng)的按鍵操作。主程序流程圖如圖2所示。</p><p><

22、;b>  圖2 主程序流程圖</b></p><p>  3.2 延時子程序設(shè)計</p><p>  延時子程序是用來實現(xiàn)數(shù)碼管顯示和掃描按鍵的延時,num值不同,延時的時間也不同,具體程序如下:</p><p>  void Delay(uint num)</p><p><b>  {</b>&l

23、t;/p><p>  while( --num );</p><p><b>  }</b></p><p>  3.3 溫度讀取子程序設(shè)計</p><p>  讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換,轉(zhuǎn)換

24、完成后的溫度值就以16位帶符號擴(kuò)展的二進(jìn)制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式以0.062 5 ℃/LSB形式表示。當(dāng)符號位S=0時,表示測得的溫度值為正值,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,表示測得的溫度值為負(fù)值,先將補碼變換為原碼,再計算十進(jìn)制值。DS18B20溫度傳感器主要用于對溫度進(jìn)行測量,數(shù)據(jù)可用16位符號擴(kuò)展的二進(jìn)制補碼讀數(shù)形式提供,并以0.06

25、25℃/LSB形式表示。</p><p>  DS18B20的操作協(xié)議是:初始化→發(fā)ROM功能指令→發(fā)存儲操作指令→處理數(shù)據(jù)。</p><p><b>  圖3 讀溫度流程圖</b></p><p>  3.4 溫度顯示子程序設(shè)計</p><p>  7段LED數(shù)碼管是利用7個LED(發(fā)光二極管)外加一個小數(shù)點的LED

26、組合而成的顯示設(shè)備,可以顯示0~9等10個數(shù)字和小數(shù)點,這類數(shù)碼管可以分為公陰極與共陽極兩種,共陽極就是把所有LED的陽極連接到共同的結(jié)點,而每個 LED的陰極分別為a,b,c,d,e,f,g及dp(小數(shù)點);共陰極就是把所有LED的陽極連接到共同的結(jié)點,而每個 LED的陽極分別為a,b,c,d,e,f,g及dp(小數(shù)點)。</p><p>  根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 靜態(tài)顯示驅(qū)

27、動:每個數(shù)碼管的每個段都由一個單片機(jī)的I/O端口進(jìn)行驅(qū)動,或者使用如BCD碼的二~十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多。動態(tài)顯示驅(qū)動:動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,位選通由各自獨立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通控制,所以我們只要將需要顯示

28、的數(shù)碼管的選通控制打開,該位就顯示出字形[12]。</p><p>  本設(shè)計采用共陽型數(shù)碼管,燈的負(fù)極依次接到數(shù)碼管的a-f段,采用動態(tài)掃描電路,數(shù)碼管編碼說明,如1表所示。溫度顯示流程圖如圖4所示。</p><p><b>  表1 控制命令表</b></p><p>  圖4 顯示子程序流程圖</p><p>  

29、3.5 時間讀取和顯示子程序設(shè)計</p><p>  DS1302內(nèi)部主要包括實時時鐘、輸入移位寄存器、31字節(jié)靜態(tài)RAM、電源控制部分、命令控制邏輯、振蕩器和分頻器等部分。</p><p>  DS1302控制字:控制字的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6:如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1(A4~A0)

30、:指示操作單元的地址;位0(最低有效位):如為0,表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作??刂谱挚偸菑淖畹臀婚_始輸出。在控制字指令輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。</p><p>  DS1302時序:CE輸入驅(qū)動高時啟動所有的數(shù)據(jù)傳輸。CE

31、輸入有兩個功能。首先,CE打開控制邏輯,允許訪問的移位寄存器的地址/命令序列。其次,CE提供了一個終止單字節(jié)或多字節(jié)數(shù)據(jù)傳輸方法。一個時鐘周期是由一個下降沿之后的上升沿序列。對于數(shù)據(jù)傳輸而言,數(shù)據(jù)必須在有效的時鐘的上升沿輸入,在時鐘的下降沿輸出。如果CE為低,所有的I/O引腳變?yōu)楦咦杩範(fàn)顟B(tài),數(shù)據(jù)傳輸終止。對于數(shù)據(jù)輸入:開始的8個SCLK周期,輸入寫命令字節(jié),數(shù)據(jù)字節(jié)在后8個SCLK周期的上升沿輸入。數(shù)據(jù)輸入位0開始。對于數(shù)據(jù)輸出:開始的

32、8個SCLK周期,輸入一個讀命令字節(jié),數(shù)據(jù)字節(jié)在后8個SCLK周期的下降沿輸出。通過DS1302讀取時間值,然后在四位數(shù)碼管上依次顯示時的十位、個位,分的十位、個位。時間的讀取和顯示流程圖如圖5和圖6所示。</p><p>  圖5 DS1302讀取時間流程圖</p><p>  圖6 LED顯示時間流程圖</p><p>  3.6 掃描鍵盤子程序設(shè)計</

33、p><p>  按鍵是用來向系統(tǒng)提供操作人員命令的接口,所以準(zhǔn)確無誤地辨認(rèn)每個鍵的動作以及其所處的狀態(tài),是系統(tǒng)能否正常工作的關(guān)鍵。多數(shù)按鍵多采用機(jī)械彈性開關(guān),一次高低電平的變化就是一次命令。但是按鍵的抖動是難以避免的,為了穩(wěn)定操作,我們要防止抖動的發(fā)生,就要消除抖動的影響,可以從硬件和軟件兩方面解決。</p><p>  1、硬件消除抖動。一般采用雙穩(wěn)態(tài)消抖電路。2、軟件消除按鍵抖動。如果按鍵

34、較多硬件電路將無法勝任,因此常采用軟件的方法進(jìn)行消抖。在第一次檢測到有鍵按下時,執(zhí)行一段延時子程序后再按確認(rèn)該鍵電平是否仍保持閉合狀態(tài),如果保持閉合狀態(tài)電平則確認(rèn)為真正有鍵按下,從而消除了抖動的影響[13]。</p><p>  鍵盤一般有獨立式和矩陣式兩種,因為鍵盤較少所以用簡單的獨立式鍵盤,它的優(yōu)點是編程簡單,缺點是占用I/O口多,適用于鍵盤較少的電路。本設(shè)計中將鍵盤程序作為主程序的一部份,采用掃描方式讀取鍵

35、盤動作,根據(jù)讀取的值,鍵盤處理程序進(jìn)行相應(yīng)操作。鍵盤掃描子程序流程圖如圖7所示。</p><p>  圖7 鍵盤掃描子程序流程圖</p><p>  3.7 報警子程序設(shè)計</p><p>  系統(tǒng)正常運行時,當(dāng)檢測到溫度低于下限溫度或水位較低時,報警電路工作,蜂鳴器響起,直到溫度高于下限溫度或水位不低時,蜂鳴器停止工作。當(dāng)系統(tǒng)處于出錯狀態(tài)時,蜂鳴器也會報警。報警

36、工作流程圖如圖8所示。</p><p>  圖8 報警子程序流程圖</p><p><b>  4 仿真調(diào)試</b></p><p>  4.1 仿真軟件介紹</p><p>  本次設(shè)計是利用Proteus軟件來仿真的。Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不

37、僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件[14]。它是目前最好的仿真單片機(jī)及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。Proteus軟件是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24

38、/30/DSPIC33、AVR、ARM、8086和MSP430等,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p>  Proteus軟件具有其它EDA工具軟件的功能。這些功能是:1、原理布圖 2、PCB自動或人工布線 3、SPICE電路仿真</p><p>  革命性的特點:1、互動的電路仿真。2、仿真處理器及外圍電路。<

39、/p><p>  Proteus提供了豐富的資源:1、可提供仿真元器件資源,仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個元器件。2、可提供仿真儀表資源。3、除了現(xiàn)實存在的儀器外,它還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似[15]。</p><p>  4.2 系統(tǒng)仿真結(jié)果</p><p>  在Prote

40、us繪制好原理圖后,調(diào)入已經(jīng)編譯好的目標(biāo)代碼文件:*.HEX,可以在Proteus的原理圖中看到模擬的實物運行狀態(tài)和過程。打開Proteus軟件,在元器件庫中選擇AT89S52單片機(jī),DS18B20,DS1302等元器件,連線結(jié)束后,點擊單片機(jī)下載程序。點擊開始按鈕,系統(tǒng)上電進(jìn)入初始化狀態(tài),進(jìn)入工作狀態(tài),太陽能熱水器控制器在2位LED數(shù)碼管上顯示當(dāng)前的水溫值,通過發(fā)光二極管點亮的數(shù)目來表示當(dāng)前的水位值,利用按鍵來執(zhí)行加水、加熱、顯示時間

41、、調(diào)整溫度、調(diào)整時間等相關(guān)操作。仿真圖如圖9所示:</p><p><b>  圖9 仿真圖</b></p><p><b>  結(jié) 論</b></p><p>  本次畢業(yè)設(shè)計,我做的課題是“太陽能熱水器控制器——軟件設(shè)計”。</p><p>  本設(shè)計利用AT89S52單片機(jī)作為系統(tǒng)核心實現(xiàn)了

42、溫度、水位和時間三種參數(shù)的實時顯示,加水加熱自動和手動控制,溫度預(yù)置等功能。采用C語言編寫程序,軟件部分由主程序、延時子程序、溫度讀取子程序、溫度顯示子程序、時間讀取和顯示子程序、掃描鍵盤子程序、報警子程序構(gòu)成。</p><p>  本設(shè)計軟件設(shè)計是用C語言來編寫的,與其他語言比起來,有優(yōu)勢也弊端,結(jié)構(gòu)式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻?/p>

43、晰,便于使用、維護(hù)以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。C語言的缺點主要表現(xiàn)在數(shù)據(jù)的封裝性上,這一點使得C在數(shù)據(jù)的安全性上有很大缺陷,C語言的語法限制不太嚴(yán)格,對變量的類型約束不嚴(yán)格,影響程序的安全性,對數(shù)組下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語言比其他高級語言較難掌握。在軟件編寫好后,發(fā)現(xiàn)始終不能通過編譯,經(jīng)過老師的幫助,發(fā)現(xiàn)了諸多的問題,最后將錯誤

44、改正后,通過編譯,并實現(xiàn)仿真。</p><p>  本設(shè)計已基本實現(xiàn)了任務(wù)書所要求的的功能,但鑒于自身水平有限等原因,設(shè)計中可能會不足和有待改進(jìn)之處,望各位專家老師批評指正。</p><p><b>  致 謝</b></p><p>  彈指一揮間,大學(xué)四年已經(jīng)接近了尾聲。當(dāng)自己懷著忐忑不安的心情完成畢業(yè)設(shè)計的時候,意味著大學(xué)生活即將結(jié)束,

45、自己也從當(dāng)年一個懵懂的孩子變成了一個成熟的青年。本次設(shè)計是我大學(xué)生涯上的最后一次答卷,在完成畢業(yè)設(shè)計的整個過程中,我得到了許多同學(xué)和老師的幫助,尤其是我的指導(dǎo)老師紀(jì)劍祥,他在我畢業(yè)設(shè)計完成的過程中給予了很多的教誨、幫助和鼓勵。</p><p>  首先,我要感謝我的導(dǎo)師**,從選題到開題報告,到外文翻譯,到中期檢查表,再到畢業(yè)論文初稿和終稿,一遍又一遍地指出每稿中的具體問題,嚴(yán)格把關(guān),循循善誘。其次,我還要感謝同

46、組的蔡江同學(xué)和給予我?guī)椭耐瑢W(xué),沒有他們的幫助和提供資料,沒有他們的鼓勵與支持,我是不可能順利地完成本次設(shè)計的。最后,我要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝您們!</p><p>  最后,能夠成功地完成本次設(shè)計,我非常地開心!借此機(jī)會,再次向在本次畢業(yè)設(shè)計中給予我關(guān)心和幫助的老師和同學(xué)表達(dá)我誠摯的謝意。</p><p><b>  參 考 文 獻(xiàn)</b></p

47、><p>  1 楊宜德,劉茂州.太陽能熱水器發(fā)展的前景廣闊[J].河南科技,1989.10</p><p>  2 劉福才,劉豐,劉立偉.AVR單片機(jī)在太陽能熱水器智能控制中的應(yīng)用[J].中國儀器儀表,2000.6 </p><p>  3 孔星朗.單片機(jī)原理及其在家用電器中的應(yīng)用.海洋出版社</p><p>  4 李軍.檢測技術(shù)及儀

48、表.北京:中國輕工業(yè)出版社,2002.4</p><p>  5 張景文,王震宏,高為浪,李桂花.基于單片機(jī)的太陽能熱水器智能控制系統(tǒng)[J].西華大學(xué)學(xué)報(自然科學(xué)版),2008.5</p><p>  6 趙大偉.太陽能熱水器[J].新農(nóng)業(yè),2002.7 </p><p>  7 別玉,胡明輔,王艷青.平板型太陽熱水器的現(xiàn)狀及發(fā)展趨勢[C].化學(xué)與化工技術(shù),

49、科技學(xué)術(shù)論文集.北京:原子能出版社,2005 </p><p>  8 胡潤青.蓬勃發(fā)展的太陽能熱水器產(chǎn)業(yè).可再生能源</p><p>  9 張忠.太陽能熱水器的類型[J].農(nóng)村新技術(shù),2008.2</p><p>  10 王幸之,鐘愛琴,王雷,王閃.AT89S系列單片機(jī)原理與接口技術(shù)[M].北京:航空航天大學(xué)出版社,2004.5</p>

50、<p>  11 袁小平,陳躍.一種智能型太陽能熱水器控制器的研制.江蘇煤炭</p><p>  12 范延濱,王正彥.太陽能熱水器控制器中測量模型.電子測量技術(shù),2004.3</p><p>  13 唐德禮,鮑連升.太陽能熱水器水溫水位控制器.十堰職業(yè)技術(shù)學(xué)院學(xué)報,2002.15(4)</p><p>  14 宋光漢,方之棋.電氣實驗技術(shù)與測量.北京

51、:中國計量出版社</p><p>  15 施文康.檢測技術(shù).北京:機(jī)械工業(yè)出版社,2002.1(189-207)</p><p><b>  附錄A:系統(tǒng)原理圖</b></p><p><b>  附錄B:程序清單</b></p><p>  #include <AT89X52.h>&

52、lt;/p><p>  #include "DS18B20.h" </p><p>  #define uint unsigned int</p><p>  #define uchar unsigned char //宏定義</p><p>  #define SET P1_0

53、//定義溫度調(diào)整鍵</p><p>  #define DEC P1_1 //定義減少鍵</p><p>  #define ADD P1_2 //定義增加鍵</p><p>  #define JIAS P1_6 //定義加水鍵</p><p> 

54、 #define JIAR P1_7 //定義加熱鍵</p><p>  #define BEEP P3_4 //定義蜂鳴器</p><p>  #define S1 P3_7 //定義低水位</p><p>  #define S2 P3_6

55、 //定義高水位</p><p>  #define LED1 P1_3 //定義綠燈</p><p>  #define LED2 P1_4 //定義黃燈</p><p>  #define LED3 P1_5 //定義紅燈</p><p>  #

56、define JDQ1 P3_0 //定義加水繼電器</p><p>  #define JDQ2 P3_1 //定義加熱繼電器</p><p>  bit shanshuo_st; //閃爍間隔標(biāo)志</p><p>  bit beep_st;

57、 //蜂鳴器間隔標(biāo)志</p><p>  char flag=0;</p><p>  sbit D1=P0^6; //位選</p><p>  sbit D2=P0^4;</p><p>  sbit D3=P0^2;</p><p>  sbit D4=P0^0;</p>

58、<p>  sbit IO=P0^3; //數(shù)據(jù)口</p><p>  sbit CLK=P0^1; //控制數(shù)據(jù)時鐘</p><p>  sbit RST=P0^5; //使能端、復(fù)位端</p><p>  sbit s1=P0^7; //定義溫度時間切換鍵</

59、p><p>  sbit s2=P3^5; //定義時間調(diào)整鍵</p><p>  char knum=0,snum,fnum;</p><p>  /***********寫時分秒地址************/</p><p>  #define write_shi 0x84</p><

60、;p>  #define write_fen 0x82</p><p>  #define write_miao 0x80</p><p>  /***********讀時分秒地址************/</p><p>  #define read_shi 0x85</p><p>  #define read_fen 0x8

61、3</p><p>  #define read_miao 0x81</p><p>  char shi,fen,miao; //讀出數(shù)據(jù)存儲變量</p><p>  uchar d[]={0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x24,0xea,0x20,0xa0};//不帶小數(shù)點</p><p>  

62、uchar dd[]={0x38,0xfb,0x42,0xb2,0xf1,0xb4,0x34,0xfa,0x30,0xb0};//帶小數(shù)點</p><p>  uchar x=0; //計數(shù)器</p><p>  signed char m; //溫度值全局變量</p><p> 

63、 uchar n; //溫度值全局變量</p><p>  uchar set_st=0; //狀態(tài)標(biāo)志</p><p>  signed char shangxian=38; //上限報警溫度,默認(rèn)值為38</p><p>  signed char xiaxia

64、n=5; //下限報警溫度,默認(rèn)值為05</p><p>  Uchar code LEDData[]={0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x24,0xea,0x20,0xa0};</p><p>  /*****延時子程序*****/</p><p>  void Delay(uint num)</p>

65、<p><b>  {</b></p><p>  while( --num );</p><p><b>  }</b></p><p>  /*****初始化定時器0*****/</p><p>  void InitTimer(void)</p><p>

66、<b>  { </b></p><p><b>  TMOD=0x1;</b></p><p><b>  TH0=0x4c;</b></p><p>  TL0=0x00; //50ms(晶振11.0592M)</p><p> 

67、 EA=1; //全局中斷開關(guān)</p><p><b>  TR0=1;</b></p><p>  ET0=1; //開啟定時器0</p><p><b>  }</b></p><p>  /*****

68、讀取溫度*****/</p><p>  void check_wendu(void)</p><p><b>  {</b></p><p>  uint a,b,c;</p><p>  c=ReadTemperature()-5; //獲取溫度值并減去DS18B20的溫漂誤差</p>&

69、lt;p>  a=c/100; //計算得到十位數(shù)字</p><p>  b=c/10-a*10; //計算得到個位數(shù)字</p><p>  m=c/10; //計算得到整數(shù)位</p><p>  if(m<0){m=0;n=0;}

70、 //設(shè)置溫度顯示上限</p><p>  if(m>99){m=99;n=9;} //設(shè)置溫度顯示上限 </p><p><b>  }</b></p><p>  /*****顯示開機(jī)初始化等待畫面*****/</p><p>  Disp_init() &l

71、t;/p><p><b>  {</b></p><p>  P2 = 0xf7; //顯示-</p><p><b>  D1 = 0;</b></p><p>  Delay(200);</p><p><b>  D2=0;&

72、lt;/b></p><p>  Delay(200); </p><p><b>  D3=0;</b></p><p>  Delay(200);</p><p><b>  D4=0;</b></p><p>  Delay(200);</p>

73、<p>  D1=1; //關(guān)閉顯示</p><p><b>  D2=1;</b></p><p><b>  D3=1;</b></p><p><b>  D4=1;</b></p><p><b>  }

74、</b></p><p>  /*****顯示溫度子程序*****/</p><p>  Disp_Temperature() //顯示溫度</p><p><b>  {</b></p><p>  P2 =LEDData[m%10]; //顯示個位</

75、p><p><b>  D1 = 1;</b></p><p><b>  D2 = 1;</b></p><p><b>  D3 = 0;</b></p><p><b>  D4 = 1;</b></p><p>  Delay(

76、300);</p><p>  P2 =LEDData[m/10]; //顯示十位</p><p><b>  D1 = 1;</b></p><p><b>  D2 = 1;</b></p><p><b>  D3 = 1;</b></p>

77、<p><b>  D4 = 0;</b></p><p>  Delay(300);</p><p>  D1= 1; //關(guān)閉顯示</p><p><b>  D2= 1;</b></p><p><b>  D3= 1;<

78、;/b></p><p><b>  D4= 1;</b></p><p><b>  }</b></p><p>  /*****顯示報警溫度子程序*****/</p><p>  Disp_alarm(uchar baojing)</p><p><b>

79、  {</b></p><p>  P2 =0x3c; //顯示C</p><p><b>  D1 = 0;</b></p><p><b>  D2 = 1;</b></p><p><b>  D3 = 1;</b><

80、;/p><p><b>  D4 = 1;</b></p><p>  Delay(200);</p><p>  P2 =LEDData[baojing%10]; //顯示個位</p><p><b>  D1 = 1;</b></p><p><b>  D

81、2 = 0;</b></p><p><b>  D3 = 1;</b></p><p><b>  D4 = 1;</b></p><p>  Delay(200);</p><p>  P2 =LEDData[baojing/10]; //顯示十位</p>&

82、lt;p><b>  D1 = 1;</b></p><p><b>  D2 = 1;</b></p><p><b>  D3 = 0;</b></p><p><b>  D4 = 1;</b></p><p>  Delay(200);<

83、;/p><p>  if(set_st==1)P2 =0x61;</p><p>  else if(set_st==2)P2 =0x3d; //上限H、下限L標(biāo)示</p><p><b>  D1 = 1;</b></p><p><b>  D2 = 1;</b></p><

84、p><b>  D3 = 1;</b></p><p><b>  D4 = 0;</b></p><p>  Delay(200);</p><p>  D1 = 1; //關(guān)閉顯示</p><p><b>  D2 = 1;</b

85、></p><p><b>  D3 = 1;</b></p><p><b>  D4 = 1;</b></p><p><b>  }</b></p><p>  /*****報警子程序*****/</p><p>  void Alarm()

86、</p><p><b>  {</b></p><p>  if(x>=10){beep_st=~beep_st;x=0;}</p><p>  if((m>=shangxian&&beep_st==1)||(m<xiaxian&&beep_st==1)||(flag==1&&

87、beep_st==1))BEEP=1;</p><p>  else BEEP=0;</p><p>  if(flag==2){</p><p>  if(beep_st==1){BEEP=1;LED1=0;LED2=0;LED3=0;}</p><p>  else {BEEP=0;LED1=1;LED2=1;LED3=1;}</

88、p><p><b>  }</b></p><p>  if(m<xiaxian) JDQ2=0;</p><p>  if(m>=shangxian) JDQ2=1;</p><p><b>  }</b></p><p>  /*****DS1302讀數(shù)據(jù)****

89、*/</p><p>  uchar read_1302(uchar add)//讀函數(shù)</p><p><b>  {</b></p><p>  uchar i,date;</p><p>  RST=0; //禁止讀寫數(shù)據(jù)</p><p>  for(i=0;i

90、<8;i++)</p><p><b>  {</b></p><p><b>  RST=1;</b></p><p><b>  CLK=0;</b></p><p>  IO=add&0x01;</p><p><b>  

91、add>>=1;</b></p><p><b>  CLK=1;</b></p><p><b>  }</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>

92、;<b>  if(IO)</b></p><p>  date=date|0x80;</p><p><b>  else</b></p><p>  date=date|0x00;</p><p><b>  CLK=1;</b></p><p>

93、<b>  date>>=1;</b></p><p><b>  CLK=0;</b></p><p><b>  }</b></p><p><b>  RST=0;</b></p><p>  date=date/16*10+date%1

94、6; //進(jìn)制轉(zhuǎn)換 16轉(zhuǎn)10進(jìn)制</p><p>  IO=0; //數(shù)據(jù)讀完后,IO口必須為0,不然小時一直顯示</p><p>  return date;</p><p><b>  } </b></p><p>  /*****DS1302寫數(shù)據(jù)**

95、***/</p><p>  void write_1302(uchar add,uchar dat) //寫函數(shù)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  RST=0; //禁止讀寫數(shù)據(jù)</

96、p><p>  CLK=0; </p><p>  for(i=0;i<8;i++) //寫地址</p><p><b>  {</b></p><p>  RST=1; //允許讀寫數(shù)據(jù)</p><p><b>  CLK=0;</

97、b></p><p>  IO=add&0x01; </p><p><b>  add>>=1;</b></p><p><b>  CLK=1;</b></p><p><b>  }</b></p><p>  for(

98、i=0;i<8;i++) //寫數(shù)據(jù)</p><p><b>  {</b></p><p>  RST=1; //允許讀寫數(shù)據(jù)</p><p><b>  CLK=0;</b></p><p>  IO=dat&0x01; </p&g

99、t;<p><b>  dat>>=1;</b></p><p><b>  CLK=1;</b></p><p><b>  }</b></p><p><b>  RST=0;</b></p><p><b>  }

100、</b></p><p>  void init_1302() //初始化函數(shù) 設(shè)置時間</p><p><b>  {</b></p><p>  write_1302(0x8e,0x00);//保護(hù)取消,可以進(jìn)行讀寫操作</p><p>  write_1302(write_

101、miao,0x56);</p><p>  write_1302(write_fen,0x49);</p><p>  write_1302(write_shi,0x14);</p><p>  write_1302(0x8e,0x80);//保護(hù)啟動,不能進(jìn)行讀寫操作</p><p><b>  }</b>

102、</p><p>  void display(uchar shi,uchar fen,uchar miao) //顯示函數(shù)</p><p><b>  {</b></p><p>  if(knum==0)</p><p><b>  {</b></p><p>&

103、lt;b>  snum=30;</b></p><p><b>  fnum=30;</b></p><p><b>  }</b></p><p>  if(knum==1)</p><p><b>  {</b></p><p>&

104、lt;b>  fnum++;</b></p><p><b>  snum=30;</b></p><p><b>  }</b></p><p>  if(knum==2)</p><p><b>  {</b></p><p>&l

105、t;b>  snum++;</b></p><p><b>  fnum=30;</b></p><p><b>  }</b></p><p>  if(snum>=30)</p><p><b>  {</b></p><p>

106、;<b>  D1 = 1;</b></p><p><b>  D2 = 1;</b></p><p><b>  D3 = 1;</b></p><p>  D4 = 0; //位選</p><p>  P2=d[shi

107、/10];//段選</p><p>  Delay(200);</p><p>  P2=0XFF;//消隱</p><p>  if(miao%2==0)//小數(shù)點閃爍</p><p><b>  {</b></p><p><b>  D1

108、 = 1;</b></p><p><b>  D2 = 1;</b></p><p><b>  D3 = 0;</b></p><p><b>  D4 = 1;</b></p><p>  P2=dd[shi%10];</p><p>

109、  Delay(200);</p><p>  P2=0XFF;//消隱</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  D

110、1 = 1;</b></p><p><b>  D2 = 1;</b></p><p><b>  D3 = 0;</b></p><p><b>  D4 = 1;</b></p><p>  P2=d[shi%10];</p><p>

111、  Delay(200);</p><p>  P2=0XFF;//消隱</p><p><b>  }</b></p><p>  if(snum==60)</p><p><b>  snum=0;</b></p><p><b>  }<

112、;/b></p><p>  if(fnum>=30)</p><p><b>  {</b></p><p><b>  D1 = 1;</b></p><p><b>  D2 = 0;</b></p><p><b>  D3

113、 = 1;</b></p><p><b>  D4 = 1;</b></p><p>  P2=d[fen/10];</p><p>  Delay(200);</p><p>  P2=0XFF; //消隱</p><p><b>  D1 = 0;&

114、lt;/b></p><p><b>  D2 = 1;</b></p><p><b>  D3 = 1;</b></p><p><b>  D4 = 1;</b></p><p>  P2=d[fen%10];</p><p>  Delay

115、(200);</p><p>  P2=0XFF; //消隱</p><p>  if(fnum==60)</p><p><b>  fnum=0;</b></p><p><b>  }</b></p><p><b>  } </b>

116、;</p><p>  void read_sf()</p><p><b>  {</b></p><p>  shi=read_1302(read_shi);</p><p>  fen=read_1302(read_fen);</p><p>  miao=read_1302(read_mi

117、ao);</p><p>  display(shi,fen,miao);</p><p><b>  }</b></p><p>  /*****鍵盤掃描子程序*****/</p><p>  void keyscan() //按鍵掃描函數(shù)</p><p>

118、  { </p><p>  if(JIAS==0) //選擇按鍵按下</p><p><b>  { </b></p><p>  Delay(2000); //消抖 </p><

119、;p>  do{}while(JIAS==0);</p><p><b>  JDQ1=0;</b></p><p>  if(S1==0&&S2==0) {LED1=0;LED2=0;LED3=0;flag=0;JDQ1=1;} </p><p><b>  }</b></p><

120、;p>  if(JIAR==0) //選擇按鍵按下</p><p><b>  { </b></p><p>  Delay(2000); //消抖 </p><p>  do{}while(JIAR==0);</p>

121、<p><b>  JDQ2=0;</b></p><p>  if(m>=shangxian) JDQ2=1;</p><p><b>  }</b></p><p><b>  if(s1==0)</b></p><p>  { Delay(2000);

122、</p><p><b>  if(s1==0)</b></p><p><b>  {</b></p><p>  while(!s1)</p><p>  read_sf(); //顯示時間</p><p><b>

123、;  knum++;</b></p><p>  if(knum==1) </p><p><b>  { </b></p><p>  Disp_Temperature(); //顯示溫度</p><p><b>  }</b></p><

124、p><b>  }</b></p><p>  if(s2==0) //選擇按鍵按下</p><p><b>  {</b></p><p>  Delay(2000);</p><p><b>  if(s2==0)</b></p

125、><p><b>  {</b></p><p>  while(!s2)</p><p>  display(shi,fen,miao); //加上這句,按鍵按下就不會閃</p><p><b>  knum++;</b></p><p>  if(knum==1)

126、 //分閃爍</p><p><b>  {</b></p><p>  write_1302(0x8e,0x00);//保護(hù)取消</p><p>  write_1302(write_miao,0x80);</p><p><b>  }</b></p><p&g

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論