Dorian-Filip Pavetić / SigDisplay

SegDisplay.cpp

Committer:
dpavetic
Date:
2022-11-05
Revision:
1:f694fd763135
Parent:
SigDisplay.cpp@ 0:b400107c7fc3

File content as of revision 1:f694fd763135:

// SegDisplay.cpp file for Exercise 7-7
#include "SegDisplay.h"
BusOut Seg1(p5,p6,p7,p8,p9,p10,p11,p12); // A,B,C,D,E,F,G,DP
BusOut Seg2(p13,p14,p15,p16,p17,p18,p19,p20); // A,B,C,D,E,F,G,DP
void SegInit(void)
{
    Seg1=SegConvert(0); // initialise to zero
    Seg2=SegConvert(0); // initialise to zero
}
char SegConvert(char SegValue)   // function 'SegConvert'
{
    char SegByte=0x00;
    switch (SegValue) { //DP G F E D C B A
        case 0 :
            SegByte = 0x3F;
            break; // 0 0 1 1 1 1 1 1 binary
        case 1 :
            SegByte = 0x06;
            break; // 0 0 0 0 0 1 1 0 binary
        case 2 :
            SegByte = 0x5B;
            break; // 0 1 0 1 1 0 1 1 binary
        case 3 :
            SegByte = 0x4F;
            break; // 0 1 0 0 1 1 1 1 binary
        case 4 :
            SegByte = 0x66;
            break; // 0 1 1 0 0 1 1 0 binary
        case 5 :
            SegByte = 0x6D;
            break; // 0 1 1 0 1 1 0 1 binary
        case 6 :
            SegByte = 0x7D;
            break; // 0 1 1 1 1 1 0 1 binary
        case 7 :
            SegByte = 0x07;
            break; // 0 0 0 0 0 1 1 1 binary
        case 8 :
            SegByte = 0x7F;
            break; // 0 1 1 1 1 1 1 1 binary
        case 9 :
            SegByte = 0x6F;
            break; // 0 1 1 0 1 1 1 1 binary
    }
    return SegByte;
}