DS18B20温度传感器

DS18B20温度传感器
DS18B20温度传感器

实验十DS18B20温度传感器

喻海中

一、实验目的

1、掌握用单片机控制以“一线总线”数字方式传输数据的器件的编程方法;

2、理解温度传感器DS18B20温度编码方法;

3、了解温度传感器DS18B20的工作原理。

二、实验仪器

1、微型计算机

2、AT89S52单片机系统

3、HNIST-I单片机系统实验箱

4、USB接口数据线及跳线

三、实验原理

本实验采用AT89S52单片机P3^5口控制温度传感器DS18B20的温度测量,以四位数码感形式输出测量温度,原理图如下图一:

图一

1、DS18B20特性介绍

DS18B20是DALLAS公司的最新单线数字温度传感器, 它的体积更小、适用电压更宽、更经济。DS18B20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点, 使用户可轻松地组建传感器网络, 为测量系统的构建引入全新概念。他的测量温度范围为-55~+125℃, 在-10~+85℃范围内, 精度为±0、5℃。现场温度直接以“一线总线”的数字方式传输大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量, 如: 环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同, 新的产品支持3~5、5V 的电压范围, 使系统设计更灵活、方便。而且新一代产品更便宜, 体积更小。DS18B20可以程序设定9~12位的分辨率, 精度为±0、5℃。可以选择更小的封装方式,更宽的电压适用范围分辨率设定及用户设定的报警温度存储在E2PROM 中, 掉电后依然保存。DS18B20 的性能是新一代产品中最好的, 性能价格比也非常出色, 继“一线总线”的早期产品后,DS18B20开辟了温度传感器技术的新概念。DS18B20和DS18B22使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。

1、1 DS18B20的内部结构

DS18B20内部结构主要由4 部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL,配置寄存器。DS18B20的管脚排列如图二所示:

图二

DS18B20 中的温度传感器可完成对温度的测量, 以12位转化为例: 用16 位符

号扩展的二进制补码读数形式提供, 以0、0625℃/LSB 形式表达,其中S为符号位。

表1 12 位转化后得到的12 位数据

表1 是12 位转化后得到的12 位数据, 存储在18B20的2 个8 bit 的RAM 中, 二进制中的前面5 位是符号位,如果测得的温度大于0℃, 则这5 位为0,只要将测到的数值乘于01062 5 即可得到实际温度; 如果温度小于0℃,则这5 位为1,测到的数值需要取反加1 再乘于01062 5即可得到实际温度。例如: +125℃的数字输出为07D0H, +25、0625℃的数字输出为0191H,-25、0625℃的数字输出为FF6FH,-55℃的数字输

出为FC90H。

表2 温度与数字输出的对应关系

1、2DS18B20 温度传感器的存储器

DS18B20 温度传感器的内部存储器包括一个高速暂存RAM 和一个非易失性的可

电擦除的E2 RAM , 后者存放高温度和低温度触发器TH , TL 和结构寄存器。暂存

存储器包含了8 个连续字节, 前2 个字节是测得的温度信息, 第1 个字节的内容是温度的低8 位, 第2 个字节是温度的高8 位。第3 个和第4 个字节是TH , TL 的易失性拷贝, 第5 个字节是结构寄存器的易失性拷贝, 这3 个字节的内容在每一次上电复位时被刷新。第6 , 7 , 8个字节用于内部计算。第9 个字节是冗余检验字

节。根据DS18B20 的通讯协议, 主机控制DS18B20 完成温度转换必须经过3 个步骤: 每一次读写之前都要对DS18B20 进行复位; 复位成功后发送一条ROM 指令; 最后发送RAM 指令。这样才能对DS18B20 进行预定的操作。

复位要求主CPU 将数据线下拉500 μs , 然后释放,DS18B20 收到信号后等

待16 ~60 μs 左右, 后发出60 ~240μs低脉冲, 主CPU 收到此信号表示复位成功。

1、3 DS18B20 使用中的注意事项

DS18B20 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点, 但在实际应用中也应注意以下几方面的问题:

(1) DS18B20 从测温结束到将温度值转换成数字量需要一定的转换时间, 这

是必须保证的, 不然会出现转换错误的现象, 使温度输出总是显示85 。

(2) 在实际使用中发现, 应使电源电压保持在5 V 左右。若电源电压过低,

会使所测得的温度与实际温度出现偏高现象, 经过试验发现, 一般在5 V 左右。

(3) 较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器

间采用串行数据传送, 因此,在对DS18B20 进行读写编程时, 必须严格保证读写时序,否则将无法读取测温结果。

(4)在DS18B20 测温程序设计中, 向DS18B20 发出温度转换命令后, 程序总要

等待DS18B20 的返回信号,一旦某个DS18B20 接触不好或断线, 当程序读该

DS18B20 时, 将没有返回信号, 程序进入死循环。这一点在进行DS18B20 硬件连接和软件设计时也要给予一定的重视。

2、对DS18B20的一般控制流程

整个对DS18B20的操作都是以“复位”、“等待应答”、“读一字节”、“写一字节”这几个操作为基础的, 所以他们是使DS18B20 能否正常测温的关键。对不同的操作只要发出相应的命令控制字即可, 详情请参看有关技术文档。典型的测温流程如图三所示:

图三

四、实验步骤

1、连线:温度传感器输入输出口OUT接P3^5口;

2、打开电源,观察数码管显示的温度;

3、改变温度传感器DS18B20附近温度,观察数码管上温度的变化。

五、流程图与程序设计

1、流程图

1.1.主函数部分:

1.2 .温度测量部分:

N

Y

开 始

温度测量

数据计算处理

数据位分配

数码管显示

数码管刷新

初始化DS18B20 TxReset()

应答脉冲RxWait() 复位,初始化DS18B20 TxReset() 跳过ROM 匹配WrByte(0xcc)

启动温度转换convert() 读取温度RdByte()

返回值返回

跳过ROM 匹配WrByte(0x44)

1.3数据计算处理部分 1.3.1整数部分

N

Y

Y

N

1.3.2小数部分

Y N

2、源程序

/********************************************************************************* ****************程序名:main.c ********************* ****************功 能:温度传感器测量温度 ********************** **************** ********************** ****************单 位:湖南理工物电系创新基地 ********************** **************** All rights reserved ********************** **************** ********************** ****************开始时间:2009.08.07 ********************** ****************结束时间:2009.08.10 ********************** ********** ******版本信息: **********************

****************备 注:DS18B20的输入输出口接单片机的P3^5口********************* *********************************************************************************/ #include

取出8位整数部分数据i

i >=0 ?

返回值返回

i=i-1

小数部分全为0

取出4位小数部分存入数组

整数i >=0 ?

原码计算小数位的值

补码计算小数位的值

返回值返回

#define uint unsigned int

#define uchar unsigned char

#define negative -100

uchar tplsb;//温度值低位字节

uchar tpmsb;//温度值高位字节

/***************************数字0-9及字母A,b,C,d,E,F,负号*******************/ uchar code table1[]=

{0xfc,0x60,0xda,0xf2,

0x66,0xb6,0xbe,0xe0,

0xfe,0xf6,0xee,0x3e,

0x9c,0x7a,0x9e,0x8e,0x02};

/***********************************带小数点的数字0-9****************************/ uchar code table2[]=

{0xfd,0x61,0xdb,0xf3,

0x67,0xb7,0xbf,0xe1,

0xff,0xf7};

/**************************************端口定义*********************************/ sbit DQ=P3^5;

sbit P14=P1^4;

/*************************************延时t秒************************************/ void delay(uint t)

{

uint i;

while(t--)

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

}

/******************************产生复位脉冲,初始化DS18B20*********************/ void TxReset(void)

{

uint i;

DQ=0;

/*拉低约900us*/

i=100;

while(i>0) i--;

DQ=1; //产生上升沿

i=4;

while(i>0) i--;

}

/************************************等待应答脉冲*******************************/ void RxWait(void)

{

uint i;

while(DQ);

while(~DQ);

i=4;

while(i>0) i--;

}

/***************************读取数据的一位,满足读时限要求*********************/

bit RdBit(void)

{

uint i;

bit b;

DQ=0;

i++; //保持低至少1us

DQ=1;

i++; //延时15us以上,读时隙上升沿后15us,DS18B20输出数据才有效

i++;

b=DQ;

i=8;

while(i>0) i--;//读时延时不低于60us

return(b);

}

/********************************读取数据的一个字节*******************************/ uchar RdByte(void)

{

uchar i,j,b;

b=0;

for(i=1;i<=8;i++)

{

j=RdBit();

b=(j<<7)|(b>>1);

}

return(b);

}

/**********************写数据的一个字节,满足写1和写0的时隙要求****************/ void WrByte(uchar b)

{

uint i;

uchar j;

bit btmp;

for(j=1;j<=8;j++)

{

btmp=b&0x01;

b=b>>1; //取下一位(由低位到高位)

if(btmp)

{

/*写1*/

DQ=0;

i++;i++; //延时15us

DQ=1;

i=8;

while(i>0) i--;//整个写1时隙不低于60us

}

else

{

/*写0*/

DQ=0;

i=8;

while(i>0) i--;//保持低电平在60us到120us之间

DQ=1;

i++;

i++;

}

}

}

/**********************************启动温度转换**********************************/ void convert(void)

{

TxReset();//产生复位脉冲,初始化DS18B20

RxWait();//等待DS18B20给出应答脉冲

delay(1);//延时

WrByte(0xcc);//skip rom命令

WrByte(0x44);//convert T命令

}

/*************************************读取温度值**********************************/ void RdTemp(void)

{

TxReset();//产生复位脉冲,初始化DS18B20

RxWait();//等待DS18B20给出应答脉冲

delay(1);//延时

WrByte(0xcc);//skip rom命令

WrByte(0xbe);//read scratchpad 命令

tplsb=RdByte();//温度值低位字节(其中低4位位二进制的"小数"部分)

tpmsb=RdByte();//温度值高位字节(其中高5位为符号位)

}

/************************************温度测量主函数******************************/ char Temperature(void)

{

char T=0;

delay(1);//延时1ms

convert();//启动温度转换,需要750ms

delay(1000);//延时1s

RdTemp();//读取温度

tplsb=tplsb>>4;

tpmsb=tpmsb<<4;

T=tpmsb|tplsb;

return (T); //返回取出的温度值整数部分,有符号

}

/*********************************取出四位小数位********************************/ uchar *XiaoShuWei(void)

{ uchar i,AfterDot[4];

bit Compare=1; //用于取位

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

{

AfterDot[i]=tplsb&Compare;

tplsb=tplsb>>1; //每取一位右移,准备下一次

}

return(AfterDot);//四位小数位以数组返回

}

/*********************************小数位值的计算*********************************/ unsigned short JiSuanXiaoShu(char T1,uchar *After_Dot)

{

unsigned short XSW;

if(T1>=0)//为正数时小数原码表示

XSW=After_Dot[3]*500+After_Dot[2]*250+After_Dot[1]*125+After_Dot[0]*62;

else//为负数时小数补码表示

{

if(After_Dot[0]==1)//最后一位是1,转换位原码时不用借位

XSW=(!After_Dot[3])*500+(!After_Dot[2])*250+(!After_Dot[1])*125+After_Dot[0]*62;

if(After_Dot[0]==0&&After_Dot[1]==1)

XSW=(!After_Dot[3])*500+(!After_Dot[2])*250+After_Dot[1]*125;

if(After_Dot[0]==0&&After_Dot[1]==0&&After_Dot[2]==1)

XSW=(!After_Dot[3])*500+After_Dot[2]*250;

if(After_Dot[0]==0&&After_Dot[1]==0&&After_Dot[2]==0&&After_Dot[3]==1)

XSW=After_Dot[3]*500;

if(After_Dot[0]==0&&After_Dot[1]==0&&After_Dot[2]==0&&After_Dot[3]==0)

XSW=0;

}

return(XSW);//小数部分返回小数点左移三位后的值

}

/*******数位分配函数***********/

uchar *shuweifenpei(char CC, unsigned short DD,uchar After_dot[4])

