http://www.datasheetcatalog.org/datasheet/stmicroelectronics/1328.pdfTe pongo el data del L293 porque supongo que es donde se tiene que hacer el multiplexado, fijate que lleva dos pines de habilitacion, pines 1 y 9 "chip enable", creo que uniendolos y conectandolos a un pin del PIC cuando les des un 1 te habilitara ese puente H, de esta manera si pones 4 pines del PIC, por ejemplo rb0 a rb3 a las entradas de varios puentes les mandas señal para una posicion determinada a todos pero solo le daras tension al motor del puente que tengas habilitado. De esta forma para los 7 motores necesitarias 4 pines para las 4 bobinas ( entradas del puente) y 7 pines mas para el multiplexado uno por motor, si despues eres capaz de manejar todo, y sincronizar todas las velocidades de todos los matores en el programa
No se si lo sabes pero la manera mas comun y creo que la mejor de manejar PAP es mediante tablas, con sus posiciones y mediante un contador, se incrementa o decrementa segun el sentido de giro que se quiera dar al motor.
Necesitas que sean todos PAP? no puedes sustituir alguno por servos o por motores normales?, te ahorrarias muchos pines.
Que lenguaje vas a usar para programar? supongo que siendo un 18f en C o basic, no?
Los vas a hacer andar a pasos de bobina a bobina, entrebobinas, o a medios pasos?