This way I have a few bits too few. I am using a PIC16C84, which has a total of 13 I/O bits. But if I use only 3 address-bits, and preset the ttransceivers for either input or output this should worh (I hope) Hans Nicholas Irias wrote: > > One possible solution is to use tri-state 8-bit bus transceivers at > each of the 4 destinations or sources. You can use 4-bit magnitude > comparators at each destination to compare a bus address to the > destination address, and use the address==address to enable the > transceiver. This supports 16 addresses. > > This requires a bus with 8 data lines, 4 address lines, and one flow > control line, to control the data direction of the selected transceiver. > > This method is definitely bulkier and less elegant than a 2 wire > I2C bus, but your software winds up being incredibly simple, at > least if each slave device is either always an input or always an > output. The software in a slave device is just reading or writing to > its 8 pins, and can be oblivious to the outside world. No need to > perform some communication task every few uSecs. > > The relevant parts are DM74LS85 and DM74LS245. Note that you > will need to invert the A==B output from the magnitude comparator > before feeding it into the transceiver. > > ---------- > > From: H.P. de Vries > > To: PICLIST@MITVMA.MIT.EDU > > Subject: MUX > > Date: Friday, February 13, 1998 8:28 PM > > > > Does anyone know of a Bidirectional 32-8 multiplexer? (or 16-4, 4-1) > > > > I want to multiplex an 8-bit I/O port of a PIC to 4 sources/destinations > > of/for the data. I hope somone understands this .... > > > > Hans