課程設(shè)計論文基于單片機(jī)的水溫控制系統(tǒng)設(shè)計_第1頁
課程設(shè)計論文基于單片機(jī)的水溫控制系統(tǒng)設(shè)計_第2頁
課程設(shè)計論文基于單片機(jī)的水溫控制系統(tǒng)設(shè)計_第3頁
課程設(shè)計論文基于單片機(jī)的水溫控制系統(tǒng)設(shè)計_第4頁
課程設(shè)計論文基于單片機(jī)的水溫控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河北科技師范學(xué)院歐美學(xué)院課 程 設(shè) 計 說 明 書題 目: 水溫控制系統(tǒng)(偏軟) 學(xué)院(系): 機(jī)電科學(xué)與工程系 年級專業(yè): 10電氣自動化技術(shù) 學(xué) 號: 學(xué)生姓名: 同組學(xué)生: 指導(dǎo)教師: 基于單片機(jī)的水溫控制系統(tǒng)設(shè)計摘要本系統(tǒng)的設(shè)計可以用于熱水器溫度控制系統(tǒng)和飲水機(jī)等各種電器電路中。它以單片機(jī)at80c51為核心,通過3個數(shù)碼管顯示溫度和4個按鍵實現(xiàn)人機(jī)對話,使用單總線溫度轉(zhuǎn)換芯片ds18b20實時采集溫度并通過數(shù)碼管顯示,并提供各種運行指示燈用來指示系統(tǒng)現(xiàn)在所處狀態(tài),如:溫度設(shè)置、加熱、停止加熱等,整個系統(tǒng)通過四個按鍵來設(shè)置加熱溫度和控制運行模式。關(guān)鍵詞: 單片機(jī)、數(shù)碼管顯示、單總線、d

2、s18b20.緒 論及時準(zhǔn)確地得到溫度信息并對其進(jìn)行適時的控制,在許多工業(yè)場合中都是重要的環(huán)節(jié).水溫的變化影響各種系統(tǒng)的自動運作,例如冶金、機(jī)械、食品、化工各類工業(yè)中,廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,對工件的水處理溫度要求嚴(yán)格控制。對于不同控制系統(tǒng),其適宜的水質(zhì)溫度總是在一個范圍。超過這個范圍,系統(tǒng)或許會停止運行或遭受破壞,所以我們必須能實時獲取水溫變化。對于,超過適宜范圍的溫度能夠報警。同時,我們也希望在適宜溫度范圍內(nèi)可以由檢測人員根據(jù)實際情況加以改變。單片機(jī)對對溫度的控制是工業(yè)生產(chǎn)中經(jīng)常使用的控制方法.自從1976年intel公司推出第一批單片機(jī)以來,80年代單片機(jī)技術(shù)進(jìn)入快速發(fā)

3、展時期,近年來,隨著大規(guī)模集成電路的發(fā)展,單片機(jī)繼續(xù)朝快速、高性能方向發(fā)展。單片機(jī)主要用于控制,它的應(yīng)用領(lǐng)域遍及各行各業(yè),大到航天飛機(jī),小至日常生活中的冰箱、彩電,單片機(jī)都可以大顯其能。單片機(jī)將微處理器、存儲器、定時/計數(shù)器、i/o接口電路等集成在一個芯片上的大規(guī)模集成電路,本身即是一個小型化的微機(jī)系統(tǒng)。單片機(jī)技術(shù)與傳感與測量技術(shù)、信號與系統(tǒng)分析技術(shù)、電路設(shè)計技術(shù)、可編程邏輯應(yīng)用技術(shù)、微機(jī)接口技術(shù)、數(shù)據(jù)庫技術(shù)以及數(shù)據(jù)結(jié)構(gòu)、計算機(jī)操作系統(tǒng)、匯編語言程序設(shè)計、高級語言程序設(shè)計、軟件工程、數(shù)據(jù)網(wǎng)絡(luò)通信、數(shù)字信號處理、自動控制、誤差分析、儀器儀表結(jié)構(gòu)設(shè)計和制造工藝等的結(jié)合,使得單片機(jī)的應(yīng)用非常廣泛。同

