您当前的位置:五五电子网电子知识单片机-工控设备综合-其它PIC读写I2C程序 正文
PIC读写I2C程序

PIC读写I2C程序

点击数:7999 次   录入时间:03-04 12:00:14   整理:http://www.55dianzi.com   综合-其它


I2CCTR EQU 10H
I2CAD EQU 11H
REG3 EQU 12H
REG2 EQU 13H
REG1 EQU 14H
REG0 EQU 15H

GENR0 EQU 8H
GENR1 EQU 9H
BIT_COUNT EQU 9H
GENR2 EQU 0AH
BYTE_COUNT EQU 0AH


 movlw 4H
write
 MOVWF BYTE_COUNT
 MOVLW B8583W
WR_ABC
 MOVWF I2CCTR
 MOVFW GENR0
;
WR_MEM
 MOVWF I2CAD
WR_MEM0
 MOVLW IORA
 TRIS RA
 BSF RA,SCL
 MOVLW I2CCTR+$20
 MOVWF FSR
M_START
 NOP
 BTFSS RA,SDA
 RETLW 0FFH
; GOTO ^-1

 MOVLW E2OUT
 TRIS RA
 NOP
 BCF RA,SDA  ; to start
NXBY
WR_BYTE
 MOVLW 8H
 MOVWF BIT_COUNT
BIT_LOOP
 nop
 RLF 0H
 BCF RA,SCL
 BTFSS 3,0
 GOTO ^+3
 BSF RA,SDA
 GOTO ^+2
 BCF RA,SDA
 NOP
 NOP

 BSF RA,SCL
 DECFSZ BIT_COUNT
 GOTO BIT_LOOP
 NOP
 NOP
 BCF RA,SCL
 NOP
ACKG
 NOP
 MOVLW IORA
 TRIS RA
 BSF RA,SCL
 NOP
 BTFSC RA,SDA
 GOTO ACKG

 INCF FSR
 NOP
 bcf RA,SCL
 MOVLW E2OUT
 TRIS RA
 DECFSZ BYTE_COUNT
 GOTO NXBY
;
W_STOP
 MOVLW I2CAD+$0A2
 SUBWF FSR,W
 BTFSS 3,0
 RETLW 0H
M_STOP
 BCF RA,SDA
 NOP
 BSF RA,SCL
 MOVLW IORA
 NOP
 NOP
 NOP
 BSF RA,SDA
 TRIS RA
 RETLW 0H

;------------------------------
;
ST_CMEMAD
 MOVFW GENR0
 MOVWF I2CAD
 MOVLW C02W
 MOVWF I2CCTR
 MOVLW C02R
 MOVWF REG3
;
ST_MEMAD
 MOVLW 2
 MOVWF BYTE_COUNT
 CALL WR_MEM0
 MOVLW 1
 MOVWF BYTE_COUNT
 MOVFW REG3
 MOVWF I2CCTR
 CALL WR_MEM0
 RETLW 0H
;--------------------------

RD_BYTES
 MOVWF BYTE_COUNT
 MOVLW REG3

本文关键字:程序  综合-其它单片机-工控设备 - 综合-其它

《PIC读写I2C程序》相关文章>>>