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

嵌入式设计应用

134人已加入

描述

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • I2C

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分