Hier hat Peter Dannegger eine fertige Routine verfasst. Die sollte sich prima anwenden lassen:

http://www.mikrocontroller.net/forum/read-4-299212.html

Eine Software UART ist sicherlich ausreichend. Zu beachten ist natürlich, dass diese Prozessorleistungs und Speicherplatz braucht. Wenn es da also knapp wird, empfiehlt sich der Umstieg auf einen größeren Prozessor (am besten gleich mit zwei UARTs).

Bei der Anpassung des Codes musst du vor allem auf Baudrate, Quarzfrequenz und auf die Portpins achten. Der Code ist für den Mega8 konzipiert.

Viele Grüße
Flite