基于單片機(jī)的溫度采集與控制設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的溫度采集與控制設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的溫度采集與控制設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的溫度采集與控制設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的溫度采集與控制設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

II畢業(yè)論文基于單片機(jī)的溫度采集與控制設(shè)計(jì)論文作者專業(yè)學(xué)號(hào)班級(jí)指導(dǎo)教師:#1單片機(jī)的概述1.1什么是單片機(jī)單片機(jī)與現(xiàn)代微型計(jì)算機(jī)一樣,系統(tǒng)結(jié)構(gòu)均采用馮?諾依曼提出的“存儲(chǔ)程序”思想,即程序和數(shù)據(jù)都被存放在內(nèi)存中,采用二進(jìn)制代替十進(jìn)制進(jìn)行運(yùn)算和存儲(chǔ)程序。人們將計(jì)算機(jī)要處理的數(shù)據(jù)和運(yùn)算方法、步驟,事先按計(jì)算機(jī)要執(zhí)行的操作命令和有關(guān)原始數(shù)據(jù)編織成程序(二進(jìn)制代碼),存放在計(jì)算機(jī)內(nèi)部的存儲(chǔ)器。,計(jì)算機(jī)在運(yùn)行時(shí)能夠自動(dòng)地,連續(xù)地從存儲(chǔ)器中取出并執(zhí)行,不許人工加以干預(yù)。通常最基本的單片機(jī)由以下幾部分組成:中央處理器單片機(jī)中的中央處理器CPU和通用微處理器基本相同,由運(yùn)算器和控制器組成,另外增設(shè)了“面向控制”的處理功能,如位處理、查表、多種跳轉(zhuǎn)、乘除法運(yùn)算、狀態(tài)檢測(cè)、中斷處理等,增強(qiáng)了實(shí)時(shí)性。存儲(chǔ)器單片機(jī)的存儲(chǔ)空間有兩種基本結(jié)構(gòu)。一種是普林斯頓結(jié)構(gòu)(Princeton),將程序和數(shù)據(jù)合用一個(gè)存儲(chǔ)器空間,即ROM和RAM的地址同在一個(gè)空間里分配不同的地址。CPU訪問存儲(chǔ)器時(shí),一個(gè)地址對(duì)應(yīng)惟一的一個(gè)存儲(chǔ)單元,可以是ROM,也可以是RAM,用同類的訪問指令。另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的結(jié)構(gòu),稱為哈佛(Harvard)結(jié)構(gòu)。CPU用不同的指令訪問不同的存儲(chǔ)器空間。由于單片機(jī)實(shí)際應(yīng)用中“面向控制”的特點(diǎn),一般需要較大的程序存儲(chǔ)器。目前,包括MCS-51和80C51系列的單片機(jī)均采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開的哈佛結(jié)構(gòu)。數(shù)據(jù)存儲(chǔ)器(RAM)在單片機(jī)中,用隨機(jī)存取的存儲(chǔ)器(RAM)來(lái)存儲(chǔ)數(shù)據(jù),暫存運(yùn)行期間的數(shù)據(jù)、中間結(jié)果、緩沖和標(biāo)志位等,所以稱之為數(shù)據(jù)存儲(chǔ)器。一般在單片機(jī)內(nèi)部設(shè)置一定容量(64B?256B)的RAM,并以高速RAM的形式集成在單片機(jī)內(nèi),以加快單片機(jī)的運(yùn)行速度。同時(shí),單片機(jī)內(nèi)還把專用的寄存器和通用的寄存器放在同一片內(nèi)RAM統(tǒng)一編址,以利于運(yùn)行速度的提高。對(duì)于某些應(yīng)用系統(tǒng),還可以外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器。程序存儲(chǔ)器(ROM)單片機(jī)的應(yīng)用中常常將開發(fā)調(diào)試成功后的應(yīng)用程序存儲(chǔ)在程序存儲(chǔ)器中,因?yàn)椴辉俑淖?,所以這種存儲(chǔ)器都采用只讀存儲(chǔ)器ROM的形式。并行I/O口單片機(jī)為了突出控制的功能,提供了數(shù)量多、功能強(qiáng)、使用靈活的并行I/O口。使用上不僅可靈活地選擇輸入或輸出,還可作為系統(tǒng)總線或控制信號(hào)線,從而為擴(kuò)展外部存儲(chǔ)器和I/O接口提供了方便。串行I/O口高速的8位單片機(jī)都可提供全雙工串行I/O口,因而能和某些終端設(shè)備進(jìn)行串行通信,或者和一些特殊功能的器件相連接。定時(shí)器/計(jì)數(shù)器在實(shí)際的應(yīng)用中,單片機(jī)往往需要精確地定時(shí),或者需對(duì)外部事件進(jìn)行計(jì)數(shù),因而在單片機(jī)內(nèi)部設(shè)置了定時(shí)器/計(jì)數(shù)器電路,通過中斷,實(shí)現(xiàn)定時(shí)/計(jì)數(shù)的自動(dòng)處理。1.2單片機(jī)的特點(diǎn)小巧靈活,成本低,易于產(chǎn)品化,有優(yōu)異的性能價(jià)格比集成度高,由很高的可靠性,能在惡劣的環(huán)境下工作。單片機(jī)吧功能部件集成在一塊芯片內(nèi)部,縮短和減少了功能部件之間的連線,提高了單片機(jī)的可靠性和抗干擾能力??刂乒δ軓?qiáng),特別是集成了功能接口電路,使用更方便,更有效。指令面向控制對(duì)象,可以直接對(duì)功能部件進(jìn)行操作,易于實(shí)現(xiàn)從簡(jiǎn)單到復(fù)雜的各類控制任務(wù)。低功耗,低電壓,便于生產(chǎn)便攜式產(chǎn)品。單片機(jī)所具有的以上顯著特點(diǎn),使它在各個(gè)領(lǐng)域都得到廣泛應(yīng)用,從日常的智能化家電產(chǎn)品到專業(yè)的智能儀表,從單個(gè)的實(shí)時(shí)測(cè)控系統(tǒng)到分布式多機(jī)系統(tǒng)以及嵌入式系統(tǒng)。使用單片機(jī)已經(jīng)成為各個(gè)行業(yè)提高產(chǎn)品性能,降低生產(chǎn)成本,提高生產(chǎn)效率的重要手段。例如交通燈,霓虹燈控制,廣場(chǎng)上的計(jì)時(shí)牌等系統(tǒng)中都用到了單片機(jī)控制[1]1.3單片機(jī)的應(yīng)用領(lǐng)域由于單片機(jī)功能的飛速發(fā)展,它的應(yīng)用范圍日益廣泛,已遠(yuǎn)遠(yuǎn)超出了計(jì)算機(jī)科學(xué)的領(lǐng)域。小到玩具、信用卡,大到航天器、機(jī)器人,從實(shí)現(xiàn)數(shù)據(jù)采集、過程控制、模糊控制等智能系統(tǒng)到人類的日常生活,到處都離不開單片機(jī)。其主要的應(yīng)用領(lǐng)域如下:在測(cè)控系統(tǒng)中的應(yīng)用單片機(jī)可以用于構(gòu)成各種工業(yè)控制系統(tǒng)、自適應(yīng)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等。例如,工業(yè)上的鍋爐控制、水閘自動(dòng)控制、及軍事上的雷達(dá)、導(dǎo)彈系統(tǒng)等。在智能化儀器儀表中的應(yīng)用單片機(jī)應(yīng)用于儀器儀表設(shè)備中促使儀器儀表向數(shù)字化、智能化、多功能化和綜合化等方向發(fā)展。單片機(jī)的軟件編程技術(shù)使長(zhǎng)期以來(lái)測(cè)量?jī)x表中的誤差修正阿、線性化的處理等難題迎刃而解。在機(jī)電一體化中的應(yīng)用單片機(jī)與傳統(tǒng)的機(jī)械產(chǎn)品結(jié)合使傳統(tǒng)的機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)化,控制走向智能化,構(gòu)成新一代的機(jī)電一體化產(chǎn)品。這是機(jī)械工業(yè)發(fā)展的方向。在智能接口中的應(yīng)用計(jì)算機(jī)系統(tǒng),特別是較大型的工業(yè)測(cè)控系統(tǒng)中采用單片機(jī)進(jìn)行接口的控制管理,單片機(jī)與主機(jī)并行工作,可大大提高系統(tǒng)的運(yùn)行速度。如數(shù)字濾波、誤差修正、線性化處理等。在人類生活中的應(yīng)用單片機(jī)由于其價(jià)格低廉、體積小巧,被廣泛應(yīng)用在人類生活的諸多場(chǎng)合,如洗衣機(jī)、空調(diào)器、視聽音響設(shè)備、信用卡、樓宇防盜系統(tǒng)等。單片機(jī)將使人類的生活更加方便舒適,豐富多彩。1.4單片機(jī)的發(fā)展趨勢(shì)由于8位機(jī)價(jià)格便宜,且在速度與功能上逐步與16位機(jī)逼近,可以預(yù)計(jì),在未來(lái)很長(zhǎng)時(shí)間內(nèi),8位單片機(jī)仍將是單片機(jī)的主流機(jī)型。從發(fā)展的趨勢(shì)來(lái)說,單片機(jī)正朝著低功耗微型化方向發(fā)展。⑴低功耗CMOS化在許多應(yīng)用場(chǎng)合,單片機(jī)不僅要由很小的體積,而且還需要較低的工作電壓和績(jī)效的功耗?,F(xiàn)在各個(gè)單片機(jī)制造商基本都采用了CMOS工藝,并設(shè)有空閑和掉電兩種工作方式。⑵內(nèi)部資源豐富,外圍電路內(nèi)裝化,整體微型化近年來(lái),世界各大半導(dǎo)體廠商熱衷于開發(fā)增強(qiáng)型8位單片機(jī),片內(nèi)新增了A/D和D/A轉(zhuǎn)換器,監(jiān)視定時(shí)器,DMA通道和總線接口等。有些廠家還把晶振和LCD驅(qū)動(dòng)電路集成到芯片之中,還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機(jī)芯片。片內(nèi)資源豐富,功能強(qiáng)大,構(gòu)成單片機(jī)控制系統(tǒng)的硬件開銷越來(lái)越少。(3)大容量,高性能單片機(jī)片內(nèi)存儲(chǔ)器的容量進(jìn)一步擴(kuò)大,存儲(chǔ)器種類也從普通的ROM或EPROM向FLASH方向發(fā)展,具有在線編程功能。CPU字長(zhǎng)增加,總線速度提高,硬件功能擴(kuò)充,指令執(zhí)行速度加快。對(duì)外部存儲(chǔ)器,I/O口尋址能力增強(qiáng),更利于系統(tǒng)的擴(kuò)展和開發(fā)。2硬件介紹2.18051簡(jiǎn)介====================2.18051簡(jiǎn)介====================HUI234567DUI2345672—SPLL用111^11^1¥3SS33333A^VPPPPPPPP^/PPPPPPPPTT精?需期一器;PQ.0TO.IPO.2PQ.3PO.4PO.BPQ.EPO.7EA/Vpp_AJ-E/rftfifiPSENP2.7P2.6P2.百.2;e1?D如圖1—2所示為8051的管腳圖(一)引腳簡(jiǎn)要說明(1)主電源引腳Vcc和VssVcc(40腳):主電源接+5VVss(20腳):接地(2)時(shí)鐘電路引腳XTAL1和XTAL2XTAL2(18腳):接外部晶體振蕩器的一端。片內(nèi)是一個(gè)振蕩電路反相放大器的輸出端。XTAL1(19腳):接外部晶體振蕩器的另一端。片內(nèi)是一個(gè)振蕩電路反相放大器的輸入端??刂菩盘?hào)RST/Vpd、ALE/(/PROG)、/PSEN和(/EA)/Vpp?RST/Vpd(9腳):復(fù)位端。高電平有效,寬度在24個(gè)時(shí)鐘周期寬度以上,使單片機(jī)復(fù)位。該引腳有復(fù)用功能,Vpd為備用電源輸入端,防止主電源掉電。?ALE/(/PROG)(30腳):地址鎖存信號(hào)端。訪問片外存貯器時(shí),ALE作低八位地址的鎖存控制信號(hào)。平時(shí)不訪問片外存貯器時(shí),該端以六分之一的時(shí)鐘振蕩頻率固定輸出脈沖。ALE端負(fù)載驅(qū)動(dòng)能力為8個(gè)LSTTL門。該引腳有復(fù)用功能,為片內(nèi)程序存貯器編程(固化)的編程脈沖輸入。/PSEN(29腳):片外程序存貯器讀選通信號(hào)端。負(fù)載能力為8LSTTL門。(/EA)/Vpp(31腳):/EA端接高電平時(shí),CPU取指令從片內(nèi)程序存貯器自動(dòng)順延至片外程序存貯器。/EA端接低電平時(shí),CPU僅從片外程序存貯器取指令。該引腳有復(fù)用功能,Vpp為片內(nèi)程序存貯器編程時(shí)的編程電壓。⑷輸入/輸出引腳PO、Pl、P2和P3口?P0.0?P0.7(39?32腳):訪問片外存貯器時(shí)作為低八位地址線和八位數(shù)據(jù)線(復(fù)用)。負(fù)載能力為8個(gè)LSTTL門。?P1.0?P1.7(1?8腳):8位準(zhǔn)雙向I/O口。負(fù)載能力為3個(gè)LSTTL門。?P2.0?P2.7(21?28腳):訪問片外存貯器時(shí)作為高八位地址線。?P3.0?P3.7(10?17腳):8位準(zhǔn)雙向I/O口。負(fù)載能力為3個(gè)LSTTL門。另外還有專門的第二功能[2](二)P3口的第二功能?P3.0(10腳):RXD(串行口輸入端)?P3.1(11腳):TXD(串行口輸出端)?P3.2(12腳):/INT0(外部中斷0輸入端)?P3.3(13腳):/INT1(外部中斷1輸入端)?P3.4(14腳):TO(定時(shí)器/計(jì)數(shù)器0外部輸入端)?P3.5(15腳):T1(定時(shí)器/計(jì)數(shù)器1外部輸入端)?P3.6(16腳):/WR(片外數(shù)據(jù)存貯器寫選通信號(hào)輸出端)?P3.7(17腳):/RD(片外數(shù)據(jù)存貯器讀選通信號(hào)輸出端)2.2DS18B20簡(jiǎn)介DS18B20是美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器,在其內(nèi)部使用了在板(ON-BOARD)專利技術(shù)。全部傳感原件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi),與其他溫度傳感器相比,DS18B20具有以下特性:獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20并聯(lián)可以實(shí)現(xiàn)多點(diǎn)測(cè)溫DS18B20在使用中不需要任何外圍元件。測(cè)溫范圍:-55?+125°C。固有測(cè)溫分辨率為0.5°C。通過編程可實(shí)現(xiàn)9?12位的數(shù)字量方式串行傳送。(6)用戶可設(shè)定非易失性的報(bào)警上、下限值。(7)負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。TO-92封裝的DS1820的引腳排列見下圖

