【溫馨提示】壓縮包內含CAD圖有下方大圖片預覽,下拉即可直觀呈現(xiàn)眼前查看、盡收眼底縱觀。打包內容里dwg后綴的文件為CAD圖,可編輯,無水印,高清圖,壓縮包內文檔可直接點開預覽,需要原稿請自助充值下載,所見才能所得,請見壓縮包內的文件及下方預覽,請細心查看有疑問可以咨詢QQ:11970985或197216396
壓縮包內含有CAD圖紙和說明書,咨詢Q 197216396 或 11970985
簡易太陽能熱水器水溫測量裝置
摘要
隨著人們生活水平的提高,太陽能熱水器的使用已相當普及。與之相配套的控制儀也相繼問世。然而,目前市場上的各種熱水器控制電路還與理想要求相差甚遠。消費者需要真正的“自動”控制,以實現(xiàn)使用的最簡單化。但與之配套的控制器卻還一直處于研究和開發(fā)階段,為解決水溫水位的自動控制問題,本電路專門設計了水溫的實時監(jiān)測,并在設計中,將水位多級化,實現(xiàn)更精確的測量。
本次設計運用AT89C52單片機,設計了一種自動控制電路,該電路用于太陽熱水器。當或者更多點的液位檢測。這篇論文詳細介紹了基使用熱水器時,可以自動進行溫度檢測和液位檢測,使太陽能自動補水或排水,真正做到最簡單化。并且該電路易于擴展,可實現(xiàn)多點的溫度檢測,于單片機的太陽能熱水器自動控制系統(tǒng)組成、硬件設計。
關鍵詞:單片機;自動控制;太陽能熱水器;溫度檢測; 水位檢測
Solar water heater control circuit design
ABSTRACT
With the improvement of living standard, the use of all water heaters have been very popular. Matched with the control device is also one after another. However, the current market a variety of water heater control circuit is also far from the ideal requirement. Consumers need to really "automatic" control, in order to achieve the most simplistic use. but are still accompanying controller has been in research and development phase, To solve the temperature and water level control problems, this circuit specifically designed for real-time monitoring of water temperature, and in the design, Multi-level of the water level to achieve more accurate measurements.
???? Wood plays designed using AT89C52 microcontroller, the design of a control circuit, the circuit for the solar water heater. When using the heater, it will automatically detect the temperature and liquid level detection, the solar auto-replenishment, or drainage, truly the most simplistic. And easy to extend this circuit can achieve multi-point temperature measurement, level detection or more points. This paper introduces the microcontroller-based automatic control system for solar water heater composed of??hardware design.
Keywords: microcontroller; control; solar water heater; temperature detection ; level detection
目 錄
前 言 1
第一章 系統(tǒng)設計 3
1.1設計原理 3
1.2方案論證 3
第二章硬件電路設計 5
2.1基本原理框圖 5
2.1.1太陽能熱水器控制裝置主要組成 5
2.1.2太陽能熱水器控制裝置的工作原理 5
2.2各部分電路原理 6
2.2.1最小系統(tǒng) 6
2.2.2顯示電路 9
2.2.3按鍵電路 11
2.2.4蜂鳴器電路 11
2.2.6液位檢測電路 13
2.2.7溫度檢測電路 15
2.2.8電源電路 16
第三章軟件設計 18
3.1 軟件分析 18
3.2 I/O口分配 18
第四章 實現(xiàn)功能 20
4.1 液位檢測 20
4.2溫度檢測 20
4.3可擴展功能 20
結 論 21
謝辭 22
參考文獻 23
附錄一程序 24
外文資料翻譯 37
49
前 言
l.太陽能熱水器的發(fā)展概況及市場競爭分析
在全球能源形勢緊張、氣候變暖嚴重威脅經濟發(fā)展和人們生活健康的今天,世界各國都在尋求新的能源替代戰(zhàn)略,以求的可持續(xù)發(fā)展和在日后的發(fā)展中獲取優(yōu)勢地位。太陽能以其清潔、源源不斷、安全等顯著優(yōu)勢,成為關注重點。在太陽能產業(yè)的發(fā)展中,太陽能熱水器的熱利用轉換技術無疑是最為成熟的,其產業(yè)化進程也較光伏電池、太陽能發(fā)電等產業(yè)領先一步。
太陽能熱水器己成為我國第一個實現(xiàn)商業(yè)化的可再生能源產業(yè)。自1998年起,中國就成為太陽能熱水器第一大制造和消費的市場,現(xiàn)已經發(fā)展成為一個重耍的產業(yè)。目前,太陽能熱水器與電、燃氣熱水器三分熱水器市場,是可再生能源產業(yè)領域的第一個商業(yè)化的產品。2007年,我國太陽能熱水器年產量達2340萬平方米,比2006年同期增長 30%;總保有量達10800萬平方米,比2006年同期增長20%。市場銷售額約為320億元人民幣。
但是與之相配套的太陽能熱水器控制系統(tǒng)卻一直處在研究與開發(fā)階段。市而上絕大多數(shù)的控制器結構簡單,功能單一,智能化程度低下,用戶界面不人性化,只具有溫度顯示功能,不具有液位顯示功能。并且當水位加到一定的程度的時候也沒有什么措施,只能通過手動的方法來控制水位的高度。因此根據以上要求為核心,開發(fā)出一種太陽能熱水器智能控制系統(tǒng),解決了目前市而上太陽能熱水器控制系統(tǒng)存在的問題。
2.太陽能熱水器的應用及意義
太陽能熱水器應用較好的同家有西班牙、以色列、意大利、希臘、德同、荷蘭、澳大利亞、日本、美過等國家。一些國家利用太陽能熱水器除了提供家庭熱水外,還用于采暖、空調及泳池加熱等領域,其中美國的太陽能熱利用主要用于泳池加熱。
日前太陽能熱水器已在我國城鄉(xiāng)開始推廣使用,主要供應生活和洗浴熱水,我國己成為界上最大的太陽能熱水器生產國和應用國。太陽能熱水器節(jié)能減排,實現(xiàn)能源替代,效果顯著。經過兩年多的實踐,人們認識到太陽能熱利用投資少、見敬效快、經濟實用、節(jié)能減排,實現(xiàn)我國能源替代的一個好產業(yè),國家也正大力扶持和支持,學校、賓館、飯店、洗浴中心紛紛建設太陽能洗浴系統(tǒng),太陽能熱水器的市場存在擴大空間。新農村建設與建筑節(jié)能也為太陽能熱水器的應用推廣帶來機遇。
第一章 系統(tǒng)設計
1.1設計原理
太陽能熱水器自動控制電路采用AT89S52單片機作為控制核心,外圍加蜂鳴器控制電路、數(shù)碼顯示電路、水位檢測電路、電機控制電路、按鍵電路、溫度檢測電路等。數(shù)碼管實時切換顯示當前溫度與當前液位,當液位過高時,蜂鳴器報警,并且電機反轉模擬排水過程;當液位過低時,蜂鳴器報警,并且電機正轉模擬進水過程。本系統(tǒng)設計簡單,成本低,性能優(yōu)良,具有一定的穩(wěn)定性和實用性。
1.2方案論證
太陽能熱水器自動控制裝置有多種方案。
(1)方案一
在單片機學習課程中,就遇到過一種方案,我們稱其為方案一。它通過三極管的導通截止特性來判斷液位的位置,并且可以通過按鍵切換檢測壓力。但是在過程中只能檢測三點,雖然可以擴展,但是占了太多的I/O口,容易造成資源的浪費。而且僅顯示單元就占用了12個I/O口,同樣屬于資源浪費。
在電機電路設計方面,方案一采用的三極管的導通截止來控制電機的正轉與反轉,雖然設計簡單,但是過多的使用三極管以及二極管類的元器件,也會使成本升高。而且,既然是太陽能熱水器的自動控制裝置,那么必不可少的就是溫度的檢測,而方案一中卻忽略了這點,造成了最大的殘缺。
(2)方案二
方案二主要解決了方案一中資源浪費及過于使用分立元件的缺陷。
在液位檢測方面,通過利用兩片CD4051芯片,它相當于一個單刀八擲開關,當INH禁止端為低電平即“0”時,開關接通哪一通道由輸入的3位地址碼ABC來決定。這樣就簡單的解決了16個點檢測的問題,并且在最大程度上減少了I/O口的使用。僅使用了8個
I/O口即可控制16個點的檢測,如果是方案一 ,則需要使用16個I/O口。
方案一中4位數(shù)碼管顯示電路的斷碼與位碼就使用了12個I/O 口,而在方案二中,使用了74LS164芯片,它是8位移位寄存器,只要給一個脈沖便傳送一位數(shù)據。僅使用了2個I/O口便控制了5位數(shù)碼管的顯示,由于使用74LS164芯片中會遇上消隱的問題,所以在方案二中,通過硬件電路配合軟件的方法很好的解決了消隱的問題,顯示非常的穩(wěn)定。顯示出了新方案的優(yōu)勢。
方案二中電機驅動電路使用的是FAN8200,驅動的一個雙相電機驅動電路。該電路非常簡單,它幾乎不需要外圍元器件.只要將來自于微處理器的方法控制信號從器件的輸入端和觸發(fā)使能端送入FAN8200便可可靠地對雙相電機進行控制操作,使其正轉、反轉。省去了分立元件,使整個電路看起來清晰簡單。
在方案二中還解決了方案一中不能檢測溫度缺點,使用了先進的DS18B20芯片,DS188B20數(shù)字溫度傳感器是Dallas公司生產的l- Wire,即單總線器件,具有線路簡單、體積小的特點。因此用他組成一個測溫系統(tǒng),具有線路簡單,在1根通信線可以掛很多這樣的數(shù)字溫度傳感器,十分方便。
(3)方案選擇
通過上述兩個方案的比較,便能發(fā)現(xiàn)方案二設計的電路比方案一的電路有極大的優(yōu)勢,性能全面,使用方便,而且簡單、穩(wěn)定。故選擇方案二。
第二章硬件電路設計
2.1基本原理框圖
2.1.1太陽能熱水器控制裝置主要組成
由 CPU、顯示電路、按鍵電路、蜂鳴器電路、電機電路、液位檢測電路、溫度檢測電路、電源電路組成,如圖一
CPU
蜂鳴器電路
電機電路
電源電路
按鍵電路
液位檢測電路
顯示電路
溫度檢測電路
圖2-1原理框圖
2.1.2太陽能熱水器控制裝置的工作原理
接通電源后,顯示當前水位,水位被分為16個點。并且,顯示當前溫度。液位顯示與溫度的顯示切換進行。當水位顯示低于或等于1時,蜂嗚器報警,并且電機正轉,表示進水:當水位顯示高于或等于15時,蜂鳴器報警,并且電機反轉,表示排水。液位檢測利用CD4051
2.2各部分電路原理
2.2.1最小系統(tǒng)
太陽能熱水器控制電路數(shù)控部分采用AT89S52單片機作為控制核心。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)叫編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至OHz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止上作,允許RAM、定時器/計數(shù)器、串口、.中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一。切工作停止,直到下一個中斷或硬件復位為止。8位微控制器8K字節(jié)在系統(tǒng)可編程Flash AT89S52。
①PO口: PO口是一個8位漏極開路的雙向I/O 口。作為輸出口,每位能驅動8個TTL邏輯電平。對PO端口寫“1”時,引腳用作高阻且抗輸入。當訪問外部程序和數(shù)據存儲器時,P0口也被作為低8位地址/數(shù)據復用。在這種模式下,PO具有內部上拉電阻。在flash編程時,PO口也用來接收指令字節(jié);存程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。
②Pl口:Pl口是一個具有內部上拉電阻的8位雙向I/O口,Pl輸出緩沖器能驅動4個TTL邏輯電平。對Pl端口寫“l(fā)”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流( IIL)。此外,Pl.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(Pl.O/T2)和時器/計數(shù)器2的觸發(fā)輸入( Pl.l/T2EX),具體如下表所示。在flash編程和校驗時,Pl口接收低8位地址字節(jié)。
引腳號第二功能:
Pl.O /T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出;
Pl.l /T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制);
P1.5 /MOSI(在系統(tǒng)編利用);
P1.6 /MISO(在系統(tǒng)編程用):
P1.7 /SCK(在系統(tǒng)編程用):
③P2口: P2口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入口使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。
在訪問外部程序存儲器或用16位地址讀取外部數(shù)據存儲器(例如執(zhí)行MOVX @DPTR)時,P2口送出高八位地址。在這種應用中,P2口使用很強的內部上拉發(fā)送l。在使用8位地址(如MOVX @RI)訪問外部數(shù)據存儲器時,P2 口輸出P2鎖存器的內容。
在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。
④P3口:P3口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P3端口寫“l(fā)',時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流( IIL)。
P3口亦作為AT89S52特殊功能(第二功能如表一所示)使用,在flash編程和校驗時,P3口也接收一些控制信號。
表2-1
端口引腳
第二功能
P3.0/RXD
(串行輸入口)
P3.1/TXD
(串行輸出口)
P3.2/INTO
(外中斷0)
P3.3/INT1
(外中斷1)
P3.4/TO
(定時/計數(shù)器0)
P3.5/T1
(定時/計數(shù)器1)
P3.6/WR
(外部數(shù)據存儲器寫選通)
P3.7/RD
(外部數(shù)據存儲器讀選通)
此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。
⑤RST復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復位。
⑥ALE/PROG當訪問外部程序存儲器或數(shù)據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據存儲器
時將跳過個ALE脈沖。
對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可以通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的DO位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單
片機執(zhí)行外部程序時,應設置ALE禁止位無效。
⑦PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數(shù)據)時,每個機器刷期兩次PSEN有效,即輸出兩個脈沖,在此期問,當訪問外部數(shù)據存儲器,將跳過兩次PSEN信號。
⑧EA/VPP外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為OOOOH-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內部程序存儲器的指令。
FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。
所謂最小系統(tǒng)就是指由單片機和一些基木的外同電路所組成的一個可以工作的單片機系統(tǒng)。一般來說,它包括單片機,晶振電路和復位電路。
①晶振電路:AT89S52片內有一個由高增益反相放大器構成的振蕩電路。XTAL1和XTAL2分別為振蕩電路的輸入輸出端。其振蕩電路有兩種組成方式:片內振蕩器和片外振蕩器。
②復位電路:在RST輸入端出現(xiàn)高電平時實現(xiàn)復位和初始化。
最小系統(tǒng)電路 如圖一所示
圖2-1 最小系統(tǒng)
2.2.2顯示電路
顯示部分有兩種方案可供選擇;一種是采用LCD液品顯示,該方案具有低壓微功耗、平板型結構、顯示的信息量大、無電磁輻射、使用壽命長等優(yōu)點,但是本設計要求顯示的數(shù)據量小,不能發(fā)揮其顯示內容豐富的優(yōu)點,同時占用I/O口線較多。第二種方案采用LED數(shù)碼管顯示,該方案具有實現(xiàn)容易、發(fā)光亮度大、驅動電路簡單等優(yōu)點,其可靠性也優(yōu)于LCD的顯示,所以,我們通過比較,選用第二種方案數(shù)碼管顯示。
由6個數(shù)碼管和6個74LS164組成,采用串行靜態(tài)顯示的方法。將數(shù)碼管的8個輸入端與74LS164的輸出端QO-Q7相連。Pl.0和74LS164的CLK連接,作為時鐘;P1.4接74LS164的A端,作為顯示數(shù)據的輸入端。顯示電路如圖二所示。
圖2-2 顯示電路
74LS164原理:74LS164是一塊14個引腳雙面直插式芯片,它的工作電源比較寬,可以是3V至12V的電壓;它工作的頻率范圍也比較寬,從0~5MHz都能正常工作。它是一個串行輸入,并行輸出的移位寄存器,并帶有清除端的IC芯片,它為8位串入并出移位寄存器,1、2為串行輸入端,Qo~Q7為并行輸出端,CLK為移位時鐘脈沖,上升沿移入一位;MR為清零端,低電平足并行輸出為零。VCC與GND為工作電源腳;它一般正常工作電壓為+5V。CLR (/MR)端:為清除端,當此引腳為低電平時,使得74LS164輸出全部為0;CLK端:時鐘脈沖輸入端,在CP脈沖的上升沿的作用下實現(xiàn)移位,在CLK為0,芯片不工作;CLR為1時,74LS164保持原始狀態(tài)不發(fā)生變化。
但是使用74LS164串顯會出現(xiàn)消隱的問題。為了消除消隱,那么就必須在硬件上與軟件上結合米消除消隱的問題。消隱電路如圖三所示。軟件上,在傳數(shù)據時,先傳一個高電平,直到數(shù)據傳完再傳送一個低電平即可。
圖2-3 消隱電路
2.2.3按鍵電路
鍵按下后,進行溫度及液位檢測的切換,也可不使用。按鍵電路如圖四所示。
圖2-4 按鍵電路
2.2.4蜂鳴器電路
以Q51的基極作為蜂鳴器控制信號的輸入端與單片機I/O口相連,主要有蜂鳴器、9013與9014兩個三極管及5.1K偏置電阻組成。當輸入端為高電平時,Q51導通,Q52截止,蜂鳴器回路開路,蜂嗚器不響;當輸入端為低電平時,Q51截止,Q52導通,蜂鳴器回路閉合,蜂嗚器發(fā)出響聲。蜂鳴器電路如圖五所示
圖2-5 蜂鳴電路
2.2.5電機電路
控制信號從IN端輸入并經前級緩沖后送入片內控制器,然后由控制部分處理并驅動晶體管,最后由 OUT端輸出方被信號以控制電機的運行。觸發(fā)使能端口(CE)的作用是分別對兩個通道的輸出進行控制,當CE端為低電平時,無論有無輸入控制信號,,輸出端OUT始終呈高阻抗狀態(tài)。因此,要使FAN8200控制器輸出工作正常,器件的觸發(fā)使能端必須為高電平。當CE為高電平時,IN1為1時,電機正轉;IN1為0時電機反轉。電機電路如圖六所示。
圖2-6 電機電路
2.2.6液位檢測電路
液位檢測控制電路,由兩片CD4051與CD4066構成,但是由于考慮到成本并且所設計的電路I/O口使用并不是太多,所以,可以將CD4066省略,僅僅用兩片CD4051即可實現(xiàn)功能。它是一種單片、COMS、8通道開關。該芯片由DTL/TTL-COMS電平轉換器,帶有禁止端的8選l譯碼器輸入,分別加上控制的8個COMS模擬開關TG組成。
例如當檢測到液位在端點4位置時,0、1、2、3、4點被沒過,與公共端之間形成水電阻,由于水電阻阻值非常的小,所以這幾點的電平被拉低。此時就可以確定在ABC點讀到的數(shù)為“100”此時就可以通過單片機計算得出液位的高度。液位檢測電路如圖七所
圖2-7 液位檢測電路
2.2.7溫度檢測電路
溫度檢測電路有兩種方案可供選擇。第一種是采用熱電阻溫度傳感器。熱電阻是利用導體的電阻隨溫度變化的特性制成的測溫元件?,F(xiàn)應用較多的有鉑、銅、鎳等熱電阻。其主要的特點為精度高、測量范圍大、便于遠距離測量。
鈾的物理、化學性能極穩(wěn)定,耐氧化能力強,易提純,復制性好,工業(yè)性好,電阻率較高,因此,鉑電阻用于工業(yè)檢測中高精密測溫和溫度標準。缺點是價格貴.溫度系數(shù)小,受到磁場影響大,在還原介質中易被玷污變脆。按IEC標準測溫范圍-200—650℃,百度電阻比W (100) =1.3850時,RO為100和10,其允許的測量誤差A級為±(0.15℃+0.002),B級為±(0.3℃+0.005)。
銅電阻的溫度系數(shù)比鉑電阻大,價格低,也易于捉純和加工;但其電阻率小,在腐蝕性介質中使用穩(wěn)定性差。在工業(yè)中用-50—80℃測溫。
第二種是采用DS18B20數(shù)字溫度傳感器。它是DALLAS公司牛產的單總線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強、易配處理器等優(yōu)點,特別適用于構成多點溫度測控系統(tǒng),可直接將溫度轉化成串行數(shù)字信號(提供9位二進制數(shù)字)給單片機處理,且在同一總線上可以掛接多個傳感器芯片。它具有3引腳T0-92小體積封裝形式,溫度測量范圍為-55℃~+125℃,可編程為9位-12位A/D轉換精度,測溫分辨率可達0.0625℃,被測溫度用符號擴展的16位數(shù)字量方式串行輸出,其工作電源既可在遠端引入,也可采用寄生電源方式產生,多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與多個DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上|特點使DS18B20非常適用于遠距離多點溫度檢測系統(tǒng)。
根據設計要求,選擇第二種方案。DS18B20硬件電路的鏈接非常簡單,僅一根電源線,一根地線和一根數(shù)據線即可。溫度檢測電路如圖八所示。
圖2-8 溫度檢測電路
2.2.8電源電路
由于電源電壓為5V,所以電路中省去了穩(wěn)壓電源部分的電路,直接使用電源電壓即可。在電源與地之間加濾波電容,穩(wěn)定輸入到芯片上的電源電壓。電源電路如圖九所示。
圖2-9 電源電路
第三章軟件設計
3.1 軟件分析
太陽能熱水器控制電路設計的軟件部分由主程序、檢測溫度子裎序、壓縮16進制數(shù)變成壓縮10進制數(shù)子程序、壓縮10進制數(shù)變成非壓縮十進制數(shù)子程序、代碼變段碼碼子程序、顯示子程序、液位檢測子程序以及延時子程序組成。在平時編程中,用C語言編寫程序有利于實現(xiàn)較復雜的算法,但是匯編語言程序則具有較高的效率且容易精細計算程序運行的時間。不論是什么語言,始終是要被電腦轉換成C語言進行執(zhí)行的。所以,在此次設計中,編程采用的是匯編語。
3.2 I/O口分配
表3-1
I/O口
P3.0
P3.1
P3.3
P1.5
P1.1
分配
74LS164數(shù)據端
74LS164時鐘
電機轉向控制端
蜂鳴器控制端
4051-A
I/O口
P1.2
P1.3
P1.4
P1.6
P1.7
分配
4051-B
4051-C
4051-INH
K1
K2
3.3軟件流程圖
開始
初始化
顯示當前水位
顯示當前水位
延時一段時間
顯示當前檢測的溫度
水位處于高于15低于2
水位高于15點
水位低于2點
蜂鳴器報警
電機反轉
蜂鳴器報警
電機正轉
Y
N
Y
Y
N
第四章 實現(xiàn)功能
4.1 液位檢測
將水尺放進水中,通電之后,顯示當前的水位。最低點水位為1,最高點水位為16。當水位低于點2時,顯示H02的同時峰嗚器響,電機正轉,模擬進水過程;直到水位高于點2后,蜂嗚器停止發(fā)聲,電機不轉。當高于水位點l5時,顯示H 15的同時蜂鳴器響,電機反轉,模擬排水過程;直到水位低于點15后,蜂嗚器停止發(fā)生,電機不轉。
4.2溫度檢測
實時監(jiān)測當前溫度,與水位切換顯示。例如顯示為C 27.6。
4.3可擴展功能
液位可以擴展為更多點的測量,以保證測量的準確。溫度亦可,只需要多加幾個I/O,邊可以檢測多點的溫度,使用非常簡單。
結 論
水,是一切生命的源泉,是地球萬物生存的基礎,它使地球萬物欣欣向容.但是,地球上的水資源正在不斷減少,據調查:占世界人口40%的80個國家正面臨著水危機,發(fā)展中國家約有10億人喝不到清潔的水,17億的人沒有良好的衛(wèi)生設施.每年約有2500萬人死于飲用不清潔水.我國的水資源也相當短缺,人均水資源擁有量是世界人均水資源擁有量的1/5,許多城市己嚴重缺水.華北地區(qū)由于過度引用地下水,己造成嚴重的地面下沉現(xiàn)象.水資源短缺己成為當今世界要而臨的重人問題。
如果一廣人家溢出一些水,那么千家萬廣溢出的水加起來,浪費的水就不是一個小數(shù)目了,所以考慮設計一個自動補水排水的裝置,來節(jié)約用水。本設計成本低,易使用。
在設計過程中,將所學的專業(yè)理論知識與實際開發(fā)實際結合起來,理論聯(lián)系實際,提高了專業(yè)技能。人量查閱資料,對專業(yè)知識有了更深入的理解和認識,擴展了知識面,從課題立項、方案論證、理論設計、線路圖繪制、制版設計到電路焊接與訓試,全而了解和掌握了課題開發(fā)的基礎方法和步驟,使用了單片機原理、模擬電子技術、數(shù)字電路技術、Protel 99se制圖技術等專業(yè)技能。并在原有的計算機理論于操作的基礎上,鞏固了對辦公軟件的應用,為以后的實際工作打下了良好的基礎。
本產品有以下特點:可靠性高、成本較低、制作簡單、體積小、重量輕、消耗小、易于系統(tǒng)設計、操作方便,只要上電,便可自動控制,實用性強,不容易損壞;適應性廣,不但適用太陽能熱水器,可以應用于各種需要控利制抽水的地方,如自來水儲水箱。但是由于其功能還是有所局限,所以仍有需要改進的地方。
謝 辭
在設計期間,梁老師為我提供了論文的種種要求以及答辯時所遇到的各種問題。梁老師一絲不茍的作風,嚴謹求實的態(tài)度使我深受感動,沒有這樣的幫助和關懷和熏陶,我不會這么順利的完成畢業(yè)設計。在此向梁老師表示深深的感謝和崇高的敬意!
在臨近畢業(yè)之際,我還要借此機會向在這四年中給予我諸多教誨和幫助的各位老師表示由衷的謝意,感謝他們四年來的辛勤栽培。不積跬步何以至千里,各位任課老師認真負責,在他們的悉心幫助和支持下,我能夠很好的掌握和運用專業(yè)知識,并在設計中得以體現(xiàn),順利完成畢業(yè)設計。
同時,在設計過程中,我還參考了有關的書籍,在這里一并向有關的作者表示謝意。
我最后還要感謝同組的各位同學以及我的各位室友,在畢業(yè)設計的這段時間里,你們給了我很多的啟發(fā),提出了很多寶貴的意見,對于你們幫助和支持,在此我表示深深地感謝!
參考文獻
[1]劉松.單片機原理與接口技術,天津電子信息職業(yè)技術學院,2009
[2]李忠國、陳剛。單片機心用技能實訓.人民郵電出版社,2006
[3]曹金玲。單片機原理與接口技術課程設計指導書.天律電子信息職業(yè)技術學院,2008
[4]王毅.單片機器件應用手冊.人民郵電出版社,1994
[5]胡汗才,單片機原理及接口技術,清華大學出版社.1996
[6]邵敏權,劉權.單片機原理實驗及應用.吉林科學技術出版社,1995_1
[7]劉篤仁、韓保君.傳感器原理及應用技術.機械工業(yè)出版社,2003.8
[8]童詩白.模擬電子技術基礎。高等教育出版社,2001
[9]周航慈,單片機應用程序設計,北京航空航天大學出版社, 1991.8
[10]賴麒文, 8051單片機C語言徹底應用.科學出版社,2002
[11]常通義。微型計算機原理及接口技術.華中科技大學出版社,2003
[12] 胡乾斌.單片微型計算機原理與應用[M]. 武漢:華中科技大學出版社,1997.
[13] 沙占友,王彥朋,孟志永.單片機外圍電路設計[M]. 北京:電子工業(yè)出版社, 2003:135-137,222-226.
[14] 劉煥平,童一帆.單片機原理及應用[M]. 北京:北京郵電大學出版社。2008
[15] 李朝青,單片機原理及接口技術(第3版)[M] . 北京:北京航空航天出版社。2006
[16] 金偉正.單線數(shù)字溫度傳感器的原理與應用[J]. 電子技術應用,2000,
[17] 沙占友. 由DS182O組成的單線數(shù)字溫度計原理與應用[J]. 電測與儀表,1999
[18] 周云波. 由 DS18B20單線數(shù)字溫度計構成的單線多點溫度測量系統(tǒng)[J]. 電子技術應用,1996(2):15-20.
[19] 王仲生,智能檢測與控制技術[M]. 西安:西北工業(yè)大學出版社,2002.
[20] 路松行. 電工與電子技術[M]. 西安:西安電子科技大學出版社。2006
附錄一程序
:標志
:32H水位標志
:BAOZHI BIT 33H;顯示標志;33H=O顯水位,33H=1顯湍度
:DINGS BIT 34H;34H=O定時,34H=1計數(shù)
;alarmflag BIT 24H;蜂鳴器報警標志
:74164A BIT P3.0;164數(shù)據端
:CLK BIT P3.1;164時鐘
:CE BIT Pl.5;電機控制端為l
:Ml BIT P3.3;P3.3=1電機正轉,反之反轉。
:SPK BIT P3.5;蜂嗚器控制
:LA BIT Pl.1;4051點 A
:LB BIT Pl.2;4051點B
:LC BIT Pl.3;4051點C
:40511NH BIT Pl,4;4051的INH端
:Kl BIT Pl.6;按鍵l(水位檢測狀態(tài))
:K2 BIT Pl.7;按鍵2(溫度檢測狀態(tài))
ORG OOOOH
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#60H
CLR Pl.5;電機不轉
MM3: MOV 50Hj#20H;水位顯示時長
MM33: LCALL SWEI:水位檢測
DJNZ 50H,MM33
LCALL XIANC;顯 C
SJMP MM1
MMl: MOV 50H,#10H;湍度顯示時長
MM2: LCALL WDCJ;溫度檢測
DJNZ 50H,MM2
LCALL XIANH;顯H
SJMP MAIN
WDCJ: LCALL GET_TEMP;采集溫度值以16進制數(shù),低位放R7,高位放R6
CHENGFA: MOV R3,#0AH;0AH乘以溫度值R7R6,結果在R2R3R4R5中,R2最高字節(jié)
MOV R2,#00H
LCALL MULD
CHUFA: MOV R6,#00H;被除數(shù)在R2R3R4R5中,R2最高字節(jié),除數(shù)在R6R7, R6高字節(jié),結果在R2R3。
MOV R7,#10H
MOV R2,#00H
MOV R3,#00H
LCALL DIVD
MOV 20H,R3;R3低字節(jié)
MOV 21H,R2
ACALL YASO;壓縮16進制數(shù)變成壓縮10進制數(shù)
ACALL Lll;壓縮·一非壓縮
ACALL DAIM;代碼一一段碼
ACALL XIAN; 顯示
LCALL XIANC
LCALL XIAOSH
LCALL DEL2
RET
GET TEMP:CLR PSW4
CLR PSW3;設置工作寄存器當前所在的區(qū)域
CLR EA;使用DS1820一定要禁止任何中斷產生
LCALL INT:調用初始化子程序
MOV A.#0C,CH
LCALL WRITE :送入跳過ROM命令
MOV A,#44H
LCALL WRITE:送入湍度轉換命令
LCALL INT:溫度轉換完全,再次初始化DS1820
MOV A,#0CCH
LCALL WRITE:送入跳過ROM命令
MOV A,#OBEH
LCALL WRITE:送入讀溫度暫存器命令
LCALL READ
MOV R7,A :讀出溫度值低字節(jié)存入R7
LCALL READ
SETB EA
RET
INT: CLR EA :初始化DS1820
LO: CLR P3.4 :DS1820總線為低復位電平
MOV R2,#200
L1: CLR P3.4
DJNZ R2,LI ;總線復位電平保持400US
SETB P3.4 :釋放DS1820總線
MOV R2,#200
L4: DJNZ R2,L4 :釋放DSI820總線保持60US
CLR C;清存在信號
ORL C,P3.4
JC LO;存在嗎?不存在則重新來。
MOV R6,#80H
L5: ORL C,P3.4
JC L3
DJNZ R6,L5
SJMP L0
L.3: MOV R2,#240
L.2: DJNZ R2,L2
RET
WRITE:CLR EA
MOV R3,#8
WRl: SETB P3.4
MOV R4,#8
RRC, A
CLR P3.4
WR2: DJNZ R4,WR2
MOV P3.4 ,C
MOV R4,#20
WR3: DJNZ R4,WR3
DIFNZ R3,WRl
SETB P3.4
RET
READ: CLR EA
MOV R6,#8;連續(xù)讀8個BIT
REl: CL.R P3.4;改前總線保持為低
MOV R4,#4
NOP
SETB P3.4;開始讀,總線釋放
RE2: DJNZ R4,RE2;持續(xù)8US
MOV C,P3.4;從DS1820總線讀得一個BIT
RRC, A;
MOV R5j#30
RE3: DJNZ R5,RE3;持續(xù)60US
DJNZ R6,REI;讀下一個BIT
SETB P3.4;重新釋放DS1820總線
RET
YASO: MOV RO, #20H;壓縮16迸制數(shù)變成壓縮10進制數(shù)
MOV R7, #02H
MOV Rl, #28H
LC,ALLLY1
RET
LYl: MOV A, RO
MOV R5,A
MOV A, Rl
MOV R6,A
MOV A, R7
INC A
MOV R3,A
CLR A
LY2.: MOV @Rlj A
INC, Rl
DINZ R3, LY2
MOV A, R7
MOV B, #08H
MUL AB
MOV R3, A
LY3: MOV A,R5
MOV RO, A
MOV A, R7
MOV R2, A
CLR C
LY5: MOV A,@R0
RLC A
MOV @R0, A
INC R0
DJNZ R2, LY5
MOV A, R6
MOV Rl, A
MOV A, R7
MOV R2, A
INC R2
LY4: MOV A, @Rl
ADDC A, @RI
DA A
MOV @Rl,A
INC Rl
DJNZ R2, LY4
D.JNZ R3, LY3
RET
L11: MOV Rl,#10H;li縮10進制數(shù)變成非壓縮十進制數(shù)
MOV R2,#03H
MOV R0,#28H
L12: MOV A, @R0
ANL A, #0FH
MOV @R1jA
INC Rl
MOV A, Ca)R0
SWAP A
ANL A, #0FH
MOV @RljA
INC R0
INC Rl
DJNZ R2, L12
RET
DAIM: MOV R2,#05H;代碼變段碼碼
MOV R0, #10H
MOV Rl, #20H
L12F: MOV A,@R0
ADD A, #06H
MOVC, A, @A+PC,
MOV @Rl, A
INC R0
INC Rl
DJNZ R2, L12F
RET
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
DB 00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H
XIAN: CLR P3.2
MOV R0, #20H;.顯示
MOV R2,#05H
LPl: MOV Rl,#08H
MOV A,@RO
LP2: RLC A
MOV P3.O,C
CLR P3.1
SETB P3.1
DJNZ Rl,LP2
INC RO
DJNZ R2,LPI
SETB P3.2
RET
DEL: MOV R5,#14H
Y3: MOV R6,#0FFH
Y2: MOV R7,#h0FFH
Yl: DJNZ R7,Y1
DJNZ R6, Y2
DJNZ R5,Y3
RET
XIAOSH: MOV A,21H;小數(shù)點程序
ORL A, #S0H
MOV 21H,A
LCALL XIAN
RET
LBB: MOV A,#10H;清顯示
MOV R0, #10H
MOV R2,#05H
LBl: MOV @R0,A
INC. R0
DJNZ R2, LB1
RET
BEING: MOV 10H,#10H
MOV 11H,#10H
MOV 12H,#10H
MOV 13H,#10H
MOV 14H,#18H
ACALL DAIM;代碼一段碼
ACALL XIAN; 顯示
RET
XIANC :;MOV 10H,#10H
;MOV 11H,#10H
;MOV 12H:#10H
MOV I3H7#10H
MOV 14H,#0CH
ACALL DAIM;代碼一段碼
ACALL XIAN; 顯示;
RET
MULD: MOV A,R3;雙字節(jié)乘法子程
MOV B,R7
MUL AB
MOV R4,B
MOV R5,A
MOV A,R3
MOV B,R6
MUL AB
ADD A,R4
MOV R4,A
CLR A
ADDC A,B
MOV R3,A
MOV A,R2
MOV B,R7
MUL AB
ADD A,R4
MOV R4,A
MOV A,R3
ADDC A,B
MOV R3,A
CLR A
RLC A
XCH A,R2
MOV B,R6
MUL AB
ADD A,R3
MOV R3,A
MOV A,R2
ADDC A,B
MOV R2,A
RET
DIVD: CLR C;雙字節(jié)除法子群
MOV A,R3
SUBB A,R7
MOV A,R2
SUBB A,R6
JC DVD1
SETB OV
RET
DVDl: MOV B,#10H
DVD2: CLR C
MOV A,.R5