So.... I've managed to get a control PIC sending data via a serial connection to the display PIC, which recieves the data under interrupt and displays it; but only IF the packet is for that segment. Follow that? This is basically the control needed for my scrolling message board and appears to work fine; but disaster! You cant appear to have input serial only! Which means by enabling serial, I lose 2 output lines! AAAArrrrghhhhh!!!
This has forced me to multiplex some lines and currently I need 2 chips to do this. a 3 to 8 demultiplexor, and an invertor. The demultilexor outputs inverted lines so for now I need an invertor, but I can use a 4028 BCD to decimal decoder which doesn't appear to require this - and its reasonably cheap. It's either this or use a PIC with more control lines, but that costs double at just over £2 per PIC, rather than $0.30 more. The 8bit serial to parallel shift register that was suggested earlier would also work, but is more expensive at $0.49, although it is more versitile and could free up lots of lines, but I don't appear to require that so I'll probably plump for the cheaper option.
I've also started coding my PIC's in "C", and things are moving much quicker than using assembler. Its also interesting to see just how much code you get for 2K space. If I was really stuck, I could drop down to ASM again, but so far "C" is working out great and does all the really tricky stuff for me without having to worry about it.
So, what I currently have is a scrolling bitmap through a single matrix unit. I'll build perhaps a 5 unit module with a message/bitmap scrolling over this and then take it into work to test lighting etc. and see how its going to look. After that, I'll need to start looking at getting actual boards made up so I can produce a fair number of them.
I also fixed my USB experimenter box so that it outputs reasonable voltages, so I'll use that to control it, getting the master PIC to do the comms and send on any data the PC sends. Being USB it should be pretty quick and if needs be, you can have 4 of them connected at once.