>Assuming the displays are common-anode, you'd use NPN transistors. >To drive a digit, you set its common wire HIGH, set the appropriate >segment wires LOW, and let the other lines FLOAT. If you want >decimal points, then you can get 9 digits with 9 I/O pins. I like this a lot. Very clever. The kind of not-PIC-specific thing I find very useful. Are the weak pullups on a PIC too weak to interfere? I suppose you can still use the same 8 lines for switch inputs as well, for certain cases, and certainly if you have fewer than 8 digits (4 digits and a 4x4 switch array in 8 pins should be easy?) We got to have different segment maps for each digit.. I think careful use of rotate would be sufficient... BillW