畢業設計(論文)基于AT89C51單片機的智能溫控系統設計_第1頁
畢業設計(論文)基于AT89C51單片機的智能溫控系統設計_第2頁
畢業設計(論文)基于AT89C51單片機的智能溫控系統設計_第3頁
畢業設計(論文)基于AT89C51單片機的智能溫控系統設計_第4頁
畢業設計(論文)基于AT89C51單片機的智能溫控系統設計_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、【摘要】:本文介紹了一個由at89c51為控制芯片、溫度傳感器ds18b20、抽水機等器件構成的一個智能溫度控制系統。本系統的可實現的功能:1、四位數碼管輪流顯示溫度一、溫度二以及這兩個溫度的溫差;2、系統根據溫差的大小采取相應的措施以減小溫差:當溫差大于或等于5而小于10時,系統發出黃色警告同時啟動小功率噴水機向空中噴水;當溫差大于10時,系統發出紅色警告同時啟動大功率噴水機向空中噴水;3、當溫度一、溫度二中至少一個溫度大于30度而小于35度時,系統發出黃色警告同時啟動小功率噴水機向空中噴水;大于35度時,系統發出紅色警告同時啟動大功率噴水機向空中噴水。最終達到減小溫度及溫差對植物生長造成的

2、負面影響的目的,或者使人達到避暑的目的。目前 言.2 1 總體設計方案.41.1 智能溫控系統設計方案論證1.2 方案的總體設計框圖2 系統電路原理圖.5 3 mcs-51系列單片機簡介.63.1 時鐘電路引腳3.2 控制信號引腳3.3 i/o(輸入/輸出)接口引腳 3.4 mcs-51單片機的復位方式和復位電路4 溫度顯示的數碼管簡介.135 溫度傳感器ds1820簡介.155.1 ds1820簡介5.2 ds1820內部結構框圖5.3 提高ds1820測溫精度的途徑5.4 ds1820使用中注意事項 6 軟件編程.246.1 智能溫控系統總流程圖6.2 ds18b20子程序流程圖6.3 根

3、據溫度一、二的大小使噴水機動作的子程序流程圖6.4 溫差子程序流程圖6.5 根據溫差的大小使噴水機動作的子程序流程圖7 調試結果.25致 謝.34心得體會.35 參考文獻.36 附錄(系統設計程序)37前言根據自然規律我們容易知道:溫度和溫差對我們的植被生長有很大的影響,適合植被生長的溫度只有一個很小的范圍,當溫度過大或過小都會給我們的植被生長帶來負面的作用,日夜溫差或根部和空氣之間的溫差過大同樣會影響植被的水循環和光合作用,從而影響生長。當前在我國很多農村,減小溫度和溫差對農作物、果樹的影響的一些措施和方法都還停留在舊社會的水平,在這種情況下,一旦氣溫不好,農民朋友就得花費大量的人力、物力,

4、這樣做不但效果不怎么樣,反而使生產的成本大大提高,降低經濟效益。當前我國正大力提倡農業現代化、增加農民收入,智能溫控系統的制作無疑是雪中送炭。1 總體設計方案 1.1 智能溫控系統設計方案論證考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用兩只溫度傳感器ds18b20。通過此傳感器,單片機可以很容易讀取被測溫度值,將溫度進行轉換輸出,再將兩溫度進行相減得出溫差輸出,最后根據的溫度和溫差的大小,使噴水機進行相應動作,即可滿足設計要求。 1.2 方案的總體設計框圖 溫度計電路設計總體設計方框圖如圖(1-1)所示,控制器采用單片機at89s51,溫度傳

5、感器采用ds18b20,用4位led數碼管以串口傳送數據實現溫度輪流顯示。 單片機主控制器時鐘震蕩電路復位電路ds18b20-1ds18b20-2led顯示黃色警告和小功率噴水機驅動電路紅色警告和大功率噴水機驅動電路圖(1-1) 總體設計方框圖2 系統電路設計 系統電路圖如圖(21)所示 圖(21) 系統電路圖3 mcs-51系列單片機簡介 mcs-51系列單片機研制于1980年,由intel公司所開發,其結構是8048的延伸,改進了8048的缺點,其rom、ram都可擴充至64kb,也增添了如乘(mul)、除(div)、減(subb)、比較(cjne)、棧入(push)、棧出(pop)、16