{

uchar tab[4];

uchar ge,shi,bai,sign,k;

/*温度范围是-55~125*/

if(CC>=0)

{

sign=CC/100; //分配百位

bai=(CC%100)/10; //分配十位

shi=CC%10; //分配个位

ge=DD/100; //分配小数位

}

if(CC<0)

{

sign=negative;

bai=(0-CC)/10;

k=After_dot[3]==0&&After_dot[2]==0

&&After_dot[1]==0&&After_dot[0]==0;// k用于判断小数位是否全为0

if(k==1)shi=(0-CC)%10;//如果小数位全0,个位是补码形式

if(k!=1) shi=(-1-CC)%10;//如果小数位非全0,整数部分为反码,个位是反码

ge=DD/100;

}

tab[0]=sign;tab[1]=bai;tab[2]=shi;tab[3]=ge;

return(tab);//将数位以数组tab[]返回

}

/***************************结果显示数位译码(不带小数点) *************************/ uchar yima(uchar ge_shi_bai_sign)

{

uchar GE_SHI_BAI_SIGN;

switch(ge_shi_bai_sign)

{

case 0:GE_SHI_BAI_SIGN=table1[0];break;

case 1:GE_SHI_BAI_SIGN=table1[1];break;

case 2:GE_SHI_BAI_SIGN=table1[2];break;

case 3:GE_SHI_BAI_SIGN=table1[3];break;

case 4:GE_SHI_BAI_SIGN=table1[4];break;

case 5:GE_SHI_BAI_SIGN=table1[5];break;

case 6:GE_SHI_BAI_SIGN=table1[6];break;

case 7:GE_SHI_BAI_SIGN=table1[7];break;

case 8:GE_SHI_BAI_SIGN=table1[8];break;

case 9:GE_SHI_BAI_SIGN=table1[9];break;

case negative:GE_SHI_BAI_SIGN=table1[16];break; //负号'-'

//case Error:GE_SHI=table1[14];break; //报错'EE'

}

return(GE_SHI_BAI_SIGN);

}

/******************************译码带小数点的个位*********************************/ uchar yima2(uchar ge_shi_bai_sign)

{

uchar GE_SHI_BAI_SIGN;

switch(ge_shi_bai_sign)

{

case 0:GE_SHI_BAI_SIGN=table2[0];break;

case 1:GE_SHI_BAI_SIGN=table2[1];break;

case 2:GE_SHI_BAI_SIGN=table2[2];break;

case 3:GE_SHI_BAI_SIGN=table2[3];break;

case 4:GE_SHI_BAI_SIGN=table2[4];break;

case 5:GE_SHI_BAI_SIGN=table2[5];break;

case 6:GE_SHI_BAI_SIGN=table2[6];break;

case 7:GE_SHI_BAI_SIGN=table2[7];break;

case 8:GE_SHI_BAI_SIGN=table2[8];break;

case 9:GE_SHI_BAI_SIGN=table2[9];break;

//case negative:GE_SHI_BAI_SIGN=table1[16];break; //负号'-'

//case Error:GE_SHI=table1[14];break; //报错'EE'

}

return(GE_SHI_BAI_SIGN);

}

/********************************数码管显示初始化*********************************/ void Init_shumaguan(void)

{

P1=0x00;

}

void Output(uchar figure1,uchar figure2,uchar figure3,uchar figure4) //figure1,figure2,figure3,figure4分别为符号位,百位,十位,个位

{ //负数显示符号位,正数显示百位

P14=1;

P0=figure1;

P14=0;

P1=0x08;

delay(1);

//显示十位

P14=1;

P0=figure2;

P14=0;

P1=0x04;

delay(1);

//显示个位(带小数点)

P14=1;

P0=figure3;

P14=0;

P1=0x02;

delay(1);

P14=1; //显示小数位

P0=figure4;

P14=0;

P1=0x01;

delay(1);

}

/************************************main()主函数********************************/ void main()

{ while(1)

{

char WenDu;uchar i=100,j=2;

uchar *SW,*XiaoShu2,SIGN,GE,SHI,BAI;

unsigned short XiaoShu;

WenDu=Temperature();//测量温度,并把整数部分赋值给WenDu

XiaoShu2=XiaoShuWei();//将四位小数位取出存入数组XiaoShu2

XiaoShu=JiSuanXiaoShu(WenDu,XiaoShu2);//计算小数的值

SW=shuweifenpei(WenDu,XiaoShu,XiaoShu2);//将各位数字分配到数码管上

SIGN=yima(SW[0]);//将数字译码为数码管的代码

BAI=yima(SW[1]);

SHI=yima2(SW[2]);

GE=yima(SW[3]);

while(i--)

{ while(j--)

{

Output(SIGN,BAI,SHI,GE);

}

j=6;

}

Init_shumaguan();

}

}

六、问题与讨论

1、怎样用液晶来显示温度的测量数据;

2、怎样利用温度传感器来设置报警装置或实现自动控制。

七、试验总结

本实验通过单片机对“一线总线”方式传输数据的温度传感器DS18B20进行控制,深刻理解了用单片机控制以“一线总线”数字方式传输数据的器件的编程方法,理解了温度传感器的一般工作原理及数据的存储方式,对温度传感器的应用也有了深一层的了解。

蔬菜创业策划书

创业策划书 名称:顺安种业(蔬菜基地) 位置:江西省贵溪市 发展背景:国家目前重视三农,农业政策好,自身来说,自己对农业熟悉 基地优势:位于平原地带,河流边.土壤肥沃,灌溉方面,水源清洁。大田多,租金低。离贵溪不远,附近有冶炼厂。本地消费水平高,蔬菜价格高,市场大。 发展模式:以种植业为主,养殖业为辅。以蔬菜为主,水产养殖为辅。以常规蔬菜为主,特种蔬菜为辅。以大棚蔬菜为主,露天栽培为辅。先期自身发展,慢慢地带动乡亲发展,建立合作社,打造下滩蔬菜基地。 发展理念:以科学的思想去发展,以反季节蔬菜为优势,以绿色农业为导向。引进新品种,提高单位产量和品质。 机械化操作程度提高,耕作机械化,灌溉机械化,育苗科学化,施肥科学化,喷药科学化。 主要技术:土壤的测量,肥力,PH值。灌溉用水要无污染,取水方便,大棚温湿度调节,防虫网,二氧化碳发生器。镀锌管棚架,无滴膜。不同作物,不同灌溉,西瓜等用滴灌。育苗和嫁接。品种的选择。采收,清洗(干净水,计划井水),包装 发展阶段: 第一阶段:13亩镀锌管大棚蔬菜以及几亩露地蔬菜,总面积10000平方左右。池塘一个,养鱼和为蔬菜基地提供灌溉用水。池塘靠近蔬菜基地,面积700多平方。 第二阶段:时机成熟时,也许是在第二年。建立小型养猪场,为蔬菜基地提供肥料。发展几亩水系蔬菜,如,水空心菜,慈姑,水池种藕等。水产养殖,泥鳅,虾等。看市场,引进一个品种,成立农村合作社,打造下滩及周边蔬菜基地。 第三阶段:发展农家乐 行动规划: 首先,1.选址及规划。2.挖池塘。3.耕地,晒土。(已完成) 其次,1.选种,安排作物品种和时间。2.镀锌管钢架,无滴膜,防虫网。3购买农机,微型耕作机,新型喷药设备,灌溉设备。温度计,湿度计。3.挖井

