溫度測(cè)量是鋁水平溫度測(cè)量過(guò)程的最后一個(gè)環(huán)節(jié),在系統(tǒng)測(cè)量完鋁水平后,開(kāi)始進(jìn)行溫度測(cè)量,這一部分程序作為一個(gè)獨(dú)立的程序段,
定時(shí)調(diào)用,主要包括MAX6675數(shù)據(jù)讀取、開(kāi)路判斷、數(shù)據(jù)處理和碼制轉(zhuǎn)換等幾個(gè)部分。程序流程如下:
下面給出MAX6675溫度值讀取程序設(shè)計(jì):
;溫度值讀取程序
;位定義
CS BIT P1.0 ;數(shù)據(jù)輸入
SCK BIT P1.1 ;片選
SO BIT P1.2 ;時(shí)鐘
;數(shù)據(jù)字節(jié)定義
DATAH DATA 40H ;讀取數(shù)據(jù)高位
DATAL DATA 41H ;讀取數(shù)據(jù)低位
TDATAH DATA 42H ;溫度高位
TDATAL DATA 43H ;溫度低位
CLR CS ;CS低電平,停止數(shù)據(jù)轉(zhuǎn)換,輸出數(shù)據(jù)D15
CLR CLK ;時(shí)鐘置為低電平
MOV R7, #08H
RD_DATAH: ;讀數(shù)據(jù)高位字節(jié)D15-D8
MOV C,SO ;讀SO端數(shù)據(jù)
RLC A ;累加器左移一位
SETB SCK
NOP
CLR SCK
DJNZ R7,RD_DATA
MOV DATAH,A ;將數(shù)據(jù)高位移入緩沖區(qū)
MOV R7,#08H
RD_DATAL: ;讀數(shù)據(jù)低位字節(jié)D7-D0
MOV C,SO ;讀SO端數(shù)據(jù)
RLC A ;累加器左移一位
SETB SCK
NOP
CLR SCK
DJNZ R7,RD_DATAL
MOV DATAL,A ;將數(shù)據(jù)低位移入緩沖區(qū)
SETB CS ;CS高電平,停止數(shù)據(jù)輸出,啟動(dòng)新的數(shù)據(jù)轉(zhuǎn)換;數(shù)據(jù)轉(zhuǎn)換子程序,將讀得的16位數(shù)據(jù)轉(zhuǎn)換為12位溫度值,去掉無(wú)用
的位
MOV A,DATAL
RLC A
MOV DATAL,A
MOV A,DATAH
RLC A ;整個(gè)數(shù)據(jù)位左移一位,去掉D15位
SWAP A ;將DATAH中的高低4位數(shù)據(jù)互換
MOV B,A ;數(shù)據(jù)暫存于B中
ANL A,#0FH ;得到溫度數(shù)據(jù)高位字節(jié)部分D14 ~D11
MOV TDATAH,A ;將溫度值高位字節(jié)保存
MOV A,B
ANL A,#0F0H ;得到溫度數(shù)據(jù)低位字節(jié)部分D10 ~D7
MOV B,A
MOV A,DATAL ;
ANL A,#0FH ;得到溫度數(shù)據(jù)低位字節(jié)部分D6 ~D3
ORL A,B ;合并的溫度低位字節(jié)
MOV TDATAL,A ;將溫度值低位字節(jié)保存
3 應(yīng)用中注意的幾個(gè)問(wèn)題
在鋁水平溫度測(cè)量?jī)x的設(shè)計(jì)和調(diào)試過(guò)程中遇到諸多問(wèn)題,現(xiàn)將與MAX6675相關(guān)的幾個(gè)問(wèn)題和使用心得摘錄如下,以供參考。
1)MAX6675芯片對(duì)電源噪聲較為敏感,盡量將MAX6675布置在遠(yuǎn)離其他I/O芯片的地方。
2)MAX6675芯片T-必須接地,并使接地點(diǎn)盡可能接近GND腳,否則讀出數(shù)據(jù)為無(wú)規(guī)律的亂碼。
3)MAX6675是通過(guò)冷端補(bǔ)償來(lái)校正周圍溫度變化的。該器件將周圍溫度通過(guò)內(nèi)部的溫度檢測(cè)二極管轉(zhuǎn)換為溫度補(bǔ)償電壓,該器件內(nèi)部電路
將二極管電壓和熱電偶電壓送到ADC中轉(zhuǎn)換,以計(jì)算熱電偶的熱端溫度。當(dāng)熱電偶的冷端與芯片溫度相等時(shí),MAX6675可獲得最佳的測(cè)量精度。
因此在實(shí)際測(cè)溫應(yīng)用時(shí),應(yīng)盡量避免在MAX6675附近放置發(fā)熱器件或元件,例如7805等帶散熱片的穩(wěn)壓器件。
4)盡量采用大截面積的熱電偶導(dǎo)線,長(zhǎng)距離傳輸時(shí),可采用雙絞線作為信號(hào)傳輸線。
5)根據(jù)應(yīng)用場(chǎng)合的不同,可通過(guò)相應(yīng)的數(shù)字濾波器進(jìn)行數(shù)據(jù)處理,以提高所需要某一段測(cè)量數(shù)據(jù)的準(zhǔn)確性。
4 結(jié)束語(yǔ)
MAX6675將熱電偶測(cè)溫應(yīng)用時(shí)復(fù)雜的線性化、冷端補(bǔ)償及數(shù)字化輸出等集中在一個(gè)芯片上解決,簡(jiǎn)化了鋁水平溫度測(cè)量?jī)x中熱電偶測(cè)溫
電路的設(shè)計(jì),實(shí)際運(yùn)行結(jié)果表明,該測(cè)溫系統(tǒng)抗干擾能力強(qiáng)、結(jié)構(gòu)簡(jiǎn)單、可靠性高,測(cè)量精度滿足要求。因此,在基于微處理器的單片機(jī)嵌入
式工業(yè)測(cè)溫系統(tǒng)中,由MAX6675構(gòu)成的單片熱電偶測(cè)溫解決方案,具有良好的實(shí)用價(jià)值