Jednoręki bandyta na dsm-51
Jednoręki bandyta na dsm-51
mam do napisania program jednorekiego bandyty. dokladnie chodzi o to zeby w 3 okienkach wyswietlacza lcd przeskakiwaly pokolei liczby od 0 do 9 a nastepnie po wcisnieciu klawisza zatrzymywaly sie one. prosze o pomoc poniewaz ja nie mam w domu mozliwosci sprawdzenia dzialania takiego programu tylko w szkole mam dostep do takich maszynek dsm-51
-
keruseykaryu
Timer 0 wykorzystaj sobie jako zegar napędzający bęben z cyframi, np, 5-6x na sek. Teraz pytanie brzmi tylko co na bębnie ma być po włączeniu zasilania, jakaś wartość stała np. 999 czy losowa (oczywiście pseudo losowa) ? Jeżeli losowa to należało by przy starcie ją jakoś wygenerować, na podstawie np. czujnika temperatury, oświetlenia, jeżeli zestaw DSM-51 takowe ma i wprowadzić na wyświetlacz.
Sterować możesz na 2 sposoby, pierwszy za pomocą jednego przycisku START-STOP, drugi za pomocą 2 przycisków START i STOP.
Bęben, najlepiej rozpisać sobie jako 3 niezależne zmienne liczące od 0 do9. Dla czego ? Otóż taka liczba będzie niejako naturalnie zapisana w kodzie BCD a że trzeba ją przekonwertować na kod ASCII dla wyświetlacza LCD, to taki zapis to ułatwi bo np. liczba 1 to w ASCII kod 0x31 czyli binarnie 0011 0001, czyli żeby zakodować BCD na ASCII wystarcza prosta logiczna operacja stała (0011 0000) OR BCD.
jeszcze pozostaje kwestia obracania bębnem, i tu znowu można pójść 2 drogami, albo obracać poszczególnymi sekcjami z różna szybkością (prostsze rozwiązanie), albo po naciśnięciu STOP zatrzymywać je z różną szybkością.
PS. pewnego czasu w EP był opisany taki jednoręki bandyta zrobiony na AT89C2051.
Sterować możesz na 2 sposoby, pierwszy za pomocą jednego przycisku START-STOP, drugi za pomocą 2 przycisków START i STOP.
Bęben, najlepiej rozpisać sobie jako 3 niezależne zmienne liczące od 0 do9. Dla czego ? Otóż taka liczba będzie niejako naturalnie zapisana w kodzie BCD a że trzeba ją przekonwertować na kod ASCII dla wyświetlacza LCD, to taki zapis to ułatwi bo np. liczba 1 to w ASCII kod 0x31 czyli binarnie 0011 0001, czyli żeby zakodować BCD na ASCII wystarcza prosta logiczna operacja stała (0011 0000) OR BCD.
jeszcze pozostaje kwestia obracania bębnem, i tu znowu można pójść 2 drogami, albo obracać poszczególnymi sekcjami z różna szybkością (prostsze rozwiązanie), albo po naciśnięciu STOP zatrzymywać je z różną szybkością.
PS. pewnego czasu w EP był opisany taki jednoręki bandyta zrobiony na AT89C2051.
Na poczatku najlepiej bedzie wprowadzic stala wartosc moze byc 999. co do sterowania to wydaje mi sie ze latwiej byloby uzyc 2 przyciskow bo do kazdego bedzie osobna funkcja. ogolnie to najprostsze rozwiazania sa to najlepsze rozwiazania
a masz albo znalazles ten temat? bo ja szukalem tego ale bezowocnie ;/