新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話 > 例說(shuō)單片機(jī)數(shù)據(jù)通信之單總線數(shù)據(jù)傳輸

例說(shuō)單片機(jī)數(shù)據(jù)通信之單總線數(shù)據(jù)傳輸

作者:liklon 時(shí)間:2013-12-20 來(lái)源:電子產(chǎn)品世界 收藏

  純干不了大事,必須得配上各種外設(shè),那么了解與傳感器之間的就顯得必不可少了。常見(jiàn)的方式有SPI,IIC,RS232,單總線等等。每種通信方式都有相應(yīng)的時(shí)序圖,分析時(shí)序圖并完成代碼的編寫(xiě)是單片機(jī)學(xué)習(xí)者的必修課。本文以為例分析一下單總線數(shù)據(jù)傳輸,完整的程序以及仿真的下載鏈接:?jiǎn)纹瑱C(jī)單總線例子程序及仿真.zip

本文引用地址:http://www.butianyuan.cn/article/203009.htm

  是單總線數(shù)據(jù)傳輸,因此對(duì)于時(shí)序的要求就非常的高,學(xué)會(huì)分析其時(shí)序圖是非常有必要的。

  1.初始化時(shí)序圖分析:

  首先是由總線拉低總線,維持480us。在480us后釋放總線,由上拉電阻講總線拉高。等待5-60us后,開(kāi)始響應(yīng),會(huì)將數(shù)據(jù)總線拉低60-240us.之后便釋放總線,由上拉電阻拉高總線。轉(zhuǎn)換為代碼如下:

u8 dsbInit() //初始化,返回0表示DS18B20無(wú)反應(yīng),反之有響應(yīng)
{
  ????? dsbDQStat(0); //拉低總線
  ????? delay500us(); //拉低總線一段時(shí)間
  ????? dsbDQStat(1); //釋放總線
  ????? delay60us(); //等待DS18B20響應(yīng)
  ????? if(dsb_DQ) //如果沒(méi)有相應(yīng)直接返回0
  ????? {
  ????? return 0;
  }
  delay240us(); //有響應(yīng)則等待響應(yīng)結(jié)束
  return 1; //返回初始化狀態(tài)
}

  2.讀時(shí)序圖分析:

單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理


數(shù)字通信相關(guān)文章:數(shù)字通信原理


通信相關(guān)文章:通信原理


上拉電阻相關(guān)文章:上拉電阻原理

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