Program DSM51 Pomocy
Program DSM51 Pomocy
Witam, mam napisać program w ,którym dioda mruga a po wduszenu przykładowo strzałki w gore zwiększa 0 1s się czestotliwość migania a po wduszeniu strzałki w dól częstotlwość migania zmniejsza się o 1s. Z góry dziękuje za pomoc bo wgl nic z tego nie rozumiem
Pozdrawiam 
Po pierwsze, jeśli jesteś studentem, należy się tygodniowy ban na cały internet i przymusowy areszt w miejscu zwanym biblioteką !
Częstotliwość wyraża się w Hertzach [hz] !
W sekundach [s] możesz wyrazić okres całego przebiegu lub czas trwania jednego stanu.
________________________________________________
Czyżby zbliżała się sesja, kolega obijał się na zajęciach, a teraz przychodzi okres zaliczenia?
Miganie to pętla w której uC czeka powiedzmy 0.5s (*1) i zmniejsza licznik (*2). Gdy licznik się wyzeruje (*3), ładuje do niego zawartość z pamięci (*4), zmienia stan LEDa i od nowa 'pętli się' przez określony czas.
Odczyt klawiatury może być prostszy lub trudniejszy, zależy którą klawiaturę musisz obsługiwać. Klawiatura pod LCD jest stworzona do prostego odczytu (*5), ta pod 7-segmentowcami wymaga wysterowania owych wyświetlaczy (*6), ale później uzyskane dane są dużo prostsze w interpretacji.
Kolejna kwestia to interpretacja uzyskanych danych z klawiszy i zwiększenie/zmniejszenie zmiennej oczekiwania. Można to robić przy każdym przebiegu pętli (co 0.5s) zawsze gdy profesor trzyma klawisz (rozwiązanie brzydkie, bo generuje opóźnienia), albo opóźnienie rozbić na 5 kroków po 100ms i zwiększać/zmniejszać ten czas po wykryciu naciśnięcia klawisza.
Drugie rozwiązanie powoduje jednak, że trzeba pamiętać czy w poprzednim kroku klawisz był wciśnięty czy nie.
Podpowiedzi:
1. Wybierz funkcję czekania czasu wbudowaną w DSM, jedna z nich daje możliwość odczekania takiego czasu jak potrzeba.
2. Dowolny rejestr z którego nie korzysta funkcja *1, ja bym używał ich od końca, czyli R7.
3. DJNZ
4. Potrzebujesz drugi rejestr, patrz *2
5. Patrz mapa przestrzeni adresowej, możesz odczytać w 4 instrukcjach, kolejne odczyty to 1 instrukcja.
6. Wybierasz jedną z cyfr wyświetlaczy 7-seg i na raz odczytujesz tylko jeden odpowiadający jej klawisz. Instrukcji robi się kilkanaście, ale to chyba nie kosmos.
Częstotliwość wyraża się w Hertzach [hz] !
W sekundach [s] możesz wyrazić okres całego przebiegu lub czas trwania jednego stanu.
________________________________________________
Czyżby zbliżała się sesja, kolega obijał się na zajęciach, a teraz przychodzi okres zaliczenia?
Miganie to pętla w której uC czeka powiedzmy 0.5s (*1) i zmniejsza licznik (*2). Gdy licznik się wyzeruje (*3), ładuje do niego zawartość z pamięci (*4), zmienia stan LEDa i od nowa 'pętli się' przez określony czas.
Odczyt klawiatury może być prostszy lub trudniejszy, zależy którą klawiaturę musisz obsługiwać. Klawiatura pod LCD jest stworzona do prostego odczytu (*5), ta pod 7-segmentowcami wymaga wysterowania owych wyświetlaczy (*6), ale później uzyskane dane są dużo prostsze w interpretacji.
Kolejna kwestia to interpretacja uzyskanych danych z klawiszy i zwiększenie/zmniejszenie zmiennej oczekiwania. Można to robić przy każdym przebiegu pętli (co 0.5s) zawsze gdy profesor trzyma klawisz (rozwiązanie brzydkie, bo generuje opóźnienia), albo opóźnienie rozbić na 5 kroków po 100ms i zwiększać/zmniejszać ten czas po wykryciu naciśnięcia klawisza.
Drugie rozwiązanie powoduje jednak, że trzeba pamiętać czy w poprzednim kroku klawisz był wciśnięty czy nie.
Podpowiedzi:
1. Wybierz funkcję czekania czasu wbudowaną w DSM, jedna z nich daje możliwość odczekania takiego czasu jak potrzeba.
2. Dowolny rejestr z którego nie korzysta funkcja *1, ja bym używał ich od końca, czyli R7.
3. DJNZ
4. Potrzebujesz drugi rejestr, patrz *2
5. Patrz mapa przestrzeni adresowej, możesz odczytać w 4 instrukcjach, kolejne odczyty to 1 instrukcja.
6. Wybierasz jedną z cyfr wyświetlaczy 7-seg i na raz odczytujesz tylko jeden odpowiadający jej klawisz. Instrukcji robi się kilkanaście, ale to chyba nie kosmos.