This project is composed of four modules:
This mode converts a decimal digit in BCD to its representation on a standard seven segment display. There are inputs that affect the display of the digits 6, 7, and 9, and eight different options for handling out-of-range values. These inputs allow this decoder to match the behavior of just about any other BCD to seven segment decoder, making it universal.
The signals used in this mode are:
The pin assignments in this mode are:
Dedicated Input | Dedicated Output | Bidirectional | |
---|---|---|---|
0 | A | Segment a | Input - X6 |
1 | B | Segment b | Input - X7 |
2 | C | Segment c | Input - X9 |
3 | D | Segment d | Input - /LT |
4 | V0 | Segment e | Input - /BI |
5 | V1 | Segment f | Input - /AL |
6 | V2 | Segment g | Input - LOW |
7 | /RBI | /RBO | Input - LOW |
This mode converts an ASCII character to a representation on a standard seven segment display. Like with the BCD decoder, there are inputs that affect the display of the digits 6, 7, and 9. There are also two choices of “font” and the option to display lowercase letters as uppercase or as lowercase.
The signals used in this mode are:
The pin assignments in this mode are:
Dedicated Input | Dedicated Output | Bidirectional | |
---|---|---|---|
0 | D0 | Segment a | Input - X6 |
1 | D1 | Segment b | Input - X7 |
2 | D2 | Segment c | Input - X9 |
3 | D3 | Segment d | Input - FS |
4 | D4 | Segment e | Input - /BI |
5 | D5 | Segment f | Input - /AL |
6 | D6 | Segment g | Input - HIGH |
7 | LC | /LTR | Input - LOW |
This mode converts two decimal digits in BCD to their representations on the segmented display for Cistercian numerals shown below.
The patterns produced for each input value are shown below.
The signals used in this mode are:
The pin assignments in this mode are:
Dedicated Input | Dedicated Output | Bidirectional | |
---|---|---|---|
0 | A1 | Segment U1 | Output - Y1 |
1 | B1 | Segment U2 | Output - Y2 |
2 | C1 | Segment V1 | Input - /LT1 |
3 | D1 | Segment V2 | Input - /LT2 |
4 | A2 | Segment W1 | Input - /BI |
5 | B2 | Segment W2 | Input - /AL |
6 | C2 | Segment X1 | Input - LOW |
7 | D2 | Segment X2 | Input - HIGH |
This mode converts a vigesimal (base 20) digit in BCV (binary-coded vigesimal) to its representation on the segmented display for Kaktovik numerals shown below.
The patterns produced for each input value are shown below.
The signals used in this mode are:
The pin assignments in this mode are:
Dedicated Input | Dedicated Output | Bidirectional | |
---|---|---|---|
0 | A | Segment a | Output - h |
1 | B | Segment b | Output - V |
2 | C | Segment c | |
3 | D | Segment d | Input - /LT |
4 | E | Segment e | Input - /BI |
5 | Segment f | Input - /AL | |
6 | /VBI | Segment g | Input - HIGH |
7 | /RBI | /RBO | Input - HIGH |
The test
directory includes extensive tests for each of the four modules.
For the BCD and ASCII modes, a standard seven-segment display is used.
For the Cistercian mode, a segmented display like the one below is used. There are design files for such a display here.
For the Kaktovik mode, a segmented display like the one below is used. There are design files for such a display here.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | A; D0; A1; A | Segment a; U1; a | X6; X6; Y1; h |
1 | B; D1; B1; B | Segment b; U2; b | X7; X7; Y2; V |
2 | C; D2; C1; C | Segment c; V1; c | X9; X9; /LT1; - |
3 | D; D3; D1; D | Segment d; V2; d | /LT; FS; /LT2; /LT |
4 | V0; D4; A2; E | Segment e; W1; e | /BI (blanking input) |
5 | V1; D5; B2; - | Segment f; W2; f | /AL (active low) |
6 | V2; D6; C2; /VBI | Segment g; X1; g | M0 (mode select) |
7 | /RBI; LC; D2; /RBI | /RBO; /LTR; X2; /RBO | M1 (mode select) |