DS18B20 数字温度传感器

应用指引:在MC430F14板上是标配了DS18B20数字温度传感器器,同时希望用户通过以下DS18B20的讲解能够了解更多1线 MC430F14实物图如下: >>关于MC430F14开发板详情>> 在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。 新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。

美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前DS18B20批量采购价格仅10元左右。 DS18B20、DS1822 "一线总线"数字化温度传感器 同DS1820一样,DS18B20也支持"一线总线"接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。DS1822的精度较差为±2°C。现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20、DS1822的特性 DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继"一线总线"的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 一、DS18B20的主要特性 (1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯

DS18B20数字温度计使用

DS18B20数字温度计使用 1.DS18B20基本知识 DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 1、DS18B20产品的特点 (1)、只要求一个端口即可实现通信。 (2)、在DS18B20中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在-55。C到+125。C之间。 (5)、数字温度计的分辨率用户可以从9位到12位选择。 (6)、内部有温度上、下限告警设置。 2、DS18B20的引脚介绍 TO-92封装的DS18B20的引脚排列见图1,其引脚功能描述见表1。 (底视图)图1 表1 DS18B20详细引脚功能描述 3. DS18B20的使用方法 由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都

是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20的复位时序 DS18B20的读时序 对于DS18B20的读时序分为读0时序和读1时序两个过程。 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 DS18B20的写时序 对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 4.实验任务 用一片DS18B20构成测温系统,测量的温度精度达到0.1度,测量的温度的范围在-20度到+100度之间,用8位数码管显示出来。 5.电路原理图 6.系统板上硬件连线 (1).把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“动态数码显示”区域中的ABCDEFGH端子上。 (2).把“单片机系统”区域中的P2.0-P2.7用8芯排线连接到“动态数码显示”区域中的S1S2S3S4S5S6S7S8端子上。 (3).把DS18B20芯片插入“四路单总线”区域中的任一个插座中,注意电源与地信号不要接反。 (4).把“四路单总线”区域中的对应的DQ端子连接到“单片机系统” 区域中的P3.7/RD端子上。 7. C语言源程序 #include

DS18b20温度传感器

最小的温度显示程序-c51 (2010-12-07 00:45:27) 转载 分类:51单片机 标签: 杂谈 #include #include sbit DQ=P2^0; bit presence; unsigned char templ,temph; char array[10]={0x7e,0x48,0x3d,0x6d,0x4b,0x67,0x73,0x4c,0x7f,0x4f}; void Delay(unsigned int num)//可定义延时 { while( --num ); } bit Init_DS18B20(void) { DQ = 1; //DQ复位 Delay(8); //稍做延时 DQ = 0; //单片机将DQ拉低 Delay(90); //精确延时大于 480us DQ = 1; //拉高总线 Delay(8); presence = DQ; //如果=0则初始化成功 =1则初始化失败 Delay(100); DQ = 1; return(presence); //返回信号,0=presence,1= no presence } unsigned int ReadOneChar(void) { unsigned char i = 0; unsigned char dat = 0;

for (i = 8; i > 0; i--) { DQ = 0; // 给脉冲信号 dat >>= 1; //位右移 DQ = 1; // 给脉冲信号等待传感器返回脉冲 if(DQ) dat |= 0x80; Delay(4); } return (dat); } void WriteOneChar(unsigned char dat) { unsigned char i = 0; for (i = 8; i > 0; i--) { DQ = 0; DQ = dat&0x01; Delay(5); DQ = 1; dat>>=1; } } void Read_Temperature(void) { Init_DS18B20(); WriteOneChar(0xcc); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器 templ = ReadOneChar(); //温度低8位 temph = ReadOneChar(); //温度高8位 }

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

电路实物图如下图所示: C 语言程序如下所示: /******************************************************************** zicreate ----------------------------- Copyright (C) https://www.360docs.net/doc/0f10551462.html, -------------------------- * 程序名; 基于DS18B20的测温系统 * 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来 * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限 * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s 左右自动 * 退出;按一下K3进入查看下限温度模式,显示1s 左右自动退出;按一下K4消除 * 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能, * K1是实现减1功能,K3是用来设定上下限温度正负的。 * 编程者:Jason * 编程时间:2009/10/2 *********************************************************************/ #include //将AT89X52.h 头文件包含到主程序 #include //将intrins.h 头文件包含到主程序(调用其中的_nop_()空操作函数延时) #define uint unsigned int //变量类型宏定义,用uint 表示无符号整形(16位) #define uchar unsigned char //变量类型宏定义,用uchar 表示无符号字符型(8位) uchar max=0x00,min=0x00; //max 是上限报警温度,min 是下限报警温度 bit s=0; //s 是调整上下限温度时温度闪烁的标志位,s=0不显示200ms ,s=1显示1s 左右 bit s1=0; //s1标志位用于上下限查看时的显示 void display1(uint z); //声明display1()函数 #include"ds18b20.h" //将ds18b20.h 头文件包含到主程序 #include"keyscan.h" //将keyscan.h 头文件包含到主程序 #include"display.h" //将display.h 头文件包含到主程序

配送蔬菜行业营销项目策划书

配送蔬菜行业营销策划书 一、营销总述 特产营销,最重要的是要给消费者明确、正宗的特产印象。着眼于此,本营销策略可以概括为概念营销,即所有的营销活动围绕一个鲜明的概念——“秦味特产,就是正宗!”展开。 本概念营销的目的是通过各种营销活动的展开,人为强调凸显本公司特产“就是正宗”这一鲜明特征,使这一印象在消费者心中不断加深,从而树立品牌形象,提高公司知名度,扩大销售市场。 本概念营销主要内容包括以下三个方面:产品定位、销售对象、营销方式。具体内容如下

二、产品细分与定位 2.1定位分析 公司成立之初,就要进行明确的产品定位。鉴于本公司主营业务为特产销售,所以将产品定位为“正宗”。秦皇岛是个旅游城市,特产除在本地人中销售外,很大一部分是外销给了全国各地而来的游客甚至外国游客,这些游客到秦皇岛一游,要买秦皇岛特产回去的话,肯定是要买正宗特产的。此时本公司特产与普通瓜果海鲜比,正宗的重要性就要明显高于价格等方面。 2.2定位的表现方式 为了表现本公司特产的“正宗”定位,我们提出以下建议: 1、在本公司所有特产包装物上印刷统一的公司标识或秦皇岛标志物,如山海关城楼、长城或者鸽子窝日出等,形成鲜明统一的产品印象。一些特产应用精品包装,提高特产档次,面向高水平消费者。 2、对于果蔬等的零售来说,建议产品按不同的体积、重量规格,设计不同容积的包装,但最好每种特产包装规格控制在3—5种以内,以规范产品印象。

三、目标客户 本特产的销售对象总体分为两类,即本地消费者和外地消费者。针对不同的消费情况采取不同的营销策略,详见4.4中的营销方式。 四、宣传方式 五、销售方式 5.1与旅行社合作 与当地旅行社取得联系,在五一到十一的旅游旺季开展本公司果蔬基地的农家乐、体验式采摘等活动。也可通过旅行社导游向新到秦皇岛游客宣传推荐。 5.2充分利用集合效应 在市中心或北戴河旅游区开办秦皇岛特产博览会,除本公司特产外,也可展示其他特产,争取产生较大活动影响力,获

DS18B20温度传感器使用方法以及代码

第7章 DS18B20温度传感器 7.1 温度传感器概述 温度传感器是各种传感器中最常用的一种,早起使用的是模拟温 度传感器,如热敏电阻,随着环境温度的变化,它的阻值也发生线性变化,用处理器采集电阻两端的电压,然后根据某个公式就可以计算出当前环境温度。随着科技的进步,现代的温度传感器已经走向数字化,外形小,接口简单,广泛应用在生产实践的各个领域,为我们的生活提供便利。随着现代仪器的发展,微型化、集成化、数字化、正成为传感器发展的一个重要方向。美国DALLS半导体公司推出的数字化温度传感器DS18B20采用单总线协议,即单片机接口仅需占用一个 I/O端口,无需任何外部元件,直接将环境温度转化为数字信号,以数码方式串行输出,从而大大简化了传感器与微处理器的接口。 7.2 DS18B20温度传感器介绍 DS18B20是美国DALLAS^导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9?12位的数字 值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入 DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20供电,而无需额外电源。因而使用

DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较 DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。 1. DS18B20温度传感器的特性 ①独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口 线即可实现微处理器与DS18B20勺双向通讯。 ②在使用中不需要任何外围元件。 ③可用数据线供电,电压范围:+3.0~ +5.5 V。 ④测温范围:-55 ~+125 C。固有测温分辨率为0.5 C。 ⑤通过编程可实现9~12位的数字读数方式。 ⑥用户可自设定非易失性的报警上下限值。 ⑦支持多点组网功能,多个 DS18B20可以并联在惟一的三线上,实现多点测温。 ⑧负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 2. 引脚介绍 DS18B20有两种封装:三脚TO-92直插式(用的最多、最普遍的封装)和八脚SOIC贴片式。下图为实验板上直插式 DS18B20的原理图。 3. 工作原理 单片机需要怎样工作才能将DS18B2 0中的温度数据独取出来呢?F面将给出详细分析

温控器调整方法

E5AZ-R3-38数字式温度控制器调整说明 一、接线方式: 接线柱1、2――-AC220V电源 接线柱4、6―――低温输出101、103 接线柱7、8―――高温输出101、102 接线柱9、10、11―――PT100温度传感线A\B\B 二、界面图形 三、设定方法: 1.温度设置(此部分用于常规调整) 1)在运行菜单下,设置高温值为26.0。 2)按一次菜单键,再按一次模式键,设置高温回差1.5。 3)按一次菜单键返回运行菜单。 4)按两次模式键,设置低温值为25.5。 5)按一次模式键,返回运行菜单。 2.系统设置(以下调整为系统模式设置,请不要改动) 1)菜单键+模式键同时按下3秒以上,进入保护菜单,按模式键切换 选项,依次按如下设置: 2)同时按菜单+模式1秒以上,返回运行菜单。

