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