• on Test & Measurement
  • Published in issue 3/2009 on page 66
About the article

16 from 4

Port expansion using 74HC595s

16 from 4
Not having enough ports on a microcontroller to drive all the functions of a circuit is a commonly-encountered problem. The clever port expansion boards described here offer a solution, and need just four signals from the microcontroller. The first board provides sixteen digital output bits; the second board, equally simple to drive, can be used to interface to a HD44780-compatible LCD module. A C library is available to facilitate using the boards with AVR microcontrollers.
Downloading of this magazine article is reserved for Elektor Members only.
Already a member? click here to log in.
Products
Gerber file

CAM/CAD data for the PCB referred to in this article is available as a Gerber file. Elektor Members can exclusively download these files for free as part of their Membership. Gerber files allow a PCB to be produced on an appropriate device available locally, or through an online PCB manufacturing service. Elektor recommends its business partner Eurocircuits as the company of choice for its own prototypes and volume production in selected cases.

Extra info, Update
Features
* Port expansion from four outputs to sixteen outputs
* Additional circuit board to interface to HD44780-compatible LCD using four port pins
* Controlled using software SPI emulation with free choice of microcontroller output pins
* Boards may be cascaded
* Maximum total load on all outputs approximately 70 mA
* C library available for AVR microcontrollers to drive port expansion and LCD interface boards
LCD board

Resistors
R1,R2 = 1kO
R3 = 4kO7
P1 = 10kO preset

Capacitors
C1,C2 = 100nF

Semiconductors
T1 = BC557
IC1 = 74HC595

Miscellaneous
K1 = 2-way pinheader
K2 = 10-way pinheader (2x5)
JP1 = 3-way pinheader with jumper
PCB no. 080682-1

Port expansion board

Resistors
R1 = 1kO

Capacitors
C1,C2 = 100nF

Semiconductors
IC1,IC2 = 74HC595

Miscellaneous
K1,K2 = 2-way pinheader
K3,K4 = 8-way pinheader
K5 = 10-way pinheader (2x5)
JP1 = 3-way pinheader with jumper
PCB no. 080682-2
Loading comments...