Да правильно:
MDO = ; //Data Output
MDE = ; //1-(Tx).0-(Rx).
MCO = ; //Clock Output
MDI = ; //Data Input
По поводу транзистора не уверен, в даташите не нашол. (
ADuC848) хотя думаю что "i2c честный" - порты специальные
По данной Вами ссылке посмотрел но не очень понял, буду пробовать.