运用AD590温度传感器进行温度的精确测量

文章图片

    1.温度传感器AD590基础知识

    AD590造成的电流量与絕對温度正比,它可接受的工作频率为4V-30V,检验的温度范畴为-55℃-+150℃,它有很好的线形輸出特性,温度每提升1℃,其电流量提升1uA。


    AD590温度与电流量的关联以下表图示

4-1.jpg

    摄氏度温度AD590电流量经10KΩ工作电压


    0℃273.2uA2.732V


    10℃283.2uA2.832V


    20℃293.2uA2.932V


    30℃303.2uA3.032V


    40℃313.2uA3.132V


    50℃323.2uA3.232V


    60℃333.2uA3.332V


    100℃373.2uA3.732V


    AD590脚位图


    2.试验每日任务


    运用AD590温度传感器进行温度的精确测量,把变换的温度值的模拟量输入送进ADC0809的在其中一个安全通道开展A/D变换,将变换的結果开展温度值转换以后送进七段数码管显示信息。


    3.电路设计图


    图4.30.1


    4.系统软件板上硬件配置联线


    (1).把“单片机系统软件”区域中的P1.0-P1.7与“动态性数码科技显示信息”区域中的ABCDEFGH端口号用8芯线排联接。


    (2).把“单片机系统软件”区域中的P2.0-P2.7与“动态性数码科技显示信息”区域中的S1S2S3S4S5S6S7S8端口号用8芯线排联接。


    (3).把“单片机系统软件”区域中的P3.0与“模数转换控制模块”区域中的ST端子用导线相互连接。


    (4).把“单片机系统软件”区域中的P3.1与“模数转换控制模块”区域中的OE端子用导线相互连接。


    (5).把“单片机系统软件”区域中的P3.2与“模数转换控制模块”区域中的EOC端子用导线相互连接。


    (6).把“单片机系统软件”区域中的P3.3与“模数转换控制模块”区域中的CLK端子用导线相互连接。


    (7).把“模数转换控制模块”区域中的A2A1A0端子用导线联接到“开关电源”区域中的GND端子上。


    (8).把“模数转换控制模块”区域中的IN0端子用导线联接到自做的AD590电源电路上。


    (9).把“单片机系统软件”区域中的P0.0-P0.7用8芯线排联接到“模数转换控制模块”区域中的D0D1D2D三d4D6D6D7端子上。


    5.编程设计內容


    (1).ADC0809的CLK数据信号由单片机的P3.3引脚出示


    (2).因为AD590的温度转变范畴在-55℃-+150℃中间,历经10KΩ以后取样到的工作电压转变在2.182V-4.232V中间,不超过5V工作电压所表达的范畴,因而参照工作电压取电源电压VCC,(评测VCC=4.70V)。从而可测算出历经A/D变换以后的摄氏度温度显示信息的数据信息为:


    假如(D*2350/128)<2732,则显示信息的温度数值-(2732-(D*2350/128))


    假如(D*2350/128)≥2732,则显示信息的温度数值+((D*2350/128)-2732)


    6.C语言源程序


    #include《AT89X52.H》


    #include《ctype.h》


    unsignedcharcodedispbitcode[]={0xfe,0xfd,0xfb,0xf7,


    0xef,0xdf,0xbf,0x7f};


    unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,


    0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};


    unsignedchardispbuf[8]={10,10,10,10,10,10,0,0};


    unsignedchardispcount;


    unsignedchargetdata;


    unsignedlongtemp;


    unsignedchari;


    bitsflag;


    sbitST=P3^0;


    sbitOE=P3^1;


    sbitEOC=P3^2;


    sbitCLK=P3^3;


    sbitLED1=P3^6;


    sbitLED2=P3^7;


    sbitSPK=P3^5;


    voidmain(void)


    {


    ST=0;


    OE=0;


    TMOD=0x12;


    TH0=0x216;


    TL0=0x216;


    TH1=(65536-4000)/256;


    TL1=(65536-4000)%6;


    TR1=1;


    TR0=1;


    ET0=1;


    ET1=1;


    EA=1;


    ST=1;


    ST=0;


    getdata=148;


    while(1)


    {


    ;


    }


    }


    voidt0(void)interrupt1using0


    {


    CLK=~CLK;


    }


    voidt1(void)interrupt3using0


    {


    TH1=(65536-4000)/256;


    TL1=(65536-4000)%6;


    if(EOC==1)


    {


    OE=1;


    getdata=P0;


    OE=0;


    temp=(getdata*2350);


    temp=temp/128;


    if(temp《2732)


    {


    temp=2732-temp;


    sflag=1;


    }


    else


    {


    temp=temp-2732;


    sflag=0;


    }


    i=3;


    dispbuf[0]=10;


    dispbuf[1]=10;


    dispbuf[2]=10;


    if(sflag==1)


    {


    dispbuf[7]=11;


    }


    else


    {


    dispbuf[7]=10;


    }


    dispbuf[3]=0;


    dispbuf[4]=0;


    dispbuf[5]=0;


    dispbuf[6]=0;


    while(temp/10)


    {


    dispbuf[i]=temp;


    temp=temp/10;


    i++;


    }


    dispbuf[i]=temp;


    ST=1;


    ST=0;


    }


    P1=dispcode[dispbuf[dispcount]];


    P2=dispbitcode[dispcount];


    dispcount++;


    if(dispcount==8)


    {


    dispcount=0;


    }


    }


发表评论

评论

    暂无评论

©Copyright 2013-2025 亿配芯城(深圳)电子科技有限公司 粤ICP备17008354号

Scroll