1-Wire总线测温网络的构建
摘要:本文以1-Wire 器件DS18B20为核心元件,以单片机教学实验仪PHOENIX325为平台,搭建了一套集成度高、扩充空间大的测温网络。该测温网络由4只DS18B20组成,挂接在单片机P1口;软件设计方面,采用二叉树遍历算法,搜索总线上所有家族号为28H的器件,匹配ID号后启动温度转换,将结果送到1-Wire总线上,并对编程思路、1-Wire器件的各种操作作了详细的介绍。
引言
多点测温是重要库所、场站、厂房安全工作的重要环节,多点测温应以实时、精确为原则,在此基础上,电路设计要求尽量简单,程序设计应功能强、效率高,本文采用DS18B20作为核心元件,充分利用该器件分辨率高、所需元件少、宜于组网的特点,以二叉树遍历法为编程算法,构建基于1-Wire总线的测温网络。
方案设计
核心元件的选择
测温元件选用Dallas公司出品的DS18B20,与传统热敏电阻不同,DS18B20是1-Wire总线的数字温度传感器,可直接将被测温度转化成串行数字信号供单片机处理,适用于恶劣环境的现场温度测量。
1-Wire器件的特性
DS18B20具有以下特性:测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;可由软件设定9~12位分辨率,对应的测量精度分别为0.5℃、0.25℃、0.125℃和0.0625℃,实现高精度测温;在寄生电源方式下可由数据线供电;独特的单线接口方式,DS18B20在与单片机连接时仅需要一条口线即可实现与单片机的双向通信;支持多点组网,多个DS18B20可以并联在总线上,实现组网测温;测量结果直接输出数字温度信号,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
电路设计
DS18B20供电方式有两种:内部电源和外部电源。采用内部电源供电时,功率由总线提供,此时引脚3接地,引脚2通过上拉电阻接至总线,在总线高电平期间,器件内部的寄生电容充电,总线低电平期间,寄生电容向器件供电;采用外部电源供电时,引脚3接VCC,在温度转换期间总线不用保持高电平,这样在温度转换期间总线上可以进行其他数据往来,本文采用外部电源方式。图1是测温网络电路图。

除测温电路之外,还有LCD显示、USB通信及电源模块,其功能分别为数据显示、程序下载、系统供电,由于这几部分电路通用性强,参考资料较多,故此处省略。
软件编程
二叉树遍历算法
二叉树遍历算法是搜索识别网络中1-Wire器件的编程首选,二叉树遍历算法的要点可归纳为“读2位,写1位”。
- 由DS18B20数字温度计全面解析1-Wire通信(05-03)
- 自学单片机心得体会(06-17)
- 基于霍尔传感器的直流电机转速测量系统设计(11-14)
- 基于8051F单片机的数字音频信号源的幅度控制(12-01)
- 动态参数检测与虚拟仪器综合系统设计(11-26)
- 基于C8051F005单片机的小电阻测试仪(01-05)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...