TVZ2022 / SegDispLib

segdisp.cpp

Committer:
apetrovic
Date:
2022-11-29
Revision:
0:7e3c26a81f6c

File content as of revision 0:7e3c26a81f6c:

#include "segdisp.h"

BusOut Segmentni (PB_4,PB_10,PA_8,PA_9,PC_7,PB_6,PA_7,PA_6); // A,B,C,D,E,F,G,DP

void SegInit(void)
{
    Segmentni= Segmentniprikaz (0); //Inicijalizacija
}

char Segmentniprikaz(int SegValue)   //funkcija za konverziju int varijable u niz bitova za ispis na 7 seg displayu

{
    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
        case 10 :
            SegByte = 0x71;
            break; // 1 0 0 0 0 0 0 0 binary
      
        case 12: 
            SegByte = 0xFF;
            break;
    }
    return SegByte;
}