李皓楠
(張家口市技師學(xué)院(張家口機(jī)械工業(yè)學(xué)校),河北 張家口 075000)
在高新技術(shù)的推動(dòng)下,我們正跨入真正的數(shù)字化、智能化、網(wǎng)絡(luò)化的時(shí)代。溫度不僅是一個(gè)重要的物理量,還是在進(jìn)行工業(yè)生產(chǎn)的時(shí)候所需要的重要工藝參數(shù)之一。所以,對(duì)溫度的測量技術(shù)與溫度測量儀器是一個(gè)很有必要進(jìn)行探究的課題。隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)伸入到各個(gè)領(lǐng)域,而單片機(jī)的數(shù)字溫度計(jì)與傳統(tǒng)的水銀溫度計(jì)相比,不僅讀數(shù)方便,測量溫度的范圍也比較廣泛,會(huì)用數(shù)字來表示測量的溫度。
隨著我國科技的進(jìn)步和現(xiàn)代工業(yè)技術(shù)的需求,溫度測量技術(shù)也隨著時(shí)代的發(fā)展而不斷地改進(jìn)。隨著測量溫度的范圍越來越廣,我們根據(jù)社會(huì)對(duì)于不同測溫的需求,制造出了在不同情況下可以進(jìn)行測溫的專業(yè)儀器。
氣體型的溫度計(jì)大多是以氫氣或是氦氣作為能夠測量溫度的物質(zhì),在一般情況下,這兩種氣體在液化之后的溫度與絕對(duì)零度是非常接近的,所以這種氣體型的測溫范圍很廣泛。但是,這種溫度計(jì)的精準(zhǔn)性要求很高,所以大多數(shù)都用于精密測量上。
具有溫差性的電偶溫度計(jì)是一種在工業(yè)中經(jīng)常用到的測量溫度儀器。它的原理主要就是利用溫差電的原理制作而成的,通過將兩種不同性質(zhì)的金屬絲進(jìn)行焊接,將其作為溫度計(jì)的工作端,而金屬絲的另外兩端和溫度計(jì)測量溫度的儀器進(jìn)行連接,從而形成了溫度計(jì)運(yùn)作的電路。在點(diǎn)偶溫度計(jì)工作的時(shí)候,可以將金屬絲工作的一端放在測量溫度的地方,當(dāng)兩端的溫度有所不同時(shí),就能夠形成電流的電動(dòng)勢,此時(shí)會(huì)有一定的電流經(jīng)過由金屬絲連接的電路。而這種形成溫差的電偶溫度計(jì)大多是通過兩種溫差大的物質(zhì)進(jìn)行溫度測量,像“銅-康銅、鐵-康銅”,一個(gè)用于高溫的測量,一個(gè)用作低溫測量。
DS18B20 是一種無需經(jīng)過其他變化電路,直接輸出被測溫度數(shù)字量的溫度傳感器,它采用單總線專用技術(shù),可通過串行口線或其他I/O 口線與計(jì)算機(jī)接口相連,支持多器件擴(kuò)展,使用相當(dāng)方便。測溫范圍為-550℃~+1250℃,其分辨率為0.50℃,最高可達(dá)0.006250℃。
本設(shè)計(jì)主要是在溫度檢測部分利用了一款新型的溫度檢測芯片DS18B20,這個(gè)芯片大大簡化了溫度檢測模塊的設(shè)計(jì),它無需A/D 轉(zhuǎn)換,可直接將測得的溫度值以二進(jìn)制形式輸出。
DS18B20 采用3 腳TO-92 封裝,外形如同普通的半導(dǎo)體三極管,除此之外,DS18B20 也有8 腳的SOIC封裝及6 腳的TSOC 封裝等形式。
S18B20 與DS1820 這兩種數(shù)字溫度傳感器在測量溫度時(shí)的工作原理和讀寫的順序是一樣的,只不過就是最后得到的溫度值位數(shù)會(huì)因?yàn)閭鞲衅鞯姆直媛识兊貌煌?。在溫度轉(zhuǎn)換的過程中,DS1820 的延時(shí)時(shí)間一般都是從2s 減到750ms[1]。一般情況來講,低溫度系數(shù)晶振的振動(dòng)頻率很少會(huì)受到溫度的影響而變化,主要的原理是將頻率穩(wěn)定的脈沖信號(hào)傳送到計(jì)數(shù)器1。而高溫度系數(shù)晶振則與其相反,會(huì)隨著振動(dòng)頻率的改變而改變,將產(chǎn)生的頻率轉(zhuǎn)換成計(jì)數(shù)器2 的脈沖輸入。計(jì)數(shù)器1 會(huì)對(duì)低溫度系數(shù)晶振產(chǎn)生脈沖信號(hào)的數(shù)值相減,當(dāng)計(jì)數(shù)器1 的初始值相減到0 的時(shí)候,寄存溫度器上面的數(shù)值就會(huì)加1。當(dāng)計(jì)數(shù)器1 重新工作,對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行再一次計(jì)算的時(shí)候,會(huì)重復(fù)上一個(gè)過程直到計(jì)數(shù)器的數(shù)值重新回到0,寄存溫度器的累加也會(huì)隨之停止[2]。這個(gè)時(shí)候的寄存溫度器中的數(shù)值還是停留在所測的溫度數(shù)值。
斜率累加器大多是在進(jìn)行補(bǔ)償和修正測溫過程非線性的過程中進(jìn)行應(yīng)用,其輸出的數(shù)值會(huì)用作修正計(jì)數(shù)器在測溫過程中的初始值。而光刻ROM 上的序列號(hào)一共有64 位,這已經(jīng)是在出廠之前就被光刻好的了,且光刻ROM 的序列號(hào)可以當(dāng)做是DS18B20 的專屬序列號(hào)[3]。它的排列順序一般就是:光刻ROM 序列號(hào)的前8 位數(shù)是產(chǎn)品的類型標(biāo)號(hào),類型標(biāo)號(hào)之后的48 位是DS18B20 自身出廠隨機(jī)帶出的序列號(hào),而排列在最后的8 位數(shù)則是將類型標(biāo)號(hào)和序列號(hào)所形成的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM 所起到的作用就是能夠讓DS18B20 都會(huì)有自己專屬的序列碼,以此達(dá)到在總線上連接DS18B20 的目的。
DS18B20 這種數(shù)字式溫度傳感器可以通過將12 位轉(zhuǎn)換成16 位符號(hào)的二進(jìn)制讀數(shù)形式對(duì)溫度進(jìn)行測量,以0.0625℃/LSB 這種數(shù)字形式進(jìn)行表達(dá),其中S 為符號(hào)位。
在本次系統(tǒng)方案設(shè)計(jì)的過程中會(huì),會(huì)用AT89C51單片機(jī)、DS18B20 數(shù)字溫度傳感器等設(shè)施來對(duì)溫度的變化進(jìn)行檢測,具體要求如下:
溫度檢測:系統(tǒng)能夠?qū)崟r(shí)檢測溫度,溫度分辨率為0.10℃,溫度范圍為-550℃~+550℃。
溫度顯示:系統(tǒng)能夠?qū)崟r(shí)顯示溫度值,顯示到小數(shù)后一位。在設(shè)置上、下限報(bào)警時(shí),顯示上、下限提醒標(biāo)志。
溫度報(bào)警:系統(tǒng)能夠設(shè)置溫度值范圍,當(dāng)溫度超出設(shè)置范圍時(shí)發(fā)生報(bào)警。
報(bào)警設(shè)置:系統(tǒng)能夠設(shè)置上、下限報(bào)警溫度值,設(shè)置精度為0.10℃。
根據(jù)以上分析,數(shù)字溫度計(jì)的基本結(jié)構(gòu)由單片機(jī)最小系統(tǒng)、按鍵模塊、溫度采樣模塊、顯示模塊和報(bào)警模塊等組成[4]。
DS18B20 和單片機(jī)有兩種方式進(jìn)行連接,一種是通過VDD 與外部電源進(jìn)行連接,GND 與地連接,DQ會(huì)和單片機(jī)上的I/O 線相連;而另一種是通過寄生電源為DS1820 供電,此時(shí)VDD、GND 接地,DQ 接單片機(jī)I/O。不管是在內(nèi)部所形成的計(jì)生電源還是通過外部供電,I/O 口線都會(huì)和5KΩ 數(shù)值上下的上拉電阻進(jìn)行連接的。
我們根據(jù)DS18B20 的通信協(xié)議就可以發(fā)現(xiàn),主機(jī)會(huì)控制DS18B20 進(jìn)行溫度轉(zhuǎn)換,但必須通過以下幾個(gè)步驟來實(shí)現(xiàn):在每次進(jìn)行讀寫之前,都要先將DS18B20進(jìn)行初始化,在初始化成功后對(duì)ROM 執(zhí)行一條的操作指令,然后進(jìn)行存儲(chǔ)器(包括SCRATCHPAD RAM 和E2RAM)操作指令,使DS18B20 完成對(duì)溫度的測量工作,并把測量之后的結(jié)果存入高速暫存器,在此基礎(chǔ)上,主機(jī)才能讀出轉(zhuǎn)換結(jié)果。
蜂鳴器本身就是一個(gè)一體化結(jié)構(gòu)的電子訊響器,通過直流電壓,對(duì)其進(jìn)行供電,大多使用在計(jì)算機(jī)、電子玩具等一系列的電子產(chǎn)品當(dāng)中作為一個(gè)發(fā)出聲音的組件。蜂鳴器一般有壓電式蜂鳴器和電磁式蜂鳴器這兩種形態(tài)。在一般情況下,蜂鳴器會(huì)用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”“LB”“JD”等)在電路中表示。
在對(duì)單片機(jī)進(jìn)行應(yīng)用和設(shè)計(jì)的過程中,很多方案都會(huì)用蜂鳴器來進(jìn)行驅(qū)動(dòng),大多數(shù)都是用蜂鳴器所發(fā)出的聲音進(jìn)行提示或者是報(bào)警。
目前,單片機(jī)的種類很多,MCS-51 8 位單片機(jī)系列、MCS-96 16 位單片機(jī)系列,還出現(xiàn)了32 位單片機(jī)。位數(shù)越高,運(yùn)算速度越快。本系統(tǒng)選用MCS-51 系列單片機(jī)。
單片機(jī)各引腳的功能介紹如下所示:
1.VCC:運(yùn)行和程序校驗(yàn)時(shí)接電源正端。
2.GND:接地。
3.P0 口:P0 口是一個(gè)8 位、漏極開路的雙向I/O 口,每腳可吸收8 個(gè)TTL 門電流。在P0 口第一次在管腳上寫“1”的時(shí)候,會(huì)被當(dāng)成是高阻輸入。P0 在外部的程序數(shù)據(jù)存儲(chǔ)器進(jìn)行運(yùn)作的時(shí)候,也可以被當(dāng)成是數(shù)據(jù)或者是在地址的第八位數(shù)字。在進(jìn)行FIASH 編程的過程中,P0 口一般都被當(dāng)做是編程原碼的輸入口。且在編程之后,F(xiàn)IASH 會(huì)對(duì)其進(jìn)行校驗(yàn),P0 在輸出原碼的過程中,P0 外部也會(huì)被拉高。
4.P1 口:P1 口主要是為單片機(jī)內(nèi)部提供上拉電阻的8 位雙向I/O 口,一個(gè)P1 口的緩沖器能將4 個(gè)TTL門電流進(jìn)行接收和輸出。當(dāng)P1 口的管腳寫入1 之后,會(huì)被單片機(jī)的內(nèi)部進(jìn)行上拉,大多都會(huì)當(dāng)做是輸入電流。當(dāng)P1 口被單片機(jī)的外部下拉和電流持平的時(shí)候,就會(huì)將電流進(jìn)行輸出。
5.P2 口:P2 口和P1 口一樣,也是為單片機(jī)內(nèi)部提供上拉電阻的8 位雙向I/O 口,一個(gè)P2 口的緩沖器能將4 個(gè)TTL 門電流進(jìn)行接收和輸出。當(dāng)P2 口被寫上數(shù)字“1”的時(shí)候,P2 口的管腳會(huì)在單片機(jī)內(nèi)部的上拉電阻拉高,并作為高阻輸入。而作為電阻輸入的時(shí)候,P2 口的管腳會(huì)被單片機(jī)的外部所拉低,從而使電流能夠輸出,這也是由于在單片機(jī)內(nèi)部被上拉的緣故。P2口在被當(dāng)做是外部或者是16 位的程序存儲(chǔ)器的時(shí)候,會(huì)存取相應(yīng)的數(shù)據(jù)。
6.P3 口:P3 口是一個(gè)自帶單片機(jī)內(nèi)部上拉電阻的準(zhǔn)雙向8 位的I/O 口,最多可以接受并輸出4 個(gè)TTL 門電流。P3 口也可以當(dāng)做是AT89C51 單片機(jī)的一些具有其他功能的口,P3 口可同時(shí)為編程和校驗(yàn)接收一些進(jìn)行控制信號(hào),為其提供了一些能夠替代的功能。
7.RST:復(fù)位并重新輸入相應(yīng)的信號(hào)數(shù)據(jù),且針對(duì)高電平有使用效果。在振動(dòng)器進(jìn)行工作時(shí),在RST 上會(huì)具有一定的高電平,且保持在兩個(gè)周期以上,將單片微機(jī)復(fù)位。
8.ALE/PROG:地址鎖存允許信號(hào),輸出。
9./PSEN:片外的程序存儲(chǔ)器讀選通信號(hào),針對(duì)低電平是有效果的。在由外部程序存儲(chǔ)器取值期間,每個(gè)機(jī)器在一個(gè)周期中都會(huì)有兩次/PSEN 產(chǎn)生效果。但是在對(duì)外部數(shù)據(jù)存儲(chǔ)器進(jìn)行訪問的時(shí)候,這兩次有效的/PSEN 信號(hào)也不會(huì)出現(xiàn)。/PSEN 將8 個(gè)LSTTL 負(fù)載進(jìn)行驅(qū)動(dòng)[5]。
10./EA/VPP:片外程序存儲(chǔ)器訪問允許信號(hào),針對(duì)低電平是有效果的。當(dāng)/EA=1 時(shí),選擇片內(nèi)程序存儲(chǔ)器(80C51 為4KB,80C52 為8KB);當(dāng)/EA=0 時(shí),則程序存儲(chǔ)器全部在片外,而不管片內(nèi)是否有程序存儲(chǔ)器。使用80C51 時(shí),/EA 必須接地,使用8751 編程時(shí),/EA 施加21V 的編程電壓。
11.XTAL1:是一個(gè)在單片機(jī)的內(nèi)部振蕩器中進(jìn)行輸入的反相放大器。在運(yùn)用外部的振動(dòng)器進(jìn)行工作時(shí),對(duì)HMOS 單片微機(jī),此引腳應(yīng)該接地;對(duì)CHMOS 單片微機(jī),此引腳作驅(qū)動(dòng)端。
12.XTAL2:是在單片機(jī)內(nèi)部振蕩器中進(jìn)行輸出的反相放大器,輸入到內(nèi)部時(shí)鐘發(fā)生器。在運(yùn)用外部的振動(dòng)器進(jìn)行工作時(shí),XTAL2 主要是接收振動(dòng)器發(fā)出的信號(hào),對(duì)CHMOS 單片微機(jī),此引腳應(yīng)懸浮。
在單片機(jī)當(dāng)中,時(shí)鐘電路可以說是其最小的一部分系統(tǒng),它主要是用在單片微機(jī)工作所需要的時(shí)鐘信號(hào)上的,單片微機(jī)本身就像是一個(gè)頗為繁雜的時(shí)序電路,為了能夠同步地進(jìn)行工作,電路會(huì)在一個(gè)時(shí)鐘信號(hào)的控制下按照時(shí)序電路的步驟進(jìn)行嚴(yán)格的工作。
系統(tǒng)性時(shí)鐘電路主要會(huì)采用內(nèi)部方式進(jìn)行設(shè)計(jì),也就是利用芯片在內(nèi)部產(chǎn)生振動(dòng)的電路。AT89C51 這個(gè)單片機(jī)有一個(gè)將振動(dòng)器的高效益反相變大的機(jī)器,它有兩個(gè)引腳,分別是XTAL1 和XTAL2,這兩個(gè)引腳也是放大器的輸入端和輸出端。放大器會(huì)和一個(gè)具有反饋元件原工作原理的片外晶體諧振器形成一個(gè)自激振動(dòng)器。外接晶體諧振器和C1 和C2 這兩個(gè)電容組成了并聯(lián)諧振電路,并與放大器的回饋電路相連接。
單片機(jī)自身所具有的復(fù)位電路主要是把PC 通過初始化變?yōu)?000H,使單片微機(jī)從0000H 這一單元就開始進(jìn)行程序。當(dāng)程序運(yùn)行的時(shí)候如果遇到程序的操作錯(cuò)誤,讓單片機(jī)的系統(tǒng)處于死鎖狀態(tài)的時(shí)候,可以按復(fù)位鍵將單片機(jī)進(jìn)行重新啟動(dòng)。