智能溫度控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
智能溫度控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
智能溫度控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
智能溫度控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
智能溫度控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目錄TOC\o"1-5"\h\z弓I言 1\o"CurrentDocument"1系統(tǒng)的相關(guān)介紹 2\o"CurrentDocument"系統(tǒng)的目的及意義 2\o"CurrentDocument"設(shè)計(jì)要求 2\o"CurrentDocument"系統(tǒng)傳感器DS18B20的介紹 2\o"CurrentDocument"DS18B20的主要特性 2\o"CurrentDocument"DS18B20的外形和內(nèi)部結(jié)構(gòu) 32系統(tǒng)分析設(shè)計(jì) 4\o"CurrentDocument"溫度控制系統(tǒng)結(jié)構(gòu)圖及總述 4\o"CurrentDocument"系統(tǒng)顯示界面方案 4\o"CurrentDocument"系統(tǒng)輸入方案 5\o"CurrentDocument"系統(tǒng)的功能 5\o"CurrentDocument"3相關(guān)軟件編譯知識(shí)介紹 5C語(yǔ)言簡(jiǎn)介 5\o"CurrentDocument"C語(yǔ)言的優(yōu)點(diǎn) 5\o"CurrentDocument"C語(yǔ)言缺點(diǎn) 6\o"CurrentDocument"Keil簡(jiǎn)介 6\o"CurrentDocument"系統(tǒng)概述 6\o"CurrentDocument"KeilC51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu) 7\o"CurrentDocument"4系統(tǒng)流程圖設(shè)計(jì) 7\o"CurrentDocument"主程序流程圖 7\o"CurrentDocument"DS18B20控制程序流程圖 8\o"CurrentDocument"DS18B20復(fù)位程序流程圖 9\o"CurrentDocument"DS18B20寫數(shù)據(jù)程序流程圖 9DS18B20讀數(shù)據(jù)程序流程圖 11\o"CurrentDocument"溫度讀取及轉(zhuǎn)換程序流程圖 13\o"CurrentDocument"MAX7219驅(qū)動(dòng)程序流程圖 14\o"CurrentDocument"MAX7219寫入一個(gè)字節(jié)數(shù)據(jù)程序流程圖 14\o"CurrentDocument"MAX7219寫入一個(gè)字?jǐn)?shù)據(jù)程序流程圖 15\o"CurrentDocument"數(shù)碼管溫度顯示程序流程圖 16\o"CurrentDocument"按鍵中斷服務(wù)程序流程圖 17\o"CurrentDocument"5電路仿真 19\o"CurrentDocument"PROTEUS軟件介紹 19\o"CurrentDocument"溫度控制系統(tǒng)PROTEUS仿真 19\o"CurrentDocument"6總結(jié) 22\o"CurrentDocument"7參考文獻(xiàn) 23\o"CurrentDocument"附錄1源程序代碼 24信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))、信息處理(計(jì)算機(jī)技術(shù))。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感器之首。近百年來(lái),溫度傳感器的發(fā)展大致經(jīng)歷了以下三個(gè)階段;(1)傳統(tǒng)的分立式溫度傳感器(含敏感元件);(2)模擬集成溫度傳感器/控制器;(3)智能溫度傳感器。目前,國(guó)際上新型溫度傳感器正從由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。下面介紹的就是兩種最常見(jiàn)的溫度傳感器:(1)集成溫度傳感器模擬集成溫度傳感器。集成傳感器是將溫度傳感器集成在一個(gè)芯片上、可完成溫度測(cè)量及模擬信號(hào)輸出功能的專用IC。模擬集成溫度傳感器的主要特點(diǎn)是功能單一(僅測(cè)量溫度)、測(cè)溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測(cè)溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡(jiǎn)單。它是目前在國(guó)內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等。某些增強(qiáng)型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時(shí)并不受微處理器的控制,這是二者的主要區(qū)別。(2)智能溫度傳感器智能溫度傳感器(亦稱數(shù)字溫度傳感器)是20世紀(jì)90年代中期微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。智能溫度傳感器的特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過(guò)軟件來(lái)實(shí)現(xiàn)測(cè)試功能的,其智能化程度也取決于軟件的開(kāi)發(fā)水平。智能溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開(kāi)發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測(cè)溫系統(tǒng)等高科技的方向迅速發(fā)展。1系統(tǒng)的相關(guān)介紹1.1系統(tǒng)的目的及意義溫度檢測(cè)控制系統(tǒng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,如家電、汽車、材料、電力電子等,常用的控制電路根據(jù)應(yīng)用場(chǎng)合和所要求的性能指標(biāo)有所不并且當(dāng)擾動(dòng)因素不明確時(shí),參數(shù)調(diào)整不便仍是普遍存在的問(wèn)題。采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡(jiǎn)單,而且減少了溫度測(cè)量轉(zhuǎn)換時(shí)的精度損失,使得測(cè)量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個(gè)引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩,使得單片機(jī)更加具有擴(kuò)展性。由于DS18B20芯片的小型化,更加可以通過(guò)單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實(shí)用性。更能串接多個(gè)數(shù)字溫度傳感器DS18B20進(jìn)行范圍的溫度檢測(cè)。因此溫度監(jiān)測(cè)是生產(chǎn)自動(dòng)化的重要任務(wù)。因而本設(shè)計(jì)具有非常實(shí)際的生產(chǎn)意義。1.2設(shè)計(jì)要求本設(shè)計(jì)是基于單片機(jī)5^8乳52的溫度控制。它實(shí)現(xiàn)的是溫度的監(jiān)測(cè)和控制功能??稍O(shè)置報(bào)警溫度。本設(shè)計(jì)用DS18B20傳感器來(lái)檢測(cè)溫度,LED用于顯示。MAX7219用來(lái)驅(qū)動(dòng)數(shù)碼顯示。設(shè)計(jì)先通過(guò)keil和proteus來(lái)聯(lián)合仿真,然后焊接實(shí)物。具體設(shè)計(jì)要求如下:(1)使用STC89C52控制器和口518820溫度傳感器,實(shí)現(xiàn)溫度的檢測(cè)和顯示;(2)設(shè)置默認(rèn)報(bào)警溫度為50?并且能夠通過(guò)按鍵設(shè)置調(diào)高調(diào)低報(bào)警溫度;(3)當(dāng)溫度高于報(bào)警溫度時(shí)報(bào)警燈亮,低于報(bào)警溫度時(shí)控制電阻絲加熱;(4)四位數(shù)碼管能通過(guò)按鍵交換顯示實(shí)測(cè)溫度和報(bào)警溫度。1.3系統(tǒng)傳感器DS18B20的介紹DS18B20的主要特性(1)適應(yīng)電壓范圍更寬,電壓范圍:3.0?5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。(2)獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi).(5)溫范圍一55℃?+125℃,在-10?+85℃時(shí)精度為±0.5℃(6)可編程的分辨率為9?12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫。(7)在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(8)測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以〃一線總線〃串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。(9)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。DS18B20的外形和內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形及管腳排列如下圖1.3.2.1:GNDIgGNDIgUDDVccNCNCNC溫度控制系統(tǒng)結(jié)構(gòu)圖及總述本設(shè)計(jì)實(shí)際上是模仿飲水機(jī)的工作原理。它是采用DS18B20溫度傳感器測(cè)試環(huán)境溫度,經(jīng)過(guò)CPU數(shù)據(jù)處理,用LED數(shù)碼管來(lái)顯示溫度。該設(shè)計(jì)可設(shè)置預(yù)期溫度。當(dāng)溫控開(kāi)關(guān)打開(kāi)時(shí),若測(cè)得環(huán)境溫度低于設(shè)定溫度,則繼電器吸合,啟動(dòng)電熱絲工作;若測(cè)得環(huán)境溫度高于設(shè)定溫度,則繼電器釋放,電熱絲停止工作。圖2.1.1系統(tǒng)總框圖系統(tǒng)顯示界面方案該系統(tǒng)要求完成溫度的顯示以及按鍵操作時(shí)的實(shí)時(shí)顯示功能。基于上述原因,本次設(shè)計(jì)考慮了兩種方案:方案一:完全采用LCD液晶顯示。這種方案顯示精確,可方便的顯示各種英文字符,溫度符號(hào),正負(fù)號(hào)等,但實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作。方案二:完全采用數(shù)碼管顯示。這種方案優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單。缺點(diǎn)是功能較少,只能顯示有限的符號(hào)和數(shù)碼字符。根據(jù)本設(shè)計(jì)的要求,方案二已經(jīng)滿足了要求,所以本次設(shè)計(jì)采用方案二以實(shí)現(xiàn)系統(tǒng)的顯示功能。系統(tǒng)輸入方案這里同樣討論了兩種方案:方案一:采用8155擴(kuò)展I/O口、鍵盤及顯示等。該方案的優(yōu)點(diǎn)是使用靈活可編程,并且有RAM及計(jì)數(shù)器。若用該方案,可提供較多I/O口,但操作起來(lái)稍顯復(fù)雜。方案二:直接在I/O口線上接上按鍵開(kāi)關(guān)。因?yàn)樵O(shè)計(jì)時(shí)精簡(jiǎn)和優(yōu)化了電路,所以剩余的端口資源還比較多。由于該系統(tǒng)是對(duì)設(shè)定報(bào)警溫度的控制,只需用單片機(jī)本身的I/O口就可實(shí)現(xiàn),且本身的計(jì)數(shù)器及RAM已經(jīng)夠用,故選擇方案二。系統(tǒng)的功能能完成對(duì)系統(tǒng)溫度的監(jiān)測(cè)及控制,并且能夠?qū)Ρ豢噩F(xiàn)場(chǎng)的溫度進(jìn)行智能調(diào)節(jié),以保持被控現(xiàn)場(chǎng)溫度基本不變。該系統(tǒng)如果應(yīng)用于現(xiàn)實(shí)生活具有很強(qiáng)的實(shí)用意義。3相關(guān)軟件編譯知識(shí)介紹C語(yǔ)言簡(jiǎn)介c語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開(kāi)發(fā)上,而且各類科研都需要用到C語(yǔ)言。具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開(kāi)發(fā)。C語(yǔ)言的優(yōu)點(diǎn)c語(yǔ)言現(xiàn)在被廣泛應(yīng)用于單片機(jī)以及嵌入式系統(tǒng)的開(kāi)發(fā),它具有如下一些優(yōu)點(diǎn):(1)簡(jiǎn)潔緊湊、靈活方便;(2)運(yùn)算符豐富;(3)數(shù)據(jù)類型豐富;6C是結(jié)構(gòu)式語(yǔ)言;(5)語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;(6)允許直接訪問(wèn)物理地址,對(duì)硬件進(jìn)行操作;(7)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高;(8)適用范圍大,可移植性好。C語(yǔ)言缺點(diǎn)c語(yǔ)言是一種較匯編語(yǔ)言高級(jí)的語(yǔ)言,但相對(duì)于匯編這種直接面向機(jī)器的語(yǔ)言來(lái)說(shuō),它的處理效率較會(huì)變低。Keil簡(jiǎn)介KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。系統(tǒng)概述KeilC51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹KeilC51開(kāi)發(fā)系統(tǒng)各部分功能和使用。KeilC51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51forWindows和forDos的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。4系統(tǒng)流程圖設(shè)計(jì)軟件總體設(shè)計(jì)主要完成各部分的軟件控制和協(xié)調(diào)。本系統(tǒng)主程序模塊主要完成的工作是對(duì)系統(tǒng)的初始化,發(fā)送顯示數(shù)據(jù),同時(shí)對(duì)鍵盤進(jìn)行掃描,等待外部中斷,以及根據(jù)所需要的功能進(jìn)行相應(yīng)的操作。4.1主程序流程圖本設(shè)計(jì)是模擬溫度控制系統(tǒng),主程序通過(guò)調(diào)用讀取溫度子程序和顯示子程序,來(lái)實(shí)時(shí)掃描并顯示系統(tǒng)溫度;并通過(guò)調(diào)用溫度控制子程序?qū)y(cè)得的溫度與系統(tǒng)所設(shè)的報(bào)警溫度比較進(jìn)而對(duì)溫度進(jìn)行控制。通過(guò)掃描中斷口檢查是否有按鍵按下,調(diào)用相應(yīng)的按鍵掃描子程序來(lái)進(jìn)行對(duì)應(yīng)的設(shè)置。主程序如下:voidmain(void)(EA=1; 〃開(kāi)中斷總開(kāi)關(guān)EX0=1; 〃允許INT0中斷IT0=1; 〃下降沿產(chǎn)生中斷text_rst(); 〃第一次使用數(shù)碼管測(cè)試while(1)(T_Current=GetTemperature(); 〃溫度值傳給T_timetemperature_display(T_Current);//顯示溫度if(T_Current<T_Original) 〃判斷繼電器是否工作,當(dāng)溫度小于T0時(shí),繼電器導(dǎo)通

JIDIANQI=1,alarm=1;elseJIDIANQI=0,alarm=0;delayms(30); 〃延時(shí)三秒,即每三秒掃描一次,顯示一次))自女開(kāi)自女開(kāi)L中斷設(shè)置開(kāi)中斷圖4.1.1主程序流程圖DS18B20控制程序流程圖DS18B20控制程序包括DS18B20復(fù)位程序,DS18B20寫數(shù)據(jù)程序以及DS18B20讀數(shù)據(jù)程序。DS18B20復(fù)位程序流程圖具體程序如下:ds18b20rst(void)//DS18B20復(fù)位初始化(unsignedcharx=0;DQ=1;delay(16);DQ=0;delay(160);DQ=1;delay(28);x=DQ;delay(40);延時(shí)圖延時(shí)圖4.2.1DS18B20復(fù)位程序流程圖DS18B20寫數(shù)據(jù)程序流程圖DS18B20寫程序流程圖如圖4.2.2所示。10DS18B20寫數(shù)據(jù)程序如下:ds18b20write(unsignedchardat)〃寫DS18B20的子程序(unsignedchari=0;for(i=8;i>0;i--)(DQ=0;DQ=dat&0x01;delay(10);DQ=1;dat>>=1;))DS18B20讀數(shù)據(jù)程序流程圖DS18B20讀數(shù)據(jù)程序流程圖如圖4.2.3所示。DS18B20讀數(shù)據(jù)程序如下:ds18b20read(void)〃讀DS18B20的程序11

unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--)(DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;delay(8);)return(dat);圖4.2.3DS18B20讀數(shù)據(jù)程序流程圖12溫度讀取及轉(zhuǎn)換程序流程圖溫度讀取及轉(zhuǎn)換流程圖如圖4.3.1所示。溫度讀取及轉(zhuǎn)換具體程序如下:GetTemperature(void)〃從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)(ucharsymbol;unsignedinttemperature;unsignedchara=0;unsignedcharb=0;unsignedintt=0;ds18b20rst();ds18b20write(0xCC);ds18b20write(0x44);ds18b20rst();ds18b20write(0xCC);ds18b20write(0xBE);a=ds18b20read();b=ds18b20read();t=b;t<<=8;〃進(jìn)行精度轉(zhuǎn)換t=t|a;if(t<0x0fff)symbol=0;else(t=~t+1;symbol=1;)temperature=t*0.625;if(symbol==1)temperature=-temperature;return(temperature);)13

圖4.3.1溫度讀取及轉(zhuǎn)換程序流程圖MAX7219驅(qū)動(dòng)程序流程圖MAX7219寫入一個(gè)字節(jié)數(shù)據(jù)程序流程圖寫入一個(gè)字節(jié)數(shù)據(jù)程序流程圖如圖4.4.1所示。14

