




免费预览已结束,剩余3页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1-1-wirewire 总线在农业温度监测系统中的应用总线在农业温度监测系统中的应用 摘要摘要: : : :介绍了 1-wire 总线在农业温度监测系统中的应用。 详细介绍了 1-wire 总线 数字温度传感器 ds18b20。 并利用 ds18b20 与 at89c52 单片机实现了农用温度 监测系统,给出了系统结构图和部分程序代码。该系统具有测量温度准确、接口 简单、工作稳定等特点。 关键词关键词:1-wire 总线;农业;ds18b20;at89c52 applicationapplicationapplicationapplication ofofofof 1-wire1-wire1-wire1-wire busbusbusbus inininintempelaturetempelaturetempelaturetempelature monitoringmonitoringmonitoringmonitoring devicedevicedevicedevice ininininagricultureagricultureagricultureagriculture doudoudoudou long-chao,long-chao,long-chao,long-chao, zhengzhengzhengzhengyong-chun,yong-chun,yong-chun,yong-chun, huohuohuohuoyan-zhongyan-zhongyan-zhongyan-zhong (engineeringtechanologycollege,yunnanagriculturaluniversity, yunnan 650201) abstract:abstract:abstract:abstract:in this paper,application of 1-wire bus is introduced in tempelature monitoring device in agriculture.1-wire bus digital tempelature sensor ds18b20 is introduced in detail.and the temperature sensor ds18b20 and the at89c52 mcu are used to implement the tempelature measurement system of the agriculture.the circuit of the system and some of the code are given.make system have characteristics of simple、high、stable work etc. keykeykeykey words:words:words:words:1-wire bus; agriculture; ds18b20;at89c52 0 0 引言引言 我国是一个农业大国,但还不是农业强国。其主要表现在农业机械化,电气 化程度不高,高新技术在农业领域的应用还很少。温度作为农业生产过程中的一 个重要参量,温度检测技术被广泛应用在农业生产领域中。本文以应用广泛的 1-wire 总线数字温度传感器 ds18b20为例,构建一个体积小,可靠性高的基 于单片机的农用温度智能监测系统。 ds18b20 是 dallas 公司推出的一款基于 1-wire 总线协议的可编程分辩率数 字温度传感器 1。它将地址线、数据线、控制线合为一根信号线,允许在这根信 号线上挂接多个 1-wire 总线器件。1-wire 总线技术具有节省 i/o 资源、结构简 单、成本低廉、便于总线扩展和维护等优点。ds18b20 是采用 1-wire 总线技术 的典型产品。 1 1 ds18b20ds18b20 数字温度传感器数字温度传感器 11 ds18b20 的测温原理 ds18b20 的测温电路如图 1 所示。 图图 1 1测温原理测温原理 fig1fig1fig1fig1 principleprincipleprincipleprinciple thermometrythermometrythermometrythermometry 低温度系数震荡器用于产生固定频率的脉冲信号送给减法计数器 1,高温度 系数震荡器频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,当计数 器打开时,ds18b20 就对低温度技术震荡器产生的时钟脉冲进行计数,进而完成 温度测量。计数门的开启时间由高温度系数震荡器来决定。每次测量前,首先将 -55所对应的技术分别置入减法计数器 1 和温度寄存中。减法计数器 1 和温度 寄存器被预置在-55所对应的基数值。减法计数器 1 对低温度系数晶振产生的 脉冲信号进行减法技术,当减法计数器 1 的预置值减到 0 时,温度寄存器的值将 加 1,减法计数器 1 的预置将重新被装入,减法技术器 1 重新开始对低温度技术 晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温 度寄存器的累加,此时温度寄存器中的数值即为所测温度 1。斜率累加器用于补 偿和修正 2测温过程中的非线性,其输出用语修正减法计数器的预置值,只要计 数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。这就是 停止 加 1 低温度系数震荡器计 数 器 预置斜率累加器 比 较 预置 温度寄存器=0 高温度系数震荡器 =0 计数器 ds18b20 的测温原理。 12ds18b20 性能与结构 ds18b20 具有独特的单线接口方式,在与微处理器连接时仅需要一条口线即 可实现微处理器与 ds18b20 的双向通讯。在使用中不需要任何外围元件。可用数 据线供电,电压范围:+3.0 +5.5 v。测温范围:-55 +125 。固有测温分辨 率为 0.5 。通过编程可实现 912 位的数字读数方式。用户可自设定非易失性 的报警上下限值。支持多点组网功能,多个 ds18b20 可以并联在惟一的三线上, 实现多点测温。负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能 正常工作。 ds18b20 的内部结构如图 2 所示。它由 4 个主要的数据部件组成:64 位 rom、 温度传感器、非挥发的温度报警触发器 th 和 tl、配置寄存器。rom 中 64 位序列 号是出厂前被光刻好的, 它可以看作是该 ds18b20 的地址序列码, 开始 8 位 (28h) 是产品类型标号,接着的 48 位是该 ds18b20 自身的产品序列号,最后的 8 位是 前面 56 位的循环冗余校验码 (crc=x 8+x5+x4+1) 。 rom 的作用就是使每一个 ds18b20 都各不相同,这样就可以实现一根总线上挂接多个 ds18b20 的目的。ds18b20 的 核心部件是它的数字温度传感器,它的分辨率可配置为 9、10、11 或 12 位,出 厂默认设置是 12 位分辨率,它们对应的温度值分辨率分别为 0.5、0.25、 0.125和 0.0625。温度信息的低位、高位字节内容中还包括了符号位 s(是 正温度还是负温度)和二进制小数部分,其具体形式如图 3。 图图 2 2 dsl8820dsl8820 芯片的内部结构图芯片的内部结构图 fig.2fig.2fig.2fig.2 ds18b20ds18b20ds18b20ds18b20 blockblockblockblock diagramdiagramdiagramdiagram ls byte bit7bit6bit5bit4bit3bit2bit1bit0 232221202-12-22-32-4 ms byte bit1 5 bit1 4 bit1 3 bit1 2 bit11 bit1 0 bit9bit8 sssss262524 表表 3 3 温度存储方式温度存储方式 tab.3tab.3 temperaturetemperature storagestorage 2 2 ds18b20ds18b20 的应用的应用 21 硬件设计 由于 1-wire 总线技术的特性,我们可以运用现在非常成熟的单片机技术与 其设计出很多在农业领域中经济实用的产品。如:数字温度计,单线多点温度监 测报警系统,分布式温度采集系统等。本设计中,单片机选用 atmel 公司常用的 单片机芯片 at89c52,它完全可以满足一般的采集、控制和数据处理的需要 4。 ds18b20 的电源供电方式有两种:寄生电源方式和外部供电方式。工作于寄 生电源方式时,vdd和 gnd 都接地,它在需要远程温度探测和空间受限的场合特 别有用。但寄生电源方式需要强上拉电路,软件控制变得比较复杂,同时芯片的 性能也有所降低。因此,在条件允许的场合,尽量采用外部供电方式。具体硬件 结构图如图 4 所示。 在图中并没有给出键盘、 显示、 报警和与上位机通信的 rs232 接口。读者可参考相关单片机书籍自行设计。 4.1k ds18b20+5v at89c52 p1.0 vss i/o ds18b20ds18b20 (a) 外部供电方式 rx tx +5vat89c52 p1.0 p1.1 p1.2 ds18b20ds18b20ds18b20 (b) 寄生电源方式 图图 4 4 4 4 硬件结构图硬件结构图 fig.4fig.4fig.4fig.4 structurestructurestructurestructure diagramdiagramdiagramdiagram ofofofof thethethethe hardwarehardwarehardwarehardware 22 软件设计 ds18b20 简单的硬件接口是以相对复杂的接口编程为代价。由于 ds18b20 通 过单总线与单片机进行通讯,所以其通讯功能是分时完成的。他与单片机的接口 协议是通过严格的时序来实现的,只有在特定的时隙,才能实现 ds18b20 数据的 写入和读出。这里以 at89c52 和一个 ds18b20 通讯为例,列出部分通讯的汇编语 言代码。 221 初始化子程序(reset) 与ds18b20的所有通讯都是由一个单片机的复位脉冲和一个ds18b20的应答 脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少 480s,最多不 能超过 960s。然后,单片机释放总线,等待 ds18b20 的应答脉冲。ds18b20 在接受到复位脉冲后等待 1560s 才发出应答脉冲。应答脉冲能保持 60 240s。单片机从发送完复位脉冲到再次控制总线至少要等待 480s。程序代 码如下: reset:clrdq;发送复位脉冲 movr7,#33;延时 497s lcalldelay15 setbdq movr7,#4;延时 62s lcalldelay15 clrflag;ds18b20 应答标志 jbdq,ret1;判断 ds18b20 应答 setbflag movr7,#28 lcalldelay15;延时 422s setbdq ret1:ret 2.2.2write 子程序 写时隙需要 1575s,且在 2 次独立的写时隙之间至少需要 1s 的恢复 时间。写时隙起始于单片机拉低总线。以要把单片机 a 中的数据发给 ds18b20 为例,程序代码如下: wr18b20:clrc;发送一个字节 movr1,#8 wr18b201:clrdq;产生写信号 movr7,#1 lcalldelay15;延时 17s rrca movdq,c;发送一位数据给 ds18b20 movr7,#1 lcalldelay15;延时 17s setbdq nop djnzr1,wr18b201;字节是否发送完 setbdq ret 2.2.3 read 子程序 读时隙需 1560s,且在 2 次独立的读时隙之间至少需要 1s 的恢复时 间。读时隙起始于单片机拉低总线至少 1s。dsl8820 在读时隙开始 15s 后开 始采样总线电平。以单片机读取 2b 的数据为例。程序代码如下: rd18b20:clrc movr1,#2 movr0,#templsb;存放数据的地址 rd18b201:movr2,#8 rd18b202:setbdq nop nop clrdq;产生读信号 nop nop movr7,#1 lcalldelay15;延时 17s movc,dq rrca movr7,#3 lcalldelay15;延时 17s djnzr2,rd18b202 ;判断字节是否读完 movxr0,a;保存结果 decr0 djnzr1,rd18b201 ;判断 2 个字节是否读完 ret 4 4 结论结论 利用 ds18b20 温度传感器芯片可以实现单点,多点温度的测量。为执行农业 分布式温度测量打下了基础。 但是在复杂多变的实际应用环境中能否顺利使用尚 需进一步考证测试。 在 ds1820 的有关资料中均未提及单总线上所挂 ds1820 数量 问题,容易使人误认为可以挂任意多个 ds1820,在实际应用中并非如此。当单 总线上所挂 ds1820 超过 8 个时,就需要解决微处理器的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论