Курсовая работа: Устройство управления системой измерения веса
Вторая функция Bin2Seg_4Digit преобразовывает полученное BCD число в семисегментный эквивалент (путем вызова функции Bin2Seg) и заносит результаты в массив BufSeg. Семисегментные эквиваленты представлены в виде заранее определенных значений
#define Dig0 SegA + SegB + SegC + SegD + SegE + SegF + 0
#define Dig1 0 + SegB + SegC + 0 + 0 + 0 + 0
#define Dig2 SegA + SegB + 0 + SegD + SegE + 0 + SegG
#define Dig3 SegA + SegB + SegC + SegD + 0 + 0 + SegG
#define Dig4 0 + SegB + SegC + 0 + 0 + SegF + SegG
#define Dig5 SegA + 0 + SegC + SegD + 0 + SegF + SegG
#define Dig6 SegA + 0 + SegC + SegD + SegE + SegF + SegG
#define Dig7 SegA + SegB + SegC + 0 + 0 + 0 + 0
#define Dig8 SegA + SegB + SegC + SegD + SegE + SegF + SegG
#define Dig9 SegA + SegB + SegC + SegD + 0 + SegF + SegG
#define DigMinus 0 + 0 + 0+ 0 + SegЕ +0 + 0
unsigned char Bin2Seg (unsigned char data)
{
switch(data)
{
case 0: return Dig0;
case 1: return Dig1;
case 2: return Dig2;
case 3: return Dig3;
case 4: return Dig4;
case 5: return Dig5;
case 6: return Dig6;
case 7: return Dig7;
case 8: return Dig8;
default: return Dig9;
}
}
//== Convert 4 digits from BinBuf[] into SegBuf[] ==========