光学  

   你现在的位置:JUNTRY>>主 页>>              今天是:

   

四位数数字温度计

 

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

AD590 产生的电流与绝对温度成正比,它可接收的工作电压为 4V - 30V ,检测的温度范围为- 55 ℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。

AD590 温度与电流的关系如下表所示

摄氏温度 AD590 电流 经 10K Ω 电压
0 ℃ 273.2 uA 2.732V
10 ℃ 283.2 uA 2.832 V
20 ℃ 293.2 uA 2.932 V
30 ℃ 303.2 uA 3.032 V
40 ℃ 313.2 uA 3.132 V
50℃ 323.2 uA 3.232 V
60 ℃ 333.2 uA 3.332 V
100 ℃ 373.2 uA 3.732 V

AD590 引脚图

2. 实验任务

利用 AD590 温度传感器完成温度的测量,把转换的温度值的模拟量送入 ADC0809 的其中一个通道进行 A/D 转换,将转换的结果进行温度值变换之后送入数码管显示。

3. 电路原理图

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 芯排线连接到“模数转换模块”区域中的 D0D1D2D3D4D5D6D7 端子上。

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. 汇编源程序

(略)

7.C语言源程序

#include <AT89X52.H>

#include <ctype.h>

unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,

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

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,

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

unsigned char dispbuf[8]={10,10,10,10,10,10,0,0};

unsigned char dispcount;

unsigned char getdata;

unsigned long temp;

unsigned char i;

bit sflag;

sbit ST=P3^0;

sbit OE=P3^1;

sbit EOC=P3^2;

sbit CLK=P3^3;

sbit LED1=P3^6;

sbit LED2=P3^7;

sbit SPK=P3^5;

void main(void)

{

ST=0;

OE=0;

TMOD=0x12;

TH0=0x216;

TL0=0x216;

TH1=(65536-4000)/256;

TL1=(65536-4000)%256;

TR1=1;

TR0=1;

ET0=1;

ET1=1;

EA=1;

ST=1;

ST=0;

getdata=148;

while(1)

{

;

}

}

void t0(void) interrupt 1 using 0

{

CLK=~CLK;

}

void t1(void) interrupt 3 using 0

{

TH1=(65536-4000)/256;

TL1=(65536-4000)%256;

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%10;

temp=temp/10;

i++;

}

dispbuf[i]=temp;

ST=1;

ST=0;

}

P1=dispcode[dispbuf[dispcount]];

P2=dispbitcode[dispcount];

dispcount++;

if(dispcount==8)

{

dispcount=0;

}

}

 

  · AT89S51单片机试验以及教程 01 闪烁灯

 · AT89S51单片机试验以及教程 02 模拟开关灯

 · AT89S51单片机试验以及教程 03 多路开关状态指示

  · AT89S51单片机试验以及教程 04 广告灯的左移右移

 · AT89S51单片机试验以及教程 05 广告灯(利用取表方式)

  · AT89S51单片机试验以及教程 06 报警产生器

 · AT89S51单片机试验以及教程 07 I/O并行口直接驱动LED显示

 · AT89S51单片机试验以及教程 08 按键识别方法之一

 · AT89S51单片机试验以及教程 09 一键多功能按键识别技术

 · AT89S51单片机试验以及教程 10 00-99计数器

 · AT89S51单片机试验以及教程 11 00-59秒计时器(利用软件延时)

 · AT89S51单片机试验以及教程 12 可预置可逆4位计数器

 · AT89S51单片机试验以及教程 13 动态数码显示技术

  · AT89S51单片机试验以及教程 14 4×4矩阵式键盘识别技术

  · AT89S51单片机试验以及教程 15 定时计数器T0作定时应用技术(一)

  · AT89S51单片机试验以及教程 16 定时计数器T0作定时应用技术(二)

 · AT89S51单片机试验以及教程 17 99秒马表设计

  · AT89S51单片机试验以及教程 18 “嘀、嘀、……”报警声

 · AT89S51单片机试验以及教程 19 “叮咚”门铃

 · AT89S51单片机试验以及教程 20 数字钟

 · AT89S51单片机试验以及教程 21 拉幕式数码显示技术

 · AT89S51单片机试验以及教程 22 电子琴

 · AT89S51单片机试验以及教程 23 模拟计算器数字输入及显示

  · AT89S51单片机试验以及教程 24 8X8 LED点阵显示技术

 · AT89S51单片机试验以及教程 25 点阵式LED“0-9”数字显示技术

 · AT89S51单片机试验以及教程 26 点阵式LED简单图形显示技术

 · AT89S51单片机试验以及教程 27 ADC0809A/D 转换器基本应用技术

 · AT89S51单片机试验以及教程 28 数字电压表

 · AT89S51单片机试验以及教程 29 两点间温度控制

 · AT89S51单片机试验以及教程 30 四位数数字温度计

 · AT89S51单片机试验以及教程 31 6位数显频率计数器

 · AT89S51单片机试验以及教程 32 电子密码锁设计

 · AT89S51单片机试验以及教程 33 4×4键盘及8位数码管显示构成的电子密码锁

 · AT89S51单片机试验以及教程 34 有存储器功能的数字温度计-DS1624技术应用

 · AT89S51单片机试验以及教程 35 DS18B20数字温度计使用

 

 

 

 

 

以上部分内容转载于网上,如有涉及到版权问题,请即通知本人删除

copyright© 2004-2005 all rights reserved www.JUNTRY(.IK8).com

juntry@126.com