新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > 例說單片機數據通信之單總線數據傳輸

        例說單片機數據通信之單總線數據傳輸

        作者:liklon 時間:2013-12-20 來源:電子產品世界 收藏

          純干不了大事,必須得配上各種外設,那么了解與傳感器之間的就顯得必不可少了。常見的方式有SPI,IIC,RS232,單總線等等。每種通信方式都有相應的時序圖,分析時序圖并完成代碼的編寫是單片機學習者的必修課。本文以為例分析一下單總線數據傳輸,完整的程序以及仿真的下載鏈接:單片機單總線例子程序及仿真.zip

        本文引用地址:http://www.104case.com/article/203009.htm

          是單總線數據傳輸,因此對于時序的要求就非常的高,學會分析其時序圖是非常有必要的。

          1.初始化時序圖分析:

          首先是由總線拉低總線,維持480us。在480us后釋放總線,由上拉電阻講總線拉高。等待5-60us后,開始響應,會將數據總線拉低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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 福建省| 邹城市| 陈巴尔虎旗| 建水县| 且末县| 丰都县| 图片| 海兴县| 新兴县| 康定县| 塘沽区| 额济纳旗| 宿州市| 舒城县| 宁津县| 贵溪市| 滨海县| 涞源县| 大兴区| 澄江县| 从江县| 扶沟县| 安国市| 陇南市| 渝北区| 巴彦淖尔市| 文水县| 中江县| 崇明县| 施甸县| 馆陶县| 阳东县| 丹东市| 益阳市| 富民县| 阿瓦提县| 阳信县| 垫江县| 堆龙德庆县| 芜湖县| 桂平市|