PIC单片机读写I2C实例源程序一

PIC单片机读写I2C实例源程序一

; this route is used I2C EESROM write and
; read; addressing mode is indirect
START
 BSF RB_C,SDA
 NOP
 MOVFW RB_C
 TRIS RB
 BSF RB,SCL
 NOP
 BTFSS RB,SDA
 GOTO ^-1
 BCF RB_C,SDA
 NOP
 MOVFW RB_C
 TRIS RB
 NOP
 BCF RB,SDA
 NOP
 NOP
 NOP
 NOP
 BCF RB,SCL
 RETLW 0H
STOP
 BCF RB_C,SDA
 NOP
 MOVFW RB_C
 TRIS RB
 BCF RB,SDA
 NOP
 NOP
 NOP
 BSF RB,SCL
 NOP
 NOP
 NOP
 NOP
 BSF RB,SDA
 RETLW 0
TX
 MOVLW 08H
 MOVWF LOP1
 MOVFW RB_C
 ANDLW 7FH
 TRIS RB
TXLP
 BCF RB,SCL
 BTFSC F0,7
 GOTO ^+3
 BCF RB,SDA
 GOTO ^+2
 BSF RB,SDA
 BCF 3,0
 RLF F0
 NOP
 BSF RB,SCL
 NOP
 NOP
 NOP
 DECFSZ LOP1
 GOTO TXLP
 BCF RB,SCL
ACKG
 BSF RB_C,SDA
 NOP
 MOVFW RB_C
 TRIS RB
 BSF RB,SCL
 NOP
 NOP
 NOP
 BTFSC RB,SDA
 GOTO ACKG
 NOP
 BCF RB,SCL
 RETLW 0
RX
 MOVLW 08H
 MOVWF LOP1
 BSF RB_C,SDA
 CLRF F0
 MOVFW RB_C
 TRIS RB
RXLP
 BCF RB,SCL
 BCF 3,0
 RLF F0
 NOP
 BSF RB,SCL
 NOP
 NOP
 BTFSC RB,SDA
 BSF F0,0
 DECFSZ LOP1
 GOTO RXLP
 BCF RB,SCL
 BTFSC MARK1,LAST
 RETLW 0
 MOVFW RB_C
 ANDLW 7FH
 TRIS RB
 BCF RB,SDA
 NOP
 NOP
 NOP
 BSF RB,SCL
 NOP
 BCF RB,SCL
 RETLW 0
RD24XX
 BCF MARK1,LAST
 MOVLW 03H
 MOVWF LOP2
 CALL START
 MOVLW SLAVE
 MOVWF F0
 CALL TX

 MOVFW READ_ADD
 MOVWF F0
 CALL TX
 CALL START

 MOVLW SLAVE
 MOVWF F0
 BSF F0,0
 CALL TX
RXN
 INCF FSR
 BTFSS MARK1,READ
 BSF MARK1,LAST
 CALL RX
 BTFSC MARK1,LAST
 GOTO STOP
 DECF LOP2
 MOVFW LOP2
 XORLW 01H
 BTFSS 3,2
 GOTO RXN
 BSF MARK1,LAST
 GOTO RXN
WR24XX
 MOVLW 03H
 MOVWF LOP2
 CALL START
 MOVLW SLAVE
 MOVWF F0
 CALL TX

 MOVFW WRITE_ADD
 MOVWF F0
 CALL TX
WRITN
 INCF FSR
 CALL TX
 BTFSS MARK1,WRITE
 GOTO ^+3
 DECFSZ LOP2
 GOTO WRITN
 GOTO STOP

通知公告
编辑观点
理事会
参考资料
版权声明

凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。

《网络安全与数据治理》(原《信息技术与网络安全》)编辑部