版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于單片機(jī)的多點(diǎn)無(wú)線溫度監(jiān)控系統(tǒng)設(shè)計(jì)</p><p><b> 前言 </b></p><p> 在工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開(kāi)關(guān)量都是常用的主要被控參數(shù)。其中,溫度控制也越來(lái)越重要。在工業(yè)生產(chǎn)的很多領(lǐng)域中,人們都需要對(duì)各類(lèi)加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進(jìn)行檢測(cè)和控制。采用單片機(jī)對(duì)溫度進(jìn)行控制不僅具有控制方便、簡(jiǎn)
2、單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大的提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機(jī)對(duì)溫度的控制問(wèn)題是一個(gè)工業(yè)生產(chǎn)中經(jīng)常會(huì)遇到的控制問(wèn)題。 單片機(jī)是一種集CPU、RAM、ROM、I/O接口和中斷系統(tǒng)等部分于一體的器件,只需要外加電源和晶振就可實(shí)現(xiàn)對(duì)數(shù)字信息的處理和控制。因此,單片機(jī)廣泛用于現(xiàn)代工業(yè)控制中。</p><p> 隨著“信息時(shí)代”的到來(lái),作為獲取信息的手段——傳感器技術(shù)得
3、到了顯著的進(jìn)步,其應(yīng)用領(lǐng)域越來(lái)越廣泛,對(duì)其要求越來(lái)越高,需求越來(lái)越迫切。傳感器技術(shù)已成為衡量一個(gè)國(guó)家科學(xué)技術(shù)發(fā)展水平的重要標(biāo)志之一。因此,了解并掌握各類(lèi)傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的。</p><p> 由于傳感器能將各種物理量、化學(xué)量和生物量等信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),使得人們可以利用計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)測(cè)量、信息處理和自動(dòng)控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測(cè)量和控制系統(tǒng),它
4、的性能好壞直接影響系統(tǒng)的性能。因此,不僅必須掌握各類(lèi)傳感器的結(jié)構(gòu)、原理及其性能指標(biāo),還必須懂得傳感器經(jīng)過(guò)適當(dāng)?shù)慕涌陔娐氛{(diào)整才能滿足信號(hào)的處理、顯示和控制的要求,而且只有通過(guò)對(duì)傳感器應(yīng)用實(shí)例的原理和智能傳感器實(shí)例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來(lái),適應(yīng)傳感器的生產(chǎn)、研制、開(kāi)發(fā)和應(yīng)用。另一方面,傳感器的被測(cè)信號(hào)來(lái)自于各個(gè)應(yīng)用領(lǐng)域,每個(gè)領(lǐng)域都為了改革生產(chǎn)力、提高工效和時(shí)效,各自都在開(kāi)發(fā)研制適合應(yīng)用的傳感器,于是種類(lèi)繁多的新型
5、傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。溫度傳感器是其中重要的一類(lèi)傳感器。其發(fā)展速度之快,以及其應(yīng)用之廣,并且還有很大潛力。</p><p> 為了提高對(duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)溫度傳感器的深入研究以及其用法與用途,基于實(shí)用、廣泛和典型的原則而設(shè)計(jì)了本系統(tǒng)。本文利用單片機(jī)結(jié)合傳感器技術(shù)而開(kāi)發(fā)設(shè)計(jì)了這一溫度監(jiān)控系統(tǒng)。文中傳感器理論與單片機(jī)實(shí)際應(yīng)用有機(jī)結(jié)合,詳細(xì)地講述了基于單片機(jī)AT89S51和溫度傳感器DS18B20的溫
6、度控制系統(tǒng)的設(shè)計(jì)方案與軟硬件實(shí)現(xiàn)方案。系統(tǒng)包括數(shù)據(jù)采集模塊,單片機(jī)控制模塊,顯示模塊和溫度設(shè)置模塊,驅(qū)動(dòng)電路五個(gè)部分。文中對(duì)每個(gè)部分功能、實(shí)現(xiàn)過(guò)程作了詳細(xì)介紹。本設(shè)計(jì)應(yīng)用性比較強(qiáng),系統(tǒng)稍微改裝可以作為生物培養(yǎng)液溫度監(jiān)控系統(tǒng),可以做熱水器溫度調(diào)節(jié)系統(tǒng)、實(shí)驗(yàn)室溫度監(jiān)控系統(tǒng)等等。設(shè)計(jì)后的系統(tǒng)具有操作方便,控制靈活等優(yōu)點(diǎn)。</p><p><b> 1 概述</b></p><
7、;p> 1.1 課題研究的目的及意義</p><p> 隨著社會(huì)的發(fā)展,溫度的測(cè)量及控制變得越來(lái)越重要。溫度是生產(chǎn)過(guò)程和科學(xué)實(shí)驗(yàn)中普遍而且重要的物理參數(shù)。在工業(yè)生產(chǎn)過(guò)程中為了高效地進(jìn)行生產(chǎn),必須對(duì)生產(chǎn)工藝過(guò)程中的主要參數(shù),如溫度,壓力,流量,速度等進(jìn)行有效的控制。其中溫度的控制在生產(chǎn)過(guò)程中占有相當(dāng)大的比例。準(zhǔn)確測(cè)量和有效控制溫度是優(yōu)質(zhì),高產(chǎn),低耗和安全生產(chǎn)的重要條件。在工業(yè)的研制和生產(chǎn)中,為了保證生產(chǎn)
8、過(guò)程的穩(wěn)定運(yùn)行并提高控制精度,采用微電子技術(shù)是重要的途徑。它的作用主要是改善勞動(dòng)條件,節(jié)約能源,防止生產(chǎn)和設(shè)備事故,以獲得好的技術(shù)指標(biāo)和經(jīng)濟(jì)效益。</p><p> 本課題采用51單片機(jī)來(lái)對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo)。</p><p> 作為控制系統(tǒng)中的一個(gè)典型實(shí)驗(yàn)設(shè)計(jì),單片機(jī)溫度控制系統(tǒng)綜合運(yùn)用了微機(jī)原理、自動(dòng)控制原
9、理、傳感器原理、模擬電子技術(shù)、數(shù)字控制技術(shù)、鍵盤(pán)顯示技術(shù)等諸多方面的知識(shí),是對(duì)所學(xué)知識(shí)的一次綜合測(cè)試。</p><p> 1.2 課題研究現(xiàn)狀分析</p><p> 由于現(xiàn)代工藝越來(lái)越多的需要對(duì)實(shí)時(shí)溫度進(jìn)行監(jiān)測(cè)和控制,而且需要的精度越來(lái)越高。所以溫度控制系統(tǒng)國(guó)內(nèi)外許多有關(guān)人員的重視,得到了十分廣泛的應(yīng)用。溫度控制系統(tǒng)發(fā)展迅速,而且成果顯著。由于單片微處理器的性能日益提高、價(jià)格又不斷降
10、低,使其性能價(jià)格比的優(yōu)勢(shì)非常明顯。因此,如何將單片微處理器應(yīng)用到鍋爐溫度自動(dòng)控制領(lǐng)域,為越來(lái)越多的生產(chǎn)廠家所重視。</p><p> 目前先進(jìn)國(guó)家各種爐窯自動(dòng)化水平較高,裝備有完善的檢測(cè)儀表和計(jì)算機(jī)控制系統(tǒng)。其計(jì)算機(jī)控制系統(tǒng)已采用集散系統(tǒng)和分布式系統(tǒng)的形式,大部分配有先進(jìn)的控制算法,能夠獲得較好的工藝性能指標(biāo)。單片微型計(jì)算機(jī)是隨著超大規(guī)模集成電路的技術(shù)的發(fā)展而誕生的。由于它具有體積小,功能強(qiáng),性價(jià)比高等優(yōu)點(diǎn),所
11、以廣泛應(yīng)用于電子儀表,家用電器,節(jié)能裝置,軍事裝置,機(jī)器人,工業(yè)控制等諸多領(lǐng)域,使產(chǎn)品小型化,智能化,既提高了產(chǎn)品的功能和質(zhì)量又降低了成本,簡(jiǎn)化了設(shè)計(jì)。</p><p><b> 1.3 技術(shù)指標(biāo)</b></p><p> 設(shè)計(jì)并制作一個(gè)基于單片機(jī)的溫度控制系統(tǒng),能夠?qū)t溫進(jìn)行控制。爐溫可以在一定范圍內(nèi)由人工設(shè)定,并能在爐溫變化時(shí)實(shí)現(xiàn)自動(dòng)控制。若測(cè)量值高于溫度設(shè)
12、定范圍,由單片機(jī)發(fā)出控制信號(hào),經(jīng)過(guò)驅(qū)動(dòng)電路使加熱器停止工作。當(dāng)溫度低于設(shè)定值時(shí),單片機(jī)發(fā)出一個(gè)控制信號(hào),啟動(dòng)加熱器。通過(guò)繼電器的反復(fù)開(kāi)啟和關(guān)閉,使?fàn)t溫保持在設(shè)定的溫度范圍內(nèi)。</p><p> ◆溫度設(shè)定范圍為0~99℃,最小區(qū)分度為1℃,溫度控制的誤差≤1℃</p><p> ◆能夠用數(shù)碼管精確顯示當(dāng)前實(shí)際溫度值</p><p> ◆按鍵控制:設(shè)置復(fù)位鍵、加
13、一鍵、減一鍵</p><p><b> ◆越限報(bào)警</b></p><p><b> 2 總體設(shè)計(jì)</b></p><p> 2.1 系統(tǒng)設(shè)計(jì)方案論證</p><p> 實(shí)現(xiàn)溫度控制的方法主要有以下幾種。</p><p> 方案一:采用純硬件的閉環(huán)控制系統(tǒng)。該系
14、統(tǒng)的優(yōu)點(diǎn)在于速度較快,但可靠性比較差控制精度比較低、靈活性小、線路復(fù)雜、調(diào)試、安裝都不方便。且要實(shí)現(xiàn)題目所有的要求難度較大。</p><p> 方案二:FPGA/CPLD或采用帶有IP內(nèi)核的FPGA/CPLD方式。即用FPGA/CPLD完成采集,存儲(chǔ),顯示及A/D等功能,由IP核實(shí)現(xiàn)人機(jī)交互及信號(hào)測(cè)量分析等功能。這種方案的優(yōu)點(diǎn)在于系統(tǒng)結(jié)構(gòu)緊湊,可以實(shí)現(xiàn)復(fù)雜的測(cè)量與與控制,操作方便;缺點(diǎn)是調(diào)試過(guò)程復(fù)雜,成本較高。
15、</p><p> 方案三:?jiǎn)纹瑱C(jī)與高精度溫度傳感器結(jié)合的方式。即用單片機(jī)完成人機(jī)界面,系統(tǒng)控制,信號(hào)分析處理,由前端溫度傳感器完成信號(hào)的采集與轉(zhuǎn)換。這種方案克服了方案一、二的缺點(diǎn),所以本課題任務(wù)是基于單片機(jī)和溫度傳感器實(shí)現(xiàn)對(duì)溫度的控制。</p><p> 2.2 系統(tǒng)結(jié)構(gòu)框圖</p><p> 系統(tǒng)主要包括數(shù)據(jù)采集模塊,單片機(jī)控制模塊,顯示模塊和溫度設(shè)置模
16、塊,驅(qū)動(dòng)電路五個(gè)部分。系統(tǒng)框圖如圖2.2-1所示</p><p> 圖2.2-1 系統(tǒng)框圖</p><p> 其中數(shù)據(jù)采集模塊負(fù)責(zé)實(shí)時(shí)采集溫度數(shù)據(jù),采集到的溫度數(shù)據(jù)傳輸?shù)絾纹瑱C(jī),由單片機(jī)處理后的數(shù)據(jù)送顯示部分顯示。設(shè)置模塊可設(shè)置預(yù)定溫度,當(dāng)檢測(cè)到的溫度低于設(shè)定溫度時(shí),單片機(jī)控制驅(qū)動(dòng)電路啟動(dòng)加熱,并發(fā)出報(bào)警聲;當(dāng)檢測(cè)溫度高于設(shè)定溫度時(shí),停止加熱。</p><p>
17、;<b> 3 硬件設(shè)計(jì)</b></p><p> 3.1 元器件的選擇</p><p> 3.1.1 單片機(jī)選擇</p><p> 單片機(jī)的選擇在整個(gè)系統(tǒng)設(shè)計(jì)中至關(guān)重要,要滿足大內(nèi)存、高速率、通用性、價(jià)格便宜等要求,本課題選擇AT89S51作為主控芯片。</p><p> AT89S51是一個(gè)低功耗,高
18、性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S51芯片具有以下特性:&l
19、t;/p><p> ◆指令集和芯片引腳與Intel公司的8051兼容;</p><p> ◆4KB片內(nèi)在系統(tǒng)可編程Flash程序存儲(chǔ)器;</p><p> ◆時(shí)鐘頻率為0~33MHz;</p><p> ◆128字節(jié)片內(nèi)隨機(jī)讀寫(xiě)存儲(chǔ)器(RAM);</p><p> ◆32個(gè)可編程輸入/輸出引腳;</p>
20、;<p> ◆2個(gè)16位定時(shí)/計(jì)數(shù)器;</p><p> ◆6個(gè)中斷源,2級(jí)優(yōu)先級(jí);</p><p> ◆全雙工串行通信接口;</p><p><b> ◆監(jiān)視定時(shí)器;</b></p><p><b> ◆2個(gè)數(shù)據(jù)指針。</b></p><p> A
21、T89S51單片機(jī)的40個(gè)引腳中有2個(gè)專(zhuān)用于主電源引腳,2個(gè)外接晶振的引腳,4個(gè)控制或與其它電源復(fù)用的引腳,以及32條輸入輸出I/O引腳。</p><p> ◆電源引腳Vcc和Vss</p><p> Vcc(40腳):接+5V電源正端;</p><p> Vss(20腳):接+5V電源正端。</p><p> ◆外接晶振引腳XTAL
22、1和XTAL2</p><p> XTAL1(19腳):接外部石英晶體的一端。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;對(duì)于CHOMS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。</p><p> XTAL2(18腳):接外部晶體的另一端。在單片機(jī)內(nèi)部,接至片內(nèi)振蕩器的反相放大器的輸出端。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該
23、引腳作為外部振蕩信號(hào)的輸入端。對(duì)于CHMOS芯片,該引腳懸空不接。</p><p> ◆控制信號(hào)或與其它電源復(fù)用引腳有RST/VPD、ALE/P、PSE等4種形式。</p><p> RST/VPD(9腳):RST即為RESET,VPD為備用電源,所以該引腳為單片機(jī)的上電復(fù)位或掉電保護(hù)端。當(dāng)單片機(jī)振蕩器工作時(shí),該引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平,就可實(shí)現(xiàn)復(fù)位操作,使單片機(jī)復(fù)位到初始狀
24、態(tài)。</p><p> 當(dāng)VCC發(fā)生故障,降低到低電平規(guī)定值或掉電時(shí),該引腳可接上備用電源VPD(+5V)為內(nèi)部RAM供電,以保證RAM中的數(shù)據(jù)不丟失。</p><p> ALE/ P (30腳):當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE(允許地址鎖存信號(hào))以每機(jī)器周期兩次的信號(hào)輸出,用于鎖存出現(xiàn)在P0口的地址信號(hào)。</p><p> PSEN(29腳):片外程序存儲(chǔ)器讀選
25、通輸出端,低電平有效。當(dāng)從外部程序存儲(chǔ)器讀取指令或常數(shù)期間,每個(gè)機(jī)器周期PESN兩次有效,以通過(guò)數(shù)據(jù)總線口讀回指令或常數(shù)。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器期間,PESN信號(hào)將不出現(xiàn)。</p><p> EA/Vpp(31腳):EA為訪問(wèn)外部程序儲(chǔ)器控制信號(hào),低電平有效。當(dāng)EA端保持高電平時(shí),單片機(jī)訪問(wèn)片內(nèi)程序存儲(chǔ)器4KB(MS—52子系列為8KB)。若超出該范圍時(shí),自動(dòng)轉(zhuǎn)去執(zhí)行外部程序存儲(chǔ)器的程序。當(dāng)EA端保持低電平時(shí),無(wú)
26、論片內(nèi)有無(wú)程序存儲(chǔ)器,均只訪問(wèn)外部程序存儲(chǔ)器。對(duì)于片內(nèi)含有EPROM的單片機(jī),在EPROM編程期間,該引腳用于接21V的編程電源Vpp。</p><p> ◆輸入/輸出(I/O)引腳P0口、P1口、P2口及P3口</p><p> P0口(39腳~22腳):這8條引腳有兩種不同功能,分別適用于兩種不同情況。第一種情況是89S51不帶片外存儲(chǔ)器,P0口可以作為通用I/O口使用,P0.0-
27、P0.7用于傳送CPU的輸入/輸出數(shù)據(jù)。第二種情況是89S51帶片外存儲(chǔ)器,P0.0-P0.7在CPU訪問(wèn)片外存儲(chǔ)器時(shí)用于傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫(xiě)數(shù)據(jù)。 </p><p> P1口(1腳~8腳):這8條引腳和P0口的8條引腳類(lèi)似,P1.7為最高位,P1.0為最低位。當(dāng)P1口作為通用I/O口使用時(shí),P1.0-P1.7的功能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。
28、 </p><p> P2口(21腳~28腳):這組引腳的第一功能和上述兩組引腳的第一功能相同,既它可以作為通用I/O口使用。 </p><p> P3口(10腳~17腳):P3.0~P3.7統(tǒng)稱(chēng)為P3口。而且P3口的每一條引腳均可獨(dú)立定義為第1功能的輸入輸出或第2功能。P3口的第2功能見(jiàn)表3.1.1-1。</p><p> 表3.1.1-1 單片機(jī)P3口管
29、腳第2功能</p><p> AT89S51單片機(jī)引腳圖如圖3.1.1-1所示</p><p> 圖3.1.1-1 單片機(jī)引腳圖</p><p> 3.1.2 傳感器選擇</p><p> 本系統(tǒng)采用DALLAS半導(dǎo)體公司生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20采集溫度數(shù)據(jù)、測(cè)控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠(yuǎn)
30、等特點(diǎn)。 </p><p> DS18B20的性能特點(diǎn):采用單總線專(zhuān)用技術(shù),直接輸出被測(cè)溫度值(9位二進(jìn)制數(shù),含符號(hào)位),測(cè)溫范圍為-55℃-+125℃,測(cè)量分辨率為0.0625℃。</p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖3.1.2-2所示。</p>
31、<p> 圖3.1.2-2 DS18B20引腳分布圖</p><p> DS18B20高速暫存器共9個(gè)存存單元,如表3.1.2-1所示: </p><p> 表3.1.2-1 DS18B20高速暫存器</p><p> 以12位轉(zhuǎn)化為例說(shuō)明溫度高低字節(jié)存放形式及計(jì)算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)高低兩個(gè)8位的
32、RAM中,二進(jìn)制中的前面5位是符號(hào)位。如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625才能得到實(shí)際溫度。</p><p> 溫度由DALLAS 公司生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20 采集。DS18B20 測(cè)溫范圍為-55°C~+125°C,測(cè)溫分辨率可達(dá)0.0625°C,
33、被測(cè)溫度用符號(hào)擴(kuò)展的16 位補(bǔ)碼形式串行輸出。CPU 只需一根端口線就能與諸多DS18B20 通信。公司生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20 采集。DS18B20 測(cè)溫范圍為-55°C~+125°C,測(cè)溫分辨率可達(dá)0.0625°C,被測(cè)溫度用符號(hào)擴(kuò)展的16 位補(bǔ)碼形式串行輸出。</p><p> 在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是Vcc接外部電源,GND接
34、地,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。 </p><p> DS18B20有六條控制命令,如表3.1.2-3所示:</p><p> 表3.1.2-3 DS18B20控制命令</p><p> CPU對(duì)DS18B20的訪問(wèn)流程
35、是:先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。如主機(jī)控制DS18B,須經(jīng)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。</p><p> 3.2 單片機(jī)控制模塊</p><p> 控制模塊是整
36、個(gè)設(shè)計(jì)方案的核心,它控制了溫度的采集、處理與顯示、溫度值的設(shè)定與溫度越限時(shí)控制電路的啟動(dòng)。本控制模塊由單片機(jī)AT89S51及其外圍電路組成,電路如圖3.2-1所示。</p><p> 圖3.2-1 單片機(jī)控制模塊電路</p><p> 該電路采用按鍵加上電復(fù)位,S2為復(fù)位按鍵,復(fù)位按鍵按下后,復(fù)位端通過(guò)51Ω的小電阻與電源接通,迅速放電,使RST引腳為高電平,復(fù)位按鍵彈起后,電源通過(guò)
37、8.2KΩ的電阻對(duì)10KμF的電容C5重新充電,RST引腳端出現(xiàn)復(fù)位正脈沖.</p><p> AT89S51內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,但要形成時(shí)鐘脈沖,外部還需附加電路,本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,利用芯片內(nèi)部的振蕩器,然后在引腳XTAL1和XTAL2兩端跨接晶體振蕩器,就構(gòu)成了穩(wěn)定的自激振蕩器,發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路,C6和C7的值通常選擇為30pF左右,晶振Y1選擇12MHz.為了減
38、小寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器電容應(yīng)盡可能安裝得與單片機(jī)引腳XTAL1和XTAL2靠近。</p><p> 單片機(jī)的31腳(EA)接+5V電源,表示允許使用片內(nèi)ROM。</p><p> 3.3 溫度數(shù)據(jù)采集模塊</p><p> 溫度由DALLAS 公司生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20 采集。DS18B20 測(cè)溫范圍為-55&
39、#176;C~+125°C,測(cè)溫分辨率可達(dá)0.0625°C,被測(cè)溫度用符號(hào)擴(kuò)展的16 位補(bǔ)碼形式串行輸出。CPU 只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。</p><p> 本設(shè)計(jì)采用三引腳PR-35封裝的DS18B20,其引腳圖見(jiàn)圖3。Vcc接外部+5V電源,GND接地,I/O與單片機(jī)的P3.4(T0)引腳相連。</p>
40、<p><b> 3.4 顯示模塊</b></p><p> 顯示部分采用LED靜態(tài)顯示方式,共陰極的數(shù)碼管的公共端COM連接在一起接地,每位的段選線與74HC164的8位并口相連,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符,考慮到節(jié)約單片機(jī)的I/O資源,因而采用串行接口方式,外接8位移位寄存器74HC164構(gòu)成顯示電路,電路如圖3.4-1所示。<
41、;/p><p> 圖3.4-1 顯示模塊電路</p><p> 74HC164的邏輯功能介紹如下:</p><p> 當(dāng)清除端(CLEAR)為低電平時(shí),輸出端(QA-QH)均為低電平。 串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)當(dāng) A、B 有一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用下決定 Q0 的狀態(tài)。</p><p>
42、 H-高電平 L-低電平 X-任意電平 ↑-低到高電平跳變 QA0,QB0,QH0 -規(guī)定的穩(wěn)態(tài)條件建立前的電平 QAn,QGn -時(shí)鐘最近的↑前的電平。</p><p><b> 。</b></p><p> 圖3.4-2 74HC164時(shí)序圖</p><p> 在單片機(jī)的TXD(P3.1)運(yùn)行時(shí)鐘信號(hào),將顯示數(shù)據(jù)由RXD(P3.0
43、)口串行輸出至74HC164的A、B端。</p><p> 3.5 溫度設(shè)置模塊</p><p> 溫度設(shè)置部分采用獨(dú)立式按鍵,S4為溫度值加1按鍵,與單片機(jī)的P0.0口相連;S3為溫度值減1按鍵,與單片機(jī)的P0.1口相連。當(dāng)沒(méi)有鍵按下時(shí),單片機(jī)與之相連的輸入口線為高電平,當(dāng)任何一個(gè)按鍵按下時(shí),與之相連的 輸入口線被置為低電平,產(chǎn)生外中斷條件,在 中斷服務(wù)程序中讀取鍵盤(pán)值。溫度設(shè)置電
44、路如圖3.5-1所示。</p><p> 圖3.5-1 溫度設(shè)置模塊電路</p><p><b> 3.6 控制電路</b></p><p> 控制電路與單片機(jī)的P0.2口相連,由于單片機(jī)輸出控制信號(hào)非常微弱,需要用三極管來(lái)驅(qū)動(dòng)外圍電路,三極管選用NPN型的 9014,當(dāng)檢測(cè)溫度低于設(shè)定溫度時(shí),在單片機(jī)的P0.2口輸出高電平控制信號(hào),
45、使三極管9014導(dǎo)通,使繼電器兩控制端產(chǎn)生壓差,從而使繼電器吸合,常開(kāi)觸點(diǎn)接通,控制外部電路對(duì)鍋爐進(jìn)行加熱;當(dāng)檢測(cè)溫度高于設(shè)定溫度時(shí),單片機(jī)輸出低電平信號(hào),三極管截止,繼電器不吸合,外部電路停止加熱??刂齐娐冯娐穲D如圖3.6-1所示。</p><p> 圖3.6-1 控制電路</p><p><b> 4 軟件設(shè)計(jì)</b></p><p&g
46、t; 系統(tǒng)軟件要實(shí)現(xiàn)的功能如下:</p><p> 利用4只共陰數(shù)碼管,LED1顯示檢測(cè)溫度十位,LED2顯示檢測(cè)溫度個(gè)位,LED3顯示設(shè)定溫度十位,LED4顯示設(shè)定溫度個(gè)位,顯示分辨率為1℃。單片機(jī)復(fù)位后默認(rèn)設(shè)定溫度為40℃,當(dāng)每按下一次設(shè)定溫度上升按鈕ADD時(shí),設(shè)定溫度增加1℃,最高為120℃,當(dāng)每按下一次設(shè)定溫度下降按鈕DEC時(shí),設(shè)定溫度減少1℃,最低設(shè)定為0℃。當(dāng)設(shè)定溫度大于檢測(cè)溫度時(shí)加熱輸出,當(dāng)設(shè)定
47、溫度小于檢測(cè)溫度時(shí)加熱停止。</p><p> 4.1 主程序流程圖</p><p> 溫度控制程序的設(shè)計(jì)應(yīng)考慮如下:</p><p> ◆鍵盤(pán)掃描、鍵碼識(shí)別和溫度顯示;</p><p><b> ◆爐溫采樣;</b></p><p><b> ◆數(shù)據(jù)處理;</b>
48、;</p><p><b> ◆越限報(bào)警和處理。</b></p><p> 系統(tǒng)流程圖如圖4.1-1所示。</p><p> 圖4.1-1 系統(tǒng)流程圖</p><p> 4.2 溫度傳感器DS18B20工作過(guò)程及時(shí)序</p><p> DS18B20工作過(guò)程中的協(xié)議如下:</p
49、><p> 初始化——ROM操作命令——存儲(chǔ)器操作命令——處理數(shù)據(jù)</p><p> 4.2.1 初始化時(shí)序</p><p> 時(shí)序如圖4.2.1-1所示。主機(jī)總線發(fā)送復(fù)位脈沖(最短為480μS,最高時(shí)間為960μS的低電平信號(hào)),接著再釋放總線(置總線為高電平)并進(jìn)入接收狀態(tài)。DS18B20在檢測(cè)到總線的上升沿后等待15—60μS發(fā)出器件存在脈沖(低電平持續(xù)6
50、0—240μS)。初始化程序如下所示:</p><p> INIT:SETBP3.4</p><p><b> NOP</b></p><p><b> CLRP3.4</b></p><p> MOVR0,#0FFH</p><p><b> D
51、JNZR0,$</b></p><p><b> SETBP3.4</b></p><p> MOVR0,#100</p><p> LIU:JNBP3.4,IT3</p><p> DJNZR0,LIU</p><p><b> CLR38H<
52、;/b></p><p><b> SJMPIT7</b></p><p> IT3: SETB38H</p><p> IT7: MOV R0,#240</p><p><b> DJNZR0,$</b></p><p><b&
53、gt; SETBP3.4</b></p><p><b> RET</b></p><p> 圖4.2.1-1 初始化時(shí)序圖</p><p> 此初始化程序功能為:檢測(cè)DS18B20是否存在,如存在,將位地址38H置1;如不存在,將位地址38H清零。</p><p><b> 4.2.
54、2寫(xiě)時(shí)序</b></p><p> 單片機(jī)寫(xiě)DS18B20的時(shí)序如圖4.2.2-2所示,當(dāng)主機(jī)總線從高拉至低電平時(shí)就產(chǎn)生寫(xiě)時(shí)間隙,DS18B20在檢測(cè)到下降沿后15μS時(shí)開(kāi)始采樣總線上的電平,所以15μS之內(nèi)應(yīng)將所需寫(xiě)的位送到總線上,DS18B20再15—60μS間對(duì)總線采樣,每寫(xiě)一位總時(shí)間必須在60—120μS之間完成。若低電平寫(xiě)入的位是0,高電平寫(xiě)入的位是1,連續(xù)寫(xiě)時(shí)位間的間隙應(yīng)大于1μS。程序
55、如下所示:</p><p> WRITER:MOVR0,#8</p><p> WR1:CLRP3.4</p><p><b> MOVR4,#6</b></p><p><b> DJNZR4,$</b></p><p><b> RRC
56、A</b></p><p> MOVP3.4,C</p><p> MOVR4,#40</p><p><b> DJNZR4,$</b></p><p><b> SETBP3.4</b></p><p><b> NOP</b
57、></p><p> DJNZR0,WR1</p><p><b> SETBP3.4</b></p><p><b> RET</b></p><p> 圖4.2.2-1 單片機(jī)寫(xiě)DS18B20時(shí)序圖</p><p><b> 4.2.3讀時(shí)
58、序</b></p><p> 單片機(jī)讀DS18B20的時(shí)序如圖4.2.3-1所示,單片機(jī)主動(dòng)產(chǎn)生一個(gè)下降沿的啟動(dòng)信號(hào),并維持低電平大于1μS后釋放總線,15μS后DS18B20占主動(dòng)權(quán),DS18B20會(huì)將數(shù)據(jù)按位放在總線上(低位在先,當(dāng)讀取兩個(gè)字節(jié)的溫度值時(shí),低字節(jié)在先),這時(shí)單片機(jī)可讀取信號(hào),讀取一位的時(shí)間應(yīng)在60μS內(nèi)完成。當(dāng)需要讀取下一位時(shí)再產(chǎn)生下降沿啟動(dòng)信號(hào)。</p><
59、p> 圖4.2.3-1 單片機(jī)讀DS18B20的時(shí)序圖</p><p> READ:SETBRS0</p><p><b> MOVR4,#2</b></p><p> MOVR0,#36H</p><p> RE1:MOVR5,#8</p><p> RE2:C
60、LRC</p><p><b> SETBP3.4</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> CLRP3.4</b></p><p><
61、b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETBP3.4</b></p><p><b> MOVR6,#7</b></p&g
62、t;<p><b> DJNZR6,$</b></p><p> MOVC,P3.4</p><p> MOVR6,#20</p><p><b> DJNZR6,$</b></p><p><b> RRCA</b></p>&
63、lt;p> DJNZR5,RE2</p><p><b> MOV@R0,A</b></p><p><b> DECR0</b></p><p> DJNZR4,RE1</p><p><b> CLRRS0</b></p><p
64、><b> NOP</b></p><p><b> RET</b></p><p> 此程序功能為:讀取DS18B20 A/D轉(zhuǎn)換后的溫度值,轉(zhuǎn)換后的二進(jìn)制存入36H、35H單元,默認(rèn)為12位轉(zhuǎn)換,低8位存入36H單元,高8位存入35H單元(35H單元的高5位均為符號(hào)位,所以判斷符號(hào)只需判斷低12位數(shù)據(jù)的最高位即可)。1表示為零度以
65、下,0表示零度以上,實(shí)際有效位為11位。</p><p><b> 5 系統(tǒng)調(diào)試</b></p><p> 5.1 測(cè)試環(huán)境 </p><p><b> 環(huán)境溫度為:23℃</b></p><p> 測(cè)試儀器: 標(biāo)準(zhǔn)溫度計(jì)、加熱工具(此處選用燒熱的電烙鐵)、制冷工具(此處選用冰塊)&l
66、t;/p><p><b> 5.2 測(cè)量方法</b></p><p> 系統(tǒng)溫度測(cè)量的準(zhǔn)確度。我們將標(biāo)準(zhǔn)溫度計(jì)和溫度控制系統(tǒng)的探頭放在一起,選定若干不同溫度點(diǎn),記錄下標(biāo)準(zhǔn)溫度計(jì)的溫度和溫度控制系統(tǒng)測(cè)量顯示的溫度進(jìn)行比較。</p><p> 設(shè)定開(kāi)啟加熱溫度,改變環(huán)境溫度,驗(yàn)證檢測(cè)到的溫度高于設(shè)定溫度時(shí)是否停止加熱,檢測(cè)到的溫度小于設(shè)定溫度時(shí)
67、是否啟動(dòng)加熱。</p><p><b> 5.3 測(cè)試結(jié)果</b></p><p> ◆本系統(tǒng)測(cè)量顯示溫度與標(biāo)準(zhǔn)溫度計(jì)測(cè)量溫度對(duì)比如表5.3-1所示。</p><p> 表5.3-1 溫度測(cè)量準(zhǔn)確度</p><p> 根據(jù)溫度測(cè)量數(shù)據(jù)的對(duì)比可知,本系統(tǒng)能夠準(zhǔn)確地測(cè)量并顯示環(huán)境溫度。</p>&l
68、t;p> ◆設(shè)定不同的開(kāi)啟加熱溫度,改變溫度,系統(tǒng)工作情況如表5.3-2所示。</p><p> 表5.3-2 系統(tǒng)加熱測(cè)量</p><p> 發(fā)光二極管亮表示啟動(dòng)加熱,滅表示停止加熱。根據(jù)表5.3-2可知,系統(tǒng)可以自由設(shè)定不同的加熱溫度,溫度設(shè)定當(dāng)環(huán)境溫度低于設(shè)定溫度時(shí)系統(tǒng)啟動(dòng)加熱,當(dāng)環(huán)境溫度高于或等于設(shè)定溫度時(shí),系統(tǒng)停止加熱。</p><p>
69、經(jīng)過(guò)反復(fù)測(cè)試,系統(tǒng)溫度設(shè)定范圍為0~120℃,最小區(qū)分度為1℃,溫度控制的誤差≤1℃;能夠測(cè)量并用數(shù)碼管顯示當(dāng)前實(shí)際溫度值;通過(guò)復(fù)位鍵可以使系統(tǒng)設(shè)定溫度還原默認(rèn)值,通過(guò)加一鍵和減一鍵可以以1℃步進(jìn)設(shè)置預(yù)定溫度;環(huán)境溫度低于設(shè)定溫度時(shí),啟動(dòng)加熱,紅色發(fā)光二極管點(diǎn)亮,環(huán)境溫度高于或等于設(shè)定溫度時(shí),停止加熱,紅色發(fā)光二極管滅。達(dá)到了課題要求的技術(shù)指標(biāo)。</p><p><b> 5 結(jié)束語(yǔ)</b&g
70、t;</p><p> 本設(shè)計(jì)詳細(xì)介紹了基于單片機(jī)AT89S51的溫度控制系統(tǒng)的設(shè)計(jì)方案與軟硬件實(shí)現(xiàn)。系統(tǒng)包括數(shù)據(jù)采集模塊,單片機(jī)控制模塊,顯示模塊和溫度設(shè)置模塊,驅(qū)動(dòng)電路五個(gè)部分。文中對(duì)每個(gè)部分功能、實(shí)現(xiàn)過(guò)程作了詳細(xì)介紹。完成了課題既定的任務(wù),達(dá)到了預(yù)期的目標(biāo)。系統(tǒng)具有如下特點(diǎn):</p><p> 采用智能溫度傳感器DS18B20采集溫度數(shù)據(jù),簡(jiǎn)化了硬件電路設(shè)計(jì),溫度采集數(shù)據(jù)更加精準(zhǔn)
71、;</p><p> AT89S51單片機(jī)的采用,有利于功能擴(kuò)展;</p><p> 電路設(shè)計(jì)充分考慮了系統(tǒng)可靠性和安全性。</p><p> 本系統(tǒng)沒(méi)有增加外部存儲(chǔ)器,設(shè)定溫度不能保存,斷電復(fù)位后必須重新設(shè)置溫度;采用靜態(tài)顯示方式,從而使用了較多的驅(qū)動(dòng)芯片,增加了硬件電路的復(fù)雜性;只使用兩位顯示,即顯示溫度的十位、個(gè)位,沒(méi)有充分發(fā)揮DS18B20的特性。&l
72、t;/p><p> 本設(shè)計(jì)軟件和硬件相結(jié)合,有相當(dāng)大的難度,同時(shí)也有很大的實(shí)用性。在做畢業(yè)設(shè)計(jì)的過(guò)程中,我的理論和實(shí)踐水平都有了較大的提高。在本課題的設(shè)計(jì)中,我熟練掌握了單片機(jī)硬件設(shè)計(jì)和接口技術(shù),同時(shí)對(duì)溫度傳感器的原理及應(yīng)用有了一定的了解,掌握了各種控制電路及其相關(guān)元器件的使用。通過(guò)這次畢業(yè)設(shè)計(jì),我不僅學(xué)會(huì)如何將所學(xué)專(zhuān)業(yè)知識(shí)運(yùn)用到實(shí)際生活中,還學(xué)會(huì)如何克服未知的困難,解決難題的方法。</p><
73、p> 四年的本科學(xué)習(xí)生涯即將結(jié)束,在本人做畢業(yè)設(shè)計(jì)中,得到了我的導(dǎo)師XX的悉心指導(dǎo)和無(wú)私幫助。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和謙和的為人給我留下了深刻的印象。</p><p> 雖然××老師公務(wù)繁忙,教學(xué)任務(wù)重,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從查閱資料到設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì),實(shí)物制作等整個(gè)過(guò)程中都給予了我悉心的指導(dǎo)。在課題實(shí)施階段,感謝實(shí)驗(yàn)室的老師XX對(duì)我的幫助和實(shí)驗(yàn)器材、場(chǎng)
74、地的支持。</p><p> 其次要感謝大學(xué)四年來(lái)所有的授課老師,為我們打下電子專(zhuān)業(yè)知識(shí)的基礎(chǔ);同時(shí)還要感謝所有的同學(xué)們,正是因?yàn)橛辛四銈兊闹С趾凸膭?lì)。此次畢業(yè)設(shè)計(jì)才會(huì)順利完成。</p><p> 最后我要深深地感謝我的家人,正是他們含辛茹苦地把我養(yǎng)育成人,在生活和學(xué)習(xí)上給予我無(wú)盡的愛(ài)、理解和支持,才使我時(shí)刻充滿信心和勇氣,克服成長(zhǎng)路上的種種困難,順利的完成大學(xué)學(xué)習(xí)。</p>
75、;<p> 還有許許多多給予我學(xué)業(yè)上鼓勵(lì)和幫助的師長(zhǎng)、朋友,在此無(wú)法一一列舉,在此也表示忠心地感謝!</p><p> 大學(xué)生活的結(jié)束,也是我人生新的生活起點(diǎn),我將謹(jǐn)記老師們的教誨,將自己的所學(xué)奉獻(xiàn)給社會(huì)。</p><p><b> 附錄</b></p><p><b> 附錄1:系統(tǒng)總原理</b>&
76、lt;/p><p> 附錄2:系統(tǒng)PCB圖</p><p><b> 附錄3:源程序清單</b></p><p> //………………………..主程序及初始化程序……………………//</p><p> KEY_ADDBITP0.0</p><p> KEY_DECBITP0.1<
77、/p><p> OUTPUTBITP0.2</p><p> ORG0000H</p><p> LJMPMAIN</p><p> ORG0100H</p><p> MAIN:MOVSP,#60H</p><p> MOV4AH,#15 ;單片機(jī)復(fù)
78、位后默認(rèn)設(shè)定溫度為15℃</p><p> MOV4BH,#0</p><p> CLROUTPUT</p><p> MAAI:LCALLTEMPER1</p><p> LCALLDISPLAY</p><p> LCALLKEYSCAN</p><p>
79、LCALLOUT</p><p> SJMPMAAI</p><p> //………………………DS18B20初始化程序………………………//</p><p> TEMPER1:LCALLINIT</p><p> JNB38H,TEMPER1</p><p> MOVA,#0CCH<
80、/p><p> LCALLWRITER</p><p> MOVA,#44H</p><p> LCALLWRITER</p><p> TE3:LCALLINIT</p><p> MOVA,#0CCH</p><p> LCALLWRITER</p&g
81、t;<p> MOVA,#0BEH</p><p> LCALLWRITER</p><p> LCALLREAD</p><p><b> NOP</b></p><p><b> RET</b></p><p> INIT:SETB
82、P3.4 ;置1</p><p><b> NOP</b></p><p> CLRP3.4 ;清零</p><p> MOVR0,#0FFH</p><p> DJNZR0,$</p><p> SETBP3.
83、4</p><p> MOVR0,#100</p><p> LIU:JNBP3.4,IT3</p><p> DJNZR0,LIU</p><p><b> CLR38H</b></p><p><b> SJMPIT7</b></p
84、><p> IT3:SETB38H</p><p> IT7:MOVR0,#240</p><p> DJNZR0,$</p><p> SETBP3.4</p><p><b> RET</b></p><p> //………………………DS
85、18B20寫(xiě)數(shù)據(jù)………………………//</p><p> WRITER:MOVR0,#8 </p><p> WR1:CLRP3.4</p><p> MOVR4,#6</p><p> DJNZR4,$</p><p><b> RRCA</b&g
86、t;</p><p> MOVP3.4,C</p><p> MOVR4,#40</p><p> DJNZR4,$</p><p> SETBP3.4</p><p><b> NOP</b></p><p> DJNZR0,WR1<
87、/p><p> SETBP3.4</p><p><b> RET</b></p><p> //………………………DS18B20讀數(shù)據(jù)………………………//</p><p> READ:SETBRS0 ;選擇工作寄存器組1</p><p> MOVR
88、4,#2</p><p> MOVR0,#36H ;從36H單元開(kāi)始存</p><p> RE1:MOVR5,#8</p><p> RE2:CLRC</p><p> SETBP3.4</p><p><b> NOP</b></p>
89、<p><b> NOP</b></p><p><b> CLRP3.4</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b>
90、</p><p> SETBP3.4</p><p> MOVR6,#7</p><p> DJNZR6,$</p><p> MOVC,P3.4</p><p> MOVR6,#20</p><p> DJNZR6,$</p><p>
91、;<b> RRCA</b></p><p> DJNZR5,RE2</p><p> MOV@R0,A</p><p><b> DECR0</b></p><p> DJNZR4,RE1</p><p><b> CLRRS0
92、</b></p><p><b> NOP</b></p><p><b> RET</b></p><p> //………………………顯示程序………………………//</p><p> DISPLAY:CLR7FH</p><p><b>
93、CLR7EH</b></p><p> MOVA,36H</p><p> ANLA,#0FH</p><p> MOV40H,A</p><p> MOVA,36H</p><p><b> SWAPA</b></p><p>
94、; ANLA,#0FH</p><p> MOV41H,A</p><p> MOVA,35H</p><p><b> SWAPA</b></p><p> ANLA,#0F0H</p><p> ORLA,41H</p><p>
95、JBACC.7,FU</p><p> MOV41H,A</p><p> MOVB,#100</p><p><b> DIVAB</b></p><p> MOV53H,A</p><p><b> MOVA,B</b></p&
96、gt;<p> MOVB,#10</p><p><b> DIVAB</b></p><p> MOV52H,A</p><p> MOV51H,B</p><p> MOVA,40H</p><p> CJNEA,#8,PD</p>
97、;<p> MOV50H,#5</p><p> PD:JCXIAO</p><p> MOV50H,#5</p><p> SJMPEXIT</p><p> XIAO:MOV50H,#0</p><p> EXIT:AJMPEXIT1</p>
98、<p> FU:MOV41H,A</p><p> MOVA,40H</p><p><b> CPLA</b></p><p> ANLA,#0FH</p><p><b> INCA</b></p><p> JBA
99、CC.4,FU1</p><p><b> SJMPFU5</b></p><p> FU1:SETB7FH</p><p> ANLA,#0FH</p><p> FU5:CJNEA,#8,FU2</p><p> MOV50H,#5</p>&l
100、t;p><b> SJMPFU3</b></p><p> FU2:JCFU4</p><p> MOV50H,#5</p><p> SJMPFU3</p><p> FU4:MOV50H,#0</p><p> FU3:MOVA,41H<
101、;/p><p><b> CPLA</b></p><p> MOVC,7FH</p><p> ADDCA,#0</p><p><b> SETB7EH</b></p><p> MOVB,#10</p><p><
102、b> DIVAB</b></p><p> MOV52H,A ;取溫度十位送52H</p><p> MOV51H,B ;取溫度個(gè)位送51H</p><p> EXIT1:MOVA,4AH</p><p> MOVB,#100</p>&
103、lt;p><b> DIVAB</b></p><p> MOV4FH,A</p><p><b> MOVA,B</b></p><p> MOVB,#10</p><p><b> DIVAB</b></p><p
104、> MOV4EH,A ;取得設(shè)定溫度十位送4EH單元</p><p> MOV4CH,B ;取得設(shè)定溫度個(gè)位送4CH單元</p><p> MOVDPTR,#TAB</p><p> MOVA,4CH ;取得設(shè)定溫度個(gè)位段碼并通過(guò)串口送出顯示</p><p&
105、gt; MOVCA,@A+DPTR</p><p> MOVSBUF,A</p><p> JNBTI,$</p><p><b> CLRTI</b></p><p> MOVA,4EH ;取得設(shè)定溫度十位段碼并通過(guò)串口送出顯示</p><p>
106、; MOVCA,@A+DPTR</p><p> MOVSBUF,A</p><p> JNBTI,$</p><p><b> CLRTI</b></p><p> MOVA,51H ;取得檢測(cè)溫度個(gè)位段碼并通過(guò)串口送出顯示</p><p>
107、 MOVCA,@A+DPTR</p><p> MOVSBUF,A</p><p> JNBTI,$</p><p><b> CLRTI</b></p><p> MOVA,52H ;取得檢測(cè)溫度十位段碼并通過(guò)串口送出顯示</p><p> M
108、OVCA,@A+DPTR</p><p> MOVSBUF,A</p><p> JNBTI,$</p><p><b> CLRTI</b></p><p> SJMPEXIT3</p><p> //EXIT2:MOVA,#40H</p>&
109、lt;p> //MOVSBUF,A</p><p> //JNBTI,$</p><p><b> //CLRTI</b></p><p> EXIT3:NOP</p><p> ACALLDELAY</p><p><b> RET</b&g
110、t;</p><p> //………………………數(shù)字碼表………………………// </p><p> TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,3EH,0E0H,0EFH,0E6H</p><p> //………………………延時(shí)程序………………………//</p><p> DELAY:MOV58H,#15
111、0 ;延時(shí)約20ms</p><p> DE:MOV59H,#100</p><p> DJNZ59H,$</p><p> DJNZ58H,DE</p><p><b> NOP</b></p><p><b> RET</b>&
112、lt;/p><p> //………………………鍵盤(pán)掃描程序………………………//</p><p> KEYSCAN:JB7DH,SCAN1</p><p> JBKEY_ADD,SCAN2</p><p> DJNZR0,$</p><p> JBKEY_ADD,SCAN2</p>
113、<p><b> SETB7DH</b></p><p> MOVA,4BH</p><p> JNZSCAN3</p><p> MOV4BH,#5</p><p> SJMPSCAN2</p><p> SCAN3:MOV4BH,#0<
114、/p><p> MOVA,4AH</p><p> CJNEA,#120,SCAN5 ;判斷設(shè)置溫度是否到上限120℃</p><p> MOV4AH,#120</p><p> SJMPSCAN2</p><p> SCAN5:INC4AH</p><
115、p> SCAN1:JNBKEY_ADD,SCAN2</p><p><b> CLR7DH</b></p><p> SCAN2:JB7CH,SCAN11</p><p> JBKEY_DEC,SCAN12</p><p> DJNZR0,$</p><p
116、> JBKEY_DEC,SCAN12</p><p><b> SETB7CH</b></p><p> MOVA,4BH</p><p> JZSCAN13</p><p> MOV4BH,#0</p><p> SJMPSCAN12</p&g
117、t;<p> SCAN13:MOVA,4AH</p><p> CJNEA,#0,SCAN14 ;判斷設(shè)置溫度是否到下限0℃</p><p> MOV4AH,#10</p><p> MOV4BH,#0</p><p> SJMPSCAN12</p><p
118、> SCAN14:DEC4AH</p><p> MOV4BH,#5</p><p> SCAN11:JNBKEY_DEC,SCAN12</p><p><b> CLR7CH</b></p><p> SCAN12:NOP</p><p><b>
119、; RET</b></p><p> //………………………輸出控制程序………………………//</p><p> OUT:MOVA,41H</p><p> JBACC.7,OUT1</p><p> CJNEA,4AH,OUT2</p><p> MOVA,40H</
120、p><p> CJNEA,4BH,OUT3</p><p> SJMPOUT4</p><p> CLROUTPUT ;如果大于,就停止加熱</p><p> SJMPOUT4</p><p> OUT3:JCOUT5</p><p> CLR
121、OUTPUT</p><p> SJMPOUT4</p><p> OUT5:SETBOUTPUT ;如果檢測(cè)溫度小于設(shè)定溫度就啟動(dòng)加熱</p><p><b> OUT4:NOP</b></p><p><b> RET</b></p><p
122、><b> END</b></p><p><b> 參考文獻(xiàn):</b></p><p> [1]孫育才:MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用,第4版,東南大學(xué)出版社,2006.2,P43-P72</p><p> [2]王慶:Protel 99 SE&DXP電路設(shè)計(jì)教程,電子工業(yè)出版社,2008.
123、6,P52-P109</p><p> [3]康華光:電子技術(shù)基礎(chǔ)模擬部分,第4版,高等教育出版社,2006.8,P25-P85 </p><p> [4]劉軍:?jiǎn)纹瑱C(jī)原理與接口技術(shù),華東理工大學(xué)出版社,2006.5,P61-P106</p><p> [5]賴壽宏:微型計(jì)算機(jī)控制技術(shù),機(jī)械工業(yè)出版社,2009.6,P36-P87</p><
124、;p> [6]李中望:一種智能火災(zāi)報(bào)警系統(tǒng)的設(shè)計(jì)方案,安防科技,2008.3,P72-P126</p><p> [7]王忠:基于單片機(jī)的語(yǔ)音數(shù)字聯(lián)網(wǎng)火災(zāi)報(bào)警器設(shè)計(jì),現(xiàn)代電子技術(shù),2004.10,P19-P54</p><p> [8]程 周:可編程序控制器原理與應(yīng)用,高等教育出版社,2006.4,P76-P136</p><p> [9]王永華:現(xiàn)
125、代電氣控制及PLC 應(yīng)用,北京航空航天大學(xué)出版社,2007.6,P56-P98</p><p> [10]吳中俊、黃永紅:可編程序控制器原理及應(yīng)用,機(jī)械工業(yè)出版社,2008.8,P26-P83 </p><p> [11]張萬(wàn)忠、劉明芹:電器與PLC控制技術(shù),化學(xué)工業(yè)出版社,2009.6,P57-P132</p><p> [12]王兆義:實(shí)時(shí)服務(wù)可編程序控制
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)控制的糧倉(cāng)多點(diǎn)溫度監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)的設(shè)計(jì)
- 基于單片機(jī)的溫度監(jiān)控系統(tǒng)(畢業(yè)設(shè)計(jì))
- 基于單片機(jī)的溫度監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)多點(diǎn)溫度控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的實(shí)時(shí)溫度監(jiān)控系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--單片機(jī)溫度監(jiān)控系統(tǒng)設(shè)計(jì)報(bào)告
- 畢業(yè)設(shè)計(jì)----單片機(jī)溫度監(jiān)控系統(tǒng)設(shè)計(jì)報(bào)告
- 基于單片機(jī)的多點(diǎn)無(wú)損溫度監(jiān)控系統(tǒng).pdf
- 電氣畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告--基于單片機(jī)的多點(diǎn)溫度控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的多點(diǎn)溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的溫度監(jiān)控器設(shè)計(jì)-畢業(yè)設(shè)計(jì)論文
- 基于atc單片機(jī)的多點(diǎn)溫度測(cè)量系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的溫度采集系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)溫度測(cè)量系統(tǒng)的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)的設(shè)計(jì).doc
- 基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)的設(shè)計(jì).doc
- 單片機(jī)課程設(shè)計(jì)—基于51單片機(jī)的溫度監(jiān)控系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的無(wú)線溫度檢測(cè)系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論