Precisament estaba trabajando en ese proyecto, pero no espero mas alla de 10 display (40 me parece demasiado), estoy usando matrices de 8x8, por ahora desarrollo en codigo en ASM dentro de proteus y su plugin de enlace con el MPLAB (es muy util cuando conectas dos PCs una con el MPLAB y otra con el proteus via red), el punto es q ya he logrado las rutinas de comunicacion usando un 16F877 usando 3 lineas: TX, CLK y una d seleccion R/C (row/column), hasta ahora los tiempos van bien, incluso desarrolle un pequeño patron de pruebas. Mi gran parada vino cuando kise hacer lo siguiente:
mi idea es hacer el display totalmente independiente de la PC o tanto como se pueda, de tal forma q la pc le mande el mensaje a mostrar solo una vez y el PIC haga el resto, es decir el PIC debe ser capaz de mostrar todo el mensaje con los caracteres en el display, la cuestion es que hay q crear una "tabla" de 256 caracteres a 1 byte por linea (es un display 8x8) sacando la cuenta tenemos:
256*8 = 2048 bytes
2K! preferi montar esa mega tabla en una memoria serial tpo 24LC128 con la cual se podrian almacenar algunas animaciones tb... ahi es donde radica el problema, crear los 256 caracteres por linea es un proceso largo, hice un pequeño programa en VB q permite crear los caracteres de la misma forma q se debrian vr en la pantalla por display, esta incompleto todavia.
Bueno espero q con eso tngan una idea mas para el proyecto.