欢迎来到天天文库
浏览记录
ID:16138994
大小:245.00 KB
页数:12页
时间:2018-08-08
《数字温度传感器ds1820》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数字温度传感器DS1820(DS18B20)的应用一、单线数字温度计DSl820介绍DSl820数字温度计提供9位(二进制)温度读数指示器件的温度信息经过单线接口送入DSl820或从DSl820送出因此从主机CPU到DSl820仅需一条线(和地线)DSl820的电源可以由数据线本身提供而不需要外部电源因为每一个DSl820在出厂时已经给定了唯一的序号因此任意多个DSl820可以存放在同一条单线总线上这允许在许多不同的地方放置温度敏感器件DSl820的测量范围从-55到+125增量值为0.5可在ls(典型值)内把温度变换成数字每一个DSl820包括一个唯一的64位长的序号该序号值存放在DSl82
2、0内部的ROM(只读存贮器)中开始8位是产品类型编码(DSl820编码均为10H)接着的48位是每个器件唯一的序号最后8位是前面56位的CRC(循环冗余校验)码DSl820中还有用于贮每一个DSl820包括一个唯一的64位长的序号该序号值存放在DSl820内部的ROM(只读存贮器)中开始8位是产品类型编码(DSl820编码均为10H)接着的48位是每个器件唯一的序号最后8位是前面56位的CRC(循环冗余校验)码DSl820中还有用于贮存测得的温度值的两个8位存贮器RAM编号为0号和1号1号存贮器存放温度值的符号如果温度为负()则1号存贮器8位全为1否则全为00号存贮器用于存放温度值的补码LSB
3、(最低位)的1表示0.5将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-550125)DSl820的引脚如图226l所示每只D51820都可以设置成两种供电方式即数据总线供电方式和外部供电方式采取数据总线供电方式可以节省一根导线但完成温度测量的时间较长采取外部供电方式则多用一根导线但测量速度较快温度计算1Ds1820用9位存贮温值度最高位为符号位下图为18b20的温度存储方式负温度S=1正温度S=0如2Ds18b20用12位存贮温值度最高位为符号位下图为18b20的温度存储方式负温度S=1正温度S=0如0550H为+850191H为25.0625,FC90H为-55二、DS
4、l820工作过程及时序DSl820工作过程中的协议如下初始化RoM操作命令存储器操作命令处理数据1初始化单总线上的所有处理均从初始化开始2ROM操作品令总线主机检测到DSl820的存在便可以发出ROM操作命令之一这些命令如指令代码ReadROM(读ROM)[33H]MatchROM(匹配ROM)[55H]SkipROM(跳过ROM][CCH]SearchROM(搜索ROM)[F0H]Alarmsearch(告警搜索)[ECH]3存储器操作命令指令代码WriteScratchpad(写暂存存储器)[4EH]ReadScratchpad(读暂存存储器)[BEH]CopyScratchpad(复制暂
5、存存储器)[48H]ConvertTemperature(温度变换)[44H]RecallEPROM(重新调出)[B8H]ReadPowersupply(读电源)[B4H]4时序主机使用时间隙(timeslots)来读写DSl820的数据位和写命令字的位(1)初始化时序见图2.25-2主机总线to时刻发送一复位脉冲(最短为480us的低电平信号)接着在tl时刻释放总线并进入接收状态DSl820在检测到总线的上升沿之后等待15-60us接着DS1820在t2时刻发出存在脉冲(低电平持续60-240us)如图中虚线所示以下子程序在MCS51仿真机上通过其晶振为12M.初始化子程序RESETPUSH
6、B;保存B寄存器PUSHA保存A寄存器MOVA,#4;设置循环次数CLRP1.0;发出复位脉冲MOVB,#250;计数250次DJNZB,$;保持低电平500usSETBPl.0;释放总线MOVB,#6;设置时间常数CLRC;清存在信号标志WAITL:JBPl.0,WH;若总线释放跳出循环DJNZB,WAITL;总线低等待DJNZACC,WAITL;释放总线等待一段时间SJMPSHORTWH:MOVB,#111WH1:ORLC,P1.0DJNZB,WH1;存在时间等待SHORT:POPAPOPB当主机总线to时刻从高拉至低电平时就产生写时间隙见图2253图2254从to时刻开始15us之内应将
7、所需写的位送到总线上DSl820在t后15-60us间对总线采样若低电平写入的位是0见图2253若高电平写入的位是1见图2254连续写2位间的间隙应大于1us写位子程序(待写位的内容在C中)WRBIT:PUSHB;保存BMOVB,#28;设置时间常数CLRP1.0;写开始NOP;1usNOP;1usNOP;1usNOP;1usN0P;1usMOVPl.0,C;C内容到总线WDLT:DJNZB,WD
此文档下载收益归作者所有