pic16f887单片机用AD590高精度测温的电路和程序

发布者:创新思维最新更新时间:2019-11-15 来源: 51hei关键字:pic16f887  单片机  AD590  高精度测温 手机看文章 扫描二维码
随时随地手机看文章

一、 前言

AD590 为Analog Devices 公司出品的一种双端温度转换电流源的单晶IC。图为AD590内部的线路结构,及其二种常用的包装。

0.001.jpg

二、原理与暂存器设定说明

原理:

AD 590是一个良好的温度-电流转换的感测元件,具有良好的线性关系,其转换率为1μA/°K。


􀂄图(左边)所示为AD 590转换电路,其输出转换率有100mV/°C(Vo15)输出。由于AD 590之转换率为1μA/°K。因运算放大器具有极高的输入阻抗,极小的输入电流的特性,使得AD 590电流完全流过R2与R3,故U1 的输出电压为1μA/°K.(R2+R3),当调整R2使得R2+R3=10KΩ时,U1 的输出电压为10mV/°K。


􀂄为了得到稳定的2.732V,由R6,CR1,R7,R8,R9 及U3组成一稳压电路。调整R8可使U3的输出(Vf1)图6-2-2为2.732V。而U2的输出电压(Vo15)=10(U1out-Vf1)=10(10mV/°K -2.732)=10 x 10mV/°C=100mV/°C。

0.002.jpg

说明:

AD 590特性

线性电流源输出:其转换率为1μA/°K 。􀂄有宽广的测温范围:-55°C~150°C 。􀂄体积小:仅有二端子,配线容易,电压输入/电流输出。􀂄准确度极高。􀂄使用的电压范围弹性大:+4V~30V,输出特性不会变化,如图所示。



0.003.jpg

输出电压转换率

由于AD 590输出信号为1μA/°K 电流,如欲转换成电压输出,只须与1KΩ之负载电阻串聯即可,由V=l‧R原理,得到1mV/°K之电压输出。图4-3所示,为一常用的AD 590温度一电压转换电路。由于1KΩ阻值必须很准确,否则会造成误差,故可使用910Ω固定电阻与200Ω半固定电阻串聯成准确的1KΩ电阻。

0.004.jpg


三、 程式与电路图

程式:

#include                                                         // processor if/def file

#include "MID_LCD.h"

__CONFIG ( FOSC_INTRC_CLKOUT & WDTE_OFF & PWRTE_OFF & MCLRE_ON & CP_OFF & CPD_OFF &

           BOREN_OFF & IESO_OFF & FCMEN_OFF & LVP_OFF );


__CONFIG ( BOR4V_BOR40V & WRT_OFF );//配置位元设定

const char LCD_Msg1[]="Hi-Tech PICC ADC"; //定义为常数

const char LCD_Msg2[]="     T:         ";


float v,T,data;

unsigned int  ADC_VALUE;

int number;

void main(void)

{

unsigned char i;

VCFG0=0;

VCFG1=0;

ADFM=1;

CHS0=0;

CHS1=0;

CHS2=0;

CHS3=1;//选择温度採集埠

ADCS1=1;

ADCS0=0;

ADON=1;

ANS8 =1;

TRISB2=1;//设定温度採集埠为AN8 =RB2埠公用

  IRCF0=1;//Select Internal FRC at 8MHz in the OSCCON Register

  IRCF1=1;

  IRCF2=1;


              OpenLCD();


              LCD_Set_Cursor(0,0);

              putrsLCD(LCD_Msg1);

              LCD_Set_Cursor(0,1);

              putrsLCD(LCD_Msg2);



    for(i=0;i<20;i++)

    {  // 延时 20us

    }   

    GO_DONE=1;   // GO=1启Start A/D convert

    NOP( );

   while(1)

   {


                while(GO_DONE==0)  //GO=0 End of convert

      {

         ADIF=0;


        ADC_VALUE=ADRESH*256+ADRESL;

         T=(ADC_VALUE/1023.0)*100.0;

        number=T*100.0;


                  LCD_Set_Cursor(8,1);

        put_Num_LCD(number);

         GO_DONE=1;

        for(i=0;i<20;i++)

        {  // 延时 20us

        }


        NOP( );

     }   


  }

}


电路图:

0.005.jpg


0.006.jpg




四、 结论

0.007.jpg 0.008.jpg

0.009.jpg 0.010.jpg

关键字:pic16f887  单片机  AD590  高精度测温 引用地址:pic16f887单片机用AD590高精度测温的电路和程序

上一篇:PIC单片机上实时时钟PCF8563测试程序
下一篇:PIC的35条指令扭曲理解法

推荐阅读最新更新时间:2024-11-13 09:55

