新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > I2C總線原理介紹與實例開發

        I2C總線原理介紹與實例開發

        作者: 時間:2011-12-04 來源:網絡 收藏

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

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

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

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

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

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



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安丘市| 江门市| 齐齐哈尔市| 封丘县| 长宁县| 周宁县| 广河县| 射洪县| 苗栗市| 乌兰察布市| 大冶市| 平利县| 客服| 苏尼特左旗| 南安市| 云浮市| 神农架林区| 平利县| 安化县| 肥城市| 麻城市| 绥芬河市| 嵊州市| 陵水| 营山县| 淳安县| 清苑县| 宜州市| 杭锦后旗| 临潭县| 溆浦县| 平山县| 米易县| 方正县| 文昌市| 寻甸| 锡林郭勒盟| 汶川县| 萨迦县| 阿巴嘎旗| 仙游县|