4、時,單片機(jī)具有較強(qiáng)的管理功能。采用單片機(jī)對整個測量電路進(jìn)行管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、內(nèi)部配線少、成本低,制造、安裝、調(diào)試及維修方便。傳統(tǒng)的溫度采集電路相當(dāng)復(fù)雜,需要經(jīng)過溫度采集、信號放大、濾波、ad轉(zhuǎn)換等一系列工作才能得到溫度的數(shù)字量,并且這種方式不僅電路復(fù)雜,元器件個數(shù)多,而且線性度和準(zhǔn)確度都不理想,抗干擾能力弱?,F(xiàn)在常用的溫度傳感器芯片不但功率消耗低、準(zhǔn)確率高,而且比傳統(tǒng)的溫度傳感器有更好的線性表現(xiàn),最重要的一點是使用起來方便。目 錄摘要. 緒論.系統(tǒng)總體設(shè)計. 61.1 硬件總體設(shè)計. 61.1.1 硬件系統(tǒng)子模塊.6 1.2 軟件總體設(shè)計.62 硬件系統(tǒng)

5、設(shè)計. .72.1 硬件電路分析. .73 系統(tǒng)軟件設(shè)計. .83.1 主程序流程圖. 83.2 各個模塊的流程圖. 103.2.1 讀取溫度ds18b20模塊的流程.103.2.2鍵盤掃描處理流程.123.2.3報警處理流程.134 系統(tǒng)調(diào)試. 144.1硬件電路調(diào)試. 144.2軟件調(diào)試. 144.3系統(tǒng)操作說明書. .154.4數(shù)據(jù)測試. 15總結(jié).17參考文獻(xiàn).18附錄一:系統(tǒng)源程序.19附錄二系統(tǒng)硬件總圖.201 系統(tǒng)總體設(shè)計1.1 硬件總體設(shè)計 設(shè)計并制作一個基于單片機(jī)的熱水器溫度控制系統(tǒng)的電路,其結(jié)構(gòu)框圖如圖1-1:電源單片機(jī)at8051數(shù)碼管顯示繼電器溫度傳感器ds18b20報

6、警鍵盤指示燈圖 11 系統(tǒng)結(jié)構(gòu)框圖1.1.1硬件系統(tǒng)子模塊(1) 單片機(jī)最小系統(tǒng)電路部分(2) 鍵盤掃描電路部分(3) 數(shù)碼管溫度顯示和運行指示燈電路部分(4) 溫度采集電路部分(5) 繼電器控制部分(6) 報警部分1.2 軟件總體設(shè)計良好的設(shè)計方案可以減少軟件設(shè)計的工作量,提高軟件的通用性,擴(kuò)展性和可讀性。本系統(tǒng)的設(shè)計方案和步驟如下:(1) 根據(jù)需求按照系統(tǒng)的功能要求,逐級劃分模塊。(2) 明確各模塊之間的數(shù)據(jù)流傳遞關(guān)系,力求數(shù)據(jù)傳遞少,以增強(qiáng)各模塊的獨立性,便于軟件編制和調(diào)試。(3) 確定軟件開發(fā)環(huán)境,選擇設(shè)計語言,完成模塊功能設(shè)計,并分別調(diào)試通過。(4) 按照開發(fā)式軟件設(shè)計結(jié)構(gòu),將各模塊

7、有機(jī)的結(jié)合起來,即成一個較完善的系統(tǒng)。首先接通電源系統(tǒng)開始工作,系統(tǒng)開始工作后,通過按鍵設(shè)定溫度值的上限值和下限值,確定按鍵將設(shè)定的溫度值存儲到指定的地址空間,溫度傳感器開始實時檢測,調(diào)用顯示子程序顯示檢測結(jié)果,調(diào)用比較當(dāng)前顯示溫度值與開始設(shè)定的溫度值比較,如果當(dāng)前顯示值低于設(shè)定值就通過繼電器起動加熱裝置,直到達(dá)到設(shè)定值停止加熱,之后進(jìn)行保溫,如果溫度高于上限進(jìn)行報警。2 硬件系統(tǒng)設(shè)計2.1硬件電路分析和設(shè)計報告本次設(shè)計主要思路是通過對單片機(jī)編程將由溫度傳感器ds18b20采集的溫度外加驅(qū)動電路顯示出來,包括對繼電器的控制,進(jìn)行升溫,當(dāng)溫度達(dá)到上下限蜂鳴器進(jìn)行報警。p1.7開關(guān)按鈕是用于確認(rèn)設(shè)

