08年第62单毕业设计:基于单总线技术的组网温度检测
系统是基于1-wire单总线技术的分布式测温系统,通过对挂在一颗数据线上的8路或者更多路DS18B20温度传感器的软件编程完成对多点温度的采集,通过单片机系统的处理,驱动液晶显示,显示各通道温度值;系统还可以通过键盘分别设置各路温度的报警值,当温度越限时可以发出报警信号;同时,系统还具有历史数据追忆功能,可以大量记录历史温度数值,通过非易失性存储器存储历史数据,即使系统掉电数据也不会丢失,为分析被测温度变化状况提供依据。
下面对系统的几个主要部分分别加以介绍:
1)单总线技术及温度传感器DS18B20
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO一92小体积封装形式;温度测量范围为一 55℃ 一+125%,可编程9一12位A/D转换精度,测温分辨率可达0.0625 `C ,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到2根或3根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。
每一片DS18B20单总线芯片内部都有一个全球惟一的64b编码, 在多路测温时就是通过匹配每个芯片的ROM编码(ID) , 来搜寻该路的温度。DS18b20有9个可擦写的内部寄存器, 称为便笺式RAM。所有的串行通讯, 读写每一个bit位数据都必须严格遵守器件的时序逻辑来编程, 同时还必须遵守总线命令序列, 对单总线的DS18b20芯片来说, 访问每个器件都要遵守下列命令序列:首先是初始化; 其次执行ROM命令; 最后就是执行功能命令(ROM命令和功能命令后面以表格形式给出)。如果出现序列混乱, 则单总线器件不会响应主机。搜索ROM命令和报警搜索命令, 在执行两者中任何一条命令之后, 要返回初始化。
基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道, 总线上有从机设备, 且准备就绪。在主机检测到应答脉冲后, 就可以发出ROM 命令。这些命令与各个从机设备的惟一64bROM 代码相关。在主机发出ROM命令, 以访问某个指定的DS18b20, 接着就可以发出DS18b20 支持的某个功能命令。这些命令允许主机写入或读出DS18b20 便笺式RAM、启动温度转换,以完成温度的采集。
2) 非易失性存储器
要实现系统的历史数据追忆功能,需要非易失性存储部分的设计,本设计采用美国美信公司的DS1225Y-150,DS1225Y-150具有同6264数据存储器相同的外部引脚和封装形式,不同的是DS1225Y-150在失电后,其内部存储的内容不会丢失,可以满足本设计的需要,DS1225Y-150与单片机采用典型的连接方式,通过74ls373锁存低8位地址,在LE信号变为高电平的瞬间,低8位地址由锁存器输出送给DS1225Y-150,通过数据引脚实现对DS1225Y-150的读写。
3)LCD显示部分
系统的温度采集数值经过处理后采用液晶显示器进行显示,液晶显示器具有耗电量低、体积小等优点;同时由于大批量生产和广泛应用,液晶显示器成本已经大幅度降低、驱动接口电路也相对简单。本设计要显示的内容为八路温度值、还要显示大量的历史数据,所以选择液晶显示器作为显示器件。