Пт окт 27, 2023 13:31:17
Сб окт 28, 2023 06:17:28
Вс окт 29, 2023 14:10:10
;;;;;;;;;;инициализация
MOVLW B'00011000'
MOVWF TRISC
MOVLW B'00101000'
MOVWF SSPCON1
MOVLW 0X80
MOVWF SSPSTAT
MOVLW 0X09
MOVWF SSPADD
main
;;;;;;;;;;;;;;;;;передача
CALL BSTART
MOVLW 0XD0
CALL WRITE_I2C
MOVLW 0X00
CALL WRITE_I2C
MOVLW 0X00
CALL WRITE_I2C
CALL BSTOP
CALL DELAY1
CALL DELAY1
;;;;;;;;;;;;;;;приём
start
CALL BSTART
MOVLW 0XD0
CALL WRITE_I2C
MOVLW 0X00
CALL WRITE_I2C
CALL RESTARTBIT
MOVLW 0XD1
CALL WRITE_I2C
BTFSC SSPSTAT,2
BRA $-2
BSF SSPCON2, RCEN
BTFSS PIR1, SSPIF
BRA $-2
BCF PIR1, SSPIF
MOVFF SSPBUF, AA
CALL ACKBIT
BSF SSPCON2, RCEN
BTFSS PIR1, SSPIF
BRA $-2
BCF PIR1, SSPIF
MOVFF SSPBUF, MSB
CALL NACKBIT
CALL BSTOP
CALL DISP
GOTO start
WRITE_I2C
MOVWF SSPBUF
CALL WAITMSSP
RETURN
BSTART BSF SSPCON2,SEN
CALL WAITMSSP
RETLW 0
RESTARTBIT
BSF SSPCON2,RSEN
CALL WAITMSSP
RETURN
BSTOP BSF SSPCON2,PEN
CALL WAITMSSP
RETURN
ACKBIT BCF SSPCON2,ACKDT
BSF SSPCON2,ACKEN
CALL WAITMSSP
RETURN
NACKBIT BSF SSPCON2,ACKDT
BSF SSPCON2,ACKEN
CALL WAITMSSP
RETURN
WAITMSSP
BTFSS PIR1,SSPIF
GOTO WAITMSSP
NOP
BCF PIR1,SSPIF
RETURN