De um modo geral, sempre tentamos mapear os pinos de um display de 7 segmentos em uma porta do microcontrolador bit-a-bit na mesma sequencia do LSB ao MSB, de modo a espelhar o conteúdo do registrador/variável do programa sem necessidade de processamento adicional da CPU. Porém, há casos de projetos onde os pinos disponiveis estão dispersos em diferentes portas, e isso complica a programação.
Por exemplo, no caso do programa abaixo, onde os pinos foram mapeados da seguinte forma:
#define DISP7_A PIN_A7
#define DISP7_B PIN_A6
#define DISP7_C PIN_A5
#define DISP7_D PIN_A4
#define DISP7_E PIN_B3
#define DISP7_F PIN_B4
#define DISP7_G PIN_C6
void Display7seg ( char number )
{
switch(number)
{
case 0 : // escreve caracter "0" do display de 7 segmentos
output_HIGH(DISP7_A);...