hola necesito que me ayuden con un programa, en el programa tengo que enviar un pulso cuadrado hecho de ceros y unos por i2c y no se porque no funciona
#INCLUDE<P16F73.INC>
#DEFINE LED PORTA,0
#DEFINE SERIALENABLE SSPCON,5
#DEFINE SSP3 SSPCON,3
#DEFINE SSP2 SSPCON,2
#DEFINE SSP1 SSPCON,1
#DEFINE SSP0 SSPCON,0
#DEFINE OVERFLOW SSPCON,6
#DEFINE CLOCKS SSPCON,4
#DEFINE STA5 STATUS,5
#DEFINE STA6 STATUS,6
#DEFINE BUFFER SSPSTAT,0
#DEFINE READ SSPSTAT,2
#DEFINE INFLAG PIR1,3
#DEFINE VAR PORTA,4
#DEFINE LED_2 PORTB,0
#DEFINE LED_3 PORTB,1
#DEFINE LED_4 PORTB,2
#DEFINE LED_5 PORTB,3
#DEFINE LED_6 PORTB,4
#DEFINE LED_7 PORTB,5
#DEFINE LED_8 PORTB,6
#DEFINE datos PORTC,3
CBLOCK 0x00
CONTA_1
CONTA_2
CONTA_3
CONTA_4
ENDC
PUERTOS
BSF STA5
BCF STA6
CLRF TRISB
CLRF TRISA
CLRF TRISC
BCF STA5
BCF STA6
BTFSC VAR
CALL RUT
BTFSS VAR
CALL RUT_2
CALL ENVIO
CALL I2CSLAVEMODE7
GOTO LED_1
RUT
BCF LED_2
BCF LED_3
BCF LED_4
BCF LED_5
RETURN
RUT_2
BSF LED_2
BSF LED_3
BSF LED_4
BSF LED_5
RETURN
LED_1
BSF LED
GOTO LED_1
I2CSLAVEMODE7
BCF SSP0
BSF SSP1
BSF SSP2
BCF SSP3
MOVLW 0x18
MOVWF TRISC
BSF SERIALENABLE
BCF BUFFER
BCF OVERFLOW
BSF INFLAG
BCF BUFFER
BSF CLOCKS
BSF READ
BSF CLOCKS
BCF INFLAG
BSF INFLAG
BSF CLOCKS
BCF READ
BCF INFLAG
BCF BUFFER
BSF OVERFLOW
RETURN
ENVIO
BSF datos
CALL Retardo_1ms
BSF datos
CALL Retardo_1ms
BCF datos
CALL Retardo_1ms
BSF datos
CALL Retardo_1ms
BCF datos
CALL Retardo_1ms
BSF datos
CALL Retardo_1ms
BSF datos
CALL Retardo_1ms
BCF datos
CALL Retardo_1ms
BSF datos
CALL Retardo_1ms
BCF datos
CALL Retardo_1ms
BSF datos
CALL Retardo_1ms
BCF datos
CALL Retardo_1ms
BCF datos
CALL Retardo_1ms
BSF datos
CALL Retardo_1ms
BSF datos
CALL Retardo_1ms
BCF datos
CALL Retardo_1ms
RETURN
#INCLUDE<C:\Users\ciel\Desktop\archivos mplab\RETARDOS.INC>
end