圖4.4.1MAX7219寫入一個(gè)字節(jié)數(shù)據(jù)程序流程圖具體程序如下:voidwrite_byte(ucharch)( —uchari,code1;_nop_();_nop_();_nop_();for(i=0;i<8;i++)(code1=ch&0x80;ch=ch<<1;if(code1)(DIN=1;CLK=0;CLK=1;)else15

DIN=0CLK=0CLK=1MAX7219寫入一個(gè)字?jǐn)?shù)據(jù)程序流程圖寫入一個(gè)字節(jié)數(shù)據(jù)程序流程圖如圖4.4.1所示。圖4.4.2MAX7219寫入一個(gè)字?jǐn)?shù)據(jù)程序流程圖具體程序如下:voidwrite7219(ucharaddr,ucharnumber)(LOAD=0;_nop_();16_nop_();_nop_();write_byte(addr);_nop_();_nop_();_nop_();write_byte(number);_nop_();_nop_();_nop_();LOAD=1;)數(shù)碼管溫度顯示程序流程圖數(shù)碼管溫度顯示程序流程圖如圖4.5.1所示。具體程序如下:temperature_display(inttemperature_x)(ucharsymbol;if(temperature_x<0)(symbol=1;temperature_x=-temperature_x;) — —elsesymbol=0;switch(symbol)(case0:DisBuffer[0]=0x0f;break;case1:DisBuffer[0]=0x0a;break;)DisBuffer[1]=temperature_x/100;DisBuffer[2]=(temperature_x%100)/10;DisBuffer[2]=DisBuffer[2]|0x80;DisBuffer[3]=temperature_x%10;if(DisBuffer[1]==0x00)(DisBuffer[1]=0x0f;)write7219(0x01,DisBuffer[0]);write7219(0x02,DisBuffer[1]);write7219(0x03,DisBuffer[2]);17write7219(0x04,DisBuffer[3]);圖4.5.1圖4.5.1數(shù)碼管溫度顯示程序流程圖4.6 按鍵中斷服務(wù)程序流程圖4.6 按鍵中斷服務(wù)程序流程圖按鍵中斷服務(wù)程序流程圖如圖4.6.1所示。具體程序如下:int0()(interruptint0()(interrupt0using0temperature_display(T_Original);key_v=0x07;for(;;)(temperature_display(T_Original);key_v=0x07;for(;;)(if(key())(delayms(10);if(key())18key_v=key_s;if((key_v&0x01)==0)(T_Original=10+T_Original;temperature_display(T_Original);)elseif((key_v&0x02)==0)(T_Original=T_Original-10;temperature_display(T_Original);)elseif((key_v&0x04)==0)(gotoEXIT;))))EXIT:temperature_display(T_Current);} ,中斷入口,T? K1鍵按下匚工> 報(bào)警溫度加一,顯示報(bào)警溫度K2鍵按下?J>——報(bào)警溫度減一,顯示報(bào)警溫度NK3鍵按下:一■19圖4.6.1按鍵中斷服務(wù)程序流程圖5電路仿真PROTEUS軟件介紹Proteus軟件是LabcenterElectronics公司的一款電路設(shè)計(jì)與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來(lái)完成PCB的設(shè)計(jì),而ISIS模塊用來(lái)完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢(shì)就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤、LED、LCD等等。通過(guò)Proteus軟件的使用我們能夠輕易地獲得一個(gè)功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。溫度控制系統(tǒng)PROTEUS仿真系統(tǒng)仿真圖如圖5.2.1所示。20圖5.2.1系統(tǒng)仿真圖XF.IL2EtnrrETrrt<rr-3’3??cro口.(ln口閨與"EnEEEEEEp]P2JIA3psnjju口口具”F3.J4AI2R!JiAi9KIHJU,HX.HA'3P5URiDRlJirXOPSJTTnihiJflrd■■E出FQE3r?Fin啊T!ra.nRT 受號(hào)一等一量.FIz2£3H2rETFT3上 216總結(jié)用單片機(jī)實(shí)現(xiàn)系統(tǒng)溫度控制,可以使我們的生活方便快捷。這項(xiàng)看起來(lái)不需要多少技術(shù)的工作卻是非常需要耐心和精力,幾天的設(shè)計(jì)對(duì)我們來(lái)說(shuō)的意義,不僅僅是讓我們把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),還提高了我們的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,更重要的是團(tuán)隊(duì)合作,雖然我們這次設(shè)計(jì)倉(cāng)促,制作有些簡(jiǎn)單,但我們得到了很多遠(yuǎn)大于設(shè)計(jì)的東西!通過(guò)這次課程設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問(wèn)題全面的系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧,特別是對(duì)于C語(yǔ)言的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。該設(shè)計(jì)雖然結(jié)束了,但由于時(shí)間、設(shè)備、條件和水平等各方面因素,還存在一些不足,還需要不斷改進(jìn),當(dāng)然也就需要學(xué)習(xí)并運(yùn)用更多相關(guān)的知識(shí)。在以后我會(huì)更加深入研究單片機(jī),相信在不久的將來(lái)我會(huì)通過(guò)自己的努力親手做出一個(gè)實(shí)用的產(chǎn)品出來(lái)。227參考文獻(xiàn)【1】王靜霞.《單片機(jī)應(yīng)用技術(shù)》.電子工業(yè)出版社,2009【2】何立民.《單片機(jī)高等教程》.北京航空航天大學(xué)出版社,2000【3】何立民.《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)》.北京航空航天大學(xué)出版社,2001【4】李靜.《51單片機(jī)C語(yǔ)言程序設(shè)計(jì)》.人民郵電出版社,2010【5】李群芳等.《單片微機(jī)計(jì)算機(jī)與接口技術(shù)》.電子工業(yè)出版社,200823附錄1源程序代碼〃規(guī)定默認(rèn)設(shè)定溫度為T0=40度,K0鍵為開(kāi)始設(shè)置鍵,K1鍵為加一度鍵,K2鍵為減一度鍵#include<reg51.h>#include<intrins.h>#defineucharunsignedchar〃MAX7219端口定義sbitDIN=P2"0;sbitCLK=P2」;sbitLOAD=P2"2;sbitJIDIANQI=P2"4;〃繼電器接口sbitK0=P3"2;sbitK1=P2八5;sbitK2=P2"6;sbitK3=P2"7;sbitDQ=P「3;〃DS18B20定義單片機(jī)數(shù)據(jù)引腳sbitalarm=P2八3;ucharDisBuffer[4]={0,0,0,0};unsignedintT_Original=500;//規(guī)定默認(rèn)設(shè)定溫度為T0=40度unsignedintT_Current;unsignedcharkey_s,key_v;voiddelay(unsignedinti)//延時(shí)程序{ while(i--);}ds18b20rst(void)//DS18B20復(fù)位初始化(unsignedcharx=0;DQ=1;delay(16);DQ=0;delay(160);DQ=1;delay(28);x=DQ;delay(40);24ds18b20read(void)〃讀DS18B20的程序(unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--)(DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;delay(8);)return(dat);)ds18b20write(unsignedchardat)〃寫DS18B20的子程序(unsignedchari=0;for(i=8;i>0;i--)(DQ=0;DQ=dat&0x01;delay(10);DQ=1;dat>>=1;))GetTemperature(void)〃從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)(ucharsymbol;unsignedinttemperature;unsignedchara=0;unsignedcharb=0;unsignedintt=0;ds18b20rst();ds18b20write(0xCC);ds18b20write(0x44);ds18b20rst();ds18b20write(0xCC);ds18b20write(0xBE);a=ds18b20read();b=ds18b20read();t=b;25t<<=8;〃進(jìn)行精度轉(zhuǎn)換t二t|a;if(t<0x0fff)symbol=0;else(t=~t+1;symbol=1;)temperature=t*0.625;if(symbol==1)temperature=-temperature;return(temperature);)/*向MAX7219寫入一個(gè)字節(jié)數(shù)據(jù)*/voidwrite_byte(ucharch)(uchari,code1;_nop_();_nop_();_nop_();for(i=0;i<8;i++)(code1=ch&0x80;ch=ch<<1;if(code1)(DIN=1;CLK=0;CLK=1;)else(DIN=0;CLK=0;CLK=1;)))/*向MAX7219寫入一個(gè)字(16位)*/voidwrite7219(ucharaddr,ucharnumber)(LOAD=0;_nop_();26_nop_();_nop_();write_byte(addr);_nop_();_nop_();_nop_();write_byte(number);_nop_();_nop_();_nop_();LOAD=1;)/*MAX7219初始化*/voidmax_rst()(write7219(0x0b,0x03);write7219(0x09,0xff);write7219(0x0a,0x0a);write7219(0x0c,0x01);)voiddelayms(unsignedintms)//延時(shí)子程序,單位為ms(unsignedchari;while(ms--)(for(i=0;i<120;

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論