STC89C52RC单片机温度控制系统设计+方框图+电路图+源程序 第7页
(6) CRC 产生 DS18B20 有一存贮在64 位ROM 的最高有效字节内的8 位CRC。总线上的主机可以根据64 位ROM 的前56 位计算机CRC 的值并把它与存贮在DS18B20 内的值进行比较以决定ROM 的数据是否已被主机正确地接收。CRC 的等效多项式函数为(公式3-2):
(3-2)
DS18B20 也利用与上述相同的多项式函数产生一个8 位CRC 值并把此值提供给总线的主机以确认数据字节的传送。在使用CRC 来确认数据传送的每一种情况中,总线主机必须使用上面给出的多项式函数计算CRC 的值并把计算所得的值或者与存贮在DS18B20 的64 位ROM 部分中的8 位CRC值(ROM 读数)或者与DS18B20 中计算得到的8 位CRC值(在读暂存存贮器中时,它作为第九个字节被读出),进行比较。CRC 值的比较和是否继续操作都由总线主机来决定。当存贮在DS18B20 内或由DS18B20计算得到的CRC 值与总线主机产生的值不相符合时,在DS18B20 内没有电路来阻止命令序列的继续执行。
总线CRC 可以使用如图3-14所示由一个移位寄存器和“异或”(XOR)门组成的多项式产生器来产生。其它有关Dallas 公司单线循环冗余校验的信息可参见标题为“理解和使用Dallas 半导体公司接触式存贮器产品”的应用注释。毕业论文
http://www.751com.cn移位寄存器的所有位被初始化为零。然后从产品系列编码的最低有效位开始,每次移入一位。当产品系列编码的8 位移入以后,接着移入序列号。在序列号的第48 位进入之后,移位寄存器便包含了CRC 值。移入CRC 的8 位应该使移位寄存器返回至全零。
图3-14 单线CRC编码(7) 存贮器
DS18B20 的存贮器如图所示那样被组织。存贮器由一个高速暂存(便笺式)RAM 和一
个非易失性,电可擦除EERAM 组成,后者存贮高温度和低温度和触发器TH 和TL。暂存存贮器有助于在单线通信时确保数据的完整性。数据首先写入暂存存贮器,在那里它可以被读回。当数据被校验之后,复制暂存存贮器的命令把数据传送到非易失性EERAM。这一过程确保了更改存贮器时数据的完整性。
SCRATCHPAD BYTE E2RAM
TEMPERATURE LSB 0
TEMPERATURE MSB
TH/USERBYTE1 TH/USERBYTE1
TL/USERBVTE2 TL/USERBVTE2
RESERVED 本文来自辣'文*论-文.网
RESERVED
COUNT REMAIN
COUNT PER℃
CRC
图3-15 DS18B20存贮器映象图
暂存存贮器是按8 位字节存储器来组织的。头两个字节包含测得温度信息。第三和第四个字节是TH和TL的易失性拷贝,在每一次上电复位时被刷新。接着的两个字节没有使用,但是在读回时,它们呈现为逻辑全1。
3.2.2 DS18B20的硬件连接
DS18B20与单片机的接口极其简单,只需将DS18B20的信号线与单片机的一位双向端口相连即可。如图3-16(a)所示。此时应注意将VDD、DQ、GND三线焊接牢固。另外也可用两个端口,即接收口与发送口分开,这样读写操作就分开了,不会出现信号竞争的问题。如图3-16(b)所示。此图是采用寄生电源方式,将DS18B20的VDD和GND接在一起。如若VDD脱开未接好,传感器将只送+85.0℃的温度值。一般测温电缆线采用屏蔽4芯双绞线,其中一对接地线与信号线,另一对接VDD和地线,屏蔽层在源端单点接地。
4 温度监控系统的设计4.1硬件设计
基于单片机的温度监控主要有以下几部分:温度检测数据采集部分,LED数码管显示电路、报警及控制输出部分、单片机及按键电路设计等几个部分,下面分别加以介绍,硬件模块如图4-1所示。图4-1 硬件模块图
4.1.1 温度检测部分
温度传感器有很多种,如热敏电阻,热电偶,PN结,半导体温度传感器等。这里选用单总线数字输出的集成半导体温度传感器DS18B20,其特点:独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;测温范围-55℃~+125℃,固有测温分辨率0.5℃;支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温;工作电源:3~5V/DC。
温度检测数据采集电路如图4-2所示,由温度传感器DS18B20采集被控对象的实时温度,提供给STC89C52RC的I/O口作为数据输入。在本次设计中我们所控的对象为环境监测的温度。
图4-2 温度传感器电路4.1.2 LED数码管显示电路
显示器分为数码管和液晶显示,我所采用是的数码管显示,其外形和引脚如下图4-3所示:
LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳机极数码管;相反的,就叫共阴的(如下图4-4所示)那么应用时这个脚就分别的接VCC和GND。再把多个这样的8字装在一起就成了多位的数码管了。
基于单片机的温度控制及检测系统采用7段数LED码管显示,这里采用2个4位数码管显示温度,三位显示热水的当前温度,第一位显示十位,第二位显示个位和小数点,第三位显示小数点后第一位。还有用四位显示两位设定温度的最高值和两位最低值。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
STC89C52RC单片机温度控制系统设计+方框图+电路图+源程序 第7页下载如图片无法显示或论文不完整,请联系qq752018766