3.第二步:模式设置 1)按菜单3秒以上,进入初始菜单,按模式键切换选项,依次按如下 设置: ?设置温度传感器类型为1。 ?设置温度单位为℃。 ?设置最高温度限制值: ?设置最低温度限制值: ?设置ON/OFF方式为ONOF。 ?设置控制方式为标准方式。 ?设置动作方向为正方向。 ?设置报警1种类为0。 ?设置报警2种类为8。 ?设置报警3种类为0。 ?设置密码为-169,等待3秒,自动进入高级模式: ?设置 ?设置低温回差为1.5。

设置 2)按菜单键3秒以上,返回运行菜单。 4.第三步:状态设置 1)按一次模式键,进入状态设置,按上调或下调键设置为RUN。则温 控器开始工作。 2)如设置为STOP,则温控器STOP灯亮,停止工作。 TMC229-HT-DAA038数字式温度控制器调整说明 一、接线方式: 与E5AX相同,内芯可互换。 二、界面图形 三、设定方法: 1.温度设置(此部分用于常规调整) 1)在运行菜单下,设置低温值SV为24.0 2)按2次SET键,设置高温值SV2为26.0(一般要求SV2=SV1+2) 2.系统设置(以下调整为系统模式设置,请不要改动) 1)解锁:同时按SET和︽5秒,出现画面LOC-3,将3改为0后,先 按下SET不松开,再按︽后立即全部松开,解锁完毕。 2)调整:同时按下SET和︾键5秒,出现设置界面,按SET切换设置