8、定溫度的,初始按下表示開始進(jìn)入溫度設(shè)定狀態(tài),然后通過p1.5和p1.6設(shè)置溫度的升降,再次按下p1.7時,表示確認(rèn)所設(shè)定的溫度,然后轉(zhuǎn)入升溫或降溫。p2.3所接的發(fā)光二極管用于表示加熱狀態(tài),p2.5所接的發(fā)光二極管用于表示保溫狀態(tài)。p2.3接繼電器。p3.1是溫度信號線。整個電路都是通過軟件控制實現(xiàn)設(shè)計要求。3 系統(tǒng)總設(shè)計本系統(tǒng)采用的是循環(huán)查詢方式,來顯示和控制溫度的。主要包括四段程序的設(shè)計:ds18b20讀溫度程序,數(shù)碼管的驅(qū)動程序,鍵盤掃描程序,以及抱經(jīng)處理程序。3.1主程序流程圖圖 3-1 主程序流程圖3.2 各個模塊的流程圖3.2.1 讀取溫度ds18b20模塊的流程由于ds18b20

9、采用的是一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對at89s52單片機(jī)來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對ds18b20芯片的訪問。ds18b20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念。因此系統(tǒng)對ds18b20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化ds18b20(發(fā)復(fù)位脈沖)發(fā)rom功能命令發(fā)存儲器操作命令處理數(shù)據(jù)ds18b20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點, ds18b20必須首先調(diào)用啟動溫度轉(zhuǎn)換函數(shù),根據(jù)數(shù)據(jù)手冊上對應(yīng)轉(zhuǎn)換時間來超作,如為12位轉(zhuǎn)換,則應(yīng)該是最大750ms,另外在對ds18b20超作時,

10、時序要求非常嚴(yán)格,因此最好禁止系統(tǒng)中斷。由于ds18b20是在一根i/o線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。ds18b20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機(jī)作為主設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。ds18b20的讀時序:(1)對于ds18b20的讀時序分為讀0時序和讀1時序兩個過程。 (2)對于ds18b20的讀時隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得

11、釋放單總線,以讓ds18b20把數(shù)據(jù)傳輸?shù)絾慰偩€上。ds18b20在完成一個讀時序過程,至少需要60us才能完成。ds18b20的寫時序:(1)對于ds18b20的寫時序仍然分為寫0時序和寫1時序兩個過程。 (2)對于ds18b20寫0時序和寫1時序的要求不同,當(dāng)要寫0時序時,單總線要被拉低至少60us,保證ds18b20能夠在15us到45us之間能夠正確地采樣io總線上的“0”電平,當(dāng)要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。 系統(tǒng)程序設(shè)計主要包括三部分:讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、顯示溫度子程序。圖3-2讀取溫度ds18b20模塊的流程圖程序代碼為:get_t

12、emper:setbdq;讀出轉(zhuǎn)換后的溫度值lcallinit_1820;先復(fù)位ds18b20jbflag1,tss2ret;判斷ds1820是否存在?若ds18b20不存在則返回tss2:mova,#0cch;ds18b20已經(jīng)被檢測到,則跳過rom匹配lcallwrite_1820mova,#44h;發(fā)出溫度轉(zhuǎn)換命令lcallwrite_1820lcall display;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間,等待ad轉(zhuǎn)換結(jié)束,12位的話750微秒lcallinit_1820;準(zhǔn)備讀溫度前先復(fù)位mova,#0cch;跳過rom匹配lcallwrite_1820mova,#0beh;發(fā)出讀

13、溫度命令lcallwrite_1820lcallread_18200;將讀出的溫度數(shù)據(jù)保存到35h/36hret3.2.2 鍵盤掃描處理流程此流程為鍵盤掃描處理,cpu通過檢測各數(shù)據(jù)線的狀態(tài)(0或1)就能知道是否有按鍵閉合以及哪個按鍵閉合。鍵盤管理程序的功能是檢測是否有按鍵閉合,如果有按鍵閉合,消除抖動,根據(jù)鍵號轉(zhuǎn)到相應(yīng)的鍵處理程序,按鍵流程圖如圖3-3所示。 圖 3-3鍵盤掃描子程序流程圖3.2.3 報警處理流程運行程序后,溫度傳感器ds18b20即可對環(huán)境進(jìn)行溫度采集,并送led數(shù)碼管顯示。我們可以在程序里設(shè)定溫度上限值,當(dāng)采集到的外界溫度高于當(dāng)前所設(shè)定溫度上限值時,程序就會進(jìn)入報警子程序

14、,觸發(fā)蜂鳴器進(jìn)行報警。其程序流程圖如圖3-4所示。圖3-4 報警子程序流程圖4 系統(tǒng)調(diào)試4.1 硬件電路調(diào)試仔細(xì)檢查所接電路,按照硬件原理圖接線,理論上是能實現(xiàn)的,如果數(shù)碼管不顯示,則應(yīng)該檢查線路是否正確,或是因為單片機(jī)沒有工作,還有集電極和發(fā)射極是否接對。如果只顯示兩個八,則可能是ds18b20沒有接正確,檢查上拉電路是否接好。另外要注意的是,由單片機(jī)輸出的控制信號比較小,需要進(jìn)行放大才能驅(qū)動繼電器工作,否則就不能實現(xiàn)升溫過程,通常選用8550三極管來進(jìn)行放大。還有220v交流電綠色接頭和加熱管黃色接頭必須接正確,否則導(dǎo)致電路燒壞。蜂鳴器是低電平有效。如果能注意這些問題,電路基本不會出錯。4

15、.2 軟件調(diào)試如果硬件電路檢查后,沒有問題卻實現(xiàn)不了設(shè)計要求,則可能是軟件編程的問題,首先應(yīng)檢查初始化程序,然后是讀溫度程序,顯示程序,以及繼電器控制程序,對這些分段程序,要注意邏輯順序,調(diào)用關(guān)系,以及涉及到了標(biāo)號,有時會因為一個標(biāo)號而影響程序的執(zhí)行,除此之外,還要熟悉各指令的用法,以免出錯。還有一個容易忽略的問題就是,源程序生成的代碼是否燒入到單片機(jī)中,如果這一過程出錯,那不能實現(xiàn)設(shè)計要求也是情理之中的事。本人在設(shè)計的時候在偉福仿真軟件進(jìn)行調(diào)試,通過此軟件進(jìn)行調(diào)試可以很方便的觀察單片機(jī)內(nèi)部各個寄存器及內(nèi)部存儲器變化情況,以方便進(jìn)行調(diào)試。4.3 系統(tǒng)操作說明本系統(tǒng)上電后數(shù)碼管顯示當(dāng)前測量溫度,

16、此時加熱指示燈和保溫指示燈均不點亮;若此時按“自動加熱”鍵,則單片機(jī)自動將預(yù)加熱溫度設(shè)置為80并開始加熱,送出一個加熱信號,并點亮加熱指示燈;若按“溫度設(shè)置”鍵,則進(jìn)入預(yù)加熱溫度設(shè)置界面,此時數(shù)碼管閃爍顯示預(yù)設(shè)置溫度,此時通過按鍵“”和“”進(jìn)行設(shè)置溫度,預(yù)設(shè)置溫度按“5”遞增或遞減,設(shè)置好溫度后再按一次“溫度設(shè)置”鍵確定,單片機(jī)保存預(yù)設(shè)置溫度,并開始加熱。此時單片機(jī)通過數(shù)碼管顯示實時檢測的溫度并和預(yù)設(shè)置溫度進(jìn)行對比,如果實測溫度大于或等于預(yù)設(shè)置溫度,則單片機(jī)發(fā)出停止加熱信號并熄滅加熱指示燈,點亮保溫指示燈,且當(dāng)超過預(yù)設(shè)溫度時發(fā)出報警;當(dāng)溫度下降到預(yù)設(shè)置溫度以下5度時,單片機(jī)再次發(fā)出加熱信號,同