平凡单片机教学 第七讲 寻址方式与指令系统
通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,要用指令,我们已学了几条指令,但很零散,从现在开始,我们将要系统地学习8051的指令部份。 一、概述 1、指令的格式 我们已知,要让计算机做事,就得给计算机以指令,并且我们已知,计算机很 笨 ,只能懂得数字,如前面我们写进机器的75H,90H,00H等等,所以指令的第一种格式就是机器码格式,也说是数字的形式。但这种形式实在是为难我们人了,太难记了,于是有另一种格式,助记符格式,如MOV P1,#0FFH,这样就好记了。 这两种格式之间的关系呢,我们不难理解,本质上它们完全等价,只是形式不一样而已。 2、汇编 我们写指令使
[单片机]
PIC单片机学习精华心得
1.前言 为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,我写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见. 2.PIC单片机的概述 PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令.这样有利于提高单片机的运行速度和执行效率. PIC16F616这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8MHZ或者4MHZ,
[单片机]
单片机89S51,4×4矩阵键盘,控制16个发光二极管
用单片机89S51,4×4矩阵键盘,控制16个发光二极管,程序有点错误哪位高手给指点一下。 我所做的矩阵键盘控制的发光二极管只有8个亮8个不亮,和P2口连接的亮和P0口连接的不亮,高手给点意见。 回答: 下列程序已经经过了 PROTEUS 验证,可以满足题目要求。 ;---------------------------------------------------------- ORG 0000H START: MOV P0, #0 ;显示初始化 MOV P2, #0 ;全亮 ;---------------------------------------------------------- M
[单片机]
<font color='red'>单片机</font>89S51,4×4矩阵键盘,控制16个发光二极管
51单片机基础之DHT11温湿度传感器
接线: 代码: main.c文件 /* 使用DHT11模块,检测温湿度,在lcd1602上面显示,因为1602显示不是每次都能出来,所以加了串口打印,会更加直观。 */ #include reg51.h #include lcd.h #include intrins.h #include stdio.h sbit Temp_data=P3^6; //信号引脚 unsigned int rec_dat ; unsigned char rec_dat_lcd0 ; unsigned char rec_dat_lcd1 ; unsigned char rec_dat_lcd2 ; unsigned ch
[单片机]
51<font color='red'>单片机</font>基础之DHT11温湿度传感器
51单片机C语言教程(八) 表达式语句1
从第四课到第七课,学习了大部分的基本语法,这一课所要学习的各种基本语句的语法可以说是组成程序的灵魂。在前面的课程中的例子里,也简单理解过一些语句的用法,可以看出C语言是一种结构化的程序设计语言。C语言提供了相当丰富的程序控制语句。学习掌握这些语句的用法也是C语言学习中的重点。   表达式语句是最基本的一种语句。不同的程序设计语言都会有不一样的表达式语句,如VB就是在表达式后面加入回车就构成了VB的表达式语句,而在51 单片机 的C语言中则是加入分号 ; 构成表达式语句。举例如下:   b = b * 10;   Count++;   X = A;Y = B;   Page = (a+b)/a-1;   以上的都是合法的表达式语句。
[单片机]
51<font color='red'>单片机</font>C语言教程(八) 表达式语句1
MSP430单片机RTC实时时钟部分程序结构
RTC-Real Time Clock是430单片机的实时时钟模块,可以配置成实时时钟模式(万年历)或者一般目的的32位计数器模式,其中实时时钟模式提供了年月日、时分秒,可以选择BCD码或者二进制格式,并且具有可编程的闹钟。RTC模块支持中断。相关寄存器请参阅430系列单片机user's guide(我用的是5438A)。 1.计数器模式 实时时钟控制器寄存器1 RTCMODE位被重置时,计数器模式被选择,通过软件设置可以得到一个32位的计数器。从时钟模式切换到计数器模式是通过重置计数值:RTCNT1、RTCNT2、RTCNT3、RTCNT4 和 预换算计数器:RT0PS、RT1PS。 计数器的增量计数器来自ACLK、
[单片机]
MSP430<font color='red'>单片机</font>RTC实时时钟部分程序结构
嵌入式学习笔记7——51单片机之独立键盘
1. 51单片机的P1、P2、P3口自有上拉电阻,P0口要想当做I/O口使用,必须也加个上拉电阻。 2. 如果用51单片机的I/O口用于输入,必须先将I/O口输出1,即置1。 3. 单片机组成的系统中,用的最多的是非编码键盘,其又分为独立式非编码键盘和行列式非编码键盘。 4. 数字电路中线与、线或的概念: 如上图,线与两端电平做与运算,即当一端为高电平,另一端为低电平时,开关闭合,整个电路为低电平。 线或,Z为高阻态,当另一端为高电平时,开关闭后,整个电路为高电平;若另一端为低电平,开关闭后,整个电路为低电平。 5. 按键消抖(软件方法和物理方法),本文只介绍软件方法:按键按下的实际波形如下图 整个
[单片机]
嵌入式学习笔记7——51<font color='red'>单片机</font>之独立键盘
51单片机LCD液晶屏按键电子时钟的设计
液晶屏为JM12864或FYD12864(带字库),我用这两种型号的屏没问题, 4行*8列汉字=32 串行通信 接/口P1.5--P1.7,可根据你的电路修改相应的接口。 #include #define uchar unsigned char voidLCD_ini(); void ascii_change(void); void delay(); void wri_add(uchar com); void wri_dat(uchar com1); void shan(void); void disp(); void tkey(void); sbit cs=P1^7; sbit s
[单片机]
51<font color='red'>单片机</font>LCD液晶屏按键电子时钟的设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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