电子温度计怎么用安氏电子温度计怎么用

核心提示电子体温计在使用时开机后,首先要听到滴的一声,然后将体温计的探头插入需要测量地方。如果是进行口腔测量,要将探头置于口腔舌根下,可测得口腔的温度。如果是进行腋窝处测量,要将探头置于腋窝中心处进行测量。进入的深度不可以超过电子体温计中长的1/2

电子体温计在使用时开机后,首先要听到滴的一声,然后将体温计的探头插入需要测量地方。如果是进行口腔测量,要将探头置于口腔舌根下,可测得口腔的温度。

如果是进行腋窝处测量,要将探头置于腋窝中心处进行测量。进入的深度不可以超过电子体温计中长的1/2。电子体温计能快速准确的测量人体体温,与传统的水银体温计相比,具有读数方便、测量时间短、测量精度高的优点。尤其是电子体温计不含水银,对人体及周围环境无害,特别适用于家庭、医院等场合使用。

电子体温计由温度传感器,液晶显示器,纽扣电池,专用集成电路及其他电子元器件组成。电子体温计利用某些物质的物理参数,如电阻、电压、电流等,与环境温度之间存在的确定关系,将体温以数字的形式显示出来。其不足之处在于示值准确度受电子元件及电池供电状况等因素影响,不如玻璃体温计。利用了半导体电阻随温度变化而变化的特征。

电子温度计准吗

目前临床上最常使用的温度计除了水银温度计外,就是电子温度计。通常情况下电子温度计只要没有损坏,测量的数值是比较准确的。目前所使用的电子温度计主要是额温枪和耳温枪两种,通常认为耳温枪比额温枪测量的结果要更准确。

电子温度计多少度算发烧

电子温度计的温度是参考人体的腋温37.3度以上就算是发热,37.3度到38度是低热,38度到39度是中等度发热,超过39度就是高热。但是由于电子温度计,它本身受仪器的准确性影响,还有就是周围环境的影响。因此,如果要准确的测量体温,还是建议测量腋温。

现在已设计好基于DS18B20体温计的电路图,请高人指导,如何进行程序编写及软件仿真,来达到0.1的精度。

1,电桥的电阻值与后级采样差分输入电压范围和你的测温范围有关。具体计算可根据欧姆定律来计算,输出结果为 k(放大倍数)*差分电压。

2,电路以及参数确定后,温度多少,你的采样电压就是多少,只跟温度有关,与你软件量程设置无关。

3,转换关系是指你的采样电压和你计算出最后的温度的关系,也可根据欧姆定律反向计算出电阻值后按照PT100的温度表检索温度,或者采取校准的方式来实现。

回答帮助了你的话记得采纳答案撒。

#include<reg51.h>

#include<intrins.h>

#define Uchar unsigned char

sbit DQ=P2^0; //DS18B20数据端

sbit RLED=P2^1;//红色,代表正温度

sbit GLED=P2^2;//绿色,代表负温度

sbit Q1=P2^4; //数码管位选端1

sbit Q2=P2^5; //数码管位选端2

sbit Q3=P2^6; //数码管位选端3

sbit Q4=P2^7; //数码管位选端4

bit minus_flag; //负温度标记

Uchar Temperature,High,Low;

Uchar code Table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF}; //0-9,-

void Delay(Uchar time)

{

while(time--);

}

//***************************************

//函数名称:Ds18b20_Init

//创建日期:2012.2.20

//函数功能:对DS18B20进行初始化

//输入参数:void

//输出参数:void

//返 回 值:void

//**************************************

void Ds18b20_Init(void)

{

Uchar x; //可以不使用x

DQ = 1; //总线初始化状态

Delay(20);//延时一段时间

DQ = 0; //单片机将总线拉低

Delay(250); //延时约500us

DQ = 1; //上升沿

Delay(30); //延时约60us

x = DQ; //x=0则初始化成功,x=1则初始化失败

while(x);

}

//***************************************

//函数名称:Write_Ds18b20

//创建日期:2012.2.20

//函数功能:向DS18B20写入数据

//输入参数:dat

//输出参数:void

//返 回 值:void

//说 明:

//修*改*历*史*

//**************************************

void Write_Ds18b20(Uchar dat)

{

Uchar k;

for(k=0; k<8; k++) //循环8次写一个字节

{

DQ = 1; //总线初始化

_nop_();

DQ = 0;

Delay(5);

DQ = dat&0x01;

Delay(30);

DQ = 1;

dat>>=1; //数据右移一位

}

}

//***************************************

//函数名称:Read_Ds18b20

//创建日期:2012.2.20

//函数功能:从DS18B20读出数据

//输入参数:void

//输出参数:temp

//返 回 值:temp

//说 明:

//修*改*历*史*

//**************************************

Uchar Read_Ds18b20(void)

{

Uchar temp,q;

for(q=0; q<8; q++)

{

DQ = 1; //总线初始化

_nop_();

DQ = 0; //拉低总线

Delay(2);

DQ = 1;//释放总线

Delay(5);

if(DQ)

{

temp|=0x80;//temp高位置1

}

temp>>=1;

Delay(30);

}

return (temp);

}

//***************************************

//函数名称:Temp_Exchange

//创建日期:2012.2.20

//函数功能:温度转换

//输入参数:void

//输出参数:void

//返 回 值:void

//说 明:

//修*改*历*史*

//**************************************

void Temp_Exchange(Uchar H_data,Uchar L_data)

{

if(H_data>>3) //计算负温度

{

minus_flag = 1;

GLED = 0;//绿色LED点亮

Temperature=((~((H_data*256)|L_data))+1)*0.0625*10; //精确到0.1

}

else //计算正温度

{

minus_flag = 0;

RLED = 0;//红色LED点亮

Temperature = ((H_data*256)|L_data)*0.0625*10;//精确到0.1

}

}

//***************************************

//函数名称:LED_Display

//创建日期:2012.2.20

//函数功能:数码管显示

//输入参数:void

//输出参数:void

//返 回 值:void

//说 明:

//修*改*历*史*

//**************************************

void LED_Display(void)

{

P0 = Table[10]; //符号位

if(minus_flag)//显示-

{

Q1 = 0;

Delay(10);

Q1 = 1;

}

else //不显示-

{

Q1 = 1;

Delay(10);

}

P0 = Table[Temperature/100]; //十位

Q2 = 0;

Delay(10);

Q2 = 1;

P0 = Table[Temperature%100/10]-0x80;//个位(带小数点)

Q3 = 0;

Delay(10);

Q3 = 1;

P0 = Table[Temperature%10]; //小数位

Q4 = 0;

Delay(10);

Q4 = 1;

}

//***************************************

//函数名称:main

//创建日期:2012.2.20

//函数功能:程序执行入口

//输入参数:void

//输出参数:void

//返 回 值:void

//说 明:

//修*改*历*史*

//**************************************

void main(void)

{

while(1)

{

Ds18b20_Init(); //对DS18B20进行初始化

Write_Ds18b20(0xCC);//跳过ROM序列号

Write_Ds18b20(0x44);//温度转换

Ds18b20_Init(); //对DS18B20进行初始化

Write_Ds18b20(0xCC); //跳过ROM序列号

Write_Ds18b20(0xBE); //读取暂存数据

Low=Read_Ds18b20(); //读取温度低位

High=Read_Ds18b20(); //读取温度高位

Temp_Exchange(High,Low); //温度转换

LED_Display(); //温度显示

}

}

 
友情链接
鄂ICP备19019357号-22