基于ds18b20的数字温度计设计

目录 (一)设计内容及要求 (2) (二)系统的硬件选择及设计 (3) 2.1核心处理器的设计 (3) 1、AT89C51引脚图 (3) 2、AT89C51引脚功能介绍 (3) 2.2温度采集电路的设计 (5) 1、单线技术 (5) 2、DS18B20的简介 (6) 3、DS18B20内部结构 (8) 4、DS18B20测温原理 (11) 5、温度采集电路 (12) 2.3温度显示电路的设计 (13) 1、LED数码管的操作 (13) 2、温度显示电路 (13) (三)系统的软件设计 (15) 3.1概述 (15) 3.2 DS18B20的单线协议和命令 (15) (1)初始化 (15) (2)ROM操作命令 (15) (3)内存操作命令 (16) 3.3温度采集程序流程图的设计 (18) 3.4温度显示程序流程图的设计 (19) (四) 结论 (19) (五)汇编代码 (20) (六)参考文献 (27)

基于DS18B20的数字温度计设计 摘要: 在本设计中选用AT89C51型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过两位共阴极LED数码显示管并行传送数据,实现温度显示。本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用汇编语言实现温度的采集与显示。通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。 关键词:单片机AT89C51;温度传感器DS18B20;LED数码管;数字温度计 (一)设计内容及要求 本设计主要介绍了用单片机和数字温度传感器DS18B20相结合的方法来实现温度的采集,以单片机AT89C51芯片为核心,辅以温度传感器DS18B20和LED 数码管及必要的外围电路,构成了一个多功能单片机数字温度计。 本次设计的主要思路是利用51系列单片机,数字温度传感器DS18B20和LED 数码显示器,构成实现温度检测与显示的单片机控制系统,即数字温度计。通过对单片机编写相应的程序,达到能够实时检测周围温度的目的。 通过对本课题的设计能够熟悉数字温度计的工作原理及过程,了解各功能器件(单片机、DS18B20、LED)的基本原理与应用,掌握各部分电路的硬件连线与程序编写,最终完成对数字温度计的总体设计。其具体的要求如下: 1、根据设计要求,选用AT89C51单片机为核心器件; 2、温度检测器件采用DS18B20数字式温度传感器,利用单总线式连接方式与单片机的P2.2引脚相连; 3、显示电路采用两位LED数码管以串口并行输出方式动态显示。

大棚蔬菜种植创业计划书

大棚蔬菜种植创业计划书 第一章:项目基本情况 1.1项目背景 1.2项目意义1.3项目情况 第二章:市场分析 2.1目标市场 2.2竞争力分析2.3市场前景 2.4市场发展的走势 第三章:商业模式设计 3.1战略目标 3.2目标客户3.3产品与服务 第四章:技术构架第五章:项目运营管理 5.1项目运营 5.2项目任务及营销策略5.3项目时间制度5.4项目管理制度 第六章:财务分析 6.1投资估算分析 6.2资金筹措 第七章:风险分析第八章:项目总结 第一章:项目基本情况 1.1项目背景 随着社会的发展,物价也不断地上升,劣质产品也参差

不穷,尤其是吃的,个 个都夹着有害物质,人们虽然吃的可口,但是不放心,更不安心。蔬菜也不例外,看着绿油油的,但大多数都是药水作用的结果,而且价格很贵,针对这一清情况,我打算毕业后创业,搭建绿色无公害蔬菜,简历自己的网站,以低廉的价格、快捷的速度、优质的服务给一部分人民提供绿色无公害的蔬菜,解决一部分人民的吃蔬菜的忧患,让他们吃的放心、安心、舒心、开心。目前国家越来越重视三农,农业政策好,对于我自身来说,自小就成长在农村,对农业熟悉,自从上了大学,选了机械设计制造及其自动化这个专业,感觉我在这方面不是很优秀,于是我就下定决心做蔬菜种植并在网上销售,因为这样可以减少好多中间环节,能有效的降低成本。 1.2项目意义 实施此项目有两个意义: 第一:实施此项目可以缓解毕业生的就业压力,使得毕业生有了更多的就业选择; 第二:可以缓解部分地区人们吃蔬菜的困难。 1.3项目概况 本公司叫做,打算在XX-2018期间成立,本公司是一家大棚蔬菜种植公司并在网上销售蔬菜而且还有自己的蔬菜配送中心,蔬菜种植基地及蔬菜配送中心地处河南省许

DS18B20数字温度计的设计

单片机原理及应用 课程设计报告书 题目:DS18B20数字温度计的设计 姓名学号:张琪05200102 吕群武05200166 蔡凌志05200178 专业班级:电信1班 指导老师:余琼蓉 设计时间:2010年12月

成绩评定

一、课题介绍 本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器18B20,单片机AT89S52,,四位共阴极数码管一个,电容电阻若干。18B20支持“一线总线”接口,测量温度范围-55°C~+125°C 。在-10~+85°C 范围内,精度为±0.5°C 。18B20的精度较差为± 2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 本次数字温度计的设计共分为五部分,主控制器,LED 显示部分,传感器部分,复位部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED 显示部分是指四位共阳极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。本设计能完成的温度测量范围是-55°C~+128°C ,由于能力有限,不能实现报警功能。 二、方案论证 方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较麻烦。 方案设计框图如下: 方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

大棚蔬菜基地创业计划书

大 棚 蔬 菜 基 地 计 划 书 班级:酒管142T 姓名:房子钰 学号:140505221

目录 第一章:项目基本情况 (3) 1.1项目名称................................... .. (3) 1.2项目位置................................... .. (3) 1.3项目背景......................................... ..3 第二章:市场分析.. (4) 2.1目标市场......................................... ..4 2.2竞争力分析....................................... ..4 第三章:商业模式设计.. (4) 3.1战略目标........................................ .. 4 3.2目标客户......................................... ..4 3.3产品与服务.. (5) 第四章:技术构架 (5) 第五章:项目运营管理 (5) 5.1项目运营要求 (5) 5.2项目任务及营销策略 (5) 5.3项目管理制度 (6) 第六章:财务分析.......................... . (6) 6.1投资估算分析 (6) 6.2资金筹措................................... .. ..6 第七章:风险分析 (6) 第八章:项目总结 (7)

