site_graphlogo
  -   Terms of Use and Privacy
Example Xfig Diagrams
rss
site_graphlogo
  -   Terms of Use and Privacy
Example Xfig Diagrams
rss

<<   <   >   >>

2001-08-07 | Example Xfig Diagrams | 8048 Development System

Ahhh... I have something new. Something wonderful. It is everything that I always wished I had when I was building the Z-80 homebrew. I designed a circuit that lets you control an 8048 microcontroller via a standard PC printer port. Other later chips don't have the single-step pin, and even if they did, they aren't as available. The 8035,8048, 8039, and 8049 can all be used with my circuit. The 8048 is in our garbage. It is in our old PC keyboards and in our junked cars. It is probably the most famous and widespread microcontroller there is. The chips for my circuit are in the garbage dumps around the world. Start scrounging, hackers. Being able to build a controller from the rubble is still a skill worth having. My circuit does not require you to burn a ROM. All it requires is a computer capable of running Linux (386DX-40 w/ 8 Megs would probably be OK. I'll build one up). I will put up a FreeDOS port of the software soon. I'm putting up the schematics and programs up early so you have time to scrounge up your own parts. The site will evolve, as will the details. I'd love to hear about where you found your 8048. Take a picture of the host that you remove it from (CD player, truck, refrigerator, whatever) and I'll put your picture on a page that chronicles our adventures sifting through the rubble. We will also create development systems for modern microcontrollers that are kin to the 8048, like the flash version of the 8051 by Atmel (89c51).

The basic idea is to use the single step pin on the 8048 to feed 1 or 2 commands in to the 8048 bus at a time. I use a flip flop and a couple of buffers to store the two commands. I read the next memory location expected off of the bus each time I pause the CPU. I also feed in the status of the ports 1 and 2. Since I'm feeding in instructions and control the memory, it is possible to monitor the accumulator and other registers without having to write special routines, yet I don't have to fork over the bucks for an emulator. OK. Here are the goodies I have for you so far:

Here is a C program that will read a binary file "mem" and start executing the program on the 8048. It will display the condition of Ports 1 and 2 and the Accumulator as it executes. It will also move the asterisk to show what instruction is executing. Here is what it looks like when it is running:

I finally soldered this up into a final project. As usual, I didn't wire wrap. I was insane and did point-to-point soldering. I used a Radio Shack 246-147 prototyping board and about 110 feet of 22 gauge solid wire. I socketed all ICs in low profile sockets. I wired the power first, then the DB-25s, then the buses, and finally the remaining signals. Here are some pics:

Adding DB-25s:

Yet More Bus:

Even Yet More Bus:

Close up of data bus on 8048:

Close up of 8048:

Finished Backside:

I find these chips strangely alluring:

A lot of wires!!:

I like to do point-to-point solder because it is cheaper than wire wrap, and if you do it right, it will be more permanent. Definitely get a prototyping board with a pattern of some kind. I just used a board with donuts. One with power traces would probably be nicer, but I didn't want to use a lot of space. I tested this circuit out for months on a rats nest breadboard without problems, so I wasn't too worried about wiring/noise. Be very careful when you solder this way. If you make a mistake, it will be very difficult to change things. I layered the busses so I could see what I was doing and tied them off in each layer.

Here is the schematic:

Latched comm nibble Design and drawings by AC. More details at https://xfig.org/ .1 uF between GND and 5+ on all chips. Notes: 1 3 4 5 7 8 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 10 2 6 PC Printer Port .1 uF Latched Command Data Bus 8048 - route to out of 1st, 2nd command, in of nibble stat, and in of comm nibble 4 bit in from PC Printer Port routed to out nibbles on 244s 8 bit out from PC Printer Porte routed to 8048 data bus and 374 for latching next command 8 bit in to P1 nibbles 8 bit in to P2 nibbles Port 2 low 4 route to nibble in and nibble latch in 01 02 03 04 1 - GND 2 - rst 14 - p10 15 - p11 16 - p12 17 - p13 18 - p14 19 - p15 20 - p16 21 - p17 22 - p24 23 - p25 24 - p26 25 - p27 db-25 connector 5+ 20 pF 20 pF 3.6864 MHz 10uF GND 2SET 2CLK 2CLR 8 12 11 4 3 5+ I1 O8 I2 O7 I3 O6 CS I4 GND O5 3 5 6 7 8 9 10 4 74LS244 I5 O4 I6 O3 I7 O2 O1 CS 5+ 17 16 15 14 13 12 11 20 I8 19 18 2 1 O0 D0 D1 O1 O2 D2 OE D3 GND O3 3 5 6 7 8 9 10 4 5+ 17 16 15 14 13 12 11 20 2 1 74LS374 D7 D6 O6 O5 D5 D4 O4 CP O7 19 18 6 14 13 12 36 37 38 39 40 15 7 8 9 4 19 18 17 16 24 23 22 21 20 25 27 VDD P10 P11 P12 P13 P14 P15 VCC P27 P26 P24 P17 P16 31 32 33 34 35 30 29 28 26 11 1 2 3 XTAL 1 T0 8048 XTAL 2 RESET SS INT EA RD PSEN WR ALE DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 VSS PROG P20 P21 P22 P23 T1 5 10 1 2 5 8 7 6 4 3 1Q 1Q 1D 2D 2Q 2Q GND 16 15 14 13 12 11 10 9 CLK 3Q 3Q 3D 4D 4Q 4Q 5+ 74LS175 CLR 5+ 5+ 5+ 5+ 5+ 5+ P25 1 2 8 7 6 4 S1 S2 EN3 EN2 EN1 Y7 GND 16 14 13 11 10 Y5 Y4 Y3 Y1 Y0 5+ 74LS138 S0 Y2 Y6 15 12 9 5 3 1 2 5 8 7 6 4 3 1Q 1Q 1D 2D 2Q 2Q GND 16 15 14 13 12 11 10 9 CLK 3Q 3Q 3D 4D 4Q 4Q 5+ 74LS175 CLR I1 O8 I2 O7 I3 O6 CS I4 GND O5 3 5 6 7 8 9 10 4 74LS244 I5 O4 I6 O3 I7 O2 O1 CS 5+ 17 16 15 14 13 12 11 20 I8 19 18 2 1 I1 O8 I2 O7 I3 O6 CS I4 GND O5 3 5 6 7 8 9 10 4 74LS244 I5 O4 I6 O3 I7 O2 O1 CS 5+ 17 16 15 14 13 12 11 20 I8 19 18 2 1 I1 O8 I2 O7 I3 O6 CS I4 GND O5 3 5 6 7 8 9 10 4 74LS244 I5 O4 I6 O3 I7 O2 O1 CS 5+ 17 16 15 14 13 12 11 20 I8 19 18 2 1 I1 O8 I2 O7 I3 O6 CS I4 GND O5 3 5 6 7 8 9 10 4 74LS244 I5 O4 I6 O3 I7 O2 O1 CS 5+ 17 16 15 14 13 12 11 20 I8 19 18 2 1 I1 O8 I2 O7 I3 O6 CS I4 GND O5 3 5 6 7 8 9 10 4 74LS244 I5 O4 I6 O3 I7 O2 O1 CS 5+ 17 16 15 14 13 12 11 20 I8 19 18 2 1 1 2 5 5+ 14 13 10 9 8 GND 74LS00 3 4 6 7 11 12 1 2 5 5+ 14 13 10 9 74LS02 GND 7 6 4 3 11 12 8 1 2 5 7 6 1D 1CLK 1SET 1Q 1Q 2Q 2Q 2D 5+ 1CLR 14 13 10 9 74LS74

Here is the fig file

xfig 8048 homebrew

Articles tagged with xfig on L1G3R Information Systems:

xfig

Articles tagged with 8048 on O.R.N.G.:

2002-08-09: 8048 Puzzle Box

Articles tagged with homebrew on O.R.N.G.:

2004-06-06: Paging 2K ROMS With the Odyssey 2
2004-05-15: Installing 4K EPROMs in 2K Odyssey 2 Cartridges
2004-02-29: Replacing the ROM in the Odyssey 2
2003-07-14: Z-80 Homebrew Computer - Interfacing With Windows 2000
2003-07-13: Z-80 Homebrew Computer - Dirt Cheap Bootstrap Loader
2003-07-11: Z-80 Homebrew Computer - Interfacing with an IBM XT
2003-07-09: Z-80 Homebrew Computer - Yet More Pictures
2003-07-08: Z-80 Homebrew Computer - More Pictures
2003-07-07: Z-80 Homebrew Computer - Pictures!
2003-07-05: Z-80 Homebrew Computer - Introduction
1991-09-22: Putting the Homebrew Away