i2c_start:
	sbi _ddra,sda
	sbi _ddra,scl
	
	sbi _porta,sda
	sbi _porta,scl
	rcall p5us
	cbi _porta,sda
	rcall p5us
	cbi _porta,scl
	ret

i2c_stop:
	sbi _ddra,sda
	sbi _ddra,scl

	cbi _porta,sda
	sbi _porta,scl
	rcall p5us
	sbi _porta,sda
	rcall p5us
	cbi _porta,scl
	ret
	
i2c_out:
	cbi _porta,sda
	sbi _ddra,sda
	ldi r18,8
i2c_out1:
	sbrc r17,7
	sbi _porta,sda
	sbrs r17,7
	cbi _porta,sda
	rcall p5us
	sbi _porta,scl
	rcall p5us
	cbi _porta,scl
	rcall p5us
	lsl r17
	dec r18
	brne i2c_out1
	cbi _ddra,sda
	sbi _porta,sda
	sbi _porta,scl
	rcall p5us
	set
	sbis _pina,sda
	clt
	cbi _porta,scl
	rcall p5us
	ret

i2c_in:
	cbi _ddra,sda
	sbi _porta,sda
	ldi r18,8
i2c_in1:	
	sbi _porta,scl
	rcall p5us
	clc 
	sbic _pina,sda
	sec
	rol r17
	rcall p5us
	cbi _porta,scl
	rcall p5us
	dec r18
	brne i2c_in1
	sbi _ddra,sda
	cbi _porta,sda
	sbi _porta,scl
	rcall p5us
	cbi _porta,scl
	rcall p5us
	ret
p5us:
	ldi r19,10
p05:
	dec r19
	brne p05
	ret
