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

发布者:乘风翻浪最新更新时间:2011-10-12 关键字:单片机  温度检测 手机看文章 扫描二维码
随时随地手机看文章

  单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制,但那些温度检测与控制电路通常较复杂,成本也高,本文提供了一种低成本的利用单片机多余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具有外部上升沿中断的功能,程序可以更简单,效果更好。[page]

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

  

关键字:单片机  温度检测 引用地址:利用单片机多余I/O口实现温度检测电路

上一篇:MCS-51中断系统中的复位问题
下一篇:红外线遥控器解码程序

推荐阅读最新更新时间:2024-03-16 12:43

PIC单片机最小系统(实物)
1、使用芯片PIC18F25KXX; 2、实物图如下: 3、使用PICKIT3下载器下载程序;使用20pf的贴片电容及4.096无源晶振;外围电路可自行添加 4、亲测可以正常使用; 不过在之前的程序里需要添加配置字,关于配置字有专门的文章
[单片机]
PIC<font color='red'>单片机</font>最小系统(实物)
单片机串口通信控制步进电机
这是一个来自单片机开发板的源程序,原理图的下载地址: http://www.51hei.com/f/ks51.pdf 下面是源代码: /** ************************************************************************************************* * @file main.c * @author xr * @date 2014年3月18日20:00:03 * @note 步进电机的参数:减速比:1:64 步进角:5.625/64 启动频率: =550 启动时间最小:1.08ms * @brief 串口通信控制步进电
[单片机]
单片机指令系统与汇编语言程序
所谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的程序 灌入 (存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已存入存贮器后,还需要进行以下几步: 第一步:把第一个数从它的存贮单元(Location)中取出来,送至
[单片机]
51单片机基础点亮第一个LED实验
/************************************************************************************** * 点亮第一个LED实验 * 实现现象:下载程序后D1指示灯点亮 注意事项:无 ***************************************************************************************/ #include reg51.h //此文件中定义了单片机的一些特殊功能寄存器 sbit led=P2^0; //将单片机的P2.0端口定义为led
[单片机]
51<font color='red'>单片机</font>基础点亮第一个LED实验
基于W78E54B单片机电话计费器的设计
引言 公用电话计费器是日常生活中比较常见的。目前的电话计费器不能较好地适应电信系统的折价时间,本计费器采用人工手动计费器,可随时满足折价时间的改变。同时该计费器记录准确,并可以存储200条话费记录;可以通过电话机重新设置时间、区号、费率等,同时可以人工手动实现半价和全价转换;功耗低,体积小,成本低。 系统设计 该系统由W78E54B单片机、摘机检测电路、DTMF解码电路、键盘、LED显示器组成,原理框图如图1所示。 其中W78E54B单片机主要完成话费的计算、存储等功能。摘机检测电路完成对系统的摘机、振铃、通话、挂机等状态的检测。DTMF双音多频电路采用CMD8870实现双音多频信号的解码。系统通过查询、复位、计费3个键实现
[单片机]
基于W78E54B<font color='red'>单片机</font>电话计费器的设计
PIC单片机入门_定时器TMR2详解与实例
1.前言 这里将介绍另一款定时器TMR2模块,TMR2与前面介绍的TMR0和TMR1相比,最大的差别是只能工作于定时模式,因此称它为“定时器TMR2”。 2.TMR2的特性 TMR2为8位宽,附带二个4位宽的分频器:一个“预分频器”和一个“后分频器”,一个可编程的8位周期寄存器PR2。其主要用途: 1. 可以用作时间定时器,但是不能作为计数器; 2. 可以为同步串行端口MSSP模块提供波特率时钟; 3. 可以与CCP模块配合使用,实现脉宽调制PWM功能。 TMR2的核心是一个可以由软件读/写的8位宽的计数器,它也是按递增计数,从某一初值(缺省为0)开始递增,直到与周期寄存器PR2中内容匹配之后,在下一次递增时则返回到00
[单片机]
PIC<font color='red'>单片机</font>入门_定时器TMR2详解与实例
基于51单片机的蓝牙计步器设计
一.硬件方案 本设计选用单片机STC89C52作为系统控制芯片,通过蓝牙模块把单片机处理的数据传输到手机APP上,这样更能清楚看到检测的效果。整机工作电流只有1-1.5mA,实现超低功耗。采集的步数,路程,卡路里及运动状态用手机APP显示。 主要由51单片机最小系统+ADXL345加速度传感器+lcd1602液晶电路+蓝牙模块电路+呼吸灯电路+电源电路组成;如图: 二.设计功能 (1)通过ADXL345检测步数,然后通过蓝牙模块将步数,路程,卡路里及运动状态实时传输到手机。 (2)有动态呼吸灯指示走路情况。 (3)液晶lcd1602实时显示步数,路程,卡路里及运动状态,运动状态分stand、lie、walk、run。 (4
[单片机]
基于51<font color='red'>单片机</font>的蓝牙计步器设计
基于AVR单片机的ISP1362OTG设计
   0 引言   随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。    1 ISP1362芯片的内部结构   Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved