新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機匯編實驗六:I2C串行總線存儲器讀寫實驗

        單片機匯編實驗六:I2C串行總線存儲器讀寫實驗

        作者: 時間:2016-12-01 來源:網絡 收藏

        MOV R3,A //讀出的字節傳給R3
        RET
        STAR:SETB SDA //起始條件子程序
        SETB SCL
        NOP
        NOP
        NOP
        NOP
        CLR SDA
        NOP
        NOP
        NOP
        NOP
        RET
        SDATA:MOV R0,#08H //向24C02傳輸數據子程序
        LOOP0:CLR SCL
        RLC A
        MOV SDA,C
        NOP
        NOP
        SETB SCL
        NOP
        NOP
        NOP
        NOP
        DJNZ R0,LOOP0
        CLR SCL
        NOP
        SETB SDA
        NOP
        NOP
        SETB SCL
        REP:MOV C,SDA
        JC REP
        NOP
        NOP
        NOP
        CLR SCL
        NOP
        NOP
        RET
        RDATA:MOV R0,#08H //從24C02讀取數據子程序(讀取一個字節以后不做應答)
        LOOP1:SETB SCL
        NOP
        NOP
        NOP
        NOP
        MOV C,SDA
        RLC A
        CLR SCL
        NOP
        NOP
        NOP
        NOP
        DJNZ R0,LOOP1
        SETB SCL
        NOP
        NOP
        NOP
        NOP
        CLR SCL
        RET
        STOP:CLR SDA ;結束條件
        NOP
        NOP
        NOP
        NOP
        SETB SCL
        NOP
        NOP
        NOP
        NOP
        SETB SDA
        NOP
        NOP
        NOP
        NOP
        RET
        CHULI: //1999uS ;這里是用于寫完數據以后留給24C02的內部數據處理時間,2ms是一個非常保險的時間,最短需要1ms
        MOV R6,#04H
        WR0:
        MOV R5,#0F8H
        DJNZ R5,$
        DJNZ R6,WR0
        RET
        END

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

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 沙洋县| 乾安县| 宁河县| 临海市| 娱乐| 长葛市| 澜沧| 温州市| 濮阳县| 保靖县| 红原县| 阳江市| 腾冲县| 铜川市| 左贡县| 玉树县| 六盘水市| 中西区| 云安县| 保康县| 桦南县| 和顺县| 林西县| 唐山市| 丹巴县| 锡林浩特市| 泰宁县| 台东市| 博白县| 北辰区| 新丰县| 平罗县| 福建省| 武宣县| 锦州市| 苍南县| 平江县| 嵩明县| 镇原县| 平谷区| 万荣县|