ds18b20温度转换

ds18b20温度转换

ID:40527555

大小:625.00 KB

页数:9页

时间:2019-08-04

ds18b20温度转换_第1页
ds18b20温度转换_第2页
ds18b20温度转换_第3页
ds18b20温度转换_第4页
ds18b20温度转换_第5页
资源描述:

《ds18b20温度转换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DS18B20一、初始化1、步骤:1)、有总线控制器发出复位脉冲2)、从机发出存在脉冲。(存在脉冲让总线知道DS15B20在总线上已准备好操作、一旦总线控制器探测到一个存在脉冲,就可以发出ROM命令)2、初始化过程“复位”和“存在”脉冲3、过程:送1复位——送0拉低(800us)——送1产生一个上升沿(50us)——检测低电平——检测高电平4、程序:init_1820()//1820初始化{unsignedchara,b,c;p23=1;//复位p23=0;//拉低800usfor(b=2;b>0;b

2、--)for(a=200;a>0;a--);p23=1;//产生一个上升沿,进入等待应答状态for(b=1;b>0;b--)//延时50usfor(a=25;a>0;a--);while(p23==1);while(p23==0);//检测到应答脉冲}二、写Ds18b20的数据读写是通过时间间隙处理和命令来确认信息交换1、步骤:1)主机把数据从逻辑高电平拉到低电平,写时间间隙开始(写时间间隙必须最少持续60us,包括两个写周期至少1us的恢复时间。)2)I/O线电平拉低后,DS18B20在一个15us

3、到60us的时候对I/O线采样。如果线上为高电平,就是写1,如果线上是低电平,就是写02、写时序图:1)写0:先把数据线拉低15us,然后在至少保持15us的低电平,进行写0(数据线必须被拉至逻辑低电平且至少保持30us),然后必须拉高恢复(至少1us,不用考虑)。2)写1:数据线必须被拉至逻辑低电平(至少1us,不用考虑)然后在从开始的15us内(也就是14us内)拉至到电平,3、程序写0:write0()//写0{uchara,b;DQ=0;//拉低for(a=6;a>0;a--);//拉低15u

4、sfor(a=21;a>0;a--);//送入0至少45us,DS1820采样,(其实15us就行)//总共拉低至少60us//或for(b=15;b>0;b--)//60us//for(a=2;a>0;a--);DQ=1;//拉高恢复(至少1us)_nop_();}写1:write1()//写1{DQ=0;//拉低(至少1us)_nop_();DQ=1;//15us之内送入高电平(其实不用非得15us之内)_nop_();}三、读1、步骤:1)主机把数据线从高电平拉至低电平时,产生读时间片2)数据线

5、必须保持低电平至少1us,读1820输出的数据在读时间片后的15us内有效(在读之前必须停止送低电平(也就是送高电平)——低电平1us后直接拉高等待读数据)3)读时间片的最短持续时间为60us,各个读时间片之间要有最短为1us的恢复时间2、读时序3、程序uchards1820rd()//读数据{uchara,b,i,dat=0,dat1=0;for(i=8;i>0;i--){DQ=0;//给脉冲信号延时1us_nop_();DQ=1;//给脉冲信号准备读数据if(DQ)//读判为1为0{dat

6、=0x

7、01;}else{dat&=0xfe;}dat=_cror_(dat,1);for(b=3;b>0;b--)//延时60usfor(a=8;a>0;a--);}return(dat);}四、温度准换流程1、ROM操作命令SkipROM(“跳过”ROM)[CCh]在单点总线系统中此命令通过允许总线主机不提供64位ROM编码而访问存储器操作节省时间。(在多于一个的从属器件责不可以使用该命令。)2、存储器操作命令ConvertT[44h]启动温度变换这条命令启动一次温度转换而无需其他数据。温度转换命令被执行

8、后DS1820白痴等待转换状态。ReadScratchpad[BEh]读暂存存储器这个命令读取暂存器的内容。读取从字0开始,一直进行下去,直到第9(字节8,CRC)字节读完四、流程初始化10800us150us检测0检测1nopnop写指令a=数&0x01a==0写0060us1nopa==1写10nop1nop左移数循环8次nopnop读数据0nop1nop读为1a

9、=0x01为0a&=0xfe左移a60us循环8次主函数初始化写指令0xcc写指令0x44初始化写指令0xcc写指令0xbea=读数据

10、b=读数据b<<=8t=b

11、at=t*0.0625显示t五、源程序/***********************************************DS18B20温度显示温度传感器DQ接p1.1数码管(用164串口)************************************************/#include#include#defineucharunsignedchar#defi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。