Searching \ for '[PIC]: Multiple devices sharing the same 8 bit dat' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: techref.massmind.org/techref/microchip/devices.htm?key=pic
Search entire site for: 'Multiple devices sharing the same 8 bit dat'.

Exact match. Not showing close matches.
PICList Thread
'[PIC]: Multiple devices sharing the same 8 bit dat'
2001\05\27@005524 by Dylan Hillier

flavicon
face
Is it possible to have multiple devices sharing the same bus:

- IE: You have a PIC16F84A of which you want to use PortB to have multiple
devices on it using that both use a full 8 bits.
- Device 1 is LCD ( Assuming there is no 4bit mode on the LCD)
- Device 2 is something else ie. 8 Bit Dac, or some other decoder chip
- Device 3 ....
- Device 4 ...
- Device 5 ...

What could u use so as to share or switch portb from one device to another?

Im not sure if most IC's the decode stuff have a 'signal enable' pin, in
which case i suppose you could wire up all devices to the same PORTB pins,
and turn each devices Signal Enable pin HI as needed by using PortA of the
PIC. Assuming thats all correct (lol.. nothing is ever this easy) u could
have up to 5 devices sharing an 8-bit databus from PortB on a PIC16F84A MCU.



Dylan.

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


2001\05\27@010830 by Nick Veys

flavicon
face
Well, if they each had a chip select line, or you could implement one for
them, you could in theory have 2^5 devices, using the 5 bits as an address,
and then the subsequent decoding hardware for said address, it would be more
complicated, but 32 devices would be pretty cool :)

Some sort of tri-state buffering could be used to pull off the bus sharing
if I'm not mistaken, although I'm sure there are better ways...  Maybe the
[EE] list would be better suited for this?

spam_OUTnickTakeThisOuTspamveys.com | http://www.veys.com/nick

> {Original Message removed}

2001\05\27@032751 by Ashley Roll

flavicon
face
Hi Guys.

In my current project (a process controller) I have 16 outputs and 16 inputs
all running off Port B as a data bus. I use 2 74HC573s (8 bit latches,
"straight through" pin layout) for the outputs and 2 74HC541s (8 bit
tri-state buffer, "straight through" pin layout)

The '573 and '541 are great because the pinouts are inputs one side of the
chip and outputs directly opposite - makes laying out a board very easy :)

I have used the "clock" inputs on the latches to tell then to load the data
from the bus at the right time and the "output enables" on the buffers to
tell them to place their data on the bus at the correct time.

I took these all back to their own pins on the PIC.. Say I want to update
"output A" I set all the select outputs to inactive (making sure the buffers
are tri-stated), set PortB to all outputs and load the correct value then
strobe the correct "select" line. If I want to read one of the inputs I
deactivate all the selects, set PortB as all inputs, activate the correct
select line, read PortB and then deactivate the select line. I also put some
delays between the steps to allow the signals to settle before I read/write
them.

You have to make sure that anything that will place data onto the bus can be
tri-stated (go high impedance) so it doesn't interfere when it is not being
talked too.

You could also use something like a 74HC138 (3 to 8 decoder) to get 8
"enable" signals from 3 PIC pins, but be careful as it outputs "active low"
(from memory) and some chips need active high so you'd have to arrange an
inverter (could be a single transistor and 2 resistors). I've also seen a
shift register (serial in parallel out) use as the select mechanism, only
needs 2 pins programming is a little more difficult (but not too much) and
you can arrange the data in the register so you don't need inverters.

If you have the pins spare take them directly to the PIC - far easier and
less external components :)

Hope this helps.
Ash.

> Well, if they each had a chip select line, or you could
> implement one for them, you could in theory have 2^5 devices, using the 5
bits
> as an address, and then the subsequent decoding hardware for said address,
> it would be more complicated, but 32 devices would be pretty cool :)
>
> Some sort of tri-state buffering could be used to pull off
> the bus sharing if I'm not mistaken, although I'm sure there are better
> ways...

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


2001\05\27@090312 by Andy N1YEW

picon face
try a 74ls245 on each chip with a multiplexed address line ;)

andy btw that is basically how ISA works
{Original Message removed}

More... (looser matching)
- Last day of these posts
- In 2001 , 2002 only
- Today
- New search...