You are required to design a binary clock using a binary counting system to display time by addressing each segment (hours, minutes, and seconds) with its own byte. Each byte is broken into two parts, the first half representing the tens place and the second showing the ones place of a particular number. For example, if the byte representing hours shows 010010 that equates out to 12 hours. You have been asked to make a binary clock using a matrix of LEDs and a control system that can continue to monitor time while continuing to update its outputs. By creating a matrix of LEDs, you will be able to control a higher number of LEDs with the same number of digital output lines. In this two-part module you may build an 8 bit binary clock that displays individual characters at a time. You may then design and build an LED matrix that will be driven by NPN transistors. That is capable of displaying multiple characters.
Memory addresses are required to be displayed as two hex numbers. An example is C800:5. The part to the
left of the colon (C800) is called the segment address, and the part to the right of the colon (5) is called the
offset. The offset value can have as many as four hex digits. The actual memory address is calculated by
adding a zero to the right of the segment address and adding the offset value, like this: