Цитата(viael @ Aug 18 2006, 09:48)

Надо только для 8 бит.Очень удобно кодировать таблицу для семисегментных индикаторов.

Обозначьте сегменты дефайнами
Код
#ifndef _I_SEG7_DEF_
#define SEG7_A 0x01 //разряд соответствующий сегменту A
#define SEG7_B 0x02 //разряд соответствующий сегменту B
#define SEG7_C 0x04 //разряд соответствующий сегменту C
#define SEG7_D 0x08 //разряд соответствующий сегменту D
#define SEG7_E 0x10 //разряд соответствующий сегменту E
#define SEG7_F 0x20 //разряд соответствующий сегменту F
#define SEG7_G 0x40 //разряд соответствующий сегменту G
#define SEG7_H 0x80 //разряд соответствующий сегменту H
#define _I_SEG7_DEF_ 1
#endif _I_SEG7_DEF_
и пишите строки вида
Код
const unsigned char seg7TabNum[]=
{
SEG7_A+SEG7_B+SEG7_C+SEG7_D+SEG7_E+SEG7_F, // 0
SEG7_B+SEG7_C, // 1
SEG7_A+SEG7_B+SEG7_G+SEG7_E+SEG7_D, // 2
SEG7_A+SEG7_B+SEG7_C+SEG7_D+SEG7_G, // 3
SEG7_F+SEG7_G+SEG7_B+SEG7_C, // 4
SEG7_A+SEG7_F+SEG7_G+SEG7_C+SEG7_D, // 5
SEG7_A+SEG7_F+SEG7_E+SEG7_D+SEG7_C+SEG7_G, // 6
SEG7_A+SEG7_B+SEG7_C, // 7
SEG7_A+SEG7_B+SEG7_C+SEG7_D+SEG7_E+SEG7_F+SEG7_G, // 8
SEG7_A+SEG7_B+SEG7_C+SEG7_D+SEG7_F+SEG7_G // 9
};
По-моему так гораздо понятнее и удобнее. Даже если индикатор перевернете вверх ногами, то достаточно будет поменять дефайны соответствия сегментов и пинов управления ими и не трогать таблицу.