© D. Thiebaut

Figure 1: The Circuit Skeleton.
Figure 1 shows the main components of the two-bit output port setup. The 6800, a decoder, two bidirectional tristate buffers controlled by RE-bar, and two D-flipflops, the outputs of which will be connected to two LEDs. We do not need to wire the RE' signal as we did for the RAM lab - why is this?
Your job is to figure out how to wire the circuit that the processor can store two bits in the output port (which is to say, in the D flip flops), and activate the LEDs according to the values of the stored bits.
As with the RAM lab, you have to make two types of connections: static and dynamic. The static connections correspond to the data path: How do you get the bits from the processor to the flipflop?
The dynamic connections correspond to timing-specific issues: How can you be sure that the data comming from the processor will be latched in the flipflop at the right time - only when the processor is outputing these two bits, and not at other times?
Let's start with the static connections first:
Go ahead and add wires to Figure 1 to create a data path from the
processor to the flipflops.
As you prepare to wire the D flip flop (7474) chip, you may want to check
previous labs to review which pins you should connect to power and to ground.
As in the previous lab, the table below shows the assignment of addresses used by the Kit. The only addresses that are available to you, again, are the ones marked as Available.
| Address (Binary) | Address (Hex) | Device |
|---|---|---|
|
1111 1111 1111 1111 1111 1100 0000 0000 |
FFFF FC00 |
ROM |
|
1111 1011 1111 1111 1100 0010 0000 0000 |
FBFF C200 |
Available |
|
1100 0001 1111 1111 1100 0001 0111 0000 |
C1FF C170 |
Not usable |
|
1100 0001 0110 1111 1100 0001 0001 0000 |
C16F C110 |
Display |
|
1100 0001 0000 1111 1100 0000 0000 1111 |
C10F C00F |
Not usable |
|
1100 0000 0000 1110 1100 0000 0000 0011 |
C00E C003 |
Keyboard |
|
1100 0000 0000 0010 1100 0000 0000 0000 |
C002 C000 |
Not usable |
|
1011 1111 1111 1111 0000 0010 0000 0000 |
BFFF 0200 |
Available |
|
0000 0001 1111 1111
0000 0000 0000 0000 |
01FF 0000 |
RAM |
Table 1: Memory map of 6800 Kit.
Figure 2: The 7442 used as a 3-to-8 decoder.
You will use the 7442 decoder as a 3-to-8 decoder, as you did in the previous lab. You need to select an available address range, decide which address lines to connect to the 7442 pins, and so specify the corresponding output line that will allow you to access your output port with your selected address. The 7442 is shown in Figure 2.
Looking at Table 1, select an address that is available, and wire up the 7442 to activate one of its outputs when the address is present on the address bus.
Can you use the same address you used for the RAM during last week's lab? Why or why not? What addressing characteristics are different between the 2114 RAM chip and your flip flop output port?
Go ahead and make this connection on the wiring diagram and on your breadboard.
To test your circuit, write a program that shows all combinations of two bits on the two LEDs. Your program should be an endless loop that stores 00, 01, 10, 11, 00 and so on in the flipflops (which now act as a 2-bit I/O controller, or a 2-bit port).
Write your program in a way that that keeps each bit pattern visible on the LEDs for at least 2 tenths of a second before a new bit pattern is stored in the 2-bit port. Be sure to explain how your program sends the signal to the LEDs to stay lit for the length of time you select.