文档介绍:恒温控制系统设计
课程设计说明书 第 1 页
恒温控制系统设计
摘 要
本设计基于AT89C51和DB18B20来实现温度测量温度数;测量值为负时,。比如温度+125°C对应的转换数字为07D0H,温度-55°C对应的转换数字为FC90H。
DS18B20指令以及读写
1)DS18B20的ROM指令和RAM指令
ROM指令用来确认DS18B20的身份,即在众多的单总线芯片或多个DS18B20中指定某一个芯片作为操作对象。确定的基本方式是核对各芯片的64位的序列号代码,该过程比较复杂,需要若干条ROM指令的配合;在仅用1个DS18B20芯片的场合,只需用“跳过”指令(CCH),就可省略确认身份的过程。
DS18B20的RAM指令见表2。RAM指令用来对已经确认身份、被指定为操作对象的DS18B20芯片进行具体的读写操作。
表2 DS18B20的RAM指令
指令
代 码
功 能
课程设计说明书 第 3 页
温度变换
44H
启动温度转换,12位转换时最长为750ms。
结果存入内部9字节RAM中
指令
代 码
功 能
读暂存器
BEH
读DS18B20RAM中9字节内容
写暂存器
4EH
发出向内部RAM的2、3、4字节写上、下限温度数据和配置寄存器命令,紧跟该命令之后,是传送三字节的数据
复制暂存器
48H
将RAM中2、3字节的内容复制到E2PROM中
重调E2PROM
B8H
将E2PROM中内容恢复到RAM中的第2、3字节
读供电方式
B4H
读供电模式。寄生供电模式时发送“0”, 外接电源供电发“1”
2) DS18B20的读写操作过程
1、DS18B20的初始化:
(1) 先将数据线置高电平“1”。(2) 延时(该时间要求的不是很严格,但是尽可能的短一点)(3) 数据线拉到低电平“0”。(4) 延时750微秒(该时间的时间范围可以从480到960微秒)。(5) 数据线拉到高电平“1”。(6) 延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。(7) 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。(8) 将数据线再次拉高到高电平“1”后结束。
2、DS18B20的写操作:
(1) 数据线先置低电平“0”。(2) 延时确定的时间为15微秒。(3) 按从低位到高位的顺序发送字节(一次只发送一位)。(4) 延时时间为45微秒。(5) 将数据线拉到高电平。(6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。(7) 最后将数据线拉高。
3、DS18B20的读操作:
(1)将数据线拉高“1”。(2)延时2微秒(3)将数据线拉低“0”。(4)延时15微秒。(5)将数据线拉高“1”。(6)延时15微秒。(7)读数据线的状态得到1个状态位,并进行数据
课程设计说明书 第 5 页
处理。(8)延时30微秒。
根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行 复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后 释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
3 硬件电路设计
由于本系统是利用AT89C51单片机设计的,因此,首先应该构建以51单片机为核心的最小系统,然后在此最小系统的基础上进行扩展外围接口从而实现不同功能的控制。
单片机的最基本的电路,由复位电路(RST)和晶振电路(为系统工作提供时钟脉冲)两部分组成,电路图如图3所示。
图3 单片机最基本电路
通过此最基本电路可以在外围加上显示电路、和温控电路以及DS18B20的温度读取电路
课程设计说明书