• Nie Znaleziono Wyników

Mikrokontrolery 2– zadania do zajęć laboratoryjnych Lista 1

N/A
N/A
Protected

Academic year: 2021

Share "Mikrokontrolery 2– zadania do zajęć laboratoryjnych Lista 1"

Copied!
1
0
0

Pełen tekst

(1)

Mikrokontrolery 2– zadania do zajęć laboratoryjnych Lista 1

1. Proszę napisać program zapalający na zmianę dwie diody LED w naszych makietach. Gdy jedna dioda świeci, druga ma być zgaszona. W tym zadaniu odcinki czasu proszę jeszcze odliczać programowo. Pętlę opóźniającą proszę uruchamiać jako podprogram. Proszę uruchomić trzy wersje programu:

a) Każda z diod ma się świecić przez 1s.

b) Równe czasy świecenia obu diod należy skracać aż do uzyskania wrażenia jednoczesnego świecenia obu diod. W poprzednich latach zauważyliśmy, że aby uzyskać ten efekt, przerwa w świeceniu każdej z diod nie powinna przekraczać ok. 10 ms. Proszę to porównać ze znanymi własnościami oka ludzkiego.

c) Proszę zmodyfikować program tak, aby poza wrażeniem jednoczesności świecenia uzyskać wrażenie wyraźnego zmniejszenia jasności świecenia obu diod.

Dla chętnych: jedną z części a)-c) proszę napisać w języku C.

2. W kolejnych bajtach pamięci programu proszę utworzyć tablicę zawierającą piętnaście liczb 8-bitowych.

Naciśnięcie dowolnej kombinacji przycisków podłączonych do bitów numerach 0-3 portu B należy potraktować jako wybranie liczby naturalnej n z przedziału 1,...,15. Proszę wtedy wyświetlić, na diodach podłączonych do portu C, liczbę znajdującą się w utworzonej tablicy na pozycji n-tej. W przypadku naciśnięcia klawiszy podłączonych do PB4,...,PB7 lub nie naciśnięcia żadnego klawisza, wyświetlacz diodowy ma być wygaszony.

Wersja rozszerzona tego zadania (dla chętnych):

 Tworzona tablica niech zawiera liczby 16-bitowe; każda liczba niech zajmuje jedną komórkę w pamięci programu;

 Naciśnięcie dowolnej kombinacji przycisków o numerach 0-3 ma powodować wyświetlenie na wyświetlaczu diodowym jednego bajtu wybranej liczby; o tym, czy ma to być bajt młodszy czy starszy niech decyduje przycisk podłączony do PB7.

3. Styki mechaniczne w trakcie zwieranie i/lub rozwierania często ulegają odbiciom. Skutek odbić jest taki, że podczas pojedynczego pobudzenia mechanicznego (np. podczas pojedynczego naciśnięcia przycisku lub jego puszczenia) styki są wielokrotnie zwierane i rozwierane elektrycznie. Ten stan przejściowy trwa od kilku do kilkudziesięciu ms, zależnie od konstrukcji i bezwładności styków. Ponieważ czasy potrzebne do pojedynczego odczytania stanu styku (u nas – stanu portu) są o kilka rzędów krótsze, wielokrotne zwarcia i rozwarcia styków w stanie przejściowym mogą być zauważane przez program i mogą powodować wadliwe jego działanie.

Proszę opracować i uruchomić podprogram badania stanu przycisku zmniejszający prawdopodobieństwo odczytania wielu naciśnięć spowodowane drganiami styków w trakcie pojedynczego naciśnięcia. Stan przycisku należy w tym celu odczytywać z odstępem np. 30-50 ms tyle razy, aż dwa kolejne odczyty dadzą ten sam wynik, co oznacza, że odbicia ustały i styki są już w stanie stabilnym. Następnie proszę opracować program zliczający naciśnięcia określonego przycisku. Niech np. naciśnięcia przycisku nr 0 zwiększają zawartość licznika naciśnięć, a naciśnięcia przycisku nr 1 – zmniejszają ją. Stan licznika proszę wyświetlać na diodach podłączonych do portu C.

Wrocław, 5 października 2020 r. Grzegorz Smołalski.

Cytaty

Powiązane dokumenty

UWAGA: Zmieniając amplitudę sygnału wejściowego i OFFSET w generatorze można zmieniać prąd bazy i uzyskać wartości niesymetryczne.. Prąd bazy można obliczyć na

Dla dwóch wybranych przez prowadzącego schematów z punktu 3.1, przeprowadź pomiary weryfikujące działanie układów oraz skonfrontuj z przygotowanymi

Dokonanie wyboru powinno być sygnalizowane zapaleniem odpowiedniej diody podłączonej do bitów 0..2 portu C.. Kolejny wybór procesu ma anulować

W języku C proszę opracować program zapalający diody podłączone do portu C naszych makiet, odpowiadające naciśniętym przyciskom, podłączonym do portu B. Program należy

W asemblerze proszę napisać program, który po naciśnięciu przycisku podłączonego do PB.7 wejdzie do procedury wyświetlania stanu rejestrów procesora:

Wydawnictwo Atnel, Szczecin 2011 (jest też wydanie nowsze).. Grębosz J., Symfonia C++; Programowanie w języku C++

Proszę napisać i uruchomić w trybie symulacyjnym program wypełniający określonym ciągiem zero-jedynkowym kolejne komórki pamięci danych poczynając od tej o adresie 0x02fd. Proszę

i modyfikujący je według następujących zasad: jeśli dwa najmłodsze bity to 0b01 wówczas pobranego bajtu nie należy zmieniać, jeżeli zaś te dwa bity zawierają 0b10, to w