Für den SW-UART braucht man einen Timer als Zeitbasis. Mit Timer0 kann das ohne ANpassungen nicht funktionieren, weil das nur ein 8-Bit-Timer ist, Timer1 jedoch ein 16-Bit-Timer mit zudem anderen Features.

Für 2 UART musst du IMHO neu implementieren und dir genauestens die Timimgs/Bandbreiten überlegen, die du hast bzw willst/brauchst. Im Wiki ist ein Beispiel für einen SW-UART bei den C-Beispielen, vielleicht hilft das je bei einer Tandem-Implementierung?