6、位數據指針、布爾代數運算等指令,以及串行通信能力和5個中斷源。8052有6個中斷源,mcs-51系列單片機存儲器容量如表(2)所示。mcs-51系列單片機特點如下: ()、專為控制應用所設計的八位 ()、具有布爾代數的運算能力 ()、條雙項且可被獨立尋址的口 ()、芯片內有字節可供存儲數據的(:字節) ()、內部有兩組位定時器(有個) ()、具有全多工傳輸信號 ()、個中斷源,且具有兩級(高低)優先權順序的中斷結構 ()、芯片內有()的程序存儲器()()、芯片內有時鐘()振蕩器電路 ()、程序存儲器可擴展至() ()、數據存儲器可擴展至() 表(2) mcs-51系列單片機rom及ram容量(

7、字節) 型號803180518751803280528752 rom04k008k0ram128128128256256256eprom004k008k()、:工廠燒寫型,內含 ()、:一次燒寫型,內含 ()、:可重復燒寫型,內含 ()、:省電型(低消耗功率) 3.1、時鐘電路引腳 單片機的時鐘可以由內部方式和外部方式產生,(腳)和(腳)即為單片機的兩個時鐘引腳。 ()內時鐘引腳 單片機片內有振蕩電路,只需在和間外接石英晶體和電容組成的并聯振蕩電路(晶振器),晶體可以在固有頻率.z的晶振器之間任選晶體,電容可以在p的電容之間任選,通常選擇p的瓷片電容。在單片機控制的數字顯示溫度計電路設計的這個

8、部分,就是采用內時鐘引腳,其中晶振器為6mhz,兩個電容均為30pf。 ()外時鐘方式,接地,接外部振蕩器。由于端的電平不是電平,故接一個上拉電阻。外部振蕩器的頻率應低于z。 3.2、控制信號引腳 ()pd(腳):復位信號備用電源引腳 當輸入的復位信號延續個機器周期以上,高電平即為有效,用以完成單片機的復位操作。復位后影響片內特殊功能寄存器的狀態,但不影響片內狀態。 同一引腳的pd是備用電源輸入端(pd接備用電源)。在cc斷電時,為保證中的信息不丟失,可使此引腳完成掉電保護功能。 ()非(腳);地址鎖存允許信號編程脈沖輸入端 在系統擴展時,用于控制把口輸出的低位地址送入鎖存器鎖存起來,以實現低

9、位地址和數據的分時傳送。此外由于是以晶振頻率的固定頻率輸出的正脈沖,因此可作為外邊時鐘或外部定時脈沖使用。 對片內帶有kbyte的編寫固化程序時,非作為編程脈沖輸入端。 ()非(引腳):外邊程序存儲器讀選通信號 為低電平有效,在訪問片外程序存儲器時,此引腳端輸出負脈沖作為讀片外程序存儲器的選通信號,以實現外部單元的讀操作。要檢查上電平后能否正常到程序存儲器中讀取指令碼,可以用示波器觀察引腳非有無脈沖輸出,若有說明正常。 ()非pp(腳):內部和外部程序存儲器選擇信號 當引腳接高電平時,只訪問片內kbyte的,執行內部程序存儲器中的指令,但在程序計數器計數超過時(即地址大于kbyte時),將自動

10、轉向執行片外大于kbyte程序存儲器內的程序。 若非引腳接低電平時,只訪問外部程序存儲器,而不管片內是否有程序存儲器。對于單片機(片內無)需外擴,故必須將非引腳接地。 在對編寫固化程序時,需對此引腳施加的編程電壓。3.3、i/o(輸入/輸出)接口引腳 (1)并行i/o接口的特點 mcs-51有4個8位并行i/o接口p0p3,他們都是雙向端口,可以進行輸入或者輸出操作,每個口都有口鎖存器和口驅動器兩部分組成。此外,它還有一個全雙工串行通信口。這4個端口為mcs-51與外圍器件或外圍設備進行信息(數據、地址、控制信號)交換提供了多功能的輸入/輸出通道,也為mcs-51擴展外部功能、構成應用系統提供

