
The XDMR14C-1 is an LED 7-segment display, making it useful for displaying single-digit numerical values.
/* Segment Display: XDMR14C-1 (library) */
/* Filename: LED_Segment.h */
/* Author: Michael */
void LED_Segment(uint8_t Number) // Function to display numbers 0 - 9
{
if (Number == 0)
{
LED_Segment_A = 1;
LED_Segment_B = 1;
LED_Segment_C = 1;
LED_Segment_D = 1;
LED_Segment_E = 1;
LED_Segment_F = 1;
LED_Segment_G = 0;
LED_Segment_DP = 0;
}
if (Number == 1)
{
LED_Segment_A = 0;
LED_Segment_B = 1;
LED_Segment_C = 1;
LED_Segment_D = 0;
LED_Segment_E = 0;
LED_Segment_F = 0;
LED_Segment_G = 0;
LED_Segment_DP = 0;
}
if (Number == 2)
{
LED_Segment_A = 1;
LED_Segment_B = 1;
LED_Segment_C = 0;
LED_Segment_D = 1;
LED_Segment_E = 1;
LED_Segment_F = 0;
LED_Segment_G = 1;
LED_Segment_DP = 0;
}
if (Number == 3)
{
LED_Segment_A = 1;
LED_Segment_B = 1;
LED_Segment_C = 1;
LED_Segment_D = 1;
LED_Segment_E = 0;
LED_Segment_F = 0;
LED_Segment_G = 1;
LED_Segment_DP = 0;
}
if (Number == 4)
{
LED_Segment_A = 0;
LED_Segment_B = 1;
LED_Segment_C = 1;
LED_Segment_D = 0;
LED_Segment_E = 0;
LED_Segment_F = 1;
LED_Segment_G = 1;
LED_Segment_DP = 0;
}
if (Number == 5)
{
LED_Segment_A = 1;
LED_Segment_B = 0;
LED_Segment_C = 1;
LED_Segment_D = 1;
LED_Segment_E = 0;
LED_Segment_F = 1;
LED_Segment_G = 1;
LED_Segment_DP = 0;
}
if (Number == 6)
{
LED_Segment_A = 1;
LED_Segment_B = 0;
LED_Segment_C = 1;
LED_Segment_D = 1;
LED_Segment_E = 1;
LED_Segment_F = 1;
LED_Segment_G = 1;
LED_Segment_DP = 0;
}
if (Number == 7)
{
LED_Segment_A = 1;
LED_Segment_B = 1;
LED_Segment_C = 1;
LED_Segment_D = 0;
LED_Segment_E = 0;
LED_Segment_F = 0;
LED_Segment_G = 0;
LED_Segment_DP = 0;
}
if (Number == 8)
{
LED_Segment_A = 1;
LED_Segment_B = 1;
LED_Segment_C = 1;
LED_Segment_D = 1;
LED_Segment_E = 1;
LED_Segment_F = 1;
LED_Segment_G = 1;
LED_Segment_DP = 0;
}
if (Number == 9)
{
LED_Segment_A = 1;
LED_Segment_B = 1;
LED_Segment_C = 1;
LED_Segment_D = 0;
LED_Segment_E = 0;
LED_Segment_F = 1;
LED_Segment_G = 1;
LED_Segment_DP = 0;
}
if (Number == '.')
{
LED_Segment_A = 0;
LED_Segment_B = 0;
LED_Segment_C = 0;
LED_Segment_D = 0;
LED_Segment_E = 0;
LED_Segment_F = 0;
LED_Segment_G = 0;
LED_Segment_DP = 1;
}
}
void LED_Segment_Clear(void) // Function to clear LED segment (LED_Segment (A - G) OFF)
{
LED_Segment_A = 0;
LED_Segment_B = 0;
LED_Segment_C = 0;
LED_Segment_D = 0;
LED_Segment_E = 0;
LED_Segment_F = 0;
LED_Segment_G = 0;
LED_Segment_DP = 0;
}Figure 1 and Table 1 represent the layout of the LED segments, as per the datasheet.

| Segment | Pin # |
| A | 7 |
| B | 6 |
| C | 4 |
| D | 2 |
| E | 1 |
| F | 9 |
| G | 10 |
| DP | 5 |
| GND | 3 |
| GND | 8 |
Pins 3 & 8 are tied to ground (GND) hence the term “common cathode.” Pins 1 and 2, 4 to 7, 9 and 10 can be connected to eight pins, configured as write/output (LAT), on an MCU to control all LED segments A to G, and the Decimal Point (DP). An output HIGH or LOW of an MCU pin will result in a particular LED segment being ON or OFF, respectively.