一、 前言
AD590 为Analog Devices 公司出品的一种双端温度转换电流源的单晶IC。图为AD590内部的线路结构,及其二种常用的包装。
二、原理与暂存器设定说明
原理:
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。
说明:
AD 590特性
线性电流源输出:其转换率为1μA/°K 。有宽广的测温范围:-55°C~150°C 。体积小:仅有二端子,配线容易,电压输入/电流输出。准确度极高。使用的电压范围弹性大:+4V~30V,输出特性不会变化,如图所示。
输出电压转换率
由于AD 590输出信号为1μA/°K 电流,如欲转换成电压输出,只须与1KΩ之负载电阻串聯即可,由V=l‧R原理,得到1mV/°K之电压输出。图4-3所示,为一常用的AD 590温度一电压转换电路。由于1KΩ阻值必须很准确,否则会造成误差,故可使用910Ω固定电阻与200Ω半固定电阻串聯成准确的1KΩ电阻。
三、 程式与电路图
程式:
#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( );
}
}
}
电路图:
四、 结论
关键字:pic16f887 单片机 AD590 高精度测温
引用地址:
pic16f887单片机用AD590高精度测温的电路和程序
推荐阅读最新更新时间: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
[单片机]
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单片机C语言教程(八) 表达式语句1
从第四课到第七课,学习了大部分的基本语法,这一课所要学习的各种基本语句的语法可以说是组成程序的灵魂。在前面的课程中的例子里,也简单理解过一些语句的用法,可以看出C语言是一种结构化的程序设计语言。C语言提供了相当丰富的程序控制语句。学习掌握这些语句的用法也是C语言学习中的重点。 表达式语句是最基本的一种语句。不同的程序设计语言都会有不一样的表达式语句,如VB就是在表达式后面加入回车就构成了VB的表达式语句,而在51 单片机 的C语言中则是加入分号 ; 构成表达式语句。举例如下: b = b * 10; Count++; X = A;Y = B; Page = (a+b)/a-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、
[单片机]
嵌入式学习笔记7——51单片机之独立键盘
1. 51单片机的P1、P2、P3口自有上拉电阻,P0口要想当做I/O口使用,必须也加个上拉电阻。 2. 如果用51单片机的I/O口用于输入,必须先将I/O口输出1,即置1。 3. 单片机组成的系统中,用的最多的是非编码键盘,其又分为独立式非编码键盘和行列式非编码键盘。 4. 数字电路中线与、线或的概念: 如上图,线与两端电平做与运算,即当一端为高电平,另一端为低电平时,开关闭合,整个电路为低电平。 线或,Z为高阻态,当另一端为高电平时,开关闭后,整个电路为高电平;若另一端为低电平,开关闭后,整个电路为低电平。 5. 按键消抖(软件方法和物理方法),本文只介绍软件方法:按键按下的实际波形如下图 整个
[单片机]
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
[单片机]