打印

利用单片机多余I/O口实现温度检测电路

[复制链接]
1061|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Roses|  楼主 | 2018-4-3 10:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用单片机多余I/O口实现温度检测电路

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

  
  图中:
  P1.0、P1.1和P1.2是单片机的3个I/O脚,RK为100k的精密电阻,RT为100K-精度为1%的热敏电阻,R1为100Ω的普通电阻,C1为0.1μ的瓷介电容。其工作原理为:
  先将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。
  将P1.1、P1.2设置为输入状态,P1.0设为高电平输出,通过RK电阻对C1充电,单片机内部计时器清零并开始计时,检测P1.2口状态,当P1.2口检测为高电平时,即C1上的电压达到单片机高电平输入的门嵌电压时,单片机计时器记录下从开始充电到P1.2口转变为高电平的时间T1。
  将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。
  再将P1.0、P1.2设置为输入状态,P1.1设为高电平输出,通过RT电阻对C1充电,单片机内部计时器清零并开始计时,检测P1.2口状态,当P1.2口检测为高电平时,单片机计时器记录下从开始充电到P1.2口转变为高电平的时间T2。
  从电容的电压公式:
  可以得到:T1/RK=T2/RT,即 RT=T2×RK/T1
  通过单片机计算得到热敏电阻RT的阻值。并通过查表法可以得到温度值。
  从上面所述可以看出,该测温电路的误差来源于这几个方面:单片机的定时器精度,RK电阻的精度,热敏电阻RT的精度,而与单片机的输出电压值、门嵌电压值、电容精度无关。因此,适当选取热敏电阻和精密电阻的精度,单片机的工作频率够高,就可以得到较好的测温精度。当单片机选用4M工作频率,RK、RT均为1%精度的电阻时,温度误差可以做到小于1℃。 如果P1.2具有外部上升沿中断的功能,程序可以更简单,效果更好。


  



相关帖子

沙发
Roses|  楼主 | 2018-4-3 10:53 | 只看该作者
利用单片机多余I/O口实现温度检测电路

文档.pdf

115.21 KB

使用特权

评论回复
板凳
cemaj| | 2018-4-3 21:22 | 只看该作者
是ADC吗

使用特权

评论回复
地板
10299823| | 2018-4-3 21:22 | 只看该作者
精度怎样?

使用特权

评论回复
5
jimmhu| | 2018-4-3 21:23 | 只看该作者
还真是没有用过呢。

使用特权

评论回复
6
lihuami| | 2018-4-3 21:23 | 只看该作者
长见识了。

使用特权

评论回复
7
xiaoyaozt| | 2018-4-3 21:23 | 只看该作者
这个电阻精度需要到多大?

使用特权

评论回复
8
cemaj| | 2018-4-3 21:27 | 只看该作者
现在的温度传感器很多的

使用特权

评论回复
9
10299823| | 2018-4-3 21:27 | 只看该作者
误差能够到多少呢?

使用特权

评论回复
10
jimmhu| | 2018-4-3 21:27 | 只看该作者
正常都是使用的温度传感器。

使用特权

评论回复
11
lihuami| | 2018-4-3 21:27 | 只看该作者
这个看着还真是给力呢。

使用特权

评论回复
12
xiaoyaozt| | 2018-4-3 21:27 | 只看该作者
是不是容易产生温度漂移呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

709

主题

1023

帖子

7

粉丝