《DS18B20温度传感器与单片机间的通信讲课教案.doc》由会员分享,可在线阅读,更多相关《DS18B20温度传感器与单片机间的通信讲课教案.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Good is good, but better carries it.精益求精,善益求善。DS18B20温度传感器与单片机间的通信-DS18B20温度传感器与单片机间的通信线(延长线)可以多长20标签:温度传感器,单片机,通信线我需要延长50-100米,请问这是正常使用的距离还是要加特殊元件用它做探头,再弄个单片机,数码管,蜂鸣器成本很低吧,用两个18B20,延长线我选的是网线,当然线的成本是另算的,我指单片机读取显示部分成本就是很低?答案TS-18B20数字温度传感器,该产品采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形
2、式多样,适用于各种狭小空间设备数字测温和控制领域。1:技术性能描述1.1独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。1.2测温范围55125,固有测温分辨率0.5。1.31.4工作电源:35V/DC1.5在使用中不需要任何外围元件1.6测量结果以912位数字量方式串行传送1.7不锈钢保护管直径61.8适用于DN1525,DN40DN250各种介质工业管道和狭小空间设备测温1.9标准安装螺纹M10X1,M12X1.5,G1/2”任选1.10PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。2:应用范围2.1该产品适用
3、于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域2.2轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。2.3汽车空调、冰箱、冷柜、以及中低温干燥箱等。2.5供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制编辑本段|回到顶部3:产品型号与规格型号测温范围安装螺纹电缆长度适用管道TS-18B20-55125无1.5mTS-18B20A-55125M10X11.5mDN1525TS-18B20B-551251/2”G接线盒DN4060编辑本段|回到顶部4:特点独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压
4、范围为3.0V至5.5V无需备用电源测量温度范围为-55C至+125。华氏相当于是-67F到257华氏度-10C至+85C范围内精度为0.5C温度传感器可编程的分辨率为912位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。因为每一个DS18B20的包含一个独特的序号,多个ds1
5、8b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。8引脚封装TO-92封装用途描述51接地接地42数字信号输入输出,一线输出:源极开路33电源可选电源管脚。见寄生功率一节细节方面。电源必须接地,为行动中,寄生虫功率模式。不在本表中所有管脚不须接线。概况框图图1显示的主要组成部分DS18B20的。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候,内部电容器储存能量通由1线通信线路给片子供电,而且在低电平期间为
6、片子供电直至下一个高电平的到来重新充电。DS18B20的电源也可以从外部3V-5.5V的电压得到。DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:1)读ROM,2)ROM匹配,3)搜索ROM,4)跳过ROM,5)报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS
7、18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有的数据都读,写都是从最低位开始。DS18B20有4个主要的数据部件:(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位
8、是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,温度报警触发器TH和TL,配置寄存器。4.3.2存储器DS18B20的存储器包括高速暂存器RAM和可电擦除RAM,可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器。存储器能完整的确定一线端
9、口的通讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确认这些数字。当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦除RAM中。当修改过寄存器中的数时,这个过程能确保数字的完整性。高速暂存器RAM是由8个字节的存储器组成;第一和第二个字节是温度的显示位。第三和第四个字节是复制TH和TL,同时第三和第四个字节的数字可以更新;第五个字节是复制配置寄存器,同时第五个字节的数字可以更新;六、七、八三个字节是计算机自身使用。用读寄存器的命令能读出第九个字节,这个字节是对前面的八个字节进行校验。4.3.364-位光刻ROM64位光刻ROM的前8位是DS18B20的自身代码,接
10、下来的48位为连续的数字代码,最后的8位是对前56位的CRC校验。64-位的光刻ROM又包括5个ROM的功能命令:读ROM,匹配ROM,跳跃ROM,查找ROM和报警查找。4.3.4DS18B20外部电源的连接方式DS18B20可以使用外部电源VDD,也可以使用内部的寄生电源。当VDD端口接3.0V5.5V的电压时是使用外部电源;当VDD端口接地时使用了内部的寄生电源。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。4.3.4DS18B20温度处理过程4.3.4.1配置寄存器配置寄存器是配置不同的位数来确定温度和数字的转化。可以知道R1,R0是温度的决定位,由R1,R0的不同组
11、合可以配置为9位,10位,11位,12位的温度显示。这样就可以知道不同的温度转化位所对应的转化时间,四种配置的分辨率分别为0.5,0.25,0.125和0.0625,出厂时以配置为12位。4.3.4.2温度的读取DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。16位数字摆放是从低位到高位。4.3.4.3DS18B20控制方法DS18B20有六条控制命令,如表4.1所示:表4.1为DS18B20有六条控制命令
12、指令约定代码操作说明温度转换44H启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重新调E2RAMB8H把E2RAM中的TH、TL字节写到暂存器TH、TL字节读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPU4.3.4.4DS18B20的初始化。(1)先将数据线置高电平“1”。(2)延时(该时间要求的不是很严格,但是尽可能的短一点)(3)数据线拉到低电平“0”。(4)延时750微秒(该时间的时间范围可以从480到960微秒)。(5)数据线拉到高电平“1”。(
13、6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。(8)将数据线再次拉高到高电平“1”后结束。4.3.4.5DS18B20的写操作(1)数据线先置低电平“0”。(2)延时确定的时间为15微秒。(3)按从低位到高位的顺序发送字节(一次只发送一位)。(4)延时时间为45微秒。(5)将数据线拉到高电平。(6)重复上(1)
14、到(6)的操作直到所有的字节全部发送完为止。(7)最后将数据线拉高。4.3.4.6DS18B20的读操作(1)将数据线拉高“1”。(2)延时2微秒。(3)将数据线拉低“0”。(4)延时15微秒。(5)将数据线拉高“1”。(6)延时15微秒。(7)读数据线的状态得到1个状态位,并进行数据处理。(8)延时30微秒。提问人的追问2010-08-0821:10说的很多没有距离的答案啊,说说距离谢谢回答人的补充2010-08-1018:23连接DS18B20的总线电缆有长度限制。当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为屏蔽双绞线电缆时,通信距离可达到500m。因
15、此,在用DS18B20进行长距离测温系统设计时要选择多股屏蔽双绞线电缆。50100m可能有点长,我没有试过那么长,那么长的话信号可能不稳定最好加些信号放大之类的吧,防止衰减具体多长还真么测过,不过就你所要求的距离应该没有,串口传输的距离还是比较远的,具体的话你那个程序测试一下就知道啦。线的话用一些便宜一点的就可以啦,买几米花线,里面就很多铜丝,抽出来,弄成一条很长的,花线也才一块钱一米,估计几米的花线就可以弄出比较长的线啦,不过要做好屏蔽,距离一远屏蔽就必须。单片机群:36825409刚建立50100米真的太长了,试一下将DS18B20信号通过RS485传送,RS485传送距离很长,30倍你想
16、要的距离。如果是RS232的话,最大也只能达到你的最小距离。如果仅仅靠延长导线50100米可以说是不可能的。我提供几中解决方案:1、多加一块51单片机和485协议的转换芯片,采集以后用485发送到100外。2、成本要求不严格的话,可以用无线串口模块,网上有卖的。如果想自己动手做,可以用51+24L01来做。3、想好玩一点呢,用串口经过放大驱动一个激光发射头,接收部分自己设计个简单的放大就能实现通信。如果采用第三种方案我们可以进一步探讨。人生DIY回答采纳率:25.0%2010-08-2110:05我觉得50100米的距离有点长,要不再多加一块单片机,成本也不高嘛。实在不行,就选择加大信号放大的
17、方法,用串口经过放大驱动一个激光发射头,再设计个简单的接受部分,应该差不多了。、骗子。2010-08-2202:44-相关内容单片机上18b20温度传感器的工作原理是什么?09.07.26求st188传感器与单片机连接图10.08.08大家好,单片机DS18B20温度传感器的温度转换怎么转换?10.01.17基于51单片机光电开光传感器c程序怎么编啊!10.08.23谁能给我一个用proteus仿真的基于单片机的温度传感器系统09.05.19-在线求助沙漠雨-龙等级:9采纳率:39.3%中央空调在哪些方面发展趋势好,在请问机械工程师主要是做什么的,分精华知识提高零件疲劳寿命的方法有哪些?电梯的超载开关接线接哪YJM15-15BC中的BC是什么意思星球大战里的光剑可能吗?路面要出哪些相关试验报告?热门搜索竹盐减肥春捂秋冻尸毒恙虫病维C银翘片蜱虫亮叔山楂树之恋凡亚比掌纹五星级公厕邓亚萍甩葱舞点亮图标中秋节更多热门专题宇宙的奥秘宇宙正在发生什么?天上的事情和地上的事是有联系的吗?有兴趣的话让地球上出现的五种真正怪异动物星座的由来和传说VLC制造之讲述友情的电影世界绝美的硬币火影不可能事件-
限制150内