新聞中心

        EEPW首頁 > 手機與無線通信 > 牛人業話 > 例說單片機數據通信之模擬IIC通信

        例說單片機數據通信之模擬IIC通信

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

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

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

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

          啟始與停止

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

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

          void startbit()

          {

          clrSCL();

          setSDA();

          setSCL(); //時鐘為高時

          clrSDA(); //SDA下降沿

          clrSCL();

          }

          void stopbit()

          {

          clrSCL();

          clrSDA();

          setSCL(); //時鐘為高時

          setSDA(); //SDA上升沿

          clrSCL();

          }

          應答信號

          每次數據傳送成功后,從設備發送一個應答信號。當第九個時鐘信號產生時,產生應答信號的器件將SDA下拉為低,通知已經接收到8位數據。

          void respond()

          {

          unsigned char i = 0;

          setSDA(); //釋放總線

          setSCL(); //時鐘

          while(SDA != 0)

          {

          i++;

          if(i > 200) break;

          }

          clrSCL();

          }

          讀寫字節操作

          IIC總線協議定義如下:

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

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

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


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


        pic相關文章:pic是什么


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


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


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


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理



        上一頁 1 2 下一頁

        關鍵詞: IIC 單片機 SDA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 个旧市| 旬邑县| 贵南县| 抚远县| 卢湾区| 珠海市| 明溪县| 壶关县| 遂平县| 黑水县| 那曲县| 寿阳县| 阿荣旗| 芷江| 临沭县| 毕节市| 若尔盖县| 伊吾县| 庄浪县| 禄丰县| 高安市| 商都县| 高台县| 曲靖市| 辉南县| 志丹县| 扬州市| 治多县| 江津市| 四平市| 屯昌县| 乌海市| 利川市| 道真| 安丘市| 开平市| 景泰县| 林口县| 吉首市| 安阳县| 习水县|