/*
 * Soubor:  hraci-kostka.c
 * Datum:   09.01.2012 10:21
 * Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
 * Licence: GNU/GPL 
 * Úloha: 
 * Popis:   
 ****************************************************/
#define _ISOC99_SOURCE
#define _GNU_SOURCE
#include <at89x52.h>

/* ***************    Makra    ******************** */
#define DISPLAY P2
#define TECKA P2_7
#define TLACITKO (P1_0 == 0)


/* pole uložené v paměti programu představuje čísla na displayi */
__code char segment[] = { 
    0b11000000,           //0
    0b11111001,           // 1
    0b10100100,           // 2
    0b10110000,           // 3 
    0b10011001,           // 4
    0b10010010,           // 5
    0b10000010,           // 6
    0b11111000,           // 7
    0b10000000,           // 8
    0b10010000            // 9
};


/****************************************************
 *               Hlavní program.
 ****************************************************/
void main(void)
{
    char cislo = 1;

    /* Pokud je stisknuté tlačítko, tak se v proměnné cislo
     * cykluje hodnota 1-6. Pokd tlačítko stisnuté není, 
     * hodnota proměnné cilo se zobrazuje na display.      */
    while (1) {
        if (TLACITKO) {
            DISPLAY = 0b01111111;
            cislo = cislo < 6 ? cislo + 1 : 1;
        } else {
            DISPLAY = segment[cislo];
        }
    }
}

