PrintLogo

PIO Controller Board




I designed a circuit using Z-80 PIOs that provide 32 LEDs.


here is a pdf of the circuit board
here is a postscript file of the circuit board
here is the pcb file of the circuit board
here is a raw memory dump of a program that uses the board with an 8048 CPU
here is an assembly language version of a program that uses the board with an 8048 CPU
here is a hex file of the above program that can be used with an EPROM burner
here is a picture of the circuit board

The general idea of this is that I use the output of half of port 2 and port 1 of the 8048 to create the data for the bus and control lines:
bit0-7 port 1: d0-d7
bit4 port 2: iorq piob
bit5 port 2: ctrl/data pioa/b
bit6 port 2: a/b port select pioa/b
bit7 port 2: iorq pioa
The ALE line from the 8048 can be used for the clock signal on the PIO. Also, reset on the 8048 seems to function just fine for M1. Tie RD high, and CE low. The Z-80 PIO seems to be able to source enough current to drive an LED w/ a 330 ohm resistor fine. I ran the program above for over a week and the PIOs didn't get warm or freak. I couldn't find maximum specs for current sourcing per pin on the Z-80 PIO, but the above does seem to work OK.

There aren't a whole lot of I/O lines left on the 8048 after I use up the lines for driving the PIO board. T1 and T0 could be used as a serial control port, though.



This article comes from Coprolite:
http://coprolite.com/

The URL for this story is:
http://coprolite.com/art18.html

Copyright 1997-2006 Coprolite.com. Read our Terms of Use.