基于AT89s51和DS18B20的多路测温仪系统设计
写周期最少为60μs,最长不超过120μs.写周期一开始作为主机先把总线拉低1μs表示写周期开始。随后若主机想写0,则继续拉低电平最少60μs直至写周期结束,然后释放总线为高电平。若主机想写1,在一开始拉低总线电平1μs后就释放总线为高电平,一直到写周期结束。而作为从机的DS18B20则在检测到总线被拉低后等待15μs,然后从15μs到45μs开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0.如图4所示。
图4 写时序
3.1.3读时序
对于读数据操作时序也分为读0时序和读1时序两个过程。读时隙是从主机把单总线拉低之后,在1μs之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。DS18B20在检测到总线被拉低1μs后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。若要送出1则释放总线为高电平。主机在一开始拉低总线1μs后释放总线,然后在包括前面的拉低总线电平1μs在内的15μs时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0.采样期内总线为高电平则确认为1.完成一个读时序过程,至少需要60μs才能完成。如图5所示。
图5 读时序
3.2软件程序设计
系统软件设计采用模块化设计方法,采用工程上使用比较普遍的C51语言编写程序。其中,采集温度时要对多个DS18B20进行操作,按照前面所述的操作时序,依照以下步骤对多个温度传感器进行温度采集:初始化;搜索ROM命令;匹配ROM命令;发送温度转换命令;读取温度值;判断是否访问完毕;依次循环。系缔程序流程图如图6所示。
图6 系统程序流程图
4结束语
本多路测温仪系统实用性强,能很好地巡回采集多路温度信息,并能及时传送给上位机,具有速度快、精度高、易扩展等优点。此系统所采用的传感器全为数字化芯片,大大简化了结构,降低了成本。本系统可以应用于农业温室大棚,可以实时监测植物生长环境变化,也可以应用于工业车间,测量各部分工作环境温度。结合此系统的设计思路,可以将传感器修改为其它种类的测量器件,采集不同种类的物理量,具有很强的推广价值。
- AT89S51单片机实验系统的开发与应用(06-21)
- 基于单片机数控直流稳压电源的设计与实现(09-08)
- 基于AT89S51单片机的角度测量仪的设计(07-11)
- AT89S51与AT89C2051单片机引脚介绍(12-03)
- 自制AT89S51编程器(12-03)
- AT89S51与AT89C2051单片机介绍(11-26)