Hi, I have another idea; I'm not sure it will solve your problem, but maybe it is a contribution. I had to develop an universal 4-digit 7-segment terminal for different applications with the same interface. I did it a following manner: I took a 16F84 (in some cases it proved as too small; then take a 16C622 or 16C558), and 4 pieces of 74164. The latter are daisy-chained, so I need only the following wires to communicate with the PIC: - a CLOCK line - a DATA line - a RESET line (not important, can be fixed!) - and... If the display changes, it leads to some flicker. If it is undesirable, I took ONE transistor to control the common cathode of ALL digits, and this transistor is controlled with PIC. And what is very fine here: - no multiplexing - speed is incredible - the display is done with a single SEROUT command of the PicBasic PRO. On the receiving side I don't deal with interrupts. Instead, I use hardware handshake like CTS. Of course, it needed some time to set up the conversion table. I built some intelligency in my terminal: it is controlled by escape sequences, so I can control how to interpret the data, e. g. 1 letter + 3 digit 1 letter + 1 byte to be rescaled to 0..999 all characters all hex data etc. Imre On Thu, 2 Jul 1998, Mike Keitz wrote: > On Fri, 3 Jul 1998 00:43:42 +1000 Glendon Turner > writes: > >Thank you in advance for reading this and hopefully helping me. > > > >I need to us a 16F84-04 to drive a 3 or 4 digit 7 segment display > >(common > >annode or cathode, doesn't matter). > > > >I need to be able to send a serial number to the chip (9600,8,N,1) in > >the > >range of 0 to 9999 and have it display it. I think interrupts will be > >required because the display needs to be multiplexed and at the same > >time > >needs to check for serial data. > > There are lots of ways to do this application. It's very doable without > interrupts, but you'll have to program carefully to keep all the timing > right. I'd use a timer interrupt at 9600 Hz which samples the serial > input and multiplexes the LEDs. The main program examines the data > received and formats it for display. Every time a start bit comes in, > the timer would be reset so the interrupts are in the proper phase to > sample the data bits. This could be done with a external interrupt or in > the main program. The main program won't be doing anything while waiting > for a start bit. Changing the phase rather than starting and stopping > the interrupt will keep the display miltiplexing almost consistent so > incoming data won't make the display flicker. > > _____________________________________________________________________ > You don't need to buy Internet access to use free Internet e-mail. > Get completely free e-mail from Juno at http://www.juno.com > Or call Juno at (800) 654-JUNO [654-5866] > >