Du musst ja für jeden Motor das Schrittsignal generieren und da das eine ziemlich zeitkritische Sache ist, brauchst du dafür Timer. Ich hab bisher mit Atmegas und Attinys gearbeitet und hatte da jeweils maximal 3 Timer zur Verfügung. Da gäbe es also nur die Möglichkeiten, einen Controller mit vielen Timern zu suchen, mehrere Controller zusammenarbeiten zu lassen oder sich irgendeinen Algorithmus auszudenken, der das alles mit ein(igen) Timer(n) hinbekommt. Ist aber jedenfalls nicht ganz trivial. Vielleicht findest auch schon irgendwo fertigen Sourcecode oder Bibliotheken, woraus du was übernehmen kannst.

Achja, wieso eigentlich Encoder? Macht nur Sinn, wenn du closed loop Endstufen hast, ansonsten kannst höchstens überprüfen, wieviele Schritte verloren wurden, und dann vll. nachstellen. Lies dir mal diesen Artikel durch:
http://www.schrittmotor-blog.de/schr...not-so-closed/