24C02读写汇编程序
2013-02-04
标签: 24C02


;简洁的24C02读写汇编程序


;--------------------------------------------


        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:   CLRI2C_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


可能会用到的工具/仪表
相关文章
推荐文章
热门文章
章节目录
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号