⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds18b20的硬件连接及软件编程rn -前程无忧论文网-免费论文库.htm

📁 输液控制这是很好的资料如果你想学请不要错过
💻 HTM
📖 第 1 页 / 共 3 页
字号:
            <BR><BR>一般测温电缆线采用屏蔽4芯双绞线,其中一对接地线与信号线,另一对接VDD和地线,屏蔽层在源端单点接地。             <BR><BR>表1 DS18B20温度/数据对应关系表 <BR><BR>温度(℃) 输出的二进制码 对应的十六进制码 <BR>+125             0000 0111 1101 0000 07D0H <BR>+85 0000 0101 0101 0000 0550H             <BR>+25.0625 0000 0001 1001 0001 0191H <BR>10.125 0000 0000 1010             0010 00A2H <BR>0.5 0000 0000 0000 1000 0008H <BR>0 0000 0000 0000             0000 0000H <BR>-0.5 1111 1111 1111 1000 FFF8H <BR>-10.125 1111 1111             0101 1110 FF5EH <BR>-25.0625 1111 1110 0110 1111 FF6FH <BR>-55 1111             1100 1001 0000 FC90H <BR><BR>表2 DS18B20分辨率设置表&nbsp;&nbsp;<BR><BR>R1             R0 温度分辨率 最大转换时间 <BR>0 0 9位 93.75ms <BR>0 1 10位 187.5ms <BR>1 0 11位             375ms <BR>1 1 12位 750ms <BR><BR>四、DS18B20软件编程<BR><BR>1、DS18B20的工作过程             <BR><BR>DS18B20的工作遵循严格的单总线协议。主机首先发一复位脉冲,使信号线上所有的DS18B20芯片都被复位,接着发送ROM操作命令,使序列号编码匹配的DS18B20被激活,准备接收下面的内存访问命令。内存访问命令控制选中的DS18B20的工作状态,完成整个温度转换、读取等工作(单总线在ROM命令发送之前存储命令和控制命令不起作用)。其工作流程图如图4所示。在对DS18B20进行操作的整个过程中,主要包括三个关键过程:主机搜索DS18B20序列号、启动在线DS18B20作温度转换、读取在线DS18B20温度值。其中主机启动温度转换并读取温度值的流程图如图5所示。             <BR><BR><BR><BR>工作中系统对DS18B20的操作以ROM命令和存储器命令形式出现。其中ROM操作命令均为8位长,命令代码分别为:读ROM(33H)、匹配ROM(55H)、跳过ROM(CCH)、搜索ROM(F0H)和告警搜索(             ECH)命令。存储器操作命令为:写暂存存储器(4EH)、读暂存存储器(BEH)、复制暂存存储器(48H)、温度变换(44H)、重新调出EERAM(B8H)和读电源供电方式(B4H)命令。             <BR><BR>2、工作时序             <BR><BR>由于DS18B20的测温分辨率提高了(12位),因此对时序及电特性参数要求较高,必须严格按照DS18B20的时序要求去操作。与DS1820相同,DS18B20数据的读写也是由主机读写特定时间片来完成的,包括初始化、读时间片和写时间片。             <BR><BR>主机控制DS18B20完成任何操作之前必须先初始化,即主机发一复位脉冲(最短为480ms的低电平),接着主机释放总线进入接收状态,DS18B20在检测到I/O引脚上的上升沿之后,等待15~60ms然后发出存在脉冲(60~240ms的低电平)。时序图如图6所示。             <BR><BR>读/写时间片:             <BR><BR>写时间片:将数据线从高电平拉至低电平,产生写起始信号。在15ms之内将所需写的位送到数据线上,在15ms到60ms之间对数据线进行采样,如果采样为高电平,就写1,如果为低电平,写0就发生。在开始另一个写周期前必须有1ms以上的高电平恢复期。时序图如图7所示。             <BR><BR>读时间片:主机将数据线从高电平拉至低电平1ms以上,再使数据线升为高电平,从而产生读起始信号。主机在读时间片下降沿之后15ms内完成读位。每个读周期最短的持续期为60ms,各个读周期之间也必须有1ms以上的高电平恢复期。时序图如图7所示。             <BR><BR>3、基本子程序设计<BR><BR>DS18B20三个基本子程序为:DS18B20初始化程序、读DS18B20子程序、写DS18B20子程序。分别设计如下:             <BR><BR>(1)DS18B20的初始化子程序(PSW.5=1表示DS18B20存在,PSW.5=0表示不存在)             <BR>RESET:CLR P1.0 ;发送复位脉冲             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV R7,#32             ;延时500ms             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL             DELAY15 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB             P1.0 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV             R7,#4 ;等待60ms             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL             DELAY15 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR             PSW.5 ;PSW.5=0             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JB P1.0,RET1             ;P1.0=1不存在,跳转             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB PSW.5             ;存在DS18B20             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV R7,#28             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL             DELAY15 <BR><BR>RET1: RET <BR><BR>延时子程序(fOSC=12MHz) <BR><BR>DELAY15:             MOV R6,#6 <BR><BR>DEL151: DJNZ R6,DEL151             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DJNZ             R7,DELAY15 ;延时R7*15 ms             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RET             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;(2)DS18B20的读子程序 <BR><BR>RD1820:CLR C             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV R1,#9             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV             R0,#TEMPLSB <BR><BR>RD18201:MOV R2,#8 <BR><BR>RD18202:SETB P1.0             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOP             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOP             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR P1.0             ;产生读信号 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOP             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOP             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB P1.0             ;准备输入数据 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV             R7,#1 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL             DELAY15<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;MOVC,P1.0 RRC A <BR><BR>RRC A             <BR>&nbsp;&nbsp;<BR> <BR><BR> <BR><BR><BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;DJNZ             R2,RD18202             ;判一个字节是否读完<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOVX             @R0,A ;保存结果             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INC             R0             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DJNZ             R1,RD18201 ;判9个字节是否读完             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RET             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;(3)DS18B20的写子程序 <BR><BR>WR1820:CLR C             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV R1,#8             <BR><BR>WR18201:CLR P1.0 ;产生写信号             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV R7,#1             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL             DELAY15 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RRC             A <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV P1.0,C             ;发送一位数据给DS18B20             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV R7,#1             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCALL             DELAY15 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB             P1.0 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOP             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DJNZ             R1,WR18201 ;1字节数据是否发送完             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETB P1.0             <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RET             <BR><BR>四、结束语             <BR><BR>DS18B20是目前最流行的单总线温度传感器之一。它的接口电路简单、可靠,因此在温度检测系统以及测控网络中将会有广泛的应用前景。             <BR><BR><BR>参考文献 <BR><BR>[1] Dallas Corp., DS18B20 Programmable             Resolution One—Wire Digital Thermometer. <BR><BR>[2]             金伟正,《单线数字温度传感器的原理及应用》 <BR><BR>[3] 《DS18B20在51单片机系统中的应用》             <BR><BR><BR><IMG height=1             src="DS18B20的硬件连接及软件编程-前程无忧论文网-免费论文库.files/down_info.htm" width=1             border=0></DIV></TD></TR></TBODY></TABLE>      <TABLE height=40 cellSpacing=5 cellPadding=0 width="100%" align=center       border=0>        <TBODY>        <TR>          <TD align=middle>文章页数:<A class=page             href="http://www.wypaper.com/info/1414-1.htm">[1]</A>&nbsp;         </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><TABLE class=border cellSpacing=0 cellPadding=0 width=778 border=0>  <TBODY>  <TR>    <TD align=middle height=10>      <TABLE class=pagelighter cellSpacing=0 cellPadding=0 width=766 border=0>        <TBODY>        <TR>          <TD height=10>            <TABLE class=listtitle cellSpacing=0 cellPadding=1 width="100%"             border=0>              <TBODY>              <TR>                <TD>                  <TABLE class=docParameter cellSpacing=0 cellPadding=6                   width="100%" border=0>                    <TBODY>                    <TR>                      <TD><FONT                         color=red>特别注意</FONT>:论文资源均为免费,仅供学术参考,本站所提供所有论文,一切版权归于作者所有.禁止盗链本站论文资源.抄袭论文所导致的法律责任均与本站没有任何关系.如作者不愿意我站登出您的版权论文,请与我站联系,我们会尽快取消本站对您论文的转载.                       </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>            <TABLE class=border cellSpacing=0 cellPadding=0 width="100%"             border=0>              <TBODY>              <TR>                <TD><IMG height=6                   src="DS18B20的硬件连接及软件编程-前程无忧论文网-免费论文库.files/spacer.gif"                 width=6></TD></TR></TBODY></TABLE>            <TABLE class=docParameter cellSpacing=0 cellPadding=4 width="100%"             border=0>              <TBODY>              <TR>                <TD></TD>                <TD align=right>  <A href="javascript:window.print()"><IMG                   height=18 alt=打印                   src="DS18B20的硬件连接及软件编程-前程无忧论文网-免费论文库.files/printer.gif"                   width=49 border=0></A>  <A                   href="javascript:this.location.reload()"><IMG height=18 alt=刷新                   src="DS18B20的硬件连接及软件编程-前程无忧论文网-免费论文库.files/reload.gif"                   width=49 border=0></A><FONT color=#2c5810><SPAN class=weby>                   </SPAN></FONT><A href="javascript:window.scroll(0,0)"><IMG                   height=18 alt=返回顶部                   src="DS18B20的硬件连接及软件编程-前程无忧论文网-免费论文库.files/top.gif" width=49                   border=0></A>  <A href="javascript:window.close()"><IMG                   height=18 alt=关闭                   src="DS18B20的硬件连接及软件编程-前程无忧论文网-免费论文库.files/close.gif" width=49                   border=0></A> </TD>                <TD align=right width=20><INPUT onclick=scrollit1() type=image                   alt=向上滚屏                   src="DS18B20的硬件连接及软件编程-前程无忧论文网-免费论文库.files/buttonF1.jpg"                   value=向上滚屏 name=button22>       </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><TABLE class=border height=6 cellSpacing=0 cellPadding=0 width=778 border=0>  <TBODY>  <TR>    <TD><IMG height=1 src="DS18B20的硬件连接及软件编程-前程无忧论文网-免费论文库.files/spacer.gif"       width=1></TD></TR></TBODY></TABLE><TABLE class=border id=table100 cellSpacing=1 cellPadding=0 width=778   border=0><TBODY>  <TR>    <TD class=listContent align=middle>      <HR color=#008080 noShade SIZE=0>    </TD></TR>  <TR>    <TD class=listContent align=middle><A       href="http://www.wypaper.com/help/aboutus.htm">关于我们</A> - <A       href="http://www.wypaper.com/help/banquan.htm">版权声明</A> - <A       href="http://www.wypaper.com/help/gg.htm">广告服务</A> - <A       href="http://www.wypaper.com/help/lianxi.htm">联系我们</A> - <A       href="http://www.wypaper.com/help/friend.htm">友情链接</A> - <A       href="http://www.wypaper.com/help/job.htm">人才招聘</A></TD></TR></TBODY></TABLE><TABLE class=border id=table101 cellSpacing=6 cellPadding=0 width=778   border=0><TBODY>  <TR>    <TD class=navLight>      <TABLE id=table102 cellSpacing=6 cellPadding=0 width="100%" border=0>        <TBODY>        <TR>          <TD width="74%"><FONT color=#ffffff>&copy; CopyRight 2005-2008             NETLW.COM.Inc All Rights Reserved</FONT></TD>          <TD align=right width="26%"><FONT color=#ffffff>前程无忧论文网</FONT>         </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -