;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Soubor: hraci-kostka.asm ; Datum: 09.01.2012 10:00 ; Autor: Marek Nožka, nozka <@t> spseol cz ; Licence: GNU/GPL ; Úloha: Hrací kostka ; Popis: Po stisknutí tlačíta zobrazí 7-segmentovce náhodné ; číslo. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; symbol pro bit, na kterém je ovládací tlačítko TL bit P1.0 ; počáteční nastavení mov DPTR, #segment mov R0, #1d ; hlavní smyčka, pokud není stiskuné tlačíto, jen se zobrazuje kostka: jnb TL, cykluj ; pokud je stisnuto tlačítko, volej cykluj CALL zobrazuj jmp kostka ; dokud je stisknuté tlačítko, zvětšuj hodnotu R0 cykluj: mov P2, #0FFH ; zhasni 7-segmentovku clr P2.7 ; rozsviť tečku inc R0 ; zvedni hodnotu R0 cjne R0, #7d, nenuluj ; počítej jen do 6. mov R0, #1d nenuluj: jmp kostka ; číslo z registru R0 zobrazí na 7-segmentovku zobrazuj: mov A, R0 movc A,@A+DPTR mov P2, A RET ; tabulka zobrazení na 7-segmentovce segment: db 11000000b ; 0 db 11111001b ; 1 db 10100100b ; 2 db 10110000b ; 3 db 10011001b ; 4 db 10010010b ; 5 db 10000010b ; 6 db 11111000b ; 7 db 10000000b ; 8 db 10010000b ; 9 include delay12MHz.inc END