【正文】
輸入。P3的輸出緩沖器可驅(qū)動4個TTL輸入。 在訪問外部程序存儲器和16位地址的外部數(shù)據(jù)存儲器(如執(zhí)行“MOVXDPTR”指令)時,P2送出高8位地址。 此外,()和定時器/計數(shù)器2的觸發(fā)輸入(),: P2端口(~,21~28引腳)。 P1端口(~,1~8引腳):P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。作為輸出端口,每個引腳能驅(qū)動8個TTL負(fù)載,對端口P0寫入“1”時,可以作為高阻抗輸入,在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS51指令集和輸出管腳相兼容。因此選用STC89C52更適合。掉電保護(hù)方式下,RAM內(nèi)存被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到一個中斷或硬件復(fù)位為止。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的外部硬件支持,其缺點(diǎn)有:硬件電路復(fù)雜;軟件調(diào)試復(fù)雜;制作成本高。2 數(shù)字溫度計的設(shè)計方案 設(shè)計方案的確立及論證功能要求:數(shù)字式溫度計測溫范圍在55~+125℃,誤差在177。通過這次設(shè)計能夠更加了解數(shù)字溫度計的工作原理和熟悉單片機(jī)的發(fā)展和應(yīng)用,鞏固所學(xué)的知識。有的溫差電偶能測量高達(dá)3000℃的高溫。把工作端放在被測溫度處,工作端與自由端溫度不同時,就會出現(xiàn)電動勢,因而有電流通過回路。它的測量范圍為260℃至600℃左右。這種溫度計精確度很高,多用于精密測量。隨著科學(xué)技術(shù)的發(fā)展和現(xiàn)代工業(yè)技術(shù)的需要,測溫技術(shù)也不斷地改進(jìn)和提高。關(guān)鍵詞:單片機(jī);溫度傳感器;數(shù)字溫度計Design and implementation of the digital thermometer based on DS18B20Abstract:With the progress and development of era,microcontroller technology has bee popular in our life,in the work,the scientific research and various fields,has bee a relatively mature temperature measurement method and device of the highlights is very by the single chip temperature sensor and temperature measurement system can be widely applied in many fields. A practical temperature measuring method based on microcont roller and DS18B20 digital temperature sensor was presented. The selection of temperature sensor chip was discussed and the design of hardware interface circuit and related sof tware were dealt with in more details. The proposed design is simple in hardware connection lines and small in size. In addition , it is applicable for different temperature measuring systems based on DS18B20temperature sensors hung on one munication line.Key words:microcontroller。對于溫度的測量方法與裝置的研究就凸顯得非常重要。由單片機(jī)與溫度傳感器構(gòu)成的測溫系統(tǒng)可廣泛應(yīng)用于很多領(lǐng)域。temperature sensor。由于測溫范圍越來越廣,根據(jù)不同的要求,又制造出不同需要的測溫儀器。電阻溫度計分為金屬電阻溫度計和半導(dǎo)體電阻溫度計,都是根據(jù)電阻值隨溫度的變化這一特性制成的。溫差電偶溫度計是一種工業(yè)上廣泛應(yīng)用的測溫儀器。通過電學(xué)量的測量,利用已知處的溫度,就可以測定另一處的溫度。有的能測接近絕對零度的低溫。 單片機(jī)是隨著超大規(guī)模集成電路技術(shù)的發(fā)展而誕生的,由于它具有體積小、功能強(qiáng)、性價比高等特點(diǎn),所以廣泛應(yīng)用于電子儀表、家用電器、節(jié)能裝置、軍事裝置、機(jī)器人、工業(yè)控制等諸多領(lǐng)域,使產(chǎn)品小型化、智能化,既提高了產(chǎn)品的功能和質(zhì)量,又降低了成本,簡化了設(shè)計?!嬉詢?nèi),采用LCD液晶屏顯示,直接讀取測溫值。方案三:DS18B20傳感器測溫 本設(shè)計采用美國DALLAS半導(dǎo)體公司繼DS1820之后推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測元件 DS18B20可以直接讀出被測溫度值,而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有成本低和易使用的特點(diǎn)。因此可以用來開發(fā)三節(jié)5號電池供電的便攜式產(chǎn)品。按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng)由3個模塊組成;主控制器、測溫電路和顯示電路。: STC89C52 實(shí)物圖STC89C52引腳及特點(diǎn): 芯片引腳功能1. STC89C52引腳功能說明Vcc(40引腳):電源電壓。此時,P0口內(nèi)部上拉電阻有效。P1的輸出緩沖器可驅(qū)動4個TTL輸入。P2口是一個帶內(nèi)部上拉電阻的8位雙向I/。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行“MOVXR1”指令)時,P2口引腳上的內(nèi)容,在整個訪問期間不會改變。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。當(dāng)輸入連續(xù)兩個機(jī)器周期以上高電平時為有效,用來完成單片機(jī)的復(fù)位初始化操作。ALE/PROG (30引腳):地址鎖存控制信號(ALE)是訪問外部程序存儲器時鎖存低8位地址的輸出脈沖。如果需要,通過將地址位8EH的SFR的第0位置“1”,ALE操作將無效。 PSEN(29引腳):外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。注意加密方式1時,EA將內(nèi)部鎖定為RESET。XTAL2(18引腳):振蕩器反相放大器的輸入端。(2)工作電壓:~(5V單片機(jī))/~(3V單片機(jī))。(6)通用I/O口(32個),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴(kuò)展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。(10)共有3個16位定時器/計數(shù)器。(13)工作溫度范圍。(2)空閑模式:典型功耗2mA。Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS18b20是世界上第一片支持“一線總線”接口的溫度傳感器。DS1822的精度較差為177。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~,使系統(tǒng)設(shè)計更靈活、方便。②每只DS18B20具有一個獨(dú)有的,不可修改的64位序列號,根據(jù)序列號訪問地應(yīng)的器件。⑤可編輯數(shù)據(jù)為9~12位,轉(zhuǎn)換12位溫度時間為750ms(最大)。⑨DS18B20可將檢測到溫度值直接轉(zhuǎn)化為數(shù)字量,并通過串行通信的方式與主控制器進(jìn)行數(shù)據(jù)通信。開始的8位是單線產(chǎn)品系列編碼(DS1820編碼是10h);接著的48位是每個器件唯一的系列號;最后的8位是開始56位CRC檢驗(yàn)碼。在成功地執(zhí)行了ROM操作序列之后DS18B20特定的功能便可訪問,然后總線上主機(jī)可提供六個存儲器和控制功能命令之一。如果溫度測量的結(jié)果高于TH或低于TL,那么器件內(nèi)告警標(biāo)志將置位。如果某處溫度超過極限,那么可以識別出正在告警的器件并立即將其讀出而不必讀出非告警的器件。在使用CRC來確認(rèn)數(shù)據(jù)傳送的每一種情況中,總線主機(jī)必須使用上面給出的多項(xiàng)式函數(shù)計算CRC的值并把計算所得的值或者與存貯在DS18B20的64位ROM部分中的8位CRC值(ROM讀數(shù)),或者與DS18B20中計算得到的8位CRC值(在讀暫存存貯器中時,它作為第九個字節(jié)被讀出),進(jìn)行比較。暫存存貯器有助于在單線通信時確保數(shù)據(jù)的完整性。高速暫存RAM的結(jié)構(gòu)為9字節(jié)的存儲器。其中,低5位一直為1;TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,在DS18B20出廠時,該位被設(shè)置為0,用戶不要去改動;R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),即用來設(shè)置分辨率,: DS18B20分辨率R1 R0 分辨率/位 溫度最大轉(zhuǎn)換時間/ms0 0 9 0 1 10 1 0 11 3751 1 12 750 DS18B20分辨率的定義和規(guī)定 ,DS18B20溫度轉(zhuǎn)換的時間較長,而且設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間就越長。: 配置寄存器位定義當(dāng)DS18B20接受到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。:低字節(jié) 高字節(jié) 溫度數(shù)據(jù)值格式 圖中,S表示符號位。 在64位ROM的最高有效字節(jié)中存儲有循環(huán)冗余檢驗(yàn)碼(CRC)。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55℃所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器和溫度寄存器被預(yù)置在55℃所對應(yīng)的一個基數(shù)值。另外,DS18B20單線通信功能是分時完成的,有嚴(yán)格的時隙概念,因此讀/寫時序很重要。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對DS1820操作部分最好采用匯編語言實(shí)現(xiàn)。試驗(yàn)中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。 (4)在DS1820測溫程序設(shè)計中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號,一旦某個DS1820接觸不好或斷線,當(dāng)程序讀該DS1820時,將沒有返回信號,程序進(jìn)入死循環(huán)。 DS18B20采用寄生電源的電路圖當(dāng)D