当前位置:首页 > 基于MSP430单片机温度测量系统设计毕业论文
C等高级语言进行系统程序设计时,对 DS18B20操作部分最好采用汇编语言实现。
2、在DS18B20的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时 要加以注意。
2.4.6温度传感器DS18B20内部结构
温度传感器DS18B20内部结构:DS18B20采用三脚PR35封装如图2-2所示,其内部框图如2-3所示[5]。
64位的ROM开始8位是产品类型的编号,接着是每个器件的唯一的序号共计48位,最后8位是前56位的CRC校验码。
高速缓存器存储器包含一个高速暂存RAM和一个非易失性的可电擦除的EP2RAM。配置寄存器为高速缓存器中的第五个字节,它的内容用于确定温度值的数字转换分辨率,各位字节的定义如表2-2示:
表2-2各位字节的定义 TM R1 R0 1 1 1 1 1 后五位一直是1,TM是测试模式位,用于设置DS18B20在工作模式还是测试模式,在DS18B20出厂时被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,也就是设置分辨率。
图2-3 DS18B20 三脚PR35封装
11
图 2-4 DS18B20内部结构图
在温度进行计算时,以12位转换位数为例:对于正的温度,只要将测到的数值整数部分取出,转换为十进制,再将小数部分乘以0.0625就可以将得到的十进制的小数位的温度值了。而对于负的温度,则需要将采集到的数值取反加1,即可以得到实际温度的十六进制表示。在按照正温度的计算方法就可以得出十进制的负的温度了[6]。如表2-3及表2-4所示。
表2-3 DS18B20温度寄存器格式 LS Byte
Bit7 23 Bit6 22 Bit5 21 Bit4 20 Bit3 2-1 Bit2 2-2 Bit1 bit0 2-3 2-4 LS Byte Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 S S S S
S 26 25 24 12
表2-4部分温度值 温度/℃ +125 +25.0625 +0.5 0 -0.5 -25.0625 -55
二进制表示 00000111 11010000 00000001 10010001 00000000 00001000 00000000 00000000 11111111 11111000 11111110 01101111 11111100 10010000 16进制表示 07D0H 0191H 0008H 0000H FFF8H FE6FH FC90H 2.5数据采集系统
该系统采用美国DALLAS公司生产的单线数字温度传感器DS18B20来采集温度数据,作为单片机MSP430149的温度传感器,该芯片有很多优点,可把温度信号直接转换成串行数字信号供微机处理。由于每片DS18B20含有唯一的硅串行数,从DS18B20读出的信息或写入DS18B20的信息,仅需要一根口线(单线接口)。由于该系统采用DS18B20作为温度采集传感器,这部分电路就比较简单了,图2-5为温度采集电路。
图 2-5温度采集电路
13
通过图2-5可以看出该集成电路具有简单,实用等特点。I/O口可以与MSP430F149的P2.6口直接相连,来完成数据的传送。
14
共分享92篇相关文档