MP03/04型數(shù)字溫度傳感器的應(yīng)用
發(fā)布時間:2008/5/29 0:00:00 訪問次數(shù):405
摘 要:介紹tmp03和tmp04型數(shù)字溫度傳感器在遠程測溫電路中的應(yīng)用,重點闡述它們與單片機和 數(shù)字信號處理器的接口電路及程序設(shè)計。
|
關(guān)鍵詞:數(shù)字溫度傳感器 遠程測溫 接口電路 程序設(shè)計
|
1遠程測溫電路 |
遠程測量溫度時,傳輸線上存在著較高的共模電壓,須用光耦合器(以下簡稱光耦)對輸出端進 行隔離。三種光耦隔離電路分別如圖1(a)、(b)、(c)所示。
|
(a)圖為普通光耦隔離電路。tmp03能夠承受5 ma以下的灌電流,可直接與光耦中l(wèi)ed發(fā)光二極管的陰極連通。此時上拉電阻 r1還起到限流作用,防止led過流損壞。取 r1=620歐姆,當dout端呈低電平時,灌電流小于1 ma,led上的正向壓降僅為1 v左右。需要注意的是,光耦合器的開啟和關(guān)閉時間必須完全相同,否則會導致被傳輸?shù)臄?shù)據(jù) 發(fā)生錯誤。某些達林頓型光耦合器(例如4n32)的開啟時間遠大于關(guān)閉時間,不能在此使用。
|
(b)圖中增加了1只2n2907型pnp管,目的是給led提供較大的工作電流。
|
(c)圖中采用施密特整形輸出的光耦合器,能降低傳輸噪聲。
|
|
|
|
進行遠程測溫時,tmp03/04遠優(yōu)于模擬輸出式溫度傳感器。這是因為它輸出的是數(shù)字信號,比模 擬信號的抗干擾能力強。遠程傳輸信號時不得影響t 1/t2的比率,必要時還可加1片adm485型rs-485 差分線驅(qū)動器,電路如 圖 2 所示。該電路能準確傳輸1200 m遠的溫度信號。adm485中的發(fā)射器和接收器所造成的滯后時間誤差僅為5 ns,不會影響t1、t2 值。在rs-485總線上可以接32片adm485。
|
2 tmp03/04與80c51單片機的接口電路 |
tmp03/04配上單片機后,很容易用微機中的計數(shù)器分別測得 t1、t2,再用軟件計算出溫度值。因為tmp03/04是用時間比率(t1/t2)來計量溫度的,所以并不要求微機的計數(shù)頻率十分精確,但計數(shù)頻 率應(yīng)足夠高。
|
tmp04與80c51單片機的接口電路如 圖 3 所示。該接口電路非常簡單,在溫度傳感器與單片機之間 僅需單線連接,tmp04的輸出數(shù)據(jù)可直接加到80c51的p1.0口。若按傳統(tǒng)的串行通信輸入?yún)f(xié)議,至 少需要3條線(數(shù)據(jù)線、時鐘線和片選信號線),甚至更多。這是因為tmp03/04的輸出數(shù)據(jù)僅代表 t1與t2的比率,這與通常講的二進制數(shù)據(jù)完全不同。
|
|
|
80c51內(nèi)部有2個16位計數(shù)器,并且是由2個專用寄存器分別控制的。tmod寄存器亦稱定時器 模式寄存器,專門控制定時器0和定時器1的工作模式,決定哪個定時器工作。tcon寄存器則用來 控制定時器0和定時器1的計數(shù)起止時間。這樣很容易分別測出 t1、t2。80c51采用12 mhz晶振頻率時,經(jīng)內(nèi)部12分頻器后獲得1 mhz的計數(shù)頻率,計數(shù)周期為1us。
|
接口電路的程序清單如下: |
;tmp04與8051的接口測試 |
;使用定時器0和1來測量占空比 |
;這個程序分三步 |
;① 清除定時寄存器,然后等待p1.0輸入腳上出現(xiàn)0-1的跳變(此引腳與tmp04的輸出相連) |
;② 一旦p1.0變?yōu)楦,定時器0開始啟動。然后程序開始循環(huán)檢測p1.0 |
;③ 一旦p1.0變?yōu)榈停〞r器0停止,同時定時器1啟動。程序又再次循環(huán)檢測p1.0,直到p1.0變低,定時器1停止, 從而tmp04的t1和t2 的數(shù)值就會存儲在特殊功能寄存器8ah到8dh(tl0到th1)中
|
;主控程序 |
$mod51 |
$title(tmp04 interface, using t0 and t1) |
$pagewidth(80) |
$debug |
$object; 變量聲明 |
port1 data 90h ; 端口1 |
;tcon data 88h ; 定時器控制 |
;tmod data89h ; 定時器模式 |
;th0 data 8
摘 要:介紹tmp03和tmp04型數(shù)字溫度傳感器在遠程測溫電路中的應(yīng)用,重點闡述它們與單片機和 數(shù)字信號處理器的接口電路及程序設(shè)計。
|
關(guān)鍵詞:數(shù)字溫度傳感器 遠程測溫 接口電路 程序設(shè)計
|
1遠程測溫電路 |
遠程測量溫度時,傳輸線上存在著較高的共模電壓,須用光耦合器(以下簡稱光耦)對輸出端進 行隔離。三種光耦隔離電路分別如圖1(a)、(b)、(c)所示。
|
(a)圖為普通光耦隔離電路。tmp03能夠承受5 ma以下的灌電流,可直接與光耦中l(wèi)ed發(fā)光二極管的陰極連通。此時上拉電阻 r1還起到限流作用,防止led過流損壞。取 r1=620歐姆,當dout端呈低電平時,灌電流小于1 ma,led上的正向壓降僅為1 v左右。需要注意的是,光耦合器的開啟和關(guān)閉時間必須完全相同,否則會導致被傳輸?shù)臄?shù)據(jù) 發(fā)生錯誤。某些達林頓型光耦合器(例如4n32)的開啟時間遠大于關(guān)閉時間,不能在此使用。
|
(b)圖中增加了1只2n2907型pnp管,目的是給led提供較大的工作電流。
|
(c)圖中采用施密特整形輸出的光耦合器,能降低傳輸噪聲。
|
|
|
|
進行遠程測溫時,tmp03/04遠優(yōu)于模擬輸出式溫度傳感器。這是因為它輸出的是數(shù)字信號,比模 擬信號的抗干擾能力強。遠程傳輸信號時不得影響t 1/t2的比率,必要時還可加1片adm485型rs-485 差分線驅(qū)動器,電路如 圖 2 所示。該電路能準確傳輸1200 m遠的溫度信號。adm485中的發(fā)射器和接收器所造成的滯后時間誤差僅為5 ns,不會影響t1、t2 值。在rs-485總線上可以接32片adm485。
|
2 tmp03/04與80c51單片機的接口電路 |
tmp03/04配上單片機后,很容易用微機中的計數(shù)器分別測得 t1、t2,再用軟件計算出溫度值。因為tmp03/04是用時間比率(t1/t2)來計量溫度的,所以并不要求微機的計數(shù)頻率十分精確,但計數(shù)頻 率應(yīng)足夠高。
|
tmp04與80c51單片機的接口電路如 圖 3 所示。該接口電路非常簡單,在溫度傳感器與單片機之間 僅需單線連接,tmp04的輸出數(shù)據(jù)可直接加到80c51的p1.0口。若按傳統(tǒng)的串行通信輸入?yún)f(xié)議,至 少需要3條線(數(shù)據(jù)線、時鐘線和片選信號線),甚至更多。這是因為tmp03/04的輸出數(shù)據(jù)僅代表 t1與t2的比率,這與通常講的二進制數(shù)據(jù)完全不同。
|
|
|
80c51內(nèi)部有2個16位計數(shù)器,并且是由2個專用寄存器分別控制的。tmod寄存器亦稱定時器 模式寄存器,專門控制定時器0和定時器1的工作模式,決定哪個定時器工作。tcon寄存器則用來 控制定時器0和定時器1的計數(shù)起止時間。這樣很容易分別測出 t1、t2。80c51采用12 mhz晶振頻率時,經(jīng)內(nèi)部12分頻器后獲得1 mhz的計數(shù)頻率,計數(shù)周期為1us。
|
接口電路的程序清單如下: |
;tmp04與8051的接口測試 |
;使用定時器0和1來測量占空比 |
;這個程序分三步 |
;① 清除定時寄存器,然后等待p1.0輸入腳上出現(xiàn)0-1的跳變(此引腳與tmp04的輸出相連) |
;② 一旦p1.0變?yōu)楦,定時器0開始啟動。然后程序開始循環(huán)檢測p1.0 |
;③ 一旦p1.0變?yōu)榈,定時器0停止,同時定時器1啟動。程序又再次循環(huán)檢測p1.0,直到p1.0變低,定時器1停止, 從而tmp04的t1和t2 的數(shù)值就會存儲在特殊功能寄存器8ah到8dh(tl0到th1)中
|
;主控程序 |
$mod51 |
$title(tmp04 interface, using t0 and t1) |
$pagewidth(80) |
$debug |
$object; 變量聲明 |
port1 data 90h ; 端口1 |
;tcon data 88h ; 定時器控制 |
;tmod data89h ; 定時器模式 |
;th0 data 8
熱門點擊
推薦技術(shù)資料
- 滑雪繞樁機器人
- 本例是一款非常有趣,同時又有一定調(diào)試難度的玩法。EDE2116AB... [詳細]
| |