we wanted to use the 8255 for a relatively simple design. It seemed that the 8255 has three independent 8bit I/O ports so we used one port for a (slow) bi-directional bus and the other ports for other purposes. We already have the prototype but the design is invalid because of this one little sentence in the whole data sheet:
"Any port programmed as an output port is initialized to all zeros when the control word is written."
So, when we want to toggle the *direction* of port A (the one used for the bidirectional bus), all *outputs* of ports B and C will be reset as well! This makes the 8255 completely useless for our purposes (we need the other outputs to stay unchanged).
Any can propose a workaround for this? Since we want to avoid adding much additional logic: Is there a similar near-24 bit I/O chip that would be useful for our needs?
The 8255 currently is controlled via the ISA bus of a PC/104 board. Note we can't use an additional PC/104 doughter board because of lack of space (and costs).
Thanks for any hint, Udo