新聞中心

        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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 建平县| 湖州市| 扎囊县| 新田县| 九台市| 沙河市| 晋宁县| 淮北市| 大竹县| 寻乌县| 通海县| 澄江县| 法库县| 乐清市| 新野县| 广丰县| 兴业县| 崇仁县| 启东市| 海林市| 吉林市| 沙湾县| 精河县| 襄城县| 大庆市| 新乐市| 甘洛县| 翁牛特旗| 磐安县| 乌恰县| 普定县| 鹤壁市| 天峻县| 凤台县| 牟定县| 迁西县| 塔河县| 长葛市| 德庆县| 旺苍县| 沙湾县|