7400-series IC Checker
About
This project was done by a group of 4. This project required us to design our own circuit board to hold the IC. We were also tasked to write an 8086 Assemby Code to drive the electrical signal between the circuit board and the computer, utilizing male DB25 to allow parallel data transmission. We used a specific type of computer our professor had. Unfortunately, we were not able to get the specification of the computer. We had to boot freeDOS into the computer from a flash drive with tasm and tlink binaries to execute our 8086 Assembly program. I was primarily assigned in the software interfacing and programming process, but I also contributed in the design and implementation process.
Design Objectives
The computer will send signals to the IC's input pins via the parallel port.
As the IC receives the signals, each of the IC's output pin will output its signal.
The output signals will then be sent back to the computer via the parallel port.
The 8086 program then checks if the IC's output signals match with its expectation.
The 8086 program should print a test table on the terminal, comparing each output pins' output from their respected expected signal output.
If one of the output pins sends an incorrect signal (e.g., 0 instead of 1),
then it will label the IC Defective. Passed, if otherwise.
8086 program: I will send the signals, you should give me back the value I expect.
IC: Okay. I received the signals. Here is the output. I'll send it back to you.
8086 program: Output signals received. I will print a test table to compare if you gave the signals I expect with respect to what kind of IC you are.
The program should output something like:
Testing 7408 IC (AND Gate)
| A | B | Exp | Pin 1 | Pin 2 | Pin 3 | Pin 4 |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
- Pin 1 PASSED
- Pin 2 PASSED
- Pin 3 PASSED
- Pin 4 PASSED
RESULT: IC is not Defective
Challenge
The main challenge we faced in this project is handling the 7404 (NOT Gate). Which has 6 output pins. 2-input ICs (e.g., 7432 for OR, 7408 for AND) have 4 output pins. DB25 only has 5 input pins. If those input pins were already used for the 4-output ICs, we only had one input pin left for the 7404 IC. We had to find a way to bypass this limitation using our knowledge in Digital Electronics.