
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.