原创 利用单片机实现极简单的测温电路

2009-8-16 08:35 1330 8 8 分类: MCU/ 嵌入式

发布: 2009-4-04 18:37 |  作者: hnrain |   查看: 11次


单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制,但那些温度检测与控制电路通常较复杂,成本也高,本文提供了一种低成本的利用单片机多余I/O口实现的温度检测电路,该电路非常简单,且易于实现,并且适用于几乎所有类型的单片机。其电路如下图所示:

6136_200904041837471084l.gif左图中:电子园51单片机学习网 DFZ\-KL@H


P1.0、P1.1和P1.2是单片机的3个I/O脚;

8ka@#E5[:z44606

RK为100k的精密电阻;电子园51单片机学习网E0["p;Sp:r6F


RT为100K-精度为1%的热敏电阻;

m-@u3Z{.| J44606

R1为100Ω的普通电阻;

#D-h O9Xf44606

C1为0.1μ的瓷介电容。电子园51单片机学习网+E+~1|*wzS4^9z%a k


其工作原理为:

+q9lRt:b6U0@9Y44606


  1. 先将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。

    )M]{gV i3t44606

  2. 将P1.1、P1.2设置为输入状态,P1.0设为高电平输出,通过RK电阻对C1充电,单片机内部计时器清零并开始计时,检测P1.2口状态,当P1.2口检测为高电平时,即C1上的电压达到单片机高电平输入的门嵌电压时,单片机计时器记录下从开始充电到P1.2口转变为高电平的时间T1。 电子园51单片机学习网;p` ?l[1D



  3. 将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。 电子园51单片机学习网i/w:[x_



  4. 再将P1.0、P1.2设置为输入状态,P1.1设为高电平输出,通过RT电阻对C1充电,单片机内部计时器清零并开始计时,检测P1.2口状态,当P1.2口检测为高电平时,单片机计时器记录下从开始充电到P1.2口转变为高电平的时间T2。

    Ai*wez Laewk^44606

  5. 6136_200904041837472mssL.gif从电容的电压公式:

    ~^ ah C9c44606

可以得到:T1/RK=T2/RT,即 RT=T2×RK/T1

"r _]'s1i44606

    通过单片机计算得到热敏电阻RT的阻值。并通过查表法可以得到温度值。

0Ke l&B-f7J}44606

    从上面所述可以看出,该测温电路的误差来源于这几个方面:单片机的定时器精度,RK电阻的精度,热敏电阻RT的精度,而与单片机的输出电压值、门嵌电压值、电容精度无关。因此,适当选取热敏电阻和精密电阻的精度,单片机的工作频率够高,就可以得到较好的测温精度。

!R(w'`,a9v44606

    当单片机选用4M工作频率,RK、RT均为1%精度的电阻时,温度误差可以做到小于1℃。电子园51单片机学习网R.Q*J-B.y^6It


    如果P1.2具有外部上升沿中断的功能,程序可以更简单,效果更好。

`gtw0yvi,l[Z44606

单片机工作的程序流程图如下:

-d(? D.G _7Tj(Li w/D44606

6136_200904041837473CPhy.gif电子园51单片机学习网9G S R3~;n|h~#J

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条