17、時熄滅保溫指示燈,點亮加熱指示燈,依次循環(huán)控制。4.4 數(shù)據(jù)測試1靜態(tài)數(shù)據(jù)測試取一桶凈水,改變它的溫度,觀察數(shù)碼管上顯示的溫度值,并用溫度計進(jìn)行測溫,記錄兩組數(shù)據(jù),比較差異。記錄表如下:表4-1 靜態(tài)溫度數(shù)據(jù)測試表溫度123456顯示溫度234763778490測量溫度244763808491有測試數(shù)據(jù)可知,本系統(tǒng)測溫結(jié)果與溫度計測溫基本一致,能滿足設(shè)計,證明了設(shè)計的合理性。2動態(tài)數(shù)據(jù)測試進(jìn)行溫度設(shè)定,通過設(shè)定溫度值(75),觀察加熱管的加熱情況,以及數(shù)碼管的顯示值,再用溫度計測量水溫,每隔一段時間記錄一次數(shù)據(jù),將兩組值進(jìn)行比較。記錄表如下:(設(shè)定前溫度為25)表4-2 靜態(tài)溫度數(shù)據(jù)測試表組數(shù)

18、分組12345678910111213顯示溫度25293439424853586267707375測量溫度25283438424953596367717475通過上表可看出在加熱的過程中,顯示的溫度與實測的溫度近似一樣,說明系統(tǒng)的設(shè)計達(dá)到精度要求,但還是略有偏差,基本不影響設(shè)計結(jié)果。整個測試過程表明設(shè)計達(dá)到了任務(wù)書的要求,證明了該方案是合理可行的,順利完成了設(shè)計,達(dá)到了預(yù)想結(jié)果???結(jié) 通過本次的設(shè)計,使我們不僅對單片機(jī)這門課程有了更深刻的認(rèn)識,懂得了如何運用課本知識結(jié)合實際來完成定時器的顯示和編程方法以及數(shù)碼顯示電路的驅(qū)動方法,使我們能夠很快的適應(yīng)現(xiàn)代控制技術(shù)發(fā)展的需求,同時也提高了我們的思

19、維能力和實際操作能力,為以后更好的走上工作崗位奠定了堅實的基礎(chǔ)。 另外,這次的設(shè)計還讓我更進(jìn)一步的認(rèn)識了關(guān)于at80c51等芯片的引腳功能以及使用方法,使我學(xué)會了應(yīng)用不同的芯片來配合完成整個設(shè)計的操作。 在做硬件電路的這段時間里,從思考設(shè)計到對電路的調(diào)試經(jīng)過了許多困難。同樣在對軟件進(jìn)行設(shè)計時,也可為一路坎坷。但是通過對軟硬件不斷撞墻,不斷思考解決問題的過程中,我學(xué)會了很多東西,同時對單片機(jī)也有了更深的認(rèn)識。在做設(shè)計的時候,很需要耐心和對事物的細(xì)心,很多時候一個簡單問題的一個簡單的疏忽就會導(dǎo)致整個電路的不工作,只有不斷的檢查不斷的調(diào)試,才能真正完成一個設(shè)計的制作。只有不斷的發(fā)現(xiàn)問題解決問題,才能從問題中改變自己,提升自己對單片機(jī)的能力。 此設(shè)計雖然能夠完成溫度的顯示和控制,但功能和精度有待于進(jìn)一步提高。以后可以通過加入pid算法優(yōu)化控制功能,并通過液晶顯示屏實時顯示溫度。 經(jīng)過一星期的忙碌和工作,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個??粕漠厴I(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,

溫馨提示

  • 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

提交評論