C code for 7 segment displays.


// 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];

Comments: