Ⅰ 基于单片机的温度数据采集系统设计
单片机课程设计任务书
题目:基于单片机的温度数据采集系统设计
一.设计要求
1.被测量温度范围:0~500℃,温度分辨率为0.5℃。
2.被测温度点:4个,每2秒测量一次。
3.显示器要求:通道号1位,温度4位(精度到小数点后一位)。
显示方式为定点显示和轮流显示。
4.键盘要求:
(1)定点显示设定;(2)轮流显示设定;(3)其他功能键。
二.设计内容
1.单片机及电源管理模块设计。
单片机可选用AT89S51及其兼容系列,电源管理模块要实
现高精密稳压输出,为单片机及A/D转换器供电。
2.传感器及放大器设计。
传感器可以选用镍铬—镍硅热电偶(分度号K),放大器要实现热电偶输出的mV级信号到A/D输入V级信号放大。
3.多路转换开关及A/D转换器设计。
多路开关可以选用CD4052,A/D可选用MC14433等。
4.显示器设计。
可以选用LED显示或LCD显示。
5.键盘电路设计。
实现定点显示按键;轮流显示按键;其他功能键。
6.系统软件设计。
系统初始化模块,键盘扫描模块,显示模块,数据采集模块,标度变换模块等。
引言:
在生产和日常生活中,温度的测量及控制十分重要,实时温度检测系统在各个方面应用十分广泛。消防电气的非破坏性温度检测,大型电力、通讯设备过热故障预知检测,各类机械组件的过热预警,医疗相关设备的温度测试等等都离不开温度数据采集控制系统。
随着科学技术的发展,电子学技术也随之迅猛发展,同时带动了大批相关产业的发展,其应用范围也越来越广泛。近年来单片机发展也同样十分迅速,单片机已经渗透到工业、农业、国防等各个领域,单片机以其体积小,可靠性高,造价低,开发周期短的特点被广泛推广与应用。传统的温度采集不仅耗时而且精度低,远不能满足各行业对温度数据高精度,高可靠性的要求。温度的控制及测量对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到重要作用。在单片机温度测量系统中关键是测量温度,控制温度和保持温度。温度测量是工业对象的主要被控参数之一。本此题目的总体功能就是利用单片机和热敏原件实现温度的采集与读数,利用五位LED显示温度读数和所选通道号,实现热电转化,实现温度的精确测量。本设计是以Atmel公司的AT89S51单片机为控制核心,通过MC14433模数转换对所测的温度进行数字量变化,且通过数码管进行相应的温度显示。采用微机进行温度检测,数字显示,信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要作用。
目录:
一、系统总体功能及技术指标的描述........................................ 5
二、各模块电路原理描述............................................................. 5
2.1单片机及电源模块设计...................................................... 5
2.2、AT89S51引脚说明.......................................................... 7
2.3、数据采集模块设计........................................................ 11
2.4、多路开关......................................................................... 12
2.5、放大器............................................................................. 15
2.6、A/D转换器..................................................................... 16
2.7、显示器设计..................................................................... 21
2.8、键盘电路设计................................................................. 22
2.9、电路总体设计图........................................................... 22
三、软件流程图 ...................................................................... 24
四、程序清单.............................................................................. 25
五、设计总结及体会.................................................................... 31
六、参考资料................................................................................ 32
一、系统总体功能及技术指标的描述
1. 系统的总体功能:
温度数据采集系统,实现温度的采集与读书,利用五位LED显示温度读数和所选通道号,实现热电转化的原理过程。
被测量温度范围:0~500℃,温度分辨率为0.5℃。被测温度点4个,每2秒测量一次。显示器要求:通道号1位,温度4位(精度到小数点后一位)。显示方式为定点显示和轮流显示,可以通过按键改变显示方式。
2. 技术指标要求:
1.被测量温度范围:0~500℃,温度分辨率为0.5℃。
2.被测温度点:4个,每2秒测量一次。
3.显示器要求:通道号1位,温度4位(精度到小数点后一位)。
显示方式为定点显示和轮流显示。
4.键盘要求:
(1)定点显示设定;(2)轮流显示设定;(3)其他功能键。
二、各模块电路原理描述
2.1单片机及电源模块设计
如图所示为AT89S51芯片的引脚图。兼容标准MCS-51指令系统的AT89S51单片机是一个低功耗、高性能CHMOS的单片机,片内含4KB在线可编程Flash存储器的单片机。它与通用80C51系列单片机的指令系统和引脚兼容。
AT89S51单片机片内的Flash可允许在线重新编程,也可用通用非易失性存储编程器编程;片内数据存储器内含128字节的RAM;有40个引脚,32个外部双向输入/输出(I/O)端口;具有两个16位可编程定时器;中断系统是具有6个中断源、5个中断矢量、2级中断优先级的中断结构;震荡器频率0到33MHZ,因此我们在此选用12MHZ的晶振是比较合理的;具有片内看门狗定时器;具有断电标志POF等等。AT89S51具有PDIP、TQFP和PLCC三种封装形式[8]。
图5.1-1 AT89S51引脚图
上图就是PDIP封装的引脚排列,下面介绍各引脚的功能。
2.2、AT89S51引脚说明
P0口:8位、开漏级、双向I/O口。P0口可作为通用I/O口,但须外接上拉电阻;作为输出口,每各引脚可吸收8各TTL的灌电流。作为输入时,首先应将引脚置1。P0也可用做访问外部程序存储器和数据存储器时的低8位地址/数据总线的复用线。在该模式下,P0口含有内部上拉电阻。在FLASH编程时,P0口接收代码字节数据;在编程效验时,P0口输出代码字节数据(需要外接上拉电阻)。
P1口:8位、双向I/0口,内部含有上拉电阻。P1口可作普通I/O口。输出缓冲器可驱动四个TTL负载;用作输入时,先将引脚置1,由片内上拉电阻将其抬到高电平。P1口的引脚可由外部负载拉到低电平,通过上拉电阻提供电流。在FLASH并行编程和校验时,P1口可输入低字节地址。在串行编程和效验时,P1.5/MO-SI,P1.6/MISO和P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。
P2口:具有内部上拉电阻的8位双向I/O口。P2口用做输出口时,可驱动4各TTL负载;用做输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外部输出电流。CPU访问外部16位地址的存储器时,P2口提供高8位地址。当CPU用8位地址寻址外部存储时,P2口为P2特殊功能寄存器的内容。在FLASH并行编程和校验时,P2口可输入高字节地址和某些控制信号。
P3口:具有内部上拉电阻的8位双向口。P3口用做输出口时,输出缓冲器可吸收4各TTL的灌电流;用做输入口时,首先将引脚置1,由内部上拉电阻抬位高电平。若外部的负载是低电平,则通过内部上拉电阻向输出电流。在与FLASH并行编程和校验时,P3口可输入某些控制信号。P3口除了通用I/O口功能外,还有替代功能,如表5.3-1所示。
表5.3-1 P3口的替代功能
引脚
符号
说明
P3.0
RXD
串行口输入
P3.1
TXD
串行口输出
P3.2
/INT0
外部中断0
P3.3
/INT1
外部中断1
P3.4
T0
T0定时器的外部的计数输入
P3.5
T1
T1定时器的外部的计数输入
P3.6
/WR
外部数据存储器的写选通
P3.7
/RD
外部数据存储器的读选通
RST:复位端。当振荡器工作时,此引脚上出现两个机器周期的高电平将系统复位。
ALE/ :当访问外部存储器时,ALE(允许地址锁存)是一个用于锁存地址的低8位字节的书粗脉冲。在Flash 编程期间,此引脚也可用于输入编程脉冲()。在正常操作情况下,ALE以振荡器频率的1/6的固定速率发出脉冲,它是用作对外输出的时钟,需要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。如果希望禁止ALE操作,可通过将特殊功能寄存器中位地址为8EH那位置的“0”来实现。该位置的“1”后。ALE仅在MOVE或MOVC指令期间激活,否则ALE引脚将被略微拉高。若微控制器在外部执行方式,ALE禁止位无效。
:外部程序存储器读选取通信号。当AT89S51在读取外部程序时, 每个机器周期 将PSEN激活两次。在此期间内,每当访问外部数据存储器时,将跳过两个信号。
/Vpp:访问外部程序存储器允许端。为了能够从外部程序存储器的0000H至FFFFH单元中取指令,必须接地,然而要注意的是,若对加密位1进行编程,则在复位时,的状态在内部被锁存。
执行内部程序应接VCC。不当选择12V编程电源时,在Flash编程期间,这个引脚可接12V编程电压。
XTAL1:振荡器反向放大器输入端和内部时钟发生器的输入端。
XTAL2:振荡器反相放大器输出端[9]。
电源模块设计
在影响单片机系统可靠性的诸多因素中,电源干扰可谓首屈一指,据统计,计算机应用系统的运行故障有90%以上是由电源噪声引起的。为了提高系统供电可靠性,交流供电应采用交流稳压器,防止电源的过压和欠压,直流电源抗干扰措施有采用高质量集成稳压电路单独供电,采用直流开关电源,采用DC-DC变换器。本次设计决定采用MAXim公司的高电压低功耗线性变换器MAX 1616作为电压变换,采用该器件将输入的24V电压变换为5V电压,给外围5V的器件供电。MAX1616具有如下特点:
1.4~28V电压输入范围。
2.最大80uA的静态工作电流。
3.3V/5V电压可选输出。
4.30mA输出电流。
5.2%的电压输出精度。
电源管理模块电路图如下:
本电路采用该器件将输入的24V电压变成5V电压,给外围5V的器件供电,其中二极管D1是保护二极管,防止输入电压接反可能带来的对电路的影响和破坏。
Ⅱ 基于单片机的温度监控监测系统的设计怎么做要具体电路图。谢谢
你温度要范围多少,如果是正常室温的,温度传感器用DS18B20,单片机用STC的,电源电路很简单,你愿意跟PC也叫上位己通信的话,你可以加个MAX232就可以啦~!很简单的~!不用这么复杂,但是如果不是正常室温的话,超出150摄氏度,那就给用AD转换啦~!
Ⅲ 基于单片机的温度测量显示系统设计
恩 我告诉你 !!
Ⅳ 基于单片机的自动温控系统的设计.毕业论文开题报告
热电致冷器件特别适合于小热量和受空间限制的温控领域。改变加在器件上的直流电的极性即可变致冷为加热,而吸热或放热率则正比于所加直流电流的大小。Pe1tier 温控器的设定温度可以在一个较宽的范围内任意选择,可选择低于或高于环境温度。
在本系统中我们选用了天津蓝天高科电源有限公司生产的半导体致冷器件 TES1-12739,其最大温差电压 14.7V,最大温差电流3.9A最大致冷功率33.7W。
1.5 其它部分
系统采用Samsung(三星)公司生产的真空荧光数码显示屏 VFD用来实时显示当前温度,以观察控制效果。键盘和串行通信接口用来设定控制温度和调整PID参数。系统电路原理图如图3所示。
2 系统软件设计
系统开始工作时,首先由单片机控制软件发出温度读取指令,通过数字温度传感器 DS18B20 采样被控对象的当前温度值T1并送显示屏实时显示。然后,将该温度测量值与设定值T比较,其差值送 PID控制器。PID 控制器处理后输出一定数值的控制量,经DA 转换为模拟电压量,该电压信号再经大电流驱动电路,提高电流驱动能力后加载到半导体致冷器件上,对温控对象进行加热或制冷。加热或制冷取决于致冷器上所加电压的正负,若温控对象当前温度测量值与设定值差值为正,则输出负电压信号,致冷器上加载负电压温控对象温度降低;反之,致冷器上加载正向电压,温控对象温度升高。上述过程:温度采样-计算温差-PID调节-信号放大输出周而复始,最后将温控对象的温度控制在设定值附近上下波动,随着循环次数的增加,波动幅度会逐渐减小到某一很小的量,直至达到控制要求。为了加快控制,在进入PID控制前加入了一段温差判断程序。当温度差值大于设定阈值Δt时,系统进行全功率加热或制冷,直到温差小于Δt才进入PID控制环节。图4为系统工作主程序的软件流程图.
3 结论
本文设计的基于单片机数字PID控制的精密温度控制系统,在实际应用中取得了良好的控制效果,温度控制精度达到±0.1℃。经48小时连续运行考验,系统工作稳定,有效地降低了辐亮度标准探测器的温度系数,使辐亮度标准探测器在温度变化较大的环境中也能保持其高精度,为实现基于探测器的高精度辐射定标的广泛应用奠定了基础。
本文作者创新点:在原来基于PC的PID温控系统的基础上,设计了由单片机、数字式温传感器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详细引脚功能描述 序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。
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语言源程序
#i nclude <AT89X52.H>
#i nclude <INTRINS.h>
unsigned char code displaybit[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code displaycode[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00,0x40};
unsigned char code dotcode[32]={0,3,6,9,12,16,19,22,
25,28,31,34,38,41,44,48,
50,53,56,59,63,66,69,72,
75,78,81,84,88,91,94,97};
unsigned char displaycount;
unsigned char displaybuf[8]={16,16,16,16,16,16,16,16};
unsigned char timecount;
unsigned char readdata[8];
sbit DQ=P3^7;
bit sflag;
bit resetpulse(void)
{
unsigned char i;
DQ=0;
for(i=255;i>0;i--);
DQ=1;
for(i=60;i>0;i--);
return(DQ);
for(i=200;i>0;i--);
}
void writecommandtods18b20(unsigned char command)
{
unsigned char i;
unsigned char j;
for(i=0;i<8;i++)
{
if((command & 0x01)==0)
{
DQ=0;
for(j=35;j>0;j--);
DQ=1;
}
else
{
DQ=0;
for(j=2;j>0;j--);
DQ=1;
for(j=33;j>0;j--);
}
command=_cror_(command,1);
}
}
unsigned char readdatafromds18b20(void)
{
unsigned char i;
unsigned char j;
unsigned char temp;
temp=0;
for(i=0;i<8;i++)
{
temp=_cror_(temp,1);
DQ=0;
_nop_();
_nop_();
DQ=1;
for(j=10;j>0;j--);
if(DQ==1)
{
temp=temp | 0x80;
}
else
{
temp=temp | 0x00;
}
for(j=200;j>0;j--);
}
return(temp);
}
void main(void)
{
TMOD=0x01;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
ET0=1;
EA=1;
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0x44);
TR0=1;
while(1)
{
;
}
}
void t0(void) interrupt 1 using 0
{
unsigned char x;
unsigned int result;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
if(displaycount==2)
{
P0=displaycode[displaybuf[displaycount]] | 0x80;
}
else
{
P0=displaycode[displaybuf[displaycount]];
}
P2=displaybit[displaycount];
displaycount++;
if(displaycount==8)
{
displaycount=0;
}
timecount++;
if(timecount==150)
{
timecount=0;
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0xbe);
readdata[0]=readdatafromds18b20();
readdata[1]=readdatafromds18b20();
for(x=0;x<8;x++)
{
displaybuf[x]=16;
}
sflag=0;
if((readdata[1] & 0xf8)!=0x00)
{
sflag=1;
readdata[1]=~readdata[1];
readdata[0]=~readdata[0];
result=readdata[0]+1;
readdata[0]=result;
if(result>255)
{
readdata[1]++;
}
}
readdata[1]=readdata[1]<<4;
readdata[1]=readdata[1] & 0x70;
x=readdata[0];
x=x>>4;
x=x & 0x0f;
readdata[1]=readdata[1] | x;
x=2;
result=readdata[1];
while(result/10)
{
displaybuf[x]=result%10;
result=result/10;
x++;
}
displaybuf[x]=result;
if(sflag==1)
{
displaybuf[x+1]=17;
}
x=readdata[0] & 0x0f;
x=x<<1;
displaybuf[0]=(dotcode[x])%10;
displaybuf[1]=(dotcode[x])/10;
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0x44);
}
}
关键词:单总线; 数字温度传感器; 多点温度测控
1 前言
随着科学技术的发展,特别是现代仪器的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向[1]。美国Dallas半导体公司推出的数字化温度传感器DS1820采用单总线协议,即与微机接口仅需占用一个I/O端口,无需任何外部元件,直接将温度转化成数字信号,以9位数字码方式串行输出,从而大大简化了传感器与微处理器的接口。
2 工作原理
目前大多数传感器系统都采用放大--传输--数模转换这种处理模式。这种模式一般要占用数条数
据/控制线,限制了单片机功能的扩展。而一线总线技术则很好地解决了这个问题。
一线总线技术就是在一条总线上仅有一个主系统和若干个从系统组成的计算机应用系统。由于总线上的所有器件都通过一条信号线传输信息,总线上的每个器件在不同的时间段驱动总线,这相当于把数据总线、地址总线和控制总线合在了一起。所以整个系统要按单总线协议规定的时序进行工作。为了使其它设备也能使用这条总线,一线总线协议采用了一个三态门,使得每一个设备在不传送数据时空出该数据线给
其它设备。一线总线在外部需要一个上拉电阻器,所以在总线空闲时是高电平。
挂在单总线上的器件称为单总线器件,为了区分总线上的不同器件,生产单总线器件时,厂家都刻录了一个64位的二进制ROM代码作为芯片的唯一序列号。这样通过寻址就可以把每个器件识别出来。64位ROM的结构如下:开始8位是产品类型的编号(DS1820为10H),接着是每个器件的唯一的序号,共
有48位,最后8位是前56位的CRC校验码,这也是多个DS1820可以采用一线进行通信的原因。 3 DS1820介绍
DS1820是美国Dallas半导体公司推出的第一片支持"一线总线"接口的温度传感器。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供微机处理[2]。
DS1820的工作原理是:DS1820采用3脚PR-35封装或8脚SOIC封装,其中 GND为地;I/O为数据输入/输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平;VDD是外部+5V电源端,不用时应接地;NC为空脚。图1 所示为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL解发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。
DS1820 特点如下:硬件接口简单,性能稳定,单线接口,仅需一根口线与MCU连接无需外围元件;由总线提供电源;测温范围为-55~75℃;精度为0.5℃;9位温度读数;A/D变换时间为200ms;用户自设定温度报警上下限,其值是非易失性的;报警搜索命令可识别那片DS1820超温度限。
DS1820的温度测量原理如下[3]:DS1820测量温度时使用特有的温度测量技术,其测量电路框图如图2所示。内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时,振荡器的脉冲无法通过门电路。计数器设置为-55℃时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55℃。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度表示值为9bit,高位为符号位。
4 温度检测系统设计
由于每片DS1820含有唯一的硅串行数,所以在一条总线上可挂接多个DS1820芯片。从DS1820读出的信息或写入DS1820的信息,仅需要一根口线(单线接口)。读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS1820供电,而无需额外电源。DS1820提供9位温度读数,构成多点温度检测系统而无需任何外围硬件。对DS1820的使用,多采用单片机实现数据采集。处理时,将DS1820信号线与单片机一位口线相连,单片机可挂接多片DS1820,从而实现多点温度检测系统。由于DS1820只有三个引脚,其中两根是电源线VDD和GND,另外两根用作总线DQ(Data In/Out),由于其输出和输入均是数字信号且与TTL电平兼容,因此其可以与微处理器直接进行接口,从而省去了一般传感器所必需的中间转换环节。
本设计中以DS1820为传感器、AT89C52单片机为控制核心组成的多点温度测试系统如图3所示[4]。用6只DS1820同时测控6路温度(视实际需要还可扩展通道数)。89C52单片机P1.1口接单线总线。DS1820采用寄生电源供电方式。为保证在有效的DS1820时钟周期内能提供足够的电流,图3中采用一个MOSFET管和89C52的H.0口来完成对DS1820的总线上拉。键盘扫描和动态扫描的显示共用一片可编程接口芯片8279,显示采用8位共阴极LED数码管,它可用来显示通道数、温度测量值以及TH、TL的值。
程序处理是整个系统的关键,即简洁的硬件结构是靠复杂的软件来支持的。多个器件挂在一条总线上为了识别不同的器件,在程序设计过程中一般有四个步骤:初始化命令;传送ROM命令;传送RAM命令;数据交换命令。
需要注意的是,无论是单点还是多点温度检测,在系统安装及工作之前,应将主机逐个与DS1820挂接,读出其序列号。其工作过程为:主机发出一个脉冲,待 "0"电平大于480μs后,复位DA1820,在DS1820所发响应脉冲由主机接收后,主机再发读ROM命令代码33H,然后发一个脉冲(15μs),并接着读取DS1820序列号的一位。用同样方法读取序列号的56位。另外,由于DS1820单线通信功能是分时完成的,遵循严格的时隙概念,因此,系统对DS1820和各种操作必须按协议进行,即初始化DS1820(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。系统对 DS1820操作的总体流程图如图4所示。
在正常测温情况下,DS1820的测温分辨力为0.5℃。采用下述方法可获得高分辨率的温度测量结果:首先用DS1820提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。考虑到DS1820测量温度的整数部分以0.25和0.75℃为进位界限的关系.
结束语
对应于传统概念,这一粒三极管一样的传感器相当于传统的温度传感器+ 数字化+ CPU+ 总线协议及接口。一线器件采用单条连线,解决了控制、通信和供电等问题,降低了系统成本,并简化了设计,为未来传感器的发展和应用开辟了新的领域。
http://www.mcublog.com/blog/blog2007/shuizhongzehui/archives/2007/22353.html
http://blog.21ic.com/user1/422/archives/2006/12900.html
有流程图,电路图和资料,不过网络上传不了
Ⅵ 基于单片机温湿度测量系统(摘要翻译)
Along with the humiture examination system's widespread utilization, the different profession and the domain have the various requirement and the standard to the humiture examination. This design mainly uses in the ordinary indoor humiture survey. Uses the DS2438, HIH3605B integration chip to take the humiture sensor. In the article has analyzed the humiture survey principle of work and the process, proposed the humiture examination system design's overall plan, has carried on the plan proof to each submole design and compares. The hardware design uses protel the 99se software, has completed the monolithic integrated circuit smallest system, the LCD display circuit, sensor's schematic diagram and the PCB chart. The software design uses Keil uVision2, has completed the program mole each mole design programming, has realized to the humiture signal processing process programming and the debugging. This measurement system humidity measuring range 0%~100%, resolution ±2%; Temperature survey scope - 40~+125℃, resolution ±0.5℃. Can meet the daily life humiture survey requirements.
key words: AT89S52; HIH3605B; DS2438; LCD; Data acquisition; Data processing
Ⅶ 基于单片机的温度监测系统设计的总体大概的讲一下测温和无线传输显示的过程
传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果[7]。
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。 同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小[8]。
1. DS18B20的特性 [9]
(1)适应电压范围更宽,电压范围:3.0~5.5V,寄生电源方式下可由数据线供。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2.DS18B20内部结构及DS18B20的管脚排列
64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。不同的器件地址序列号不同。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。
DS18B20的引脚定义:
(1)DQ为数字信号输入/输出端
(2)GND为电源地
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)
另外,站长团上有产品团购,便宜有保证
Ⅷ 基于单片机的温度控制系统设计
第一章 绪论 1. 1 选题背景 防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。1.2 设计过程及工艺要求 一、基本功能~ 检测温度、湿度~ 显示温度、湿度~ 过限报警 二、主要技术参数 ~ 温度检测范围 : -30℃-+50℃~ 测量精度 : 0.5℃~ 湿度检测范围 : 10%-100%RH~ 检测精度 : 1%RH~ 显示方式 : 温度:四位显示 湿度:四位显示~ 报警方式 : 三极管驱动的蜂鸣音报警 第二章 方案的比较和论证 当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。2. 1温度传感器的选择 方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200~650℃,网络电阻比W(100)=1.3850时,R0为100Ω和10Ω,其允许的测量误差A级为±(0.15℃+0.002 |t|),B级为±(0.3℃+0.005 |t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50~180℃测温。 方案二:采用AD590,它的测温范围在-55℃~+150℃之间,而且精度高。M档在测温范围内非线形误差为±0.3℃。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。使用可靠。它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,借口也很简单。作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。AD590的测量信号可远传百余米。综合比较方案一与方案二,方案二更为适合于本设计系统对于温度传感器的选择。 2. 2 湿度传感器的选择 测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。方案一:采用HOS-201湿敏传感器。HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ~1KHZ,测量湿度范围为0~100%RH,工作温度范围为0~50℃,阻抗在75%RH(25℃)时为1MΩ。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。方案二:采用HS1100/HS1101湿度传感器。HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%---100%RH范围内;电容量由16pF变到200pF,其误差不大于±2%RH;响应时间小于5S;温度系数为0.04 pF/℃。可见精度是较高的。综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。而且还不具备在本设计系统中对温度-30~50℃的要求,因此,我们选择方案二来作为本设计的湿度传感器。2. 3 信号采集通道的选择 在本设计系统中,温度输入信号为8路的模拟信号,这就需要多通道结构。方案一、采用多路并行模拟量输入通道。这种结构的模拟量通道特点为:(1) 可以根据各输入量测量的饿要求选择不同性能档次的器件。总体成本可以作得较低。(2) 硬件复杂,故障率高。(3) 软件简单,各通道可以独立编程。方案二、采用多路分时的模拟量输入通道。 这种结构的模拟量通道特点为:(1) 对ADC、S/H要求高。(2) 处理速度慢。(3) 硬件简单,成本低。(4) 软件比较复杂。综合比较方案一与方案二,方案二更为适合于本设计系统对于模拟量输入的要求,比较其框图,方案二更具备硬件简单的突出优点,所以选择方案二作为信号的输入通道。本文来源于: http://www.waibaowang.net/dianzi/
Ⅸ 基于单片机的温湿度检测系统设计
<<pic单片机应用系统开发典型实例〉〉有差不多的例子,不过 是数码显示,不是液晶显示。液晶程序上网上找就行啊,www.pic16.com上有很多程序,或许有现成的。