單片機(jī)實現(xiàn)溫度檢測電路的設(shè)計
本文提供了一種低成本的利用單片機(jī)多余I/O口實現(xiàn)的溫度檢測電路,該電路非常簡單,且易于實現(xiàn),并且適用于幾乎所有類型的單片機(jī)。其電路如下圖所示:
圖中:
P1.0、P1.1和P1.2是單片機(jī)的3個I/O腳;
RK為100k的精密電阻;
RT為100K-精度為1%的熱敏電阻;
R1為100Ω的普通電阻;
C1為0.1μ的瓷介電容。
其工作原理為:
1.先將P1.0、P1.1、P1.2都設(shè)為低電平輸出,使C1放電至放完。
2.將P1.1、P1.2設(shè)置為輸入狀態(tài),P1.0設(shè)為高電平輸出,通過RK電阻對C1充電,單片機(jī)內(nèi)部計時器清零并開始計時,檢測P1.2口狀態(tài),當(dāng)P1.2口檢測為高電平時,即C1上的電壓達(dá)到單片機(jī)高電平輸入的門嵌電壓時,單片機(jī)計時器記錄下從開始充電到P1.2口轉(zhuǎn)變?yōu)楦唠娖降臅r間T1。
3.將P1.0、P1.1、P1.2都設(shè)為低電平輸出,使C1放電至放完。
4.再將P1.0、P1.2設(shè)置為輸入狀態(tài),P1.1設(shè)為高電平輸出,通過RT電阻對C1充電,單片機(jī)內(nèi)部計時器清零并開始計時,檢測P1.2口狀態(tài),當(dāng)P1.2口檢測為高電平時,單片機(jī)計時器記錄下從開始充電到P1.2口轉(zhuǎn)變?yōu)楦唠娖降臅r間T2。
5.從電容的電壓公式
可以得到:T1/RK=T2/RT,即RT=T2×RK/T1通過單片機(jī)計算得到熱敏電阻RT的阻值。并通過查表法可以得到溫度值。
從上面所述可以看出,該測溫電路的誤差來源于這幾個方面:單片機(jī)的定時器精度,RK電阻的精度,熱敏電阻RT的精度,而與單片機(jī)的輸出電壓值、門嵌電壓值、電容精度無關(guān)。因此,適當(dāng)選取熱敏電阻和精密電阻的精度,單片機(jī)的工作頻率夠高,就可以得到較好的測溫精度。
當(dāng)單片機(jī)選用4M工作頻率,RK、RT均為1%精度的電阻時,溫度誤差可以做到小于1℃。
如果P1.2具有外部上升沿中斷的功能,程序可以更簡單,效果更好。