例说单片机数据通信之单总线数据传输

嵌入式系统   作者:liklon 时间:2013-12-20来源:电子产品世界

  纯单片机干不了大事,必须得配上各种外设,那么了解单片机与传感器之间的数据通信就显得必不可少了。常见的单片机数据通信方式有SPI,IIC,RS232,单总线等等。每种通信方式都有相应的时序图,分析时序图并完成代码的编写是单片机学习者的必修课。本文以DS18B20为例分析一下单总线数据传输,完整的程序以及仿真的下载链接:单片机单总线数据通信例子程序及仿真.zip

  DS18B20是单总线数据传输,因此对于时序的要求就非常的高,学会分析其时序图是非常有必要的。

  1.初始化时序图分析:

  首先是由总线控制器拉低总线,维持480us。在480us后释放总线,由上拉电阻讲总线拉高。等待5-60us后,DS18B20开始响应,会将数据总线拉低60-240us.之后便释放总线,由上拉电阻拉高总线。转换为代码如下:

u8 dsbInit() //初始化,返回0表示DS18B20无反应,反之有响应
{
        dsbDQStat(0); //控制器拉低总线
        delay500us(); //拉低总线一段时间
        dsbDQStat(1); //释放总线
        delay60us(); //等待DS18B20响应
        if(dsb_DQ) //如果没有相应直接返回0
        {
        return 0;
  }
  delay240us(); //有响应则等待响应结束
  return 1; //返回初始化状态
}

  2.读时序图分析:

1 2

关键词: 单片机 DS18B20 控制器 数据通信

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版