




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄1綜述12數(shù)字式多路溫度采集系統(tǒng)硬件電路設(shè)計(jì)22.1溫度采集電路設(shè)計(jì)22.1.1 DS18B20簡(jiǎn)介2溫度采集電路結(jié)構(gòu)52.2單片機(jī)控制電路設(shè)計(jì)6單片機(jī)芯片選擇62.2.2 AT89C51單片機(jī)工作基本電路設(shè)計(jì)62.3輸入控制電路設(shè)計(jì)72.4顯示電路設(shè)計(jì)82.4.1 LED數(shù)碼顯示管靜態(tài)顯示工作原理8顯示電路結(jié)構(gòu)9顯示電路工作過程92.5報(bào)警控制電路設(shè)計(jì)9報(bào)警控制電路結(jié)構(gòu)10報(bào)警控制電路工作過程102.6電源電路設(shè)計(jì)102.7數(shù)字式多路溫度采集系統(tǒng)元件清單112.8數(shù)字式多路溫度采集系統(tǒng)電路圖113數(shù)字式多路溫度采集系統(tǒng)程序設(shè)計(jì)123.1主程序設(shè)計(jì)123.2子程序設(shè)計(jì)123.2.1 DS1
2、8B20的通信協(xié)議12子程序133.3數(shù)字式多路溫度采集系統(tǒng)控制源程序164系統(tǒng)調(diào)試及性能分析174.1系統(tǒng)調(diào)試174.2系統(tǒng)性能分析175結(jié)束語(yǔ)18參考文獻(xiàn)19致謝20附錄21附錄(1)數(shù)字式多路溫度采集系統(tǒng)元件清單21附錄(2)數(shù)字式多路溫度采集系統(tǒng)原理圖22附錄(3)數(shù)字式多路溫度采集系統(tǒng)印刷電路板圖23附錄(4)數(shù)字式多路溫度采集系統(tǒng)控制源程序24摘 要數(shù)字式多路溫度采集系統(tǒng)由主控制器、溫度采集電路、溫度顯示電路、報(bào)警控制電路及鍵盤輸入控制電路組成。它利用單片機(jī)AT89C51做控制及數(shù)據(jù)處理器、智能溫度傳感器DS18B20做溫度檢測(cè)器、LED數(shù)碼顯示管做溫度顯示輸出設(shè)備。硬件電路比較簡(jiǎn)
3、單,成本較低,測(cè)溫范圍大,測(cè)量精度高,讀數(shù)顯示直觀,使用方便。關(guān)鍵詞:數(shù)字;溫度;傳感器;單片機(jī);控制Abstractthe digital multi-channel temperature gathering system by the master control regulator, the temperature gathering electric circuit, the temperature display circuit, reports to the police the control circuit and the keyboard entry control cir
4、cuit is composed .It makes the control and the data processor, intelligent temperature sensor DS18B20 using monolithic integrated circuit AT89C51 makes the temperature detector, the LED numerical code display tube makes the temperature demonstration output unit. The hardware electric circuit quite i
5、s simple, the cost is low, the temperature measurement scope is big, and the measuring accuracy is high, reading demonstration is direct-viewing, easy to operate.Key words: numeral; temperature; sensor; monolithic integrated circuit; control 1綜述溫度是一種最基本的環(huán)境參數(shù),人們的生活與環(huán)境溫度息息相關(guān),因此研究溫度的測(cè)量方法和裝置具有重要的意義。溫度測(cè)量
6、裝置的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個(gè)發(fā)展階段:(1)傳統(tǒng)的分立式溫度傳感器,(2)模擬集成溫度傳感器,(3)智能集成溫度傳感器。目前,國(guó)際上新型溫度傳感器正從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展。本人選擇數(shù)字式多路溫度采集系統(tǒng)設(shè)計(jì)。系統(tǒng)主要技術(shù)指標(biāo):(1)2路溫度采集電路及以上;(2)采集測(cè)溫范圍為-50+110 ;(3)溫度精度,誤差在0.1 以內(nèi);(4)顯示模塊,采用LED數(shù)碼管顯示。2數(shù)字式多路溫度采集系統(tǒng)硬件電路設(shè)計(jì)按照系統(tǒng)設(shè)計(jì)功能的要求,系統(tǒng)由5個(gè)模塊組成:主控制器、溫度采集電路1、溫度顯示電路、報(bào)警控制電路及鍵盤輸入控制電路。數(shù)字式多路溫度采集系統(tǒng)總
7、體電路結(jié)構(gòu)框圖如圖1所示。主控制器(AT89C51)多路溫度采集(DS18B20)溫度顯示器(LED)輸入控制電路(按鍵)報(bào)警控制電路(蜂鳴器)圖1 數(shù)字式多路溫度采集系統(tǒng)結(jié)構(gòu)框圖采用智能溫度傳感器(DS18B20)采集環(huán)境溫度并進(jìn)行簡(jiǎn)單的模數(shù)轉(zhuǎn)換;單片機(jī)(AT89C51)執(zhí)行程序?qū)囟葌鞲衅鱾鬏數(shù)臄?shù)據(jù)進(jìn)行進(jìn)一步的分析處理,轉(zhuǎn)換成環(huán)境對(duì)應(yīng)的溫度值,通過I/O口輸出到數(shù)碼顯示管(LED)顯示;由鍵盤輸入控制選擇某采集電路檢測(cè)溫度及顯示;報(bào)警電路對(duì)設(shè)定的最高最低報(bào)警溫度進(jìn)行監(jiān)控報(bào)警。2.1溫度采集電路設(shè)計(jì)溫度采樣處理電路由溫度傳感器、放大電路、A/D轉(zhuǎn)換電路等組成。采用分塊結(jié)構(gòu)的溫度采樣處理電路,
8、其硬件電路結(jié)構(gòu)復(fù)雜,也不便于數(shù)據(jù)的處理。采用智能溫度傳感器采樣處理電路,能夠方便的進(jìn)行溫度的采集及簡(jiǎn)單的數(shù)據(jù)處理。并且可以達(dá)到設(shè)計(jì)的技術(shù)指標(biāo)要求。本系統(tǒng)選擇智能溫度傳感器DS18B20作為溫度采集電路的核心器件。由DS18B20及輔助電路構(gòu)成溫度采集電路。 DS18B20簡(jiǎn)介(1)DS18B20的性能特點(diǎn)DS18B20是美國(guó)DALLAS半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等溫度傳感器相比,它能夠直接讀出被測(cè)溫度,并可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式,可以在93.75ms至750ms內(nèi)完成相應(yīng)9位至12位的數(shù)字量轉(zhuǎn)換。它的測(cè)溫精度可達(dá)到0.0625/L
9、SB。它的測(cè)溫范圍是-55+125。從DS18B20讀出或?qū)懭胄畔H需要一根口線,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,無需額外電源。因而選用DS18B20是恰當(dāng)?shù)?。?)DS18B20的外形和內(nèi)部結(jié)構(gòu)DS18B20采用3腳PR-35封裝,其外形和內(nèi)部結(jié)構(gòu)框圖分別如圖2、圖3所示。圖2 DS18B20外形結(jié)構(gòu) 圖3 DS18B20內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。64位光刻ROM的位結(jié)構(gòu)圖如圖4所示。64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼
10、。開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼。圖4 64位ROM結(jié)構(gòu)DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)非易失性的可電擦除E2PRAM和一個(gè)高速暫存RAM。E2PRAM包括存放高溫度和低溫度的觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。非易失性溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限。高速暫存RAM的結(jié)構(gòu)為9字節(jié)的存儲(chǔ)器,結(jié)構(gòu)圖如圖5所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息。第3、4字節(jié)是TH和TL的拷貝,每次上電復(fù)位時(shí)被刷新。第5字節(jié)為配置寄存器,用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1
11、。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。第5字節(jié)配置寄存器各位的定義如圖6所示;低5位一直為1,TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式;R1和R0決定溫度轉(zhuǎn)換的精度位數(shù)(即設(shè)置分辨率),定義方法見表1。圖5 高速緩存RAM結(jié)構(gòu)圖6 配置寄存器表1 DS18B20分辨率的定義規(guī)定R1R0分辨率/位溫度最大轉(zhuǎn)換時(shí)間/ns00110101910111293.75187.53757509位分辨率時(shí),精度為0.5/LSB;10位分辨率時(shí),精度為0.25/LSB;11位分辨率時(shí),精度為0.125/LSB;12位分辨率時(shí),精度為0.0625
12、/LSB。轉(zhuǎn)換精度越高所需轉(zhuǎn)換時(shí)間越長(zhǎng)。為了達(dá)到本系統(tǒng)的技術(shù)指標(biāo),選擇12位分辨率。 (3)DS18B20供電方式外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC降到3V時(shí),依然能夠保證測(cè)量精度。所以本系統(tǒng)采用外部電源供電方式。在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時(shí)I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時(shí)在總線上可以掛接任意多個(gè)DS18B20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。外
13、部電源供電方式如圖7所示。在外部供電方式下,DS18B20的GND引腳必須接地,不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。圖7 DS18B20外部電源供電溫度采集電路結(jié)構(gòu)溫度采集電路結(jié)構(gòu)如圖8所示。圖中給出了2路溫度采集電路,2只智能溫度傳感器DS18B20的信號(hào)輸出端都連接到單片機(jī)的P1.7端,電阻R6作為上拉電阻。如果需要增加,可以在P1.7端再連接更多的智能溫度傳感器DS18B20。工作時(shí),由程序控制讀取某智能溫度傳感器DS18B20采集的溫度數(shù)據(jù),送單片機(jī)處理。圖8 多點(diǎn)溫度采集電路2.2單片機(jī)控制電路設(shè)計(jì)單片機(jī)控制電路核心是單片機(jī)芯片,其加上工作基本電路,就可以展開控制工作。單
14、片機(jī)芯片選擇MCS8031和AT89C512都具有4個(gè)8位I/O接口,但MCS8031沒有內(nèi)部程序存儲(chǔ)器,需要外接,增加了電路的復(fù)雜性;AT89C2051和AT89C51都具有Flash ROM,可以省去外接程序存儲(chǔ)器;但AT89C2051接口少,不利于功能擴(kuò)展;故選用AT89C51。AT89C51單片機(jī)內(nèi)部結(jié)構(gòu)及主要性能特點(diǎn):40個(gè)引腳,雙列直插式封裝;有4個(gè)8位I/O接口;有全雙工增強(qiáng)型UART,可編程串行通信;2個(gè)16位定時(shí)/計(jì)數(shù)器;5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí);有片內(nèi)時(shí)鐘振蕩器(全靜態(tài)工作方式,024 MHz);有128字節(jié)內(nèi)部RAM,4KB Flash ROM(可以擦除1000次以上,
15、數(shù)據(jù)保存10年);電源控制模式靈活(時(shí)鐘可停止和恢復(fù),空閑模式,掉電模式)。2.2.2 AT89C51單片機(jī)工作基本電路設(shè)計(jì)AT89C51單片機(jī)正常工作,必須連接基本電路?;倦娐钒ňд耠娐?和復(fù)位電路4。(1)晶振電路單片機(jī)的時(shí)鐘信號(hào)通常有兩種產(chǎn)生方式:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。內(nèi)部時(shí)鐘方式是利用單片機(jī)內(nèi)部的振蕩電路產(chǎn)生時(shí)鐘信號(hào)。外部時(shí)鐘方式是把外部已有的時(shí)鐘信號(hào)引入到單片機(jī)內(nèi)。本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,電路如圖9中所示。在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體(簡(jiǎn)稱晶振),作為單片機(jī)內(nèi)部振蕩電路的負(fù)載,構(gòu)成自激振蕩器,可在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。C1和C2可以穩(wěn)定振蕩
16、頻率,并使快速起振。本電路選用晶振12MHz,C1=C2=30pF。(2)復(fù)位電路復(fù)位是使單片機(jī)處于某種確定的初始狀態(tài)。單片機(jī)工作從復(fù)位開始。在單片機(jī)RST引腳引入高電平并保持2個(gè)機(jī)器周期,單片機(jī)就執(zhí)行復(fù)位操作。復(fù)位操作有兩種基本方式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位。本設(shè)計(jì)采用后一種復(fù)位電路。電路如圖9中所示。當(dāng)RST獲得高電平,隨著電容C3的充電,RST引腳的高電平將逐漸下降。若該高電平能保持足夠2個(gè)機(jī)器周期,就可以實(shí)現(xiàn)復(fù)位操作。選擇C3=10µF,R1=10K。綜上所述,單片機(jī)控制電路如圖9所示。圖9 單片機(jī)控制電路2.3輸入控制電路設(shè)計(jì)輸入控制電路由按鍵及其接口
17、構(gòu)成,鍵盤是單片機(jī)最簡(jiǎn)單的輸入設(shè)備。常用鍵盤分為獨(dú)立式鍵盤和矩陣式鍵盤。本系統(tǒng)的輸入控制簡(jiǎn)單,采用獨(dú)立式鍵盤及接口電路5。輸入電路由2個(gè)按鈕開關(guān)、2個(gè)10歐的限流電阻組成;鍵掃描識(shí)別采用軟件查詢的方法。電路如圖10所示,各鍵功能如表2所示。圖10 按鍵輸入控制電路表2 各鍵功能按鍵鍵名功能S1第一路溫度按鍵按下,LED數(shù)碼顯示管顯示第一路溫度。S2第二路溫度按鍵按下,LED數(shù)碼顯示管顯示第二路溫度。2.4顯示電路設(shè)計(jì)顯示電路采用LED數(shù)碼管顯示。LED數(shù)碼顯示管有靜態(tài)顯示方式和動(dòng)態(tài)顯示方式,本系統(tǒng)采用串行輸出6的靜態(tài)顯示方式。利用4片串轉(zhuǎn)并芯片74LS164將控制器輸出的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)
18、輸出,用來驅(qū)動(dòng)4位LED數(shù)碼顯示管顯示數(shù)據(jù)。2.4.1 LED數(shù)碼顯示管靜態(tài)顯示工作原理LED顯示器工作于靜態(tài)顯示方式時(shí),各位的陰極(或陽(yáng)極)選擇線連接在一起并接地(或+5V);每位的段碼線分別與1個(gè)8位的鎖存器輸出連接。各LED顯示某一字符時(shí),相應(yīng)段的發(fā)光二極管恒定地導(dǎo)通或截止,直到送入另一個(gè)字符的段碼為止。靜態(tài)顯示可以得到較高的顯示亮度。靜態(tài)顯示有并行輸出和串行輸出兩種方式。并行輸出顯示的十進(jìn)制位數(shù)多時(shí),需要并行I/O接口芯片的數(shù)量較多。串行輸出可以大大節(jié)省單片機(jī)的內(nèi)部資源。2.4.2顯示電路結(jié)構(gòu)顯示電路由單片機(jī)AT89C51的P3.0端作數(shù)據(jù)輸出,連接到低位74LS164的數(shù)據(jù)輸入引腳端
19、,其余3片74LS164的數(shù)據(jù)輸入端分別接到它前面一位74LS164的數(shù)據(jù)輸出端的最高位引腳端。單片機(jī)AT89C51的P3.1、P1.4端分別接到一個(gè)與門電路的輸入端,與門電路的輸出端分別與每片74LS164的輸出允許控制端相連接。每片74LS164的輸出端分別連接到一個(gè)數(shù)碼顯示管。顯示電路結(jié)構(gòu)圖如圖11所示。圖11 顯示電路圖2.4.3顯示電路工作過程AT89C51單片機(jī)工作在串行口方式0下(移位寄存器方式),P3.0(RXD)為數(shù)據(jù)輸出端,P3.1(TXD)為移位脈沖輸出端,P1.4為74LS164允許輸出控制端。串行口發(fā)送緩沖區(qū)的數(shù)據(jù)在移位脈沖的作用下,一位一位地從P3.0口移入到74L
20、S164中,并在控制信號(hào)的控制作用下,通過LED數(shù)碼顯示管顯示。2.5報(bào)警控制電路設(shè)計(jì)報(bào)警控制電路采用壓電式蜂鳴器作發(fā)聲體,用三極管對(duì)蜂鳴器發(fā)聲進(jìn)行控制。報(bào)警控制電路結(jié)構(gòu)報(bào)警控制電路由單片機(jī)AT89C51的P3.7端作輸出,通過一個(gè)限流電阻與三極管C945的基極相連接。三極管C945集電極連接壓電蜂鳴器(BUZZER)的一端。壓電蜂鳴器的另一端連接電源。報(bào)警控制電路如圖12所示。圖12 報(bào)警工作電路2.5.2報(bào)警控制電路工作過程(1)壓電蜂鳴器工作原理壓電蜂鳴器以壓電陶瓷制作而成。壓電陶瓷是一類有將壓力與電流相互轉(zhuǎn)換能力的特殊陶瓷。當(dāng)壓電陶瓷在一定方向上受到一個(gè)壓力使其晶體結(jié)構(gòu)發(fā)生形變時(shí),它就
21、會(huì)在內(nèi)部產(chǎn)生一個(gè)電流,電流的變化與壓力的變化密切相關(guān)。反之,當(dāng)在壓電陶瓷上加上一定頻率的電壓,就會(huì)在內(nèi)部產(chǎn)生一定頻率的電流,從而就會(huì)引起壓電陶瓷微小形變,這一形變帶動(dòng)空氣發(fā)生振動(dòng)。如果頻率適當(dāng),就產(chǎn)生蜂鳴聲,可以被人耳所聽見。(2)報(bào)警控制電路工作過程報(bào)警控制信號(hào)由單片機(jī)AT89C51的P3.7端輸出,通過一個(gè)限流電阻加到三極管C945的基極。當(dāng)P3.7端的輸出信號(hào)發(fā)生變化時(shí),則三極管C945將交替的工作于截止、飽和狀態(tài),形成高低電平的波,從而使壓電蜂鳴器發(fā)出聲音。2.6電源電路設(shè)計(jì)電源電路7由變壓器、單相橋式整流電路、濾波電路和三端穩(wěn)壓電路構(gòu)成。其電路圖如圖13所示,圖中“output”端輸
22、出為+5V。圖13 電源電路電子設(shè)備中常使用輸出電壓固定的集成穩(wěn)壓器。三端式穩(wěn)壓器只有輸入、輸出和公共引出端,由啟動(dòng)電路、基準(zhǔn)電壓電路、取樣比較放大電路、調(diào)整電路和保護(hù)電路等部分組成。在本系統(tǒng)中,要求電源電壓為+5V,由于三端式穩(wěn)壓器輸出電壓固定,故在設(shè)計(jì)中選擇三端式穩(wěn)壓器L7805。三端式穩(wěn)壓器的輸入與輸出之間電壓差為23V,整流橋的輸出電壓是輸入電壓(有效值)的1.2倍,根據(jù)有效值與峰-峰值的關(guān)系選擇220V/6V的變壓器。由于L7805的最大輸出電流為1A,電壓為穩(wěn)定的+5V,輸出功率為5W,加上三端式穩(wěn)壓器L7805的消耗,故本系統(tǒng)選擇降壓比為220V/6V、功率為10W的變壓器。圖1
23、3中C4、C5為低頻濾波電容,根據(jù)經(jīng)驗(yàn)選擇電解電容,其容值分別為C4=220F、C5=47F;C6、C7為高頻濾波電容,均選0.1F的無極性電容。發(fā)光二極管用于指示電源是否接通,選擇FG1112004 發(fā)光二極管,根據(jù)FG1112004正向電流為5mA及管壓降為+2V,選擇限流電阻R5= 680。2.7數(shù)字式多路溫度采集系統(tǒng)元件清單數(shù)字式多路溫度采集系統(tǒng)元件清單,見附錄(1)。2.8數(shù)字式多路溫度采集系統(tǒng)電路圖數(shù)字式多路溫度采集系統(tǒng)原理圖,見附錄(2)(圖14)數(shù)字式多路溫度采集系統(tǒng)印刷電路板圖,見附錄(3)(圖15)3數(shù)字式多路溫度采集系統(tǒng)程序設(shè)計(jì)3.1主程序設(shè)計(jì)主程序8主要功能是控制調(diào)用子
24、程序,實(shí)現(xiàn)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量溫度值(溫度測(cè)量每1s進(jìn)行一次)。其程序流程圖如圖16所示。調(diào)用顯示子程序1s到?初次上電?讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)出溫度轉(zhuǎn)換開始命令NYYN初始化發(fā)出報(bào)警YN溫度超過報(bào)警值?調(diào)用鍵盤掃描子程序圖16 數(shù)字式多路溫度采集系統(tǒng)主程序流程圖3.2子程序設(shè)計(jì) DS18B20的通信協(xié)議根據(jù)DS18B20的通訊協(xié)議7,主機(jī)(單片機(jī)AT98C51)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行初始化操作,初始化成功后發(fā)送一條存儲(chǔ)器操作命令(ROM指令),最后處理數(shù)據(jù)(發(fā)送RAM指令),這樣才能對(duì)DS
25、18B20進(jìn)行預(yù)定的操作。所用各ROM、RAM操作指令分別如表3、表4所示。表3 ROM指令表指令約定代碼功能讀ROM33H讀DS18B20溫度傳感器ROM中的編碼(即64位地址)符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單總線上與該編碼相對(duì)應(yīng)的DS18B20使之做出響應(yīng),為下一步對(duì)該DS18B20的讀寫做準(zhǔn)備.搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個(gè)數(shù)和識(shí)別64位ROM地址。為操作各器件作好準(zhǔn)備。跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令。適用于單片工作。告警搜索命令0ECH執(zhí)行后溫度超過設(shè)定值上限或下限的片子才能做出響
26、應(yīng)。表4 RAM指令表指令約定代碼功能溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長(zhǎng)為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部9字節(jié)RAM中。讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容。寫暫存器4EH發(fā)出向內(nèi)部RAM的3、4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。3.2.2子程序(1)鍵盤掃描子程序鍵盤掃描子程序?qū)Π聪碌逆I進(jìn)行判斷,并轉(zhuǎn)到按下的相應(yīng)鍵對(duì)應(yīng)的程序段,執(zhí)行相應(yīng)的功能。其程序流程圖如圖17所示。(2)溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)送溫度轉(zhuǎn)換開始命令。在發(fā)送匹配ROM命令后,緊跟著發(fā)送要進(jìn)行測(cè)溫的DS18B20的64位ROM
27、序列(這個(gè)序列號(hào)一般由廠方提供或通過實(shí)驗(yàn)的方式獲得)。采用12位分辨率,轉(zhuǎn)換時(shí)間約為750ms。其程序流程圖如圖18所示。確定鍵號(hào)有鍵按下?開始Y轉(zhuǎn)至相應(yīng)的程序,執(zhí)行相應(yīng)的功能N其它子程序 發(fā)DS18B20復(fù)位命令命令匹配ROM、64位地址發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖17 鍵盤掃描子程序流程圖 圖18 溫度轉(zhuǎn)換命令子程序流程圖(3)讀出溫度子程序讀出溫度子程序主要功能是讀出RAM中的9個(gè)字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖19所示。(4)計(jì)算溫度子程序從DS18B20讀取出的二進(jìn)制值必須先轉(zhuǎn)換成十進(jìn)制值,才能用于字符的顯示。在系統(tǒng)采用12位轉(zhuǎn)換精度,溫度
28、寄存器里的值是以0.0625為步進(jìn)的,即溫度值為溫度寄存器里的二進(jìn)制值乘以0.0625,就是實(shí)際的十進(jìn)制溫度值。通過觀察可以發(fā)現(xiàn)一個(gè)十進(jìn)制值和二進(jìn)制值之間有很明顯的關(guān)系。低字節(jié)的高半字節(jié)乘以0.0625恰好就是原整數(shù)。因此,把二進(jìn)制的高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一個(gè)字節(jié),這個(gè)字節(jié)的二進(jìn)制值化為十進(jìn)制值后,就恰好是溫度值的百、十、個(gè)位值;剩下的低字節(jié)的低半字節(jié)化成十進(jìn)制后,就是溫度值的小數(shù)部分。小數(shù)部分因?yàn)槭前雮€(gè)字節(jié),所以二進(jìn)制值范圍是0F,轉(zhuǎn)換成十進(jìn)制小數(shù)值就是0.0625的倍數(shù)。這樣需要4位的數(shù)碼管來顯示小數(shù)部分,實(shí)際應(yīng)用不必有這么高的精度,采用1位數(shù)碼管來顯示小數(shù),可以精確到0.
29、1。表5就是二進(jìn)制和十進(jìn)制小數(shù)的近似對(duì)應(yīng)關(guān)系。其程序流程圖如圖20所示。表5 小數(shù)部分二進(jìn)制和十進(jìn)制的近似對(duì)應(yīng)關(guān)系表小數(shù)部分二進(jìn)制數(shù)0123456789ABCDEF十進(jìn)制數(shù)0011233455667889發(fā)DS18B20復(fù)位命令命令發(fā)匹配ROM、64位地址移入溫度暫存區(qū)發(fā)讀取溫度命令讀取RAM中的9個(gè)字節(jié)9字節(jié)完?結(jié)束YNYNCRC校驗(yàn)正確? 置“+”標(biāo)志計(jì)算小數(shù)位溫度BCD值計(jì)算整數(shù)位溫度BCD值溫度值取補(bǔ)碼置“”標(biāo)志溫度零下?結(jié)束YN開始圖19 讀出溫度子程序流程圖 圖20 計(jì)算溫度子程序流程圖(5)顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序9主要是對(duì)顯示緩沖區(qū)中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯
30、示位為0時(shí)將符號(hào)顯示位移入下一位。其程序流程圖如圖21所示。十位數(shù)顯示符號(hào),百位數(shù)不顯示十位數(shù)0?結(jié)束YN溫度數(shù)據(jù)移入顯示寄存器百位數(shù)0?百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào))YN 結(jié)束N設(shè)定最高溫度報(bào)警值設(shè)定值小于顯示緩沖區(qū)的值?Y發(fā)出報(bào)警圖21 顯示數(shù)據(jù)刷新子程序流程圖 圖22 報(bào)警控制子程序流程圖(6)報(bào)警控制子程序當(dāng)設(shè)定的最高報(bào)警溫度值大于顯示緩沖區(qū)中的數(shù)據(jù)時(shí),發(fā)出報(bào)警,提示溫度超過設(shè)定的最大值。其程序流程圖如圖22所示。3.3數(shù)字式多路溫度采集系統(tǒng)控制源程序數(shù)字式多路溫度采集系統(tǒng)控制源程序,見附錄(4)。4系統(tǒng)調(diào)試及性能分析4.1系統(tǒng)調(diào)試系統(tǒng)調(diào)試分為硬件調(diào)試和軟件調(diào)試兩步。(1)硬件調(diào)試硬件調(diào)
31、試比較簡(jiǎn)單,首先檢查電路的焊接是否正確及電路中有沒有虛焊等問題,然后可用萬用表測(cè)試或通電檢測(cè)電路。(2)軟件調(diào)試軟件調(diào)試以程序?yàn)橹?。先編寫一段顯示程序?qū)τ布恼9ぷ鬟M(jìn)行檢驗(yàn),然后進(jìn)行主程序、匹配ROM子程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子程序、顯示數(shù)據(jù)刷新子程序等的編程及調(diào)試。軟件調(diào)試到能顯示溫度值,而且在有溫度變化時(shí)(例如用手去接觸)顯示溫度能夠改變就基本完成軟件調(diào)試。由于DS18B20與單片機(jī)采用單線串行數(shù)據(jù)傳送,因此,對(duì)DS18B20進(jìn)行讀寫編程時(shí)必須嚴(yán)格地保證讀寫時(shí)序,否則將無法讀取測(cè)量結(jié)果。4.2系統(tǒng)性能分析用制作的測(cè)溫系統(tǒng)和已有的成品溫度計(jì)(如水銀溫度計(jì))來同時(shí)測(cè)
32、量環(huán)境溫度,并對(duì)測(cè)量的結(jié)果進(jìn)行比較分析。由比較分析及DS18B20的特點(diǎn)可得,用本系統(tǒng)進(jìn)行測(cè)溫時(shí),精度很高,誤差指標(biāo)可以限制在0.1以內(nèi);另外在-55+125的測(cè)溫范圍內(nèi)使得該系統(tǒng)完全適合一般的應(yīng)用場(chǎng)合。 5結(jié)束語(yǔ)數(shù)字式多路溫度采集系統(tǒng)具有溫度采集、顯示、簡(jiǎn)單的人機(jī)對(duì)話及報(bào)警功能。它的測(cè)溫范圍寬(-55+125),測(cè)量精度可通過編程調(diào)節(jié),最高精度可達(dá)到0.0625/LSB。本系統(tǒng)主要是適用于采集顯示溫度,不具備控制調(diào)節(jié)溫度功能。但能夠進(jìn)行硬件和軟件功能擴(kuò)展。在硬件擴(kuò)展后,通過軟件編程實(shí)現(xiàn)控制功能擴(kuò)展。例如當(dāng)環(huán)境溫度達(dá)到一定值時(shí),通過軟件編程進(jìn)行判斷,從主控制器的一個(gè)I/O端口輸出一個(gè)控制指令,
33、去驅(qū)動(dòng)外部的控制電路工作,從而調(diào)節(jié)環(huán)境溫度,使環(huán)境溫度達(dá)到人們所需的要求。因此在人們健康意識(shí)日益提高的今天有很好的市場(chǎng)推廣前景。參考文獻(xiàn)1 李光飛單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)M北京:北京航空航天大學(xué)出版社,2004:105-1062 余永權(quán)ATMEL系列單片機(jī)應(yīng)用技術(shù)M北京:北京航空航天大學(xué)出版社,2002:25-263 張毅剛單片機(jī)原理及應(yīng)用M北京:高等教育出版社,2004:31-334 李玉峰MCS-51系列單片機(jī)原理與接口技術(shù)M北京:人民郵電出版社,2004:26-275 陳明熒8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材M北京:清華大學(xué)出版社,2004:28-306 李全利單片計(jì)原理及接口技術(shù)M北京:高等
34、教育出版社,2004:117-1497 康華光電子技術(shù)基礎(chǔ)(模擬部分)M北京:高等教育出版社,1999:444、446、4558 周航慈單片機(jī)程序設(shè)計(jì)基礎(chǔ)M北京:北京航空航天大學(xué)出版社,20039 胡健單片機(jī)原理及接口技術(shù)實(shí)踐教程M北京:機(jī)械工業(yè)出版社,2004致謝經(jīng)過幾個(gè)月的努力,在指導(dǎo)教師劉道興副教授及同學(xué)的幫助下,順利完成了畢業(yè)設(shè)計(jì)。畢業(yè)設(shè)計(jì)是對(duì)大學(xué)四年所學(xué)知識(shí)的綜合運(yùn)用,也是理論走向?qū)嵺`的第一步。在此設(shè)計(jì)過程中,擴(kuò)展了知識(shí)面,增強(qiáng)了獨(dú)立思考和自學(xué)的能力,為以后走向工作崗位奠定了基礎(chǔ)。在此首先感謝母校內(nèi)江師范學(xué)院的辛勤培育之恩;其次,感謝物理學(xué)與電子信息工程系給我提供了很好的設(shè)計(jì)環(huán)境,使
35、我的設(shè)計(jì)得以順利的進(jìn)行。最后,感謝設(shè)計(jì)指導(dǎo)老師劉道興副教授,在題目選定、總體方案確立、資料收集與提供等方面給予了悉心指導(dǎo)和大力幫助,并對(duì)本系統(tǒng)的論文多次進(jìn)行認(rèn)真審閱、批注,提供了許多寶貴的修改意見。另外我還得到了同班同學(xué)的支持和鼓勵(lì),對(duì)這些同學(xué)表示誠(chéng)摯的謝意,也對(duì)參考書的作者表示感謝。附錄附錄(1)數(shù)字式多路溫度采集系統(tǒng)元件清單編號(hào)元件名稱型號(hào)及規(guī)格數(shù)量1單片機(jī)芯片AT89C5112感溫元件DS18B2023七段數(shù)碼顯示器LED44串轉(zhuǎn)并芯片74LS16445晶振12MH16按鍵-37三極管C94518壓電蜂鳴器-19整流二極管1N4007410發(fā)光二極管FG1112004111電阻10212
36、電阻100113電阻680114電阻4.7115電阻10K116電容0.1F217電容30 pF218電容47F/50V119電容100F/50V120電容220F/50V121與門74LS081附錄(2)數(shù)字式多路溫度采集系統(tǒng)原理圖圖14 數(shù)字式多路溫度采集系統(tǒng)原理圖附錄(3)數(shù)字式多路溫度采集系統(tǒng)印刷電路板圖圖15 數(shù)字式多路溫度采集系統(tǒng)印刷電路板圖附錄(4)數(shù)字式多路溫度采集系統(tǒng)控制源程序;*;*;采用4位LED共陽(yáng)顯示器顯示測(cè)溫值。;顯示精度為0.1度、測(cè)溫范圍-55125度。;用AT89C51單片機(jī)、12Mz晶振。;*;*;工作內(nèi)存區(qū)定義。BITS EQU 20HTIMEOK BIT
37、 BITS.1 ;1秒定時(shí)到標(biāo)志。TEMPON BIT BITS.2 ;第一次溫度轉(zhuǎn)換標(biāo)志。TEMPL EQU 26H ;從DS18B20中讀取溫度低位的存放處。TEMPH EQU 27H ;從DS18B20中讀取溫度高位的存放處。TEMPCL EQU 28H ;轉(zhuǎn)換后溫度的小數(shù)位與個(gè)位存放處。TEMPCH EQU 29H ;轉(zhuǎn)換后溫度的十位與百位存放處,如果溫度為負(fù),則百位為符號(hào)位。TEMPHEAD EQU 36H ;從DS18B20高速緩存RAM中讀出數(shù)據(jù)的存放處的第一位。;*;常數(shù)定義。K0 EQU P2.0 ;按鍵K0定義。K1 EQU P2.1 ;按鍵K1定義。DQ EQU P1.7
38、 ;數(shù)據(jù)傳送腳定義。;*;多路溫度采集系統(tǒng)源程序。;*ORG 0000HLJMP STARTORG 000BHLJMP DVTO ;T0中斷入口地址。;*;系統(tǒng)初始化。 ORG 0030HSTART: MOV SP,#60H ;數(shù)據(jù)存儲(chǔ)區(qū)20H80H清“0”。CLS: MOV R0,#20H MOV R1,#60HCLS1: MOV R0,#00H INC R0 DJNZ R1,CLS1 CLR P1.4 ;關(guān)移位脈沖。 CLR P3.6 ;關(guān)閉報(bào)警器。 MOV TMOD,#21H ;選擇定時(shí)器0工作方式1; MOV TH0,#0E0H ;20ms定時(shí)初值。 MOV TL0,#0B1H MOV
39、 SCON,#00H ;選擇串行口工作方式0; NOP NOP SETB ET0 ;開定時(shí)器T0。計(jì)時(shí)開始。 SETB TR0 SETB EA MOV PSW,#00H CLR TEMPONE LJMP MAIN;*;主程序。MAIN: LCALL KEYBORD ;調(diào)用鍵盤掃描子程序。LOOP1: LCALL DISP ;調(diào)用顯示子程序。 JNB TIMEOK,LOOP1 ;測(cè)溫每1秒一次。 CLR TIMEOK JNB TEMPONE,LOOP2 ;上電時(shí)先溫度轉(zhuǎn)換一次。 LCALL READTEMP ;讀出溫度值子程序。 LCALL TEMPBCD ;溫度BCD碼計(jì)算處理子程序。 LCA
40、LL DISPBCD ;顯示區(qū)BCD碼溫度值刷新子程序。 LCALL ALARM ;最高溫度報(bào)警子程序。LOOP2: LCALL TEMPCONV ;溫度開始轉(zhuǎn)換子程序。 SETB TEMPONE SJMP MAIN;*;定時(shí)器T0中斷服子程序。DVT0: PUSH PSW MOV PSW,#10H MOV TH0,#0E0H MOV TL0,#0B1H INC R7 CJNZ R7,#32H,DVT01 MOV R7,#00H SETB TIMEOK ;1秒定時(shí)到標(biāo)志。 DVT01: POP PSW RETI;*;鍵盤掃描子程序。KEYBORD: JB K0,L1 JNB K0,$ LCAL
41、L FUNCTION LJMP KEYBORD L1: JB K1,L2 JNB K1,$ LCALL FUNCTION1 LJMP KEYBORD L2: RETFUNCTION0: MOV 40H,#28H ;第一路DS18B20的64位序列號(hào)裝入存儲(chǔ)單元40H47H。 MOV 41H,#0D6H MOV 42H,#0B1H MOV 43H,#8AH MOV 44H,#00H MOV 45H,#00H MOV 46H,#00H MOV 47H,#0E3H RETFUNCTION0: MOV 40H,#28H ;第二路DS18B20的64位序列號(hào)裝入存儲(chǔ)單元40H47H。 MOV 41H,#
42、0D6H MOV 42H,#0B1H MOV 43H,#8AH MOV 44H,#00H MOV 45H,#00H MOV 46H,#01H MOV 47H,#0E3H RET;*;DS18B20復(fù)位子程序。RETET: SETB DQ NOP NOP CLR DQ MOV R6,#0A0H ;延時(shí)480us DJNZ R6,$ MOV R6,#0A0H DJNZ R6,$ SETB DQ MOV R6,#32H ;延時(shí)70us DJNZ R6,$ MOV R6,#3CHRESET1: MOV C,DQ JC RESET2 DJNZ R6,RESET1 MOV R6,#64H ;延時(shí)200us
43、 DJNZ R6,$ SJMP RESET RETRESET2: SETB DQ RET;*;讀DS18B20子程序,從DS18B20中讀出一個(gè)字節(jié)的數(shù)據(jù)。READ: MOV R7,#08H SETB DQ NOP NOPREAD1: CLR DQ NOP NOP NOP SETB DQ MOV R6,#07H ;延時(shí)15us。 DJNZ R6,$ MOV C,DQ MOV R6,#3CH ;延時(shí)120us。 DJNZ R6,$ RRC A SETB DQ DJNZ R7,READ1 MOV R6,#3CH ;延時(shí)120us。 DJNZ R6,$ RET;*;寫DS18B20子程序,給DS18
44、B20中寫入一個(gè)字節(jié)的數(shù)據(jù)。WRITE: MOV R7,#08H SETB DQ NOP NOPWRITE1: CLR DQ MOV R6,#07H ;延時(shí)15us。 DJNZ R6,$ RRC A MOV DQ,C MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ SETB DQ DJNZ R7,WRITE1 RET;*;溫度開始轉(zhuǎn)換子程序。TEMPCONV: LCALL RESET MOV A,#55H ;發(fā)送匹配ROM命令。 LCALL WRITE MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ MOV R7,#08H ;發(fā)送64位ROM編碼。 MOV R0
45、,#40HTEMPVONV1: MOV A,R0 LCALL WRITE INC R0 DJNZ R7,TEMPCONV1 ;64位ROM編碼發(fā)送完沒有? MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ MOV A,#44H ;發(fā)送啟動(dòng)溫度轉(zhuǎn)換命令。 LCALL WRITE MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ RET;*;讀出溫度值子程序。READTEMP: LCALL RESET MOV A,#55H ;發(fā)送匹配ROM命令。 LCALL WRITE MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ MOV R7,#08H ;發(fā)送64位ROM編碼。 MOV
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年河南省安全員考試題庫(kù)及答案
- 水處理劑運(yùn)輸協(xié)議
- 2025年度合伙項(xiàng)目退出合同:投資回收與風(fēng)險(xiǎn)承擔(dān)
- 教育培訓(xùn)機(jī)構(gòu)外墻裝修樣本
- 2025年度產(chǎn)品安全召回賠償協(xié)議范本
- 2025年度個(gè)人綠色建筑投資管理協(xié)議
- 2025年度解除終止勞動(dòng)合同后員工離職手續(xù)辦理指南
- 2025年度債權(quán)轉(zhuǎn)讓合同-金融資產(chǎn)重組
- 2025年度員工借調(diào)及數(shù)字化轉(zhuǎn)型合作協(xié)議
- 2025年度廣告?zhèn)髅絼趧?wù)派遣安全服務(wù)協(xié)議
- 心理評(píng)估與診斷簡(jiǎn)介
- 無痛病房管理課件
- 讓孩子變成學(xué)習(xí)的天使——由《第56號(hào)教室的奇跡》讀書分享
- 球泡檢驗(yàn)標(biāo)準(zhǔn)
- 公安筆錄模板之詢問嫌疑人(書面?zhèn)鲉局伟舶讣?
- 振動(dòng)分析基礎(chǔ)講義1
- 記賬憑證匯總表excel模板
- 鄧麗君經(jīng)典歌曲30首簡(jiǎn)譜(共33頁(yè))
- 故障診斷技術(shù)的國(guó)內(nèi)外發(fā)展現(xiàn)狀(共3頁(yè))
- 園林綠化施工通用表格模板
-
評(píng)論
0/150
提交評(píng)論