11、了必要的條件。 它們的特點如下: a、4個并行i/o接口都是雙向的。p0口為漏極開路,p1、p2、p3口均具有內部上拉電阻,它們有時被稱為準雙向口。 b、4個并行口的32條i/o接口線都可以獨立地用于輸入或輸出操作。c、當4個并行口的i/o接口線有作輸入操作時,必須對該口的鎖存器進行寫1操作,以保證從i/o接口線輸入數據的正確性,這也是4個并行接口有時被稱為“準”雙向的含義。 (2)i/o接口電路功能匯總 mcs-51單片機內部屬單總線結構,因此使系統在結構上增加了靈活性。通過總線,用戶可根據應用需要進行多功能的系統擴展,構成用戶的實際應用系統。mcs-51系列中的8031單片機,因其內部在結

12、構上無程序存儲器,所以它的應用系統必定為一個擴展的系統。因此,mcs-51的4個并行i/o接口中的p0、p2、p3口基本上都具備有這兩項功能。 a、p0口:p0口的內部一位結構如圖(33)所示。p0口是一個多功能口除可以作為通用的輸入/輸出口外,還具備用于系統擴展的第二功能。在mcs-51的進行系統擴展時,它作為地址/數據總線口。通過外接地址鎖存器,mcs-51的內部單總線可從p0口被擴展成8位的數據總線和16位地址總線的低8位。在實際應用中,p0口先送出外部存儲器16位地址中的低8位至地址鎖存器鎖存,然后再由p0口進行8位數據的輸入或輸出。 b、p1口:p1口作為通用i/o接口,它的每一位都

13、可以別編程為通用i/o接口線。 c、p2口:p2口也是一個多功能口,與p0口相似,它除可被用作i/o接口外,在進行系統擴展時,還可以輸16位地址總線中的高8位,和p0口共同構成16位的地址總線。當然,在p0口和p2口用作地址/數據總線時,它們都不能再作為通用i/o接口。 d、p3口:p3口也是一個多功能口,除可以作為通用i/o接口外,還具有多種控制功能,為通用i/o接口時和mcs-51其他具有控制功能的輸入/輸出引線在一起,共同形成mcs-51的控制總線。p3口在作為第二功能(控制功能)使用時,它的每一位功能定義如表(32)所示 一個信號引腳,既是第一功能又是第二功能,在使用時也不會引起混亂和

14、造成錯誤,理由如下: a、對于各種型號的芯片,其功能的第一功能信號是相同的,所不同的只在引腳的的第二功能信號上。 b、對于9、30和31各引腳,由于第一功能信號與第二功能信號是單片機在不同工作方式下的信號,因此不會發生使用上的矛盾。 c、p3口線的情況卻有所不同,它的第二功能信號都是單片機的重要控制信號。因此在實際使用時,總是先按需要優先選用它的 二功能,剩下不用的才作為口線使用。 d、引腳表現出的是單片機的外特性或硬件特性,在硬件方面用戶只能使用引腳,即通過引腳組建系統。因此熟悉引腳是我們設計數字顯示溫度計的重要內容。表(32) p3口線的第二功能 口線第二功能信號名稱p3.0rxd串行數據

15、接收p3.1txd串行數據發送p3.2int0外部中斷0申請p3.3int1外部中斷1申請p3.4t0定時器/計數器0計數輸入p3.5t1 定時器/計數器1計數輸入p3.6wr外部ram寫選通p3.7rd外部ram讀選通3.4、mcs-51單片機的復位方式和復位電路 (1)復位操作 復位是單片機的初始化操作,其主要功能是把pc初始化為0000h,使單片機從0000h單元開始執行程序。除了進入系統的正常初始化之外,當由于程序運行出錯或者操作錯誤使系統處于死鎖狀態時,為擺脫困境,也需按復位鍵以重新啟動。 (1)復位操作還對單片機的個別引腳信號有影響,例如把ale和psen非信號變為無效狀態,即al

