新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機讀寫24C02的匯編程序

        單片機讀寫24C02的匯編程序

        作者: 時間:2012-10-12 來源:網(wǎng)絡(luò) 收藏
        ;簡潔的讀寫
        ;--------------------------------------------
        I2C_SDA EQU P1.6 ; PIN 5
        I2C_SCL EQU P1.7 ; PIN 6

        ;=============================================
        I2C_WRITE: ; WRITE 8 BYTES TO EEROM ; INPUT: A - A*8 = EEROM START ADDR
        ; R0 - RAN START ADDR
        ; USE: C, A, R0, R6, R7

        ACALL I2C_START
        ACALL OUT
        MOV R6, #8
        WR_LP:MOV A, @R0
        ACALL OUT
        INC R0
        DJNZ R6, WR_LP
        AJMP I2C_STOP

        ;==========================================
        I2C_READ: ; READ 8 BYTES FROM EEROM ; INPUT: A - A*8 = EEROM START ADDR
        ; R0 - RAN START ADDR
        ; USE: C, A, R0, R6, R7

        ACALL I2C_START
        ACALL OUT
        MOV R6, #8
        MOV A, #0A1H; #RDCMD
        ACALL OUTS
        BRDLP:
        MOV R7, #8
        SETB I2C_SDA
        INLP: CLR I2C_SCL
        ACALL DELAY6
        SETB I2C_SCL
        NOP
        MOV C, I2C_SDA
        RLC A
        DJNZ R7, INLP
        CLR I2C_SCL
        MOV @R0, A
        INC R0
        DJNZ R6, ACKLP
        ;;;;----------------------------
        I2C_STOP:
        CLR I2C_SDA
        ACALL DELAY5
        SETB I2C_SCL
        ACALL DELAY5
        SETB I2C_SDA
        DELAY6:
        NOP
        DELAY5:
        NOP
        RET
        ;;-----------------------------
        I2C_START:
        SWAP A
        RR A
        MOV R6, A
        MOV A, #0A0H; #WTCMD
        ACALL OUTS
        MOV A, R6
        RET
        ;-------------------------------
        ACKLP:
        CLR I2C_SDA
        SETB I2C_SCL
        ACALL DELAY5
        CLR I2C_SCL
        AJMP BRDLP
        ;=======================
        OUTS:
        SETB I2C_SDA
        SETB I2C_SCL
        ACALL DELAY5
        CLR I2C_SDA
        ACALL DELAY5
        CLR I2C_SCL
        ;========================
        OUT:
        SETB C
        MOV R7, #9
        OTLP: RLC A
        NOP
        MOV I2C_SDA, C
        NOP
        NOP
        SETB I2C_SCL
        ACALL DELAY5
        CLR I2C_SCL
        DJNZ R7, OTLP
        RET
        ;========================
        END


        關(guān)鍵詞: 單片機 24C02 匯編程序

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 马尔康县| 浪卡子县| 屏东县| 安泽县| 商洛市| 资源县| 赣榆县| 宜兰市| 潍坊市| 达孜县| 阿巴嘎旗| 贞丰县| 买车| 镇赉县| 天等县| 曲麻莱县| 深泽县| 女性| 和硕县| 库尔勒市| 高州市| 滕州市| 济源市| 泉州市| 龙海市| 张家川| 田东县| 炉霍县| 莱芜市| 乐亭县| 黄平县| 浦江县| 历史| 屯昌县| 东丽区| 乐业县| 太保市| 乌兰浩特市| 平乐县| 哈巴河县| 新巴尔虎左旗|