当前位置:文档之家› 温度采集系统

温度采集系统

温度传感器:DS18B20测温传感器使用二极管结电压变化的 数值来转化成温度的变化,在将随被测温度变化的电压或电流采 集过来,进行A\D转换后就可以用单片机进行数据处理,在显示 电路上,就可以将被测温度显示出来。
显示:采用传统的四位共阴数码管显示。数码管具有低压低 耗能、寿命长、对外界环境要求低等特点,而且其精度比较高。 采用BCD编码方式显示数字,程序编译简单,价格较低。
软件部分
3.2 DS18B20温度传感器运行时序
软件设计关键在于DS18B20的使用,DS18B20属于单线式 器件,它在一根数据线上实现数据的双向传输,这就需要一定 的协议,来对读写数据提出严格的时序要求,而AT89C51单 片机并不支持单线传输,因此必须采用软件的方法来模拟单线 的协议时序,操作协议为:初使化DS18B20(发复位脉冲)→ 发ROM功能命令→发存储器操作命令→处理数据。
硬件计
2.3 总体电路设计
本设计主要由单片机、温度采集器、LED数码管显示等部分组成。温度采集器 用来采集温度并将数据转换成单片机可以识别的数据,然后再四位数码管上显示出 测量到的温度。
软件部分
3.1 主程序流程图
主程序的功能是负责温度的实时显示、读出并处理DS18B20的测量的 当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次 被测温度,其程序流程见图
软件部分
(1)初始化 单总线的所有处理均从初始化开始,初始化过程是主 机通过向作为从机的DS18B20芯片发一个有时间宽度要求的 初始化脉冲实现的。初始化后,才可以进行读写操作
(2)ROM操作命令 总线主机检测到DS18B20的存在,便可以发出 ROM操作命令之一
(3)存储器操作命令如下表
软件设计
结论
最后附上我们的实物图,也是我们 这学期的成果。
当DS18B20接收到温度转换命令后,开始启动转换,转换完 成后的温度值就以16位符号扩展的二进制补码形式存储在高速 暂存存储器的第1、2自己。单片机可以通过单线接口读出该数 据,读数据时低位在先,高位在后,数据格式以 0.0625℃/LSB表示、
当符号位S=0时,表示测得的温度值为正值,可以直接将二 进制位转换为十进制:当符号位S=1时,表示测得的温度为负 值,要先将补码变成原码,再计算十进制数值。
多路无线温度采集系统可被广泛应用于温度测量或相应的可转 换为温度量或供电故障监控的工业、农业、环保、服务业、安全 监控等工程中,例如:城市路灯故障检测和供电线路防盗监视、 城市居民小区供热检测、大型仓库温度检测、工业生产测控、农 业生产温度测控、环保工程、故障监控工程等。考虑到许多工业 环境中对多点温度进行监控,一般需要测量几十个点以上。本文 设计多路无线温度监控系统。
软件设计
写时间隙 当主机总线t0时刻从高位至低电平时,就产生写时间隙见上图,从 t0时刻开始15us之内应将所需写的位送到总线上,DS18B20在t0 后15-60us间对总线采样。若低电平,写入的位是0.见4-3图,若高 电平写入位是1见4-4图。连续写2位间的间隙应大于1us。
读时间隙 见下图,主机总线t0时刻从高拉至低电平时,总线只须保持 低电平1us,之后在t1时刻将总线拉高,产生读时间隙,读 时间隙在t1时刻后t2时刻前有效,t2距t0为15us。也就是说 t2时刻前主机必须完成读位,并在t0后的60us-120us内释 放总线,读位子程序(读得的位到C中)
是温度
软件设计
a=ReadOneChar(); b=ReadOneChar(); t=b; t<<=8; t=t|a; if(t>=2048) {t^=0xffff; dis_buf[3]=11; } tt=t*0.0625; //数值转换 t=tt*10; //放大10倍, 使显示时可显示小数点后一位 return(t); }
基于单片机的温度 采集系统的设计
导 师:王伟 专 业:电子信息工程
论文框架
1 研究背景 2 硬件设计 3 软件设计 4 结论
研究背景
随着社会的发展,科学技术的进步同时也带动了测量技 术的发展,现代控制设备不同于以前,它们在性能和结构 发生了翻天覆地的变化。我们已经进入了高速发展的信息 时代,测量技术是当今社会的主流,广泛地深入到应用工 程的各个领域。 温度采集器是可以通过温度传感器与单片机组合使用能 测试温度的仪器,该系统结构简单,抗干扰能力强,适合 恶劣环境下进行现场温度测量,有广泛的应用前景。
硬件设计
2.1 设计的基本方案
温度采集器电路设计总体方框图如图2-1所示,控制器采用单片机 STC89C52RC,温度传感器采用DS18B20,用4位LED数码管以串口传 送数据实现温度显示。
单片机复位
LED显示
主 控 制 器
时钟震荡
温度传感器
硬件设计
2.2 硬件部分的选择
单片芯片:采用STC89C52单片机。STC89C52单片机是低 功耗,高可靠的单片机,是一种高效微控制器,为很多嵌入式控 制系统提供了一种灵活性高且价廉的方案。
(4)时序 主机使用时间隙来读写DS18B20的数据位和写命令字 的位
初始化
时序见上图,主机总线to时刻发送一复位脉冲(最短为 480us的低电平信号),接着在t1时刻释放总线进入接收状 态。DS18B20在检测到总线的上升沿后等待15-60us,接 着DS18B20在t2时刻发出存在脉冲(低电平持续60240us)。如上图中虚线所示。
软件设计
DS18B20读写程序:
ReadTemperature(void) {uchar a=0; uchar b=0; ulint t=0; float tt=0; Init_DS18B20(); WriteOneChar(0xCC); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就
相关主题