// LCD segment definitions.
// These will need to be changed depending on the
// wiring of your output port to the segements.
#define a 0x01
#define b 0x10
#define c 0x02
#define d 0x20
#define e 0x04
#define f 0x40
#define g 0x08
#define h 0x80
// LCD Character Generator (stored in Flash).
// Change these defines as needed to make new characters.
const char char_gen[] = {
a+b+c+d+e+f, // Displays "0"
b+c, // Displays "1"
a+b+d+e+g, // Displays "2"
a+b+c+d+g, // Displays "3"
b+c+f+g, // Displays "4"
a+c+d+f+g, // Displays "5"
a+c+d+e+f+g, // Displays "6"
a+b+c, // Displays "7"
a+b+c+d+e+f+g, // Displays "8"
a+b+c+d+f+g, // Displays "9"
a+b+c+e+f+g, // Displays "A"
0x00, // Displays Blank
a+d+e+f, // Displays "C"
a+b+f+g, // Displays "degrees" o
a+d+e+f+g, // Displays "E"
a+e+f+g // Displays "F"
};
#undef a
#undef b
#undef c
#undef d
#undef e
#undef f
#undef g
#undef h
To use this code, simply put the contents of char_gen at the index of the value you wish to display onto the port pins for your 7 segment display:
segments = char_gen[value];