Witam,
pytanie jak w temacie... Co do sytuacji: mamy dwukolorową matrycę diodową 8x8 (http://www.tme.eu/html/PL/matryce-led-dwukolorowe/ramka_3096_PL_pelny.html) i chcemy na niej zrealizować grę "w skoczka" - matryca to szachownica, na niej w każdym momencie 8 pionków czerwonych i 8 zielonych. Grę realizujemy na płytce uruchomieniowej Xilinxa SPARTAN3, programujemy w VHDL. Do matrycy jest zrobiony układ, który rozwiązuje problem zasilania diod (układy ULN2003 na wiersze, tranzystory BD140 na kolumny, do tego odpowiednie rezystory), tak że pozostaje tylko dobrze to wysterować. I tu jest właśnie problem, że nie wiemy, jak dobrze napisać kod do wyświetlania tej gry na matrycy... Staraliśmy się pisać według algorytmu:
.
.
.
1) ustaw "0" na kolumnach
2) wczytaj wartości wszystkich wierszy na wyjścia
3) ustaw KOLUMNA(i) <= '1', reszta kolumn = '0', a na wyjściach ustaw "i-ty" element każdego wiersza - rób to przez ok. 4 msek
4) i = i + 1
5) ustaw "0" na kolumnach
6) wczytaj wartości wszystkich wierszy na wyjścia
7) ustaw KOLUMNA(i) <= '1', reszta kolumn = '0', a na wyjściach ustaw "i-ty" element każdego wiersza - rób to przez ok. 4 msek
4) i = i + 1
.
.
.
.
No i wyświetlać - wyświetla, pierwsze ustawienie dobrze, ale już po pierwszym ruchu robią się błędy, przybywa ich coraz bardziej i ogólny chaos.
Czy to jest dobry algorytm? Jakieś sugestie odnośnie czasów, samego algorytmu, sposobu realizacji?
Aha, kod jest dość długi, więc nie wstawiam na razie, chyba że powiecie, że koniecznie chcecie zobaczyć to cudo ;P
Z góry dziękuję za pomoc
pytanie jak w temacie... Co do sytuacji: mamy dwukolorową matrycę diodową 8x8 (http://www.tme.eu/html/PL/matryce-led-dwukolorowe/ramka_3096_PL_pelny.html) i chcemy na niej zrealizować grę "w skoczka" - matryca to szachownica, na niej w każdym momencie 8 pionków czerwonych i 8 zielonych. Grę realizujemy na płytce uruchomieniowej Xilinxa SPARTAN3, programujemy w VHDL. Do matrycy jest zrobiony układ, który rozwiązuje problem zasilania diod (układy ULN2003 na wiersze, tranzystory BD140 na kolumny, do tego odpowiednie rezystory), tak że pozostaje tylko dobrze to wysterować. I tu jest właśnie problem, że nie wiemy, jak dobrze napisać kod do wyświetlania tej gry na matrycy... Staraliśmy się pisać według algorytmu:
.
.
.
1) ustaw "0" na kolumnach
2) wczytaj wartości wszystkich wierszy na wyjścia
3) ustaw KOLUMNA(i) <= '1', reszta kolumn = '0', a na wyjściach ustaw "i-ty" element każdego wiersza - rób to przez ok. 4 msek
4) i = i + 1
5) ustaw "0" na kolumnach
6) wczytaj wartości wszystkich wierszy na wyjścia
7) ustaw KOLUMNA(i) <= '1', reszta kolumn = '0', a na wyjściach ustaw "i-ty" element każdego wiersza - rób to przez ok. 4 msek
4) i = i + 1
.
.
.
.
No i wyświetlać - wyświetla, pierwsze ustawienie dobrze, ale już po pierwszym ruchu robią się błędy, przybywa ich coraz bardziej i ogólny chaos.
Czy to jest dobry algorytm? Jakieś sugestie odnośnie czasów, samego algorytmu, sposobu realizacji?
Aha, kod jest dość długi, więc nie wstawiam na razie, chyba że powiecie, że koniecznie chcecie zobaczyć to cudo ;P
Z góry dziękuję za pomoc