(1)初始化。时序见图2(a),主机总线t0时刻发送一复位脉冲(最短为480μs的低电平信号)接着在t1时刻释放总线并进入接收状态DS1820在检测到总线的上升沿之后等待15~60μs,接着DS1820在t2时刻发出存在脉冲(低电平持续60~240μs),如图中虚线所示。
初始化时序、读/写时序分别如图2(a)、图2(b)、图2(c)昕示。
(2)写时间隙。当主机总线t0时刻从高拉至低电平时,产生写时间隙,见图2(b)。从t0时刻开始15μs之内应将所需写的位送到总线上,DS1820在t后15~60μs间对总线采样,若低电平写入的位是O,若高电平写入的位是14;连续写2位间的间隙应大于1μs(见图2(c))。主机总线t0时刻从高拉至低电平时,总线只需保持低电平15μs之后,在t1时刻将总线拉高产生读时间隙,读时间隙在t1时刻后到t2时刻前(约15μs)产生读时隙,t3时刻前主机必须完成读位,然后将总线释放。
3 硬件电路设计
3.1 系统硬件结构
系统的硬件结构如图3所示。该系统以单片机AT89C51为核心,由温度传感器DSl8B20、开关和LCD显示电路等构成。其中第一个单片机作为从机,进行8个温度传感器的采集,从机通过485接口与主机可以远距离相连,主机接开关,同时接液晶显示,如果主机想知道某点的温度可以通过合上某个开关检测到相应点的温度,以做到实时监控。
3.2 数据采集
Atmel的AT89C5l单片机,内有4 kB闪烁可编程可擦除只读存储器,128 B的数据存储器空间,可直接推动LCD.由温度传感器DSl8B20采集被控对象的实时温度,提供给从机AT89C51的P1.1口,作为数据输入。