• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 牛人業(yè)話 > 例說單片機數(shù)據(jù)通信之模擬IIC通信

    例說單片機數(shù)據(jù)通信之模擬IIC通信

    作者:Liklon 時間:2014-06-25 來源:電子產(chǎn)品世界 收藏

       即Inter-Integrated Circuit(集成電路總線),這種總線類型是由飛利浦半導體公司在八十年代初設計出來的,主要是用來連接整體電路(ICS) ,是一種多向控制總線,也就是說多個芯片可以連接到同一總線結構下,同時每個芯片都可以作為實時數(shù)據(jù)傳輸?shù)目刂圃础_@種方式簡化了信號傳輸總線。

    本文引用地址:http://www.czjhyjcfj.com/article/248808.htm

      I2C串行總線一般有兩根信號線,一根是雙向的數(shù)據(jù)線,另一根是時鐘線SCL。所有接到I2C總線設備上的串行數(shù)據(jù)都接到總線的上,各設備的時鐘線SCL接到總線的SCL上。以51和AT24C02介紹IO模擬通信。

      啟始與停止

      啟始條件:必須在所有命令之前發(fā)送,時鐘線保持高電平期間,數(shù)據(jù)線電平從高到低的跳變作為IIC總線的啟動信號。

      停止條件:時鐘線保持高電平期間,數(shù)據(jù)線電平從低到高的跳變作為IIC總線的停止信號。操作結束時必須發(fā)送停止條件。

      void startbit()

      {

      clrSCL();

      setSDA();

      setSCL(); //時鐘為高時

      clrSDA(); //SDA下降沿

      clrSCL();

      }

      void stopbit()

      {

      clrSCL();

      clrSDA();

      setSCL(); //時鐘為高時

      setSDA(); //SDA上升沿

      clrSCL();

      }

      應答信號

      每次數(shù)據(jù)傳送成功后,從設備發(fā)送一個應答信號。當?shù)诰艂€時鐘信號產(chǎn)生時,產(chǎn)生應答信號的器件將SDA下拉為低,通知已經(jīng)接收到8位數(shù)據(jù)。

      void respond()

      {

      unsigned char i = 0;

      setSDA(); //釋放總線

      setSCL(); //時鐘

      while(SDA != 0)

      {

      i++;

      if(i > 200) break;

      }

      clrSCL();

      }

      讀寫字節(jié)操作

      IIC總線協(xié)議定義如下:

      1. 只有在總線非忙時才被允許進行數(shù)據(jù)傳輸。

      2. 在數(shù)據(jù)傳輸時,當時鐘線為高電平,數(shù)據(jù)線必須為固定狀態(tài),不允許跳變,時鐘線為高電平時數(shù)據(jù)線的任何電平變化都會被當做總線的啟動或停止條件

    模擬信號相關文章:什么是模擬信號


    51單片機相關文章:51單片機教程


    pic相關文章:pic是什么


    單片機相關文章:單片機教程


    單片機相關文章:單片機視頻教程


    單片機相關文章:單片機工作原理


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


    通信相關文章:通信原理



    上一頁 1 2 下一頁

    關鍵詞: IIC 單片機 SDA

    評論


    相關推薦

    技術專區(qū)

    關閉
    主站蜘蛛池模板: 罗源县| 苍溪县| 阿瓦提县| 海丰县| 黄陵县| 阳泉市| 中西区| 乌审旗| 丽江市| 贞丰县| 旬邑县| 彩票| 枞阳县| 黑山县| 乐清市| 阿拉尔市| 民权县| 固原市| 武汉市| 彝良县| 庆元县| 白河县| 门头沟区| 成安县| 诸城市| 乐平市| 通州市| 西藏| 仲巴县| 滨州市| 冀州市| 丘北县| 长春市| 谷城县| 德兴市| 衡阳市| 临澧县| 新沂市| 元朗区| 巴青县| 河源市|