16、e=0,psen=1。 (2)復位信號及其產生 rst引腳是復位信號的輸入端,復位信號是高電平有效,其有效時間持續24個振蕩脈沖周期(即2個機器周期)以上,若使用頻率為6mhz的晶振,則復位信號持續時間應超過4us才能完成復位操作。 產生復位信號的電路邏輯如圖(34)所示。 整個復位電路包括芯片內外兩部分。外部電路產生的復位信號(rst)送施密特觸發器,再由片內復位電路在每個機器周期的s5p2時刻對施密特觸發器的輸出進行采樣。然后才得到內部復位操作所需要的信號。 (3)復位方式 復位操作有上電自動復位和按鍵手動復位兩種方式。上電自動復位是通過外部復位電路的電容充電來實現的,在單片機控制的數字顯

17、示溫度計電路設計中的單片機復位就是這種方式,其中電容c為22uf,電阻r為1k歐姆,其電路圖如圖(35a)所示。圖(34) 復位電路邏輯圖 這樣,只要電源vcc(+5v)的上升時間不超過1ms,就可以實現自動上電復位,即接通電源就完成了系統的復位初始化。 按鍵手動復位有電平方式和脈沖方式兩種。其中按鍵電平復位是通過使復位端經電阻與vcc電源接通而實現的,其電路圖如圖(3 5b)所示。而按鍵復位脈沖復位則是利用rc微分電路產生的正脈沖來實現的。 上述電路圖中的電阻電容參數適宜于6mhz晶振,能保證復位信號高電平持續時間大于2個機器周期。 圖(35a) 上電復位 圖( 35b) 按鍵電平復位4 顯

18、示溫度值的led顯示器接口介紹led顯示器是單片機應用系統中常用的廉價輸出設備。它是由若干個發光二極管組成的,當發光二極管導通時,相應一個筆畫劃發光,控制某段發光二極管導通,就能顯示出某個數碼或字符,常用八段led顯示器有兩種結構,如圖(41)所示。圖(41) 八段led顯示器的結構數碼管使用條件:a、段及小數點上加限流電阻b、使用電壓:段:根據發光顏色決定; 小數點:根據發光顏色決定c、使用電流:靜態:總電流 80ma(每段 10ma);動態:平均電流 4-5ma;峰值電流 100ma在靜態顯示系統中,每位顯示器都應有各自的鎖存器、譯碼器(若采用軟件譯碼,譯碼器可省去)與驅動器,用以鎖存各自

19、待顯示數字的bcd碼或字段碼。因此,靜態顯示系統在每一次顯示輸出后能夠保持顯示不變,僅在待顯示數字需要改變時,才更新其數字顯示鎖存器中的內容。這種顯示占用cpu的時間少,顯示穩定可靠。缺點是,當顯示的位數較多時,占用的i/o口較多。 在動態顯示的系統中,cpu需定時地對每位led顯示器進行掃描,每位led顯示器分時輪流工作,每次只能使一位led顯示,但由于人的視覺暫留現象,仍感覺所有的led顯示器都在同時顯示。這種顯示的優點是使用硬件少,占用i/o口少。缺點是占用 cpu時間長,只要不執行顯示程序,就立刻停止顯示。但隨著大規模集成電路的發展,目前已有能自動對顯示器進行掃描的專用顯示芯片,使電路

20、既簡單又占用cpu時間。在我們所設計的溫度計中數碼管顯示就是利用的動態顯示。5 溫度傳感器ds1820介紹在傳統的模擬信號遠距離溫度測量系統中,需要很好的解決引線誤差補償問題、多點測量切換誤差問題和放大電路零點漂移誤差問題等技術問題,才能夠達到較高的測量精度。我們在為某水電站開發水輪發電機組軸瓦溫度實時監測系統時,為了克服上面提到的三個問題,采用了新型數字溫度傳感器ds1820,在對其測溫原理進行詳細分析的基礎上,提出了提高ds1820測量精度的方法,使ds1820的測量精度由0.5提高到0.1以上,取得了良好的測溫效果。 5.1、 ds1820簡介 ds1820是美國dallas半導體公司生