第一章:项目基本情况 1.1项目名称:绿蔬生态种植基地 1.2项目位置:江苏省海门市江海风情园 1.1项目背景 随着社会的发展,物价也不断地上升,劣质的产品也参差不穷,尤其是吃的,个个都夹杂着有害物质,人们虽然吃的很可口,但是不放心,更不安心。蔬菜也不例外,看着绿油油的,但大多数都是药水作用的结果,而且价格很贵,针对这一状况,我打算毕业后创业,搭建绿色无害的大棚蔬菜,以低廉的价格、快捷的速度、优质的服务给一部分人民提供绿色无公害的蔬菜,解决一部分人民的吃蔬菜的忧患,让他们吃的放心、安心、舒心、开心。目前国家越来越重视三农,农业政策好,对我们大学生创业也有优势。 1.2项目意义实施此项目有两个意义: 第一:实施此项目可以缓解毕业生的就业压力,使得毕业生有了更多的就业选择; 第二:可以保证南通附近人民、学生食用蔬菜的安全性。 1.3项目概况 本公司叫做绿蔬生态蔬菜公司,前期主要专注于南通市附近的几所高校配送自己的蔬菜,后期,也就是等有了一定的资金实力,就在海门市区设立自己的门面,蔬菜的销售目标就定在南通市大型超市,蔬菜配送也要细化到南通市区的各家大型超市。等到本公司资金和实力足够大的时候,销售对象就扩展到中国更多的地方。

温度传感器DS18B20工作原理

温度传感器: DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。 2 DS18B20的内部结构 DS18B20内部结构如图1所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地,见图4)。 ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 图1 DS18B20的内部结构

图2DS18B20的管脚排列 DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。 温度值高字节 高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配置寄存器的格式如下: R1、R0决定温度转换的精度位数:R1R0=“00”,9位精度,最大转换时间为93.75ms;R1R0=“01”,10位精度,最大转换时间为187.5ms;R1R0=“10”,11位精度,最大转换时间为375ms;R1R0=“11”,12位精度,最大转换时间为750ms;未编程时默认为12位精度。 高速暂存器是一个9字节的存储器。开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。 3 DS18B20的工作时序 DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序,如图3(a)(b)(c)所示。

温控电路PID参数调节方法

在定值控制问题中,如果控制精度要求不高,一般采用双位调节法,不用PID。但如果要求控制精度高,而且要求波动小,响应快,那就要用PID调节或更新的智能调节。调节器就是根据设定值与实际检测到的输出值之间的误差来校正直接控制量的,温度控制中的直接控制量就是加热或制冷的功率。PID调节中,用比例环节(P)来决定基本的调节响应力度,用微分环节(D)来加速对快速变动的响应,用积分环节(I)来消除残留误差。PID调节按基本理论就是属于线性调节。但由于直接控制量的幅度总就是受到限定,所以在实际工作过程中三个调节环节都有可能使控制量进入受限状态。这时系统就是非线性工作。手动对PID进行整定时,总就是先调节比例环节,然后一般就是调节积分环节,最后调节微分环节。温度控制中控制功率与温度之间具有积分关系,为多容系统,积分环节应用不当会造成系统不稳定。许多文献对PID整定都给出推荐参数。 PID就是依据瞬时误差(设定值与实际值的差值)随时间的变化量来对加热器的控制进行相应修正的一种方法!!!如果不修正,温度由于热惯性会有很大的波动、大家讲的都不错、比例:实际温度与设定温度差得越大,输出控制参数越大。例如:设定温控于60度,在实际温度为50与55度时,加热的功率就不一样。而20度与40度时,一般都就是全功率加热、就是一样的、积分:如果长时间达不到设定值,积分器起作用,进行修正积分的特点就是随时间延长而增大、在可预见的时间里,温度按趋势将达到设定值时,积分将起作用防止过冲! 微分:用来修正很小的振荡、方法就是按比例、微分、积分的顺序调、一次调一个值、调到振荡范围最小为止、再调下一个量、调完后再重复精调一次、要求不就是很严格、 先复习一下P、I、D的作用,P就就是比例控制,就是一种放大(或缩小)的作用,它的控制优点就就是:误差一旦产生,控制器立即就有控制作用,使被控量朝着减小误差方向变化,控制作用的强弱取决于比例系数Kp。举个例子:如果您煮的牛奶迅速沸腾了(您的火开的太大了),您就会立马把火关小,关小多少就取决于经验了(这就就是人脑的优越性了),这个过程就就是一个比例控制。缺点就是对于具有自平衡性的被控对象存在静态误差,加大Kp可以减小静差,但Kp过大时,会导致控制系统的动态性能变坏,甚至出现不稳定。所谓自平衡性就是指系统阶跃响应的终值为一有限值,举个例子:您用10%的功率去加热一块铁,铁最终保持在50度左右,这就就是一个自平衡对象,那静差就是怎样出现的呢?比例控制就是通过比例系数与误差的乘积来对系统进行闭环控制的,当控制的结果越接近目标的时候,误差也就越小,同时比例系数与误差的乘积(控制作用)也在减小,当误差等于0时控制作用也为0,这就就是我们最终希望的控制效果(误差=0),但就是对于一个自平衡对象来说这一时刻就是不会持续的。就像此时您把功率降为0,铁就是不会维持50度的(不考虑理想状态下),铁的温度开始下降了,误差又出现了(本人文采不就是很好,废这么多话相信大家应该明白了!)。也就就是比例控制最终会维持一个输出值来使系统处于一个固定状态,既然又输出,误差也就不等于0了,这个误差就就是静差。

DS18B20数字温度计的设计与实现

DS18B20数字温度计的设计与实现 一、实验目的 1.了解DS18B20数字式温度传感器的工作原理。 2.利用DS18B20数字式温度传感器和微机实验平台实现数字温度计。 二、实验内容与要求 采用数字式温度传感器为检测器件,进行单点温度检测。用数码管直接显示温度值,微机系统作为数字温度计的控制系统。 1.基本要求: (1)检测的温度范围:0℃~100℃,检测分辨率 0.5℃。 (2)用4位数码管来显示温度值。 (3)超过警戒值(自己定义)要报警提示。 2.提高要求 (1)扩展温度范围。 (2)增加检测点的个数,实现多点温度检测。 三、设计报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单 5.设计结果和体会(包括遇到的问题及解决的方法) 四、数字温度传感器DS18B20 由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。 1.DS18B20性能特点 DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存

