Parallel output?

I am wondering if it is possible to write a byte of data to the output port in a parallel manner.

I am an electronics technician, but have not used electronics on a component level for close to 8 years, so I am trying to figure out this Arduino stuff. What I am wanting to do is connect the Arduino to the a vehicle's oxygen sensor's analog output, and display the data in the form of an LED bar graph. My problem is that the Arduino software seems to be lacking a command to allow me to write a byte of data to 8 output pins. In my R&D stage, I plan to write the output in binary format so I can get some idea of the operating range to expect.

Thanks in advance for your help. I hope to post my completed project one day. My goal is to do the prototyping on my Nissan Pathfinder, then, once I have it figured out, install the same on my Carbureted old Chevy as a diagnostics tool.

You can write to the output ports a full byte at a time by "dropping" below the level of the arduino libraries as using the gcc/avr capabilities directly:

PORTD = (byte) myvalue;

Note that this will require you to figure out which pins on the arduino match up with which ports and bits ( PORTD is the only port where all the bits of the port go directly to arduino pins (0-7)) and it MAY introduce HW dependencies; other versions of arduino may or may not maintain the same mapping between arduino "pins" and AVR "ports and bits."


Another possibility might be to add a Shift Register ( to your circuit. A shift register allows you to serially program the eight digital line values you want and then blat them out in parallel.


Or just do it "by hand"... not too onerous, assuming you're going to use a 9th pin for a "data ready" signal.