Нужно четко проследить состояние SDA, SCL при обмене информацией.
Как вариант предложу ручной способ имитации мастера, с индикацией светодиодами SDA, SCL.
Для начала - запись байта мастер->ведомый
1. Прохождение START
2. Прохождение адреса ведомого
3. Прохождение RW бита
4. ! Формирование ACK ведомым !
5. Прохождение байта данных к ведомому
6. Формирование NO ACK ведомым
7. Прохождение STOP
PS по программе с разбегу пока сказать нечего.
PPS все-таки повнимательнее поизучайте блок-схемы в AVR312. Ну и сам I2C.