储器ROM ,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。 2. DS18B20内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH 和TL,高速暂存器。64位光刻ROM 是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。64位ROM 结构图如图2所示。不同的器件地址序列号不同。 DS18B20的管脚排列如图1所示。 图1 DS18B20引脚分布图 图2 64位ROM 结构图 DS18B20高速暂存器共9个存储单元,如表所示: 序号 寄存器名称 作 用 序号 寄存器名称 作 用 0 温度低字节 以16位补码形式存放 4 配置寄存器 1 温度高字节 5、6、7 保留 2 TH/用户字节1 存放温度上限 8 CRC 3 HL/用户字节2 存放温度下限 以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM 中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。 LSB MSB 8位检验CRC 48位序列号 8位工厂代码(10H )

蔬菜种植计划书 最新版

蔬菜种植计划书 11园艺高其森11102031005 蔬菜生产意义重大1.蔬菜对人民身体健康的贡献不可替代人们生活不可缺少的副食品具有营养和保健作用。2.在农业和农村经济中的地位不可替代农业生产的重要组成部分已成为种植业的第二大产业。3.在平衡农产品国际贸易中的地位不可替代鲜菜、加工菜、干菜、罐头、脱水菜、速冻菜。4.在解决就业维护社会稳定中的地位不可替代。5..副产品作为饲料与大田作物或果树间套作充分利用光能、空间,提高复种指数,增产增收促进现代农业产业发展农业科技园区。6.美化环境观光农业、旅游农业、都市农业。 企业名称:新鲜农业有限公司 位置:韶关浈江 发展背景:十八届三中全会以来国家目前重视三农,农业政策好,自身来说,自己对农业熟悉,想以农业带动家乡父老致富。 基地优势:位于环山平原地带,阳光充沛,靠河流边.土壤肥沃,灌溉方面,水源清洁、土地平整。离珠三角不远,附近没有工厂,无污染物。适合种植绿色无公害蔬菜;珠三角消费水平高,蔬菜价格高,市场大。而且有韶关学院英东农业科学与工程学院作技术指导,对我们种植技术攻关很有帮助 发展模式:以种植业为主,以常规蔬菜为主,特种蔬菜为辅。以露天栽培蔬菜为主,大棚栽培为辅。先期自身发展,慢慢地带动乡亲发展,建立合作社,打造韶关蔬菜基地让韶关成为广东最大的蔬菜基地。 发展理念:以科学的思想去发展,以反季节蔬菜为优势,以绿色农业为导向。引进新品种,提高单位产量和品质。 发展阶段: 一.市场调查 1蔬菜生产的季节性与淡旺季 蔬菜作物对生育适温的特殊要求,使得必须结合当地季节气候进行生产。设施栽培使得蔬菜生产的季节性分化更加复杂。旺季是指某一地区的一种或多种蔬菜的生产数量不足,供不应求的状况。淡季反之。根据资料我国各地区的淡旺季分布为:华南及西南地区:夏淡季;5月份小淡季;秋、冬和春季旺季。长

DS18B20温度传感器工作原理及其应用电路图

DS18B20温度传感器工作原理及其应用电路图 时间:2012-02-16 14:16:04 来源:赛微电子网作者: 前言 温度与工农业生产密切相关,对温度的测量和控制是提高生产效率、保证产品质量以及保障生产安全和节约能源的保障。随着工业的不断发展,由于温度测量的普遍性,温度传感器的市场份额大大增加,居传感器首位。数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。现在,新一代的DS18B20温度传感器体积更小、更经济、更灵活。DS18B20温度传感器测量温度范围为-55℃~+125℃。在-10℃~+85℃范围内,精度为±0.5℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。基于DS18B20温度传感器的重要性,小编整理出DS18B20温度传感器工作原理及其应用电路图供大家参考。 一、DS18B20温度传感器工作原理(热电阻工作原理) DS18B20温度传感器工作原理框图如图所示: DS18B20温度传感器工作原理框图 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 二、DS18B20温度传感器的应用电路 1.DS18B20温度传感器寄生电源供电方式电路图 寄生电源方式特点: (1)进行远距离测温时,无须本地电源。 (2)可以在没有常规电源的条件下读取ROM。 (3)电路更加简洁,仅用一根I/O口实现测温。 (4)只适应于单一温度传感器测温情况下使用,不适于采用电池供电系统中。

温控参数及调试

超高精度智能温度控制仪表 特点:本温度控制仪表为高精测量仪表,可以分度0.1反映实际温度,同时可以串联多个热电偶以获得单位容积内较为平均的温度反映值。实现了快速,稳定,高精度的温度测控,是您自动化控制的得力助手。 参数及调试步骤(暂停状态中) 按住SET键约3秒钟,进入调试状态。数码管显示参数代码0500,. (按UP/DOWN键到所需调试的参数代码),按SET进入参数内容(按UP/DOWN键到所需的参数内容),按SET键保存,参数代码自动+1,退

参数详解(以出厂值为例) 0500:当前温度值将0501设为0可显示 0501:可设定范围0-22,可显示对应参数内容 0502:设定1号输出温度上限值 0503、0504、0505:设定1号时间上限 0506:设定1号输出偏差,如:SE02设定为2000,SE06设定为100,SE03设定为0,SE04设定为20,SE05设定为0,那么当温度到达或大于2000+100=210.0度时1号输出,当温度低于于2000-100=190.0度时1号停止输出,当系统时间大于20分钟时1号一直输出。 0507、0508、0509、0510、0511:功能等同于03-06 0512、0513、0514、0515、0516:功能等同于03-06 0517:温度修正值,如:当前温度显示为-2.7,实际温度为21度,那么两者之间相差23.7度,0517应该设置为237。 0518:这是本温度控制仪表的特殊地方,可以串联多个热电偶放置在不同位置以获得单位容积内平均温度,热电偶串联方式+——+——。 本温度控制仪表设置了TTL通讯,通讯方式为2400,8bit,无校验,无停止位, 发送方式为(01 06然后将参数0-19顺序发出)为满足不同客户的特定需求,我们可以为客户特定开发专用功能 2

相关文档
最新文档