• Please review our updated Terms and Rules here

8088 computer - an LED lights up when it shouldn't

otacon14112

Experienced Member
Joined
Apr 19, 2012
Messages
115
Location
Iowa, United States
Hello everyone,

I am getting into messing around with computer design, and I've been following The 8088 Project Book by Robert Grossblatt. I have read and studied his text and schematics very closely and carefully, and I have learned a lot so far. I'm really pleased with the book. It's helped me and taught me so much.

I have worked my way up to page 97 in the book, to the point where you put a 74LS373 onto the board to use as a simple I/O latch, and hook up 8 LEDs for debugging. I wrote the firmware to my 28C16A 2KB EEPROM and placed it in its proper place. The program is only 6 bytes long. Here it is in hex:
Code:
B0 01 E6 10 EB FC 00 00 00 00 00 00 00 00 00 00
and it is at address 07F0.

I plugged in my board to my power supply, and LED 0 lit up like it was supposed to. However, there is a slight problem. LED 5, which he refers to as LED 4 (he counts them from 0-7), is also dimly lit up. When I press the reset pushbutton, the LEDs all light up, except LED 1. From here on out, I'm going to refer to the LEDs as 1-8 to avoid ambiguities. When I release it, LED 1 once again lights up, and the others are off, with the exception of LED 5. I took out the EEPROM, changed the second byte of hex code (which is the binary value that tells which LEDs to light up) to 00, so that theoretically no LEDs light up, and LED 5 was still dimly lit.

As I have been putting this thing together, I have quadruple-checked every single wire connection on my breadboard as if I had OCD, literally lol. After every change to the board, I make sure all the resistors, capacitors, etc., are pushed all the way into the breadboard. Also, after every change to the board, I test the resistance between VPP and ground, and there have never been any short circuits.

I'm getting frustrated. I'm not advanced enough yet to figure this out, although I'm quickly learning as I'm going. At first, I suspected stray capacitance, so I put a .1 pf capacitor across the LED to ground, and it made it dimmer, but I don't know if this makes any difference. Once again, I quadruple-checked every connection and everything looks good. Nothing is sticking out.

Should I be concerned about this? Or does anybody have any hints or ideas of something to check? I would scan a copy of his schematic, but I'm not sure if that would be legal or not, with the copyright laws.

I have hooked up an oscilloscope to two of the 8088's data pins: AD0 (pin 16), and anomalous bit, AD4 (pin 12).

Here are my pictures: http://www.flickr.com/photos/9114793@N03/sets/72157630379320730/detail/

Any help or wizardly knowledge would be greatly appreciated!
 
Have you tried an obvious thing - swap LED 5 with one of the other LEDs, to see if you have a faulty LED ? Unlikely, but possible.
Really need to see the circuit diagram.
 
Hi there, yes, I've tried that. I've also swapped the 245, and several other ics, and it didn't help. One odd thing I did notice, was when I unplugged ROMSEL (active low), and ROMRD (active low), LED 5 DID NOT light up. In that case, random data was on the board, and the LEDs randomly went on and off a little. I would like to upload a copy of the schematic, but again, it is copyrighted. Does anyone know if it's ok to upload a scan of it?
 
Almost forgot to mention...I have a Siemens SAB 8088-1-P lying around. I found a datasheet of it by the manufacturer, but it did not say whether it would work @ around 5 MHz. Anyone know if it would be ok? I could try swapping out the CPU to see if that matters.

Thanks for the reply.
 
I would like to upload a copy of the schematic, but again, it is copyrighted. Does anyone know if it's ok to upload a scan of it?
Small portions of copyrighted material is normally deemed okay.
I can't see why the schematic (a simple one at that) would be a problem.
 
It's not a problem at all - go ahead.

(That easily falls into the category of "fair use.")
 
In my original message, I stated the program was at address 07F0h, but to be accurate, address line 19 of the 8088-2 is used to choose the EEPROM. The program is in the EEPROM at address 07F0h, so that when the 8088-2 looks for the power on instruction, it is found there. I just wanted to state this to avoid any confusion. Thank you.
 
Here are the voltage readings I got across all of LEDs:
LED 1: 1.78v
LED 2: -.855v
LED 3: -.908v
LED 4: -.853v
LED 5: -.879v
LED 6: -.851v
LED 7: -.850v
LED 8: -.858v

Every time I go back to measure the voltage, it's always different. For example, the last time I measured it, most of the LEDs except for LED 1 were closer to -.9v.
 
Based on your DC measurements, LED 5 should be off.
Use your scope to look at the IC10 Q outputs connected to the LEDs. They should all be steady DC. Q0 should be high, around 3V. The rest should be low.
 
Last edited:
I thought about this and realized that what you are seeing is normal, nothing wrong.

The program you are running is a loop that writes 01 to IO port 10 hex.

Your schematic uses a 74LS373 with the LE (Latch Enable) line just driven by the IO/M line of the 8088.

The 74LS373 is a TRANSPARENT latch. So when the 8088 executes the OUT 10 instruction, it raises the IO/M line, and puts the IO address (10 hex) followed by the data (01) onto the data bus. Because the 74LS373 is a transparent latch, the IO address (10 hex) momentarily appears on the outputs. That is why you see a very dim light from LED 5.

So it is behaving as expected, nothing wrong :) .
 
Last edited:
I thought about this and realized that what you are seeing is normal, nothing wrong.

The program you are running is a loop that writes 01 to IO port 10 hex.

Your schematic uses a 74LS373 with the LE (Latch Enable) line just driven by the IO/M line of the 8088.

The 74LS373 is a TRANSPARENT latch. So when the 8088 executes the OUT 10 instruction, it raises the IO/M line, and puts the IO address (10 hex) followed by the data (01) onto the data bus. Because the 74LS373 is a transparent latch, the IO address (10 hex) momentarily appears on the outputs. That is why you see a very dim light from LED 5.

So it is behaving as expected, nothing wrong :) .

Oh my god, you're freakin amazing. I never would have guessed that, but it makes sense. Wow lol, thank you so much.
 
Thanks guys, for the valuable advice. The author of the book makes a frequent point about timing, and when I look at the ideal theoretical timing diagrams in the book, I get it. However, when it comes time to actually troubleshoot the timing, even though I have an oscilloscope, I'm afraid that I'm just not advanced enough yet to be able to notice when something's wrong. I'm sure I'll get there eventually.

I guess now's the perfect time to ask; do you guys recommend any particular book that might help me develop the skills that I need in order to excel in this area?

Once again, thanks.
 
Back
Top