Hey I've wanted to build a simple Z80 unit to turn LEDs on, just to learn
how it works. I have a burner and can burn you and 27xx you need. Wanna
trade some of your schems, info, code, and training stuff for my burning ?
I found someone on another newsgroup who's sending me a programmer, so I'm
all set there, but I'd be happy to share my experiences with you.
For programming, I'm using an old version of a program called TASM. The
version I have does not support Z80 mnemonics, but it does support the 8085
CPU. The 8085 code will run on the Z80 (the op-codes are the same). If you
need TASM, it's shareware (and over a decade old!) so let me know and I
could e-mail it to you. It's not very large and will fit easily on a
floppy.
I've been writing a test peice of code to test the 8255 I/O chip I have
interfaced. Just waiting for the programmer to test the code, but I can
post the code here so you can look at it. I think it should work. I've
checked it over many times. (I'll post it separately).
As for schematics, I didn't use any. I downloaded the pin diagrams for each
IC and checked off the pin on the sheet after I was done wiring it. It's
really easy. Most of the pins are data and address busses. Just wire all
the data bus pins directly to the data bus on any RAM and EPROM. Same with
the Address lines. The only part that may be difficult figuring out would
be the memory decoding circuitry and some of the control signals. A simple
memory decoder can be made with a single 74LS138. I can write up a quick
schematic if you want to see how thats done.
If you just wanted to flash LEDs in a pattern, you probably don't need a
Z80. Just program an EPROM with the byte pattern you want your LEDs to
flash in and then use a binary counter (cascade some 74LS193s) and use a 2
Hz clock input to drive the binary counters. The binary counters would be
wired to the address pins on the EPROM (stepping through the memory
locations one by one), and the programmed data would show up on the data
bus. If you're driving an LED (20ma or so), you might want to buffer the
data pins first on the EPROM using a 74LS244 or some other sort of octal
latch.
I'll post my test code now,... If anyone out there sees an error, please
let me know since this code has not been tested yet.
-Phil