基于AT89C51和DS18B20的最簡(jiǎn)溫度測(cè)量系統(tǒng)
發(fā)布時(shí)間:2008/5/29 0:00:00 訪問次數(shù):650
l引 言
溫度的測(cè)量和控制在激光器、光纖光柵的使用及其他的工農(nóng)業(yè)生產(chǎn)和科學(xué)研究中應(yīng)用廣泛。溫度檢測(cè)的傳統(tǒng)方法是使用諸如熱電偶、熱電阻、半導(dǎo)體pn結(jié)之類的模擬溫度傳感器。信號(hào)經(jīng)取樣、放大后通過模數(shù)轉(zhuǎn)換,再交自單片機(jī)處理。被測(cè)溫度信號(hào)從溫敏元件到單片機(jī),經(jīng)過眾多器件,易受干擾、不易控制且精度不高。因此,本文介紹一種新型的可編程溫度傳感器ds18b20,他能代替模擬溫度傳感器和信號(hào)處理電路,直接與單片機(jī)溝通,完成溫度采集和數(shù)據(jù)處理。ds18b20與at89c51結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。
2溫度測(cè)量系統(tǒng)硬件
系統(tǒng)結(jié)構(gòu)圖如圖1所示[1]。這里通過上拉電阻直接驅(qū)動(dòng)led顯示。以增加線路復(fù)雜度為代價(jià),減少芯片數(shù)量。
2.1數(shù)字溫度傳感器ds18b20
ds18b20是美國(guó)dallas公司推出的單總線數(shù)字測(cè)溫芯片。他具有獨(dú)特的單總線接口方式,僅需使用1個(gè)端口就能實(shí)現(xiàn)與單片機(jī)的雙向通訊。采用數(shù)字信號(hào)輸出提高了信號(hào)抗干擾能力和溫度測(cè)量精度。他的工作電壓使用范圍寬(3.0~5.5 v),可
ds18b20采用3腳to-92封裝,形如三極管,同時(shí)也有8腳soic封裝,還有6腳的tsoc封裝。測(cè)溫范圍為-55~+125℃,在一10~85℃范圍內(nèi),精度為±0.5℃。每一個(gè)ds18b20芯片的rom中存放了一個(gè)64位id號(hào):前8位是產(chǎn)品類型編號(hào),隨后48位是該器件的自身序號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼。又因其可以采用寄生電源方式供電。因此,一條總線上可以同時(shí)掛接多個(gè)ds18b20,實(shí)現(xiàn)多點(diǎn)測(cè)溫系統(tǒng)。另外用戶還可根據(jù)實(shí)際情況設(shè)定非易失性溫度報(bào)警上下限值th和tl。ds18b20檢測(cè)到溫度值經(jīng)轉(zhuǎn)換為數(shù)字量后,自動(dòng)存入存儲(chǔ)器中,并與設(shè)定值th或tl進(jìn)行比較,當(dāng)測(cè)量溫度超出給定范圍時(shí),就輸出報(bào)警信號(hào),并自動(dòng)識(shí)別是高溫超限還是低溫超限。
2.2 at89c51單片機(jī)
at89c51單片機(jī)是atmel公司生產(chǎn)的高性能8位單片機(jī),主要功能特性如下:
、偌嫒輒cs-51指令系統(tǒng);
、32個(gè)雙向i/o口,兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器;
、1個(gè)串行中斷,兩個(gè)外部中斷源;
、芸芍苯域(qū)動(dòng)led;
、莸凸目臻e和掉電模式;
、4 kb可反復(fù)擦寫(>1 000次)flasi rom;
、呷o態(tài)操作o~24 mhz;
、128×8 b內(nèi)部ram。
該款芯片的超低功耗和良好的性能價(jià)格比使其非常適合嵌入式產(chǎn)品應(yīng)用。
3溫度測(cè)量系統(tǒng)軟件
ds18b20簡(jiǎn)單的硬件接口是以相對(duì)復(fù)雜的接口編程為代價(jià)。由于ds18b20通過單總線與單片機(jī)進(jìn)行通訊,所以其通訊功能是分時(shí)完成的。他與單片機(jī)的接口協(xié)議是通過嚴(yán)格的時(shí)序來實(shí)現(xiàn)的,只有在特定的時(shí)隙,才能實(shí)現(xiàn)ds18b20數(shù)據(jù)的寫入和讀出。這里以at89c51和一個(gè)ds18b20通訊為例,列出部分通訊的匯編語(yǔ)言代碼。
3.1 初始化子程序(reset)
與ds18b20的所有通訊都是由一個(gè)單片機(jī)的復(fù)位脈沖和一個(gè)ds18b20的應(yīng)答脈沖開始的。單片機(jī)先發(fā)一個(gè)復(fù)位脈沖,保持低電平時(shí)間最少480μs,最多不能超過960μs。然后,單片機(jī)釋放總線,等待ds18b20的應(yīng)答脈沖。ds18b20在接受到復(fù)位脈沖后等待15~60μs才發(fā)出應(yīng)答脈沖。應(yīng)答脈沖能保持60~240μs。單片機(jī)從發(fā)送完復(fù)位脈沖到再次控制總線至少要等待480 μs。程序代碼如下:
3.2 write子程序
寫時(shí)隙需要15~75 μs,且在2次獨(dú)立的寫時(shí)隙之間至少需要1μs的恢復(fù)時(shí)間。寫時(shí)隙起始于單片機(jī)拉低總線。以要把單片機(jī)a中的數(shù)據(jù)發(fā)給ds18b20為例,程序代碼如下:
3.3 read子程序
讀時(shí)隙需15~60 μs,且在2次獨(dú)立的讀時(shí)
l引 言
溫度的測(cè)量和控制在激光器、光纖光柵的使用及其他的工農(nóng)業(yè)生產(chǎn)和科學(xué)研究中應(yīng)用廣泛。溫度檢測(cè)的傳統(tǒng)方法是使用諸如熱電偶、熱電阻、半導(dǎo)體pn結(jié)之類的模擬溫度傳感器。信號(hào)經(jīng)取樣、放大后通過模數(shù)轉(zhuǎn)換,再交自單片機(jī)處理。被測(cè)溫度信號(hào)從溫敏元件到單片機(jī),經(jīng)過眾多器件,易受干擾、不易控制且精度不高。因此,本文介紹一種新型的可編程溫度傳感器ds18b20,他能代替模擬溫度傳感器和信號(hào)處理電路,直接與單片機(jī)溝通,完成溫度采集和數(shù)據(jù)處理。ds18b20與at89c51結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。
2溫度測(cè)量系統(tǒng)硬件
系統(tǒng)結(jié)構(gòu)圖如圖1所示[1]。這里通過上拉電阻直接驅(qū)動(dòng)led顯示。以增加線路復(fù)雜度為代價(jià),減少芯片數(shù)量。
2.1數(shù)字溫度傳感器ds18b20
ds18b20是美國(guó)dallas公司推出的單總線數(shù)字測(cè)溫芯片。他具有獨(dú)特的單總線接口方式,僅需使用1個(gè)端口就能實(shí)現(xiàn)與單片機(jī)的雙向通訊。采用數(shù)字信號(hào)輸出提高了信號(hào)抗干擾能力和溫度測(cè)量精度。他的工作電壓使用范圍寬(3.0~5.5 v),可
ds18b20采用3腳to-92封裝,形如三極管,同時(shí)也有8腳soic封裝,還有6腳的tsoc封裝。測(cè)溫范圍為-55~+125℃,在一10~85℃范圍內(nèi),精度為±0.5℃。每一個(gè)ds18b20芯片的rom中存放了一個(gè)64位id號(hào):前8位是產(chǎn)品類型編號(hào),隨后48位是該器件的自身序號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼。又因其可以采用寄生電源方式供電。因此,一條總線上可以同時(shí)掛接多個(gè)ds18b20,實(shí)現(xiàn)多點(diǎn)測(cè)溫系統(tǒng)。另外用戶還可根據(jù)實(shí)際情況設(shè)定非易失性溫度報(bào)警上下限值th和tl。ds18b20檢測(cè)到溫度值經(jīng)轉(zhuǎn)換為數(shù)字量后,自動(dòng)存入存儲(chǔ)器中,并與設(shè)定值th或tl進(jìn)行比較,當(dāng)測(cè)量溫度超出給定范圍時(shí),就輸出報(bào)警信號(hào),并自動(dòng)識(shí)別是高溫超限還是低溫超限。
2.2 at89c51單片機(jī)
at89c51單片機(jī)是atmel公司生產(chǎn)的高性能8位單片機(jī),主要功能特性如下:
、偌嫒輒cs-51指令系統(tǒng);
②32個(gè)雙向i/o口,兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器;
③1個(gè)串行中斷,兩個(gè)外部中斷源;
、芸芍苯域(qū)動(dòng)led;
、莸凸目臻e和掉電模式;
、4 kb可反復(fù)擦寫(>1 000次)flasi rom;
、呷o態(tài)操作o~24 mhz;
、128×8 b內(nèi)部ram。
該款芯片的超低功耗和良好的性能價(jià)格比使其非常適合嵌入式產(chǎn)品應(yīng)用。
3溫度測(cè)量系統(tǒng)軟件
ds18b20簡(jiǎn)單的硬件接口是以相對(duì)復(fù)雜的接口編程為代價(jià)。由于ds18b20通過單總線與單片機(jī)進(jìn)行通訊,所以其通訊功能是分時(shí)完成的。他與單片機(jī)的接口協(xié)議是通過嚴(yán)格的時(shí)序來實(shí)現(xiàn)的,只有在特定的時(shí)隙,才能實(shí)現(xiàn)ds18b20數(shù)據(jù)的寫入和讀出。這里以at89c51和一個(gè)ds18b20通訊為例,列出部分通訊的匯編語(yǔ)言代碼。
3.1 初始化子程序(reset)
與ds18b20的所有通訊都是由一個(gè)單片機(jī)的復(fù)位脈沖和一個(gè)ds18b20的應(yīng)答脈沖開始的。單片機(jī)先發(fā)一個(gè)復(fù)位脈沖,保持低電平時(shí)間最少480μs,最多不能超過960μs。然后,單片機(jī)釋放總線,等待ds18b20的應(yīng)答脈沖。ds18b20在接受到復(fù)位脈沖后等待15~60μs才發(fā)出應(yīng)答脈沖。應(yīng)答脈沖能保持60~240μs。單片機(jī)從發(fā)送完復(fù)位脈沖到再次控制總線至少要等待480 μs。程序代碼如下:
3.2 write子程序
寫時(shí)隙需要15~75 μs,且在2次獨(dú)立的寫時(shí)隙之間至少需要1μs的恢復(fù)時(shí)間。寫時(shí)隙起始于單片機(jī)拉低總線。以要把單片機(jī)a中的數(shù)據(jù)發(fā)給ds18b20為例,程序代碼如下:
3.3 read子程序
讀時(shí)隙需15~60 μs,且在2次獨(dú)立的讀時(shí)
熱門點(diǎn)擊
- 安捷倫新型130萬(wàn)像素CMOS圖像傳感器大幅
- Allegro推ACS714/ACS715汽
- 如何檢測(cè)超聲波傳感器的好壞
- 開關(guān)型霍爾傳感器可控制哪些元器件
- CMOS圖像傳感器的最新進(jìn)展及應(yīng)用
- Microchip兩線式溫度傳感器最大誤差值
- LM35D集成溫度傳感器的特點(diǎn)
- 如何檢測(cè)和應(yīng)用線性霍爾傳感器
- 康泰克推出基于白金測(cè)溫電阻的傳感器輸入模塊
- 日本CMC技術(shù)開發(fā)公司推出采用線圈狀碳纖維的
推薦技術(shù)資料
- 滑雪繞樁機(jī)器人
- 本例是一款非常有趣,同時(shí)又有一定調(diào)試難度的玩法。EDE2116AB... [詳細(xì)]
- MPS 啟動(dòng)器開發(fā)板/評(píng)估套件(EVKT/P
- 12V、6A 四路降壓電源管理 IC
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(COT)
- 同步降壓PWM DC-DC線性
- ADC 技術(shù)參數(shù)與應(yīng)用需求之
- 反激變換器傳導(dǎo)和輻射電磁干擾分
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究