21、產的可組網數字式溫度傳感器,在其內部使用了在板(on-b0ard)專利技術。全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。與其它溫度傳感器相比,ds1820具有以下特性: (1)獨特的單線接口方式,ds1820在與微處理器連接時僅需要一條口線即可實現微處理器與ds1820的雙向通訊。 (2)ds1820支持多點組網功能,多個ds1820可以并聯在唯一的三線上,實現多點測溫。 (3)ds1820在使用中不需要任何外圍元件。 (4)溫范圍55125,固有測溫分辨率0.5。 (5)測量結果以9位數字量方式串行傳送。 325.2、ds1820內部結構框圖如圖(51)所示64位光刻rom及串線

22、接口存儲器和控制邏輯i/o溫度傳感器暫存儲器上限寄存器th 供電力式檢 測下限寄存器tl vcc 8位crc發生器 gndds1820測溫原理如圖(51)所示圖中低溫度系數晶振的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給計數器1。高溫度系數晶振隨溫度變化其振蕩率明顯改變,所產生的信號作為計數器2的脈沖輸入。計數器1和溫度寄存器被預置在55所對應的一個基數值。計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當計數器1的預置值減到0時,溫度寄存器的值將加1 ,計數器1的預置將重新被裝入,計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到計數器2計數到0時,停止溫度

23、寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。圖2中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數器1的預置值。 在正常測溫情況下,ds1820的測溫分辯率為0.5以9位數據格式表示,其中最低有效位(lsb)由比較器進行0.25比較,當計數器1中的余值轉化成溫度后低于0.25時,清除溫度寄存器的最低位(lsb),當計數器1中的余值轉化成溫度后高于0.25,置位溫度寄存器的最低位(lsb),如25.5對應的9位數據格式如下:5.3、 提高ds1820測溫精度的途徑 (1)ds1820高精度測溫的理論依據 ds1820正常使用時的測溫分辨率為0.5,這對于水輪發電機組軸瓦溫

24、度監測來講略顯不足,在對ds1820測溫原理詳細分析的基礎上,我們采取直接讀取ds1820內部暫存寄存器的方法,將ds1820的測溫分辨率提高到0.10.01 ds1820內部暫存寄存器的分布如表1所示,其中第7字節存放的是當溫度寄存器 停止增值時計數器1的計數剩余值,第8字節存放的是每度所對應的計數值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結果。首先用ds1820提供的讀暫存寄存器指令(beh)讀出以0.5為分辨率的溫度測量結果,然后切去測量結果中的最低有效位(lsb),得到所測實際溫度整數部分t整數,然后再用beh指令讀取計數器1的計數剩余值m剩余和每度計數值m每度,考慮到d

25、s1820測量溫度的整數部分以0.25、0.75為進位界限的關系,實際溫度t實際可用下式計算得到: t實際=(t整數0.25)+(m每度m剩余)/m每度 (2) 測量數據比較 表2為采用直接讀取測溫結果方法和采用計算方法得到的測溫數據比較,通過比較可以看出,計算方法在ds1820測溫中不僅是可行的,也可以大大的提高ds1820的測溫分辨率。表1 ds18b20暫存寄存器分布寄存器內容 字節地址溫度最低數字位 0溫度最高數字位 1高溫限值 2低溫限值 3保留 4保留 5記數剩余值 6每度記數值 7 crc校驗 8 5.4、ds1820使用中注意事項 ds1820雖然具有測溫系統簡單、測溫精度高、

26、連接方便、占用口線少等優點,但在實際應用中也應注意以下幾方面的問題: (1) 較小的硬件開銷需要相對復雜的軟件進行補償,由于ds1820與微處理器間采用串行數據傳送,因此,在對ds1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在使用pl/m、c等高級語言進行系統程序設計時,對ds1820操作部分最好采用匯編語言實現。 (2) 在ds1820的有關資料中均未提及單總線上所掛ds1820數量問題,容易使人誤認為可以掛任意多個ds1820,在實際應用中并非如此。當單總線上所掛ds1820超過8個時,就需要解決微處理器的總線驅動問題,這一點在進行多點測溫系統設計時要加以注意。

