ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:106.46KB ,
资源ID:30645141      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30645141.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ds18b20温度控制器.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ds18b20温度控制器.docx

1、ds18b20温度控制器ds18b20温度控制器 ds18b20特性介绍 ds18b20是dallas公司的最新单线数字温度传感器,它的体积更小、适用电压更宽、更经济,ds18b20是世界上第一片支持“一线总线”接口的温度传感器,一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念,它的测量温度范围为55125,在1085范围内,精度为0.5,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等,与前一代产品不同,新的产品支持35.5v的电压范围,使系统设计更灵活、

2、方便,而且新一代产品更便宜,体积更小,ds18b20可以程序设定912位的分辨率,精度为0.5。可以选择更小的封装方式,更宽的电压适用范围,分辨率设定及用户设定的报警温度存储在e2prom中,掉电后依然保存,ds18b20的性能是新一代产品中最好的,性能价格比也非常出色,继“一线总线”的早期产品后,ds18b20开辟了温度传感器技术的新概念,ds18b20和ds18b22使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。2.1 ds18b20的内部结构ds18b20内部结构主要由4部分组成:64位光刻rom,温度传感器,非挥发的温度报警触发器th和tl,配制寄存器。ds1

3、8b20的管脚排列如图2所示。光刻rom中的64位序列号是出厂前被光刻好的,他可以看作是该ds18b20的地址序列码。64位光刻rom的排列是:开始8位(28h)是产品类型标号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码(crcx8x5x41)。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。ds18b20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.062 5/lsb形式表达,其中s为符号位。表1是12位转化后得到的12位数据,存储在18b20

4、的2个8b的ram中,二进制中的前面5位是符号位,如果测得的温度大于0,则这5位为0,只要将测到的数值乘于0.062 5即可得到实现温度,如果温度小于0,则这5位为1,测到的数值需要取反加1再乘于0.062 5即可得到实际温度。例如:125的数字输出为07d0h,25.062 5的数字输出为0191h,25.062 5的数字输出为ff6fh,55的数字输出为fc90h。2.2 ds18b20温度传感器的存储器ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的e2ram,后者存放高温度和低温度触发器th,tl和结构寄存器。暂存存储器包含了8个连续字节,前2个字节

5、是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位,第3个和第4个字节是th,tl的易失性拷贝,第5个字节是结构寄存器的易失性拷贝,这3个字节的内容在每一次上电复位时被刷新。第6、7、8个字节用于内部计算。第9个字节是冗余检验字节。根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过3个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500s,然后释放,ds18b20收到信号后等待1660s左右,后发出60240s低脉冲,主cpu收

6、到此信号表示复位成功。2.3 ds18b20使用中的注意事项ds18b20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1)ds18b20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。(2)在实际使用中发现,应使电源电压保持在5v左右,若电源电压过低,会使所测得的温度与实际温度出现偏高现象,经过试验发现,一般在5v左右。(3)较小的硬件开销需要相对复杂的软件进行补偿,由于ds18b20与微处理器间采用串行数据传送,因此,在对ds18b20进行读写编程时,必须严格保证

7、读写时序,否则将无法读取测温结果,在使用pl/m、c等高级语言进行系统程序设计时,对ds18b20操作部分最好采用汇编语言实现。(4)在ds18b20的有关资料中均未提及单总线上所挂ds18b20数量问题,容易使人误认为可以挂任意多个ds18b20,在实际应用中并非如此,当单总线上所挂ds18b20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(5)连接ds18b20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误,当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米胶合次数更多的双

8、绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要由总线分布电容使信号波形产生畸变造成的。因此,在用ds18b20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(6)在ds18b20测温程序设计中,向ds18b20发出温度转换命令后,程序总要等待ds18b20的返回信号,一旦某个ds18b20接触不好或断线,当程序读该ds18b20时,将没有返回信号,程序进入死循环,这一点在进行ds18b20硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接vcc和地线,屏蔽层在源端单点接地。3 温度控制器的设计原理3.1 温度控制

9、器的设计图3为该温度的控制器的设计原理总图。该系统直接用c52的p0口驱动数码管,但是p0口不具备数据保持能力,需要接一定大小的上拉电阻,显示方式采用扫描法。3个按键同样接有上拉电阻,这样可以有效地消除因键盘抖动所造成的误操作。3.2 温度控制器的关键程序代码void init 1820(void)int i,j,k;unsigned char presence;tmport1;_nop_();tmport0;for(j1;j62;j);i1;tmport1;for(k1;k2;k);while(i6)presencetmport;i;if(presence0)ds18b20_est0;tmp

10、ort1;elseds18b20_notest0;tmport1;(2)读一个字节unsigned char read_bit(void)unsigned char i;tmport0;_nop_();_nop_();tmport1;for(i0;i2;i );return(tmport);unsigned char read_byte(void)unsigned char i;unsigned char value0;for(i0;i8;i)if(read_bit()value|0x01i;delay(4);return(value);(3)写一个字节void write_bit(char

11、bitval)tmport0;_nop_();if(bitval1)tmport1;delay(5);tmport1。_nop_();_nop_();_nop_();void write_byte(char val)unsigned char i;unsigned char temp;for(i0;i8;i)tempvali;temptemp0x01;write_bit(temp);delay(5);整个对ds18b20的操作都是以上述这几个操作为基础的,所以他们是使ds18b20能否正常测温的关键。对不同的操作只要发出相应的命令控制字即可,详细请参看有关技术文档。典型的测温流程如图4所示。此外,为了提高该温度控制器的测温精度,这里还提出了一个行之有效的办法。4 结论及展望实验表明:该温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温度控制器只是ds18b20在温度控制领域的一个简单实例,还有许多需要完善的地方,例如可以将测得的温度通过单片机与通讯模块相连接,以手机短消息的方式发送给用户,使用户能够随时对温度进行监控。此外,还能广泛地应用于其他一些工业生产领域,如建筑,仓储等行业。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1