新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > I2C總線原理與應用

        I2C總線原理與應用

        作者: 時間:2010-01-27 來源:網絡 收藏

        控制字后就是相應的操作,讀或寫,一定不要結束,因為這個操作還沒有完成,如果結束就等于放棄操作。

        先來看寫操作,寫操作分為字節寫和頁面寫兩種操作,對于頁面寫根據芯片的一次裝載的字節不同有所不同,AT24C02為8字節,每寫一個字節后,地址自動加1。關于頁面寫的地址、應答和數據傳送的時序參見圖3,字節寫可以看成是只有一個字節的頁面寫,也就是寫一個數據后停止。注意:寫一次需要一定時間,一般為10ms,要等侍這個操作完成。時序如下圖:

        說明:對于AT24C02,在控制字后還必須寫入地址,這個地址是以后讀寫的起始地址。

        讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。三種操作方法類似,只是讀的數據個數不同,可連續讀8個字節,圖4給出的是順序讀的時序圖,圖中共讀了四個數據,需要注意的是當前的地址,如果不是想要的,可以用寫操作,重新寫入地址。非常重要的是,每讀一個數據后,必須置低SDA,作為應答,否則,只能讀一個數據,后面的數據,因為收到不應答信號,AT24C02就會認為出錯,停止操作。特別提醒的是,當SCL為低電平時,數據是可變的,因些只有SCL為高電平時,才能讀數。(相關時序,請看例程序的,讀功能函數)

        四.例程序(51匯編,測試單片機為AT89C51,12M晶振)

        電路連接如圖5,其中A0,A1,A2為地址線,本例中全部接地,因此全部為0。由于SCL和SDA為漏極開路輸出,所以在使用時,需加上拉電阻。



        上一頁 1 2 下一頁

        關鍵詞: 應用 原理 總線 I2C

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 通许县| 汾西县| 昌黎县| 西充县| 武隆县| 肇州县| 岚皋县| 彰武县| 雅安市| 广丰县| 武宣县| 防城港市| 尼木县| 晋城| 金平| 沧州市| 喀喇沁旗| 衡水市| 盐城市| 额尔古纳市| 昌乐县| 金溪县| 临猗县| 迁西县| 延安市| 郸城县| 多伦县| 潼南县| 乌兰浩特市| 镇巴县| 汝州市| 阿拉尔市| 金沙县| 南靖县| 库伦旗| 景德镇市| 措美县| 海兴县| 准格尔旗| 东至县| 习水县|