DALLASDSISB20DSI8B2(?TO川丄k咄DALLASDSISB20DSI8B2(?TO川丄k咄1吒嚨開t871213fiA5NCNCNCGNDDSIKBJIJf圖1—3DS18B20的管教排列其引腳功能描述如下GND:地信號(hào)DQ:數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。⑶VDD:可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。2.3DS18B20與單片機(jī)的接□電路由于DS18B20采用的是1—Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,且DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。將的1腳接地,3腳接電源,2腳可任接單片機(jī)的I/O口需要外加4.7K的上拉電阻。如下圖1—4所示vccS9CJ147KDS1SB20圖1—4DS18B20vccS9CJ147KDS1SB20圖1—4DS18B20與單片機(jī)的接口電路2.4數(shù)碼管簡(jiǎn)介3.8?七段數(shù)碼管引腳圖3.8?七段數(shù)碼管引腳圖(1)數(shù)碼管使用條件:a、段及小數(shù)點(diǎn)上加限流電阻b、使用電壓:段:根據(jù)發(fā)光顏色決定;小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定C、使用電流:靜態(tài):總電流80mA(每段10mA);動(dòng)態(tài):平均電流4-5mA峰值電流100mA上面是七段數(shù)碼管引腳圖,其中共陽(yáng)極數(shù)碼管引腳圖和共陰極的是一樣的。(2)數(shù)碼管的分類共陰極數(shù)碼管7段熒光數(shù)碼管有公共的地,即7個(gè)發(fā)光二極管的負(fù)極全部連接在了一起,只要給想點(diǎn)亮的二極管高電平就可以使其發(fā)光。這樣做的好處是可以免去布線、相互間的干擾等很多麻煩。這種連接方式的數(shù)碼管叫做共陰極數(shù)碼管。共陽(yáng)極數(shù)碼管有的讀者可能會(huì)問,是不是只有這一種接法?可不可以給出共同的正向電壓,然后通過控制負(fù)極的電壓來(lái)控制二極管的發(fā)光或者熄滅呢?只要電器特性參數(shù)和芯片的驅(qū)動(dòng)能力準(zhǔn)許,完全可以通過控制負(fù)極的電壓來(lái)控制二極管的發(fā)光或者熄滅。這種連接方式的數(shù)碼管又叫做共陽(yáng)極數(shù)碼管。對(duì)應(yīng)前面介紹的兩種數(shù)碼管可以采用灌電流和拉電流兩種連接方法,如果采用了灌電流連接,就要相對(duì)應(yīng)地選擇共陽(yáng)極數(shù)碼管;反之,如果采用了拉電流連接,就要相應(yīng)選擇共陰極數(shù)碼管。實(shí)際使用中可以根據(jù)器件的特性參數(shù)做出合適的選擇。(3)數(shù)碼管顯示原理前面已經(jīng)介紹過,7段數(shù)碼管是由7個(gè)獨(dú)立的二極管采用共陰或共陽(yáng)的方法連接而成。通常將這7個(gè)獨(dú)立的二極管做成a、b、c、d、e、f、g這7個(gè)筆劃。通過一個(gè)7位的二進(jìn)制電平信號(hào)就可以顯示出想要的結(jié)果。例如,點(diǎn)亮二極管b、c,數(shù)碼管將會(huì)顯示數(shù)字1,點(diǎn)亮a、b、c、d、e、f、g,數(shù)碼管將會(huì)顯示數(shù)字0。所以,數(shù)碼管的顯示需要有7根連線。每個(gè)數(shù)字對(duì)應(yīng)的二進(jìn)制碼如下表1—1所示。

表1—1顯示數(shù)字對(duì)應(yīng)的二進(jìn)制電平信號(hào)

顯示'a然而,在實(shí)際的電路設(shè)計(jì)中,由處理器完成譯碼功能再輸出一個(gè)7位的二進(jìn)制信號(hào)是非常浪費(fèi)空間和影響效率的。因此,電子工程師一般采取用7段數(shù)碼管與譯碼器相結(jié)合的方法來(lái)解決這個(gè)問題。2.5數(shù)碼管與單片機(jī)的接□電路+5VluF=110kD2089C2051P3.4PTTP3.5+5V+5VluF=110kD2089C2051P3.4PTTP3.5+5V510*7位共陰數(shù)碼管4.7kP3.2DS

18B20圖1—5數(shù)碼管與單片機(jī)的接口電路3.3系統(tǒng)功能與設(shè)計(jì)3.1溫度采集與控制系統(tǒng)功能介紹在我們?nèi)粘I钪袦囟炔杉c控制系統(tǒng)已被越來(lái)越多的家用設(shè)備,工廠車間,倉(cāng)庫(kù)所運(yùn)用,它可以對(duì)周圍的溫度進(jìn)行實(shí)時(shí)采集,并且可以對(duì)周圍溫度進(jìn)行控制,是溫度一直保持在某一范圍之內(nèi)。本系統(tǒng)通過溫度傳感器DS18B20對(duì)周圍溫度采集,然后由自身所集成的溫度轉(zhuǎn)換芯片把采集到的溫度信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),再通過DS18B20數(shù)據(jù)線將轉(zhuǎn)換后的數(shù)字信號(hào)傳送到單片機(jī)中,在單片機(jī)中經(jīng)過并行處理之后從P2口輸出到數(shù)碼管顯示。以上功能實(shí)現(xiàn)了對(duì)周圍溫度的采集與顯示,再通過單片機(jī)的PO口進(jìn)行溫度控制,當(dāng)PO.0口所接的開關(guān)按鈕K1接通時(shí)開始對(duì)DS18B20芯片進(jìn)行溫度范圍的設(shè)定,再由P0.1,P0.2口所接的開關(guān)按鈕T1,TO對(duì)所設(shè)定的溫度范圍進(jìn)行加,減操作。按鈕T1可以增加溫度范圍的上限,按鈕T0可以減小溫度范圍的下限。當(dāng)所有設(shè)定都完成之后,通過按鈕K0來(lái)啟動(dòng)所設(shè)定的數(shù)據(jù)。在整個(gè)系統(tǒng)正常運(yùn)行的時(shí)候,如果采集到的實(shí)時(shí)溫度高于所設(shè)定的溫度范圍的上限時(shí),單片機(jī)產(chǎn)生相應(yīng)的輸出信號(hào)給外圍設(shè)備,外圍設(shè)備就會(huì)啟動(dòng)風(fēng)扇裝置進(jìn)行適當(dāng)?shù)慕禍?,?dāng)采集到的實(shí)時(shí)溫度低于所設(shè)定的溫度范圍的下限時(shí),單片機(jī)也會(huì)產(chǎn)生相應(yīng)的輸出信號(hào)給外圍設(shè)備,外圍設(shè)備就會(huì)啟動(dòng)加熱裝置進(jìn)行適當(dāng)?shù)募訜?,從而使所測(cè)的實(shí)時(shí)溫度一直保持在固定的范圍之內(nèi)。在單片機(jī)向外圍設(shè)備發(fā)送信號(hào)的同時(shí)自身也會(huì)自動(dòng)報(bào)警,來(lái)提醒操作人員進(jìn)行相應(yīng)的操作。溫度采集與控制系統(tǒng)是以單片機(jī)為控制核心,運(yùn)用DS18B20芯片和LED數(shù)碼管共同組成的,該系統(tǒng)具有操作簡(jiǎn)單,造價(jià)低廉,功能強(qiáng)大等優(yōu)點(diǎn),在社會(huì)生產(chǎn)與家庭生活中運(yùn)用廣泛。給人民的生產(chǎn)生活提供很大方便。3.2溫度采集與控制系統(tǒng)硬件設(shè)計(jì)系統(tǒng)目標(biāo)是用單片機(jī)對(duì)溫度進(jìn)行采集,以解決工業(yè)及日常生活中對(duì)溫度的檢測(cè)及及時(shí)自動(dòng)控制問題;用十進(jìn)制數(shù)碼顯示實(shí)際溫度值,方便人工監(jiān)視。本設(shè)計(jì)采用8051單片機(jī)應(yīng)用系統(tǒng)來(lái)實(shí)現(xiàn)設(shè)計(jì)要求,因8051在片內(nèi)含4KB的EEPROM,不需外擴(kuò)展存儲(chǔ)器,可使系統(tǒng)整體結(jié)構(gòu)簡(jiǎn)單。利用8051串行口輸出工作方式,使8051的利用率大大提高,外部電路得以簡(jiǎn)化。溫度采集系統(tǒng)工作原理是采用8051作為核心器件實(shí)現(xiàn)對(duì)系統(tǒng)的自動(dòng)控制,采用單片機(jī)串行處理結(jié)構(gòu)。外界溫度經(jīng)溫度傳感器采集,溫度變化轉(zhuǎn)換為數(shù)字信號(hào)送入單片機(jī)。單片機(jī)將采集到溫度值進(jìn)行處理后在LED數(shù)碼管上顯示出來(lái)。其中P0口所接的是對(duì)溫度范圍進(jìn)行控制的按鈕K0,T1,T0,K0。單片機(jī)的P2口與數(shù)碼管的7段相接來(lái)顯示所采集到的實(shí)時(shí)溫度。溫度傳感器DS18B20芯片與單片機(jī)的P1.0連接,轉(zhuǎn)換后的信號(hào)通過P1.0送入單片機(jī),單片機(jī)的P1.1口與蜂鳴器相接,當(dāng)溫度過高或者過低時(shí)自動(dòng)報(bào)警。單片機(jī)的P3.0,P3.1,P3.2,P3.3口用來(lái)驅(qū)動(dòng)數(shù)碼管顯示。3.3采集與顯示軟件設(shè)計(jì)單片機(jī)溫度采集與顯示系統(tǒng)由硬件和軟件組成,硬件原理圖搭建完成上電之后,我們還不能實(shí)現(xiàn)對(duì)溫度的采集,需要給單片機(jī)編寫程序,下面給出了溫度采集與顯示系統(tǒng)的編程方法[4:TEMPERLEQU31H;用于保存讀出溫度的低字節(jié)

TEMPERHEQU30H;TEMPERHEQU30H;用于保存讀出溫度的高字節(jié)T_DFEQU33HT_INTEGEREQU32H;標(biāo)志位;DS18B20;標(biāo)志位;DS18B20數(shù)據(jù)線;使用DS18B20一定要禁止中斷DATBITP1.0ORG0000HAJMPMAINORG0030HMAIN:CLREAMOVSP,#60HMOVT_DF,#00HMOV21H,28HAA:LCALLGET_TEMPERMOV21H,28HAA:LCALLGET_TEMPERLCALLT_FORMAT;調(diào)用讀溫度子程序;將讀出的2字節(jié)溫度格式化,并轉(zhuǎn)換為壓縮BCD碼LCALLDISPLAY;顯示溫度JBP0.0,$CALLDELAY1JNBPO.O,TMPAJMPAATMP:LJMPSTARTGET_TEMPER:LCALLSET_18B20MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#44H;發(fā)出溫度轉(zhuǎn)化命令LCALLWRITE_1820LCALLDISPLAYLCALLSet_18B20;準(zhǔn)備讀溫度前先初始化MOVA,#0CCH

LCALLWRITE_1820;發(fā)出度溫度命令MOVA,#OBEH;發(fā)出度溫度命令LCALLWRITE_1820LCALLREAD_1820RETSet_18B20:SETBDATSETBDATNOPCLRDATMOVR2,#250DJNZR2,$SETBDATMOVR2,#30DJNZR2,$JNBDAT,INIT1JMPSet_18B20INIT1:MOVR2,#120DJNZR2,$JBDAT,INIT2JMPSet_18B20INIT2:MOVR2,#240RET;主機(jī)發(fā)出延時(shí)500us的撫慰低脈沖;然后拉高數(shù)據(jù)線;延時(shí)60us等待DS18B20回應(yīng);超時(shí)而沒有響應(yīng)。重新初始化;延時(shí)240us;數(shù)據(jù)變高,初始化成功WRITE_1820:MOVR2,#8;一共8位數(shù)據(jù)WR0:CLRDATMOVR3,#6DJNZR3,$RRCAMOVDAT,CMOVR3,#20DJNZR3,$SETBDATNOPNOPDJNZR2,WR0SETBDATRET;將溫度高位和低位從;將溫度高位和低位從DS18B20中讀出;低位存入31H(TEMPERH)MOVR1,#TEMPERLRE0:MOVR2,#8RE1:SETBDATNOPNOPCLRDATNOPNOPSETBDATMOVR3,#4DJNZR3,$MOVC,DATRRCAMOVR3,#30DJNZR3,RE1MOV@R1,ADECR1;高位存入30H(TEMPERH)DJNZR4,RE0RETT_FORMAT:MOVA,#0FHANLA,TEMPERLMOVT_DF,AMOVA,TEMPERLSWAPAMOV@R0,AMOVA,TEMPERHSWAPAXCHDA,@R0MOVT_INTEGER,ATO_BCD:MOVA,T_INTEGERMOVB,#10DIVABSWAPAADDA,BMOVT_INTEGER,AMOVA,T_DF;獲得小數(shù)部分(4位);獲得整數(shù)部分(1字節(jié));整數(shù)部分壓縮BCD碼送T_INTEGERMOVB,#16DIVABMOVR2,A;暫存R2MOVA,BMOVB,#10MULABMOVB,#16DIVABMOVB,AMOVA,R2SWAPAADDA,Bmovt_df,aret;小數(shù)部分壓縮bcd碼送t_dfDISPLAY:MOVR1,#250DISP1:MOVA,T_INTEGER;顯示整數(shù)部分MOVR3,#0FEHMOVR4,#0FDHSETBFLAGDISP2:CPLFLAGMOVB,#1OHDIVABMOVR2,A;高位送R2暫存MOVP3,R3;送字位MOVA,R2;蛔中蚏2送AMOVDPTR,#TAB;表首地址送DPTRMOVCA,@A+DPTR;查表MOVP2,A;送字型CALLDIMS;延時(shí)MOVP2,#0FFH;關(guān)閉字型顯示MOVR2,B;低位送R2暫存MOVP3,R4;送字位MOVA,R2;字型R2送AMOVDPTR,#TAB;槐硎椎刂匪虳PTRMOVCA,@A+DPTR;查表JNBFLAG,D11JMPD12Dll:ANLA,#7FHD12:MOVP2,A;送字型CALLDIMS;延時(shí)MOVP2,#0FFH;關(guān)閉字型

MOVA,T_DF;顯示小數(shù)部分MOVR3,#0FBHMOVR4,#0F7HJNBFLAG,DISP2DJNZR1,DISP1RETDIMS:MOVR7,#250LOOPO:NOPNOPDJNZR7,LOOP0RETTAB:DBTAB:DB0C0H,0F9H,0A4H,0B0H,9$70123DB80H,90H,88H,83H,0C6H,789ABCENDH,92H,82H,0F8H;段碼表4567對(duì)應(yīng)內(nèi)容\1H,86H,8EHDEF3.4溫度控制軟件設(shè)計(jì)3.4溫度控制軟件設(shè)計(jì)運(yùn)用單片機(jī)的P0口進(jìn)行溫度控制,K1,TI,TO,K0對(duì)DS18B是系統(tǒng)就會(huì)自動(dòng)報(bào)警。通過PO.O到P0.3分別接的按鈕START:ANLP2,#00HJBP0.2,$START:ANLP2,#00HJBP0.2,$CALLDELAY1JNBP0.2,$MOVR0,#00LI:MOVA,R0MOVP2,A;顯示00;籐0=0?有鍵按下?;消除抖動(dòng);T0=1?放下?;計(jì)溫指針初值;計(jì)溫指針載入ACC;輸出至P1顯示MOVR5,#10;延時(shí)1秒A1:MOVR6,#200DI:MOVR7,#248;0.5毫秒JNBP0.2,L2;第2次按下T0?DJNZR7,$DJNZR6,D1DJNZR5,A1INCADAAMOVR0,AJMPL1L2:CALLDELAY1;第2次按消除抖動(dòng)JBP0.2,L3;放開了沒?是則;跳至L3停止JMPL2L3:MOVA,R0CALLCHANGEMOV35H,A;下限溫度存入31HJBP0.1,$;T1=0?有鍵按下?CALLDELAY1;消除抖動(dòng)JNBP0.1,$;T1=1?放開?MOVR0,#00;計(jì)溫指針初值L4:MOVA,RO;計(jì)溫指針載入ACCMOVP1,A;顯示00MOVR5,#10;延時(shí)1秒A2:MOVR6,#200D2:MOV]R7,#248;0.5毫秒JNBP0.1,L5;第二次按下T1?DJNZR7,$DJNZR6,D2DJNZR5,A2ADDA,#01HDAAMOVRO,AJMPL4L5:CALLDELAY1;第2次按消除抖動(dòng)SETBP2.1JMPLOOPSETBP2.1JMPLOOPTDOWN:MOVA,37HCLRCSUBBA,35H;將現(xiàn)在溫度值存入A;與下限溫度作比較JBP0.1,L6;放開了?是則跳至L6JMPL5L6:MOVA,R0CALLCHANGEMOV34H,A;上限溫度存入30HMOV36H,#0FFH;32H舊溫度寄存;器初值A(chǔ)AA:MOVX@R0,A;使BUS為高阻抗;并令A(yù)DC0804開始轉(zhuǎn)換WAIT:JBP0.3,ADC;檢測(cè)轉(zhuǎn)換完成否JMPWAITADC:MOVXA,@R0;將轉(zhuǎn)換好的值送入;累加器MOV37H,A;將現(xiàn)在溫度值存入33HCLRC;C=0SUBBA,36HJCTDOWN;C=0取入值較大,表示;溫度上升,C-1表示下降TUP:MOVA,37H;將現(xiàn)在溫度值存入ACLRCSUBBA,34H;與上限溫度作比較JCLOOP;C=1時(shí)表示比上限小,須加熱,;C=0表示比上限大,停止加熱

JNCLOOP;C=1JNCLOOP;C=1時(shí)表示比下限小,須加熱,;C=0表示比下限大CLRP1.1;令P1.1動(dòng)作LOOP:MOV36H,37HCLRAMOVR4,#0FFH;延時(shí)DJNZR4

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論