27、 (3)連接ds1820的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的測溫數據將發生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150m,當采用每米絞合次數更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的。因此,在用ds1820進行長距離測溫系統設計時要充分考慮總線分布電容和阻抗匹配問題。(4) 在ds1820測溫程序設計中,向ds1820發出溫度轉換命令 后,程序總要等待ds1820的返回信號,一旦某個ds1820接觸不好或 斷線,當程序讀該ds1820時,將沒有返回信號,程序進入死循環。這

28、一點在進行ds1820硬件連接和軟件設計時也要給予一定的重視。 6 軟件設計6.1、智能溫控系統總流程圖采集并顯示第一個溫度開始延時根據溫差的大小使抽水機做出相應的動作根據溫度的大小使抽水機做出相應的動作根據溫度的大小使抽水機做出相應的動作結束延時計算并顯示溫差延時采集并顯示第二個溫度 圖(6-1)智能溫控系統總流程圖6.2、ds18b20子程序流程圖 說明:不顯示符號位和百位,只顯示包括一位小數的溫度大小開始溫度零下溫度值取補碼置“”標志置“+”標志計算小數位溫度bcd值計算整數位溫度bcd值溫度數據移入顯示寄存器十、個位和一位小數顯示;符號不顯示;百位為1或2結束yn圖(6-2)ds18b

29、20子程序流程圖6.3、根據溫度一、二的大小使噴水機動作的子程序流程圖 說明:溫度一的如下圖,溫度二的則把r5r6改為r3r4即可,第一位顯示1表示此數據為第一個溫度值,第二三四位則為包含一位小數的溫度值;第一位顯示2表示此數據為第二個溫度值,第二三四位則為包含一位小數的溫度值。開始r5r635或=35發出紅色警告并啟動大功率抽水機r5r630或=30發出黃色警告并啟動小功率抽水機結束關閉所有的警告和噴水機ynny 圖(6-3)根據溫度一的大小使噴水機動作的子程序流程圖6.4、溫差子程序流程圖說明:溫差為溫度一減溫度二,第一位顯示3表示此數據是溫差,第二位顯示0表示溫度一大于溫度二、顯示1表示

30、溫度二大于溫度一,三四位為溫差大小值開始r5r6r3r4h或=r3r4r2=3r3=0r4r5=r5r6r3r4r2=3r3=1r4r5=r3r4r5r6結束圖(6-4)溫差子程序流程圖6.5、根據溫差的大小使噴水機動作的子程序流程圖說明:當溫差大于或等于10時,發出紅色警告并啟動大功率抽水機;當溫差大于或等于5而小于10時,發出黃色警告并啟動小功率抽水機。開始r3r410或=10發出紅色警告并啟動大功率抽水機r5r65或=5發出黃色警告并啟動小功率抽水機結束關閉所有的警告和噴水機ynny 圖(6-5)根據溫差的大小使噴水機動作的子程序流程圖7、調試結果(1)、溫度一顯示正常,顯示的結果為1x

31、x.x;過一秒后顯示第二個溫度,顯示的結果為2xx.x;過一秒后顯示溫差,顯示的結果為3xxx:當溫度一的整數位大于或等于溫度二的整數位時,顯示的結果為30xx,xx=溫度1溫度2;當溫度一的整數位小于溫度二的整數位時,顯示的結果為31xx,xx=溫度2溫度1;再過一秒,顯示電路又開始顯示第一個溫度了。系統就這樣不間斷的重復上述過程。(2)、警告和噴水機電路運做正常:當溫度一或二的整數部分大于或等于30而小于35時,系統發出黃色警告,同時啟動小功率的噴水機,當溫度降到30以下時,系統則將其關閉;當溫度一或二的整數部分大于或等于35時,系統發出紅色警告,同時啟動大功率的噴水機,當溫度降到35以下

32、而又大于或等于30時,系統發出黃色警告,同時啟動小功率的噴水機,當溫度降到30以下時,系統則將其關閉。(3)、因為系統的的某些電路有缺損,所以系統有時會出現不穩定的現象。 綜上所述,系統的工作情況基本正常,各項基本功能都已經實現。致 謝在畢業論文接近末尾之時,我要衷心地感謝我們黃朝良老師,在我整個畢業設計過程中,黃朝良老師給了我很大的幫助和細心的指導。在一個多月的畢業設計過程中,當我遇到了困難和問題時,當我們需要他的時候,黃朝良老師總是第一時間出現在我們面前,他讓我們學會了以前在課堂上沒有的東西。 另外,我還要特別感謝我所有的搭檔,是他們給了我巨大的勇氣和戰勝困難的信心,在畢業設計中我們合作的

33、很愉快,當我們遇到困難時我們一起去探討和研究,一起去戰勝它,大家也一起分享排除問題和困難后的喜悅。 同時大家也發揚我們慷慨激揚精神:特別能吃苦,特別能攻關,特別能戰斗,特別能奉獻 。在此我表示真誠的感謝! 心 得 體 會 經過這次畢業設計,使我覺得不論從理論知識還是從實際操縱中都學到了不少知識,我想歸納起來,主要有以下四個方面: (1)、經過這次畢業設計,它讓我接觸更多平時沒有接觸過的科學儀器設備、元器件以及獲得相關的儀器調試經驗,同時我也發現自己在這方面很多不足之處。體會到理論知識對實踐有很大的指導作用,她讓我知道,只有在正確的理論指引下,才能設計出合乎實際需要的硬件電路。 (2)、學會了高

34、效率的查閱資料、運用工具書、利用網絡查找資料。我發現,在我們所使用的書籍上有一些知識在實際應用中其實并不是十分理想,各種參數都需要自己去調整。偶而還會遇到錯誤的資料現象,這就要求我們應更加注重實踐環節。 (3)、在畢業設計中,我們應當注意重點與細節的關系。 (4)、失敗不可怕,只要不趴下,昂首向前走,希望總會有。 (5)、同組同學相互包容,彼此合作,取長補短,才能鑄就最后的成功。 可以這樣說畢業設計是對大學三年所學知識的一次運用和檢閱,同時對自學能力提出很高的要求,所以平時的學習離開思考,就是嚴重的錯誤,我們學習不應該有偏科現象,各方面的知識都應該要接觸,這樣做才能為畢業設計打下基石。參考文獻

35、 1 李廣弟等編 單片機基礎 北京航空航天大學出版社 2001 2 吳金戌等編 8051單片機實踐與應用 清華大學出版社 2001 3 王洪慶編 微型計算機控制技術 機械工業出版社 2006 4 付家才編 單片機控制工程實踐技術 化學工業出版社 2004 5 鮑宏亞等編 mcs-51系列單片機應用系統設計及實用技術 中國宇航出版社 2005 6 張志良編 單片機原理與控制技術(p46-47、p203-224)機械工業出版社 20027 付家才編 電子實驗與實踐(p29-59) 高等教育出版社 20048 蘇家健等 單片機原理與應用技術(p249-251)高等教育出版社 20049 魏炳貴編 電

36、力拖動基礎 機械工業出版社 2002附錄: 系統設計總程序 org 0000h sjmp main org 0030h main :mov sp,#29h main1:lcall get_temp1 ;開始讀取第一個溫度 lcall fenli1 lcall bcd1 lcall dianji1 lcall change_clear1 lcall shuchu1 ;輸出第一個溫度 lcall yanshi ;延時等待 lcall yanshi lcall yanshi lcall get_temp2 ;開始讀取第二個溫度 lcall fenli2 lcall bcd2 lcall dianji

37、2 lcall change_clear2 lcall shuchu2 ;輸出第二個溫度 lcall yanshi ;延時等待 lcall yanshi lcall yanshi lcall wencha ;調用溫差子程序 lcall dianji lcall change_clear3 lcall shuchu3 lcall yanshi lcall yanshi lcall yanshi sjmp main1;*;功能:從ds18b20中提取溫度,并把高字節放在r6中,低字節放在r7 中;其中r7 中的高四位放整數部分的低四位,r6中的低四位放整數部分;的高四位,r7的低四位為小數部分。;

38、輸出:r6、r7;*get_temp1: clr ea ;使用ds1820一定要禁止任何中斷產生 lcall reset1 ;調用初使化子程序 mov a,#0cch lcall write1 ;送入跳過rom命令 mov a, #44h ; lcall write1 ;送入溫度轉換命令 lcall reset1 ;溫度轉換完全,再次初使化ds18b20 mov a,#0cch lcall write1 ;送入跳過rom命令 mov a,#0beh lcall write1 ;送入讀溫度暫存器命令 lcall read1 mov r7,a ;讀出溫度值低字節存入r7 lcall read1 m

39、ov r6,a ;讀出謾度值高字節存入r6 setb ea ret;-reset1: ;初始化ds18b20子程序 l01:clr p1.2 ;復位: mov r2,#149 ;4us l11:djnz r2,l11 ;596us setb p1.2 ;釋放ds1820總線: mov r2,#15 ;4us l41:djnz r2,l41 ;60us clr c ;2us,清存在信號 mov c,p1.2 ;取存在信號: jc l01 ;存在嗎?不存在則重新來-001 mov r2,#125 ;有存在就拉高 setb p1.2 l51: djnz r2,l51 ;500us ret;-writ

40、e1: mov r1,#08h ;設置寫位個數 wlop1:rrc a ;把寫的位放到c acall wrbit1 ;調寫 1位子程序 djnz r1,wlop1 ;8位全寫完? retwrbit1: mov b,#15 ;設置時間常數 clr p1.2 ;寫開始 nop ;2us mov p1.2,c ;c內容到總線,4uswdlt1: djnz b,wdlt1 ;60us setb p1.2 ;釋放總線 ret;-read1: mov r1,#8h ;設置讀位數 rlop1:acall rdbit1 ;調讀1位子程序 rrc a ;把讀到位在c中并依次送給a djnz r1,rlop1 ;

41、8位讀完? retrdbit1: clr p1.2 ;讀開始圖2255的t0時刻 nop ;2us setb p1.2 ;釋放總線 nop ;2us mov c,p1.2 ;p1.2內容c mov b,#13 ;設置時間常數rddlt1:djnz b,rddlt1 ;等待52us setb p1.2 ret;*;作用:把小數部分同整數部分分開,r6放整數r7放小數,f0放符號位;輸入:r6r7;輸出:r6r7 f0;*fenli1: mov a,r6 mov c,acc.7 mov f0,c ;符號位 jc fenli11 sjmp fenli21fenli11:mov a,r6 cpl a

42、mov r6,a mov a,r7 cpl a clr c inc a mov r7,a mov a,r6 addc a,#00h mov r6,afenli21:mov 08h,r7 anl 08h,#0fh ;小數部分 mov r0,#12fenli31:mov a,r6 rrc a mov r6,a mov a,r7 rrc a mov r7,a mov a,09h rrc a mov 09h,a ;整數部分 djnz r0,fenli31 mov r6,09h ;整數部份 mov r7,08h ;小數部分 ret;*;作用:將r6r7中的二進制數化作bcd碼的形式;輸入:r6 r7;輸

43、出:r4r5r6 r7;*bcd1: mov a,r6 ;開始處理整數部分: mov b,#100 div ab mov r4,a ;存整數高位 mov a,b mov b,#10 div ab mov r5,a ;存整數中位 mov r6,b ;存整數低位 mov a,r7 ;開始處理小數部分: mov b,#5 mul ab mov b,#10 div ab mov 08h,a ;進位 mov a,r7 mov b,#2 mul ab add a,08h mov b,#10 div ab mov 08h,a ;進位 mov a,r7 mov b,#6 mul ab add a,08h mov b,#10 div a

溫馨提示

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

評論

0/150

提交評論