Die Diode verhindert, daß bei den -12V von der PC-Schnittstelle der PN-Übergang vom Transistor abraucht... die halten die relativ große negative Spannung meistens nicht aus.
Ein gutes Tutorial zum Thema UART gibts hier:
http://www.mikrocontroller.net/artic...Tutorial:_UART

Gruß,
SIGINT

P.S.: Im Datenblatt vom ATmega8 steht auch alles sehr ausführlich drin... sogar mit C und Assembler-Code.