Jednoręki bandyta na dsm-51

To forum jest dla wszystkich pasjonatów wiecznie młodych mikrokontrolerów '51. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
Zablokowany
zales2828
-
Posty: 4
Rejestracja: 05 gru 2010, 12:48
Lokalizacja: Słupca

Jednoręki bandyta na dsm-51

Post autor: zales2828 » 05 gru 2010, 12:50

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

Post autor: keruseykaryu » 05 gru 2010, 13:00

Napisz program tak, by można było przeanalizować jego działanie na symulacji, w której nie trzeba wyświetlacza. Potem dopiszesz wyświetlanie na przerwaniach i gotowe.
No i z przykrością Cię informuję, że na gotowca nie masz w sumie co liczyć. :evil:

zales2828
-
Posty: 4
Rejestracja: 05 gru 2010, 12:48
Lokalizacja: Słupca

Post autor: zales2828 » 07 gru 2010, 22:40

tylko nawet nie wiem jak sie za to zabrac. dopiero jakis miesiac temu zaczalem uczyc sie programowania ale nie ogarniam wszystkiego zeby napisac od poczatku do konca caly program :neutral:

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 08 gru 2010, 20:30

A w czym to musisz pisać ? w ASM czy możesz sklecić np. w BASCOM, bo nie wiem czy proc pozwala wgrać program z BASCOMa ?
Ogólnie najpierw musisz napisać sobie algorytm gry na papierze potem pisać program..

zales2828
-
Posty: 4
Rejestracja: 05 gru 2010, 12:48
Lokalizacja: Słupca

Post autor: zales2828 » 08 gru 2010, 22:33

No wkoncu jakies pomocne tresci sie pojawiaja :) ASM tylko.

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 09 gru 2010, 14:54

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.

zales2828
-
Posty: 4
Rejestracja: 05 gru 2010, 12:48
Lokalizacja: Słupca

Post autor: zales2828 » 09 gru 2010, 15:57

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 ;/

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 09 gru 2010, 16:22

EP 12/96 jest tam nawet opisany algorytm działania. Różnica jest natomiast taka że oni wykorzystywali wyświetlacze LED 7x5 i symulowali prawdziwego "Bandyte" czyli są cyfry i znaki.

Zablokowany