Ćwiczenie 12.
Licznik obiektów.
Wymagania
Przed przystąpieniem do ćwiczenia student powinien posiadać następujące wiadomości:
a) budowa, zasada działania i programowanie układu transmisji równoległej 8255;
b) system przerwań 8051;
c) sterownik przerwań DSM-51;
d) działanie i programowanie timerów;
e) budowa, zasada działania i programowanie wyświetlacza LCD;
Budowa i zasada działania
Licznik obiektów (model M-03) jest przystawką systemu DSM-51. Przystawka ta,
zawierająca fotokomórkę, przeznaczona jest do zliczania przesuwających się obiektów.
Dzięki zastosowaniu dwóch fototranzystorów umieszczonych naprzeciw diody
emitującej promieniowanie podczerwone, możliwe jest określenie nie tylko liczby obiektów
przecinających wiązkę promieniowania, ale także kierunku ich ruchu i czasu przejścia
(prędkości ruchu).
Zastosowane w modelu układy różniczkujące, generujące krótkie impulsy w
momencie zasłaniania i odsłaniania każdego z fototranzystorów, umożliwiają obsługę
przystawki z wykorzystaniem zgłoszenia przerwania zewnętrznego.
Diody emitujące promieniowanie podczerwone wymagają zazwyczaj zasilania
stosunkowo dużym prądem. System mikroprocesorowy może decydować o zapaleniu i
zgaszeniu diody nadawczej w przystawce. Umożliwia to pisanie programów oszczędnie
gospodarujących energią.
Układ licznika obiektów podłącza się do złącza wejść / wyjść cyfrowych systemu
DSM-51.
Rys1. Schemat blokowy przystawki.
Informacje z modelu, jak i sygnały sterujące są przesyłane przez port C układu 8255. Port C
powinien być tak ustawiony aby jego starsza część (PC4...7) była ustawiona jako wyjście,
natomiast młodsza część (PC0...4) jako wejście. Schemat blokowy modelu przedstawia
rysunek 1. Dioda D1, emitująca promieniowanie podczerwone, jest sterowana linią PC4.
Ustawienie na linii PC4 stanu logicznego 0 powoduje włącznie diody D1. Promieniowanie z
diody dociera do fototranzystorów T1 i T2 powodując ich przewodzenie. Stan
fototranzystorów jest sygnalizowany odpowiednio przez diody D2 (dla T1) i D3 (dla T2).
Informacja o stanie fototranzystora T1 może być również odczytana na linii PC1,
a fototranzystora T2 na linii PC2. Stan 0 na odpowiedniej linii (i świecenie diody) oznacza, że
fototranzystor nie jest oświetlony promieniami podczerwonymi (jest zasłonięty lub dioda D1
jest wyłączona).
Dodatkowo sygnały z fototranzystorów podawane są na układy różniczkujące generujące
dodatnie impulsy przy każdorazowej zmianie stanu tych sygnałów. Te impulsy podawane są
odpowiednio na linie PC0 (dla T1) i PC3 (dla T2). Linie te są włączone w system przerwań w
DSM-51 umożliwiając przerwaniową obsługę każdej zmiany fototranzystorów.
Przebieg ćwiczenia
Zadanie 1
„test licznika obiektów”
Zapoznaj się z kodem źródłowym programu L1.asm a następnie uruchom go
i przetestuj model licznika obiektów przesłaniając kolejno fototranzystory i wyłączając diodę
emitującą promieniowanie podczerwone (klawisz ESC). W sprawozdaniu zamieść schemat
blokowy programu L1.asm.
Zadanie 2
„niepoprawne przejścia”
Zapoznaj się z kodem źródłowym programu Licznik.asm, przeanalizuj go, uruchom
a następnie zmodyfikuj program w ten sposób by dodatkowo zliczał niepoprawne przejścia
przez fotokomórkę. W sprawozdaniu opisz zmiany jakich musiałeś dokonać.
Zadanie 3
„oddzielne naliczanie”
Zmodyfikuj program Licznik.asm tak by zliczał oddzielnie obiekty przechodzące
w różnych kierunkach. W sprawozdaniu zamieść schemat blokowy i listing
zmodyfikowanego programu oraz opisz dokonane modyfikacje.
Zadanie 4
„czas przejścia”
Zmodyfikuj program Licznik.asm tak by dodatkowo wyświetlał przybliżony czas
przejścia obiektu przez obszar fotokomórki. Do naliczania czasu przejścia wykorzystaj
timer0. Czy 16-bitowy rejestr timera jest wystarczający dla wolno przemieszczających się
obiektów? W jaki sposób zwiększyć licznik czasu przejścia? Opisz dokonane modyfikacje.
Zaproponuj algorytm przeliczający naliczone jednostki na sekundy.
Zadanie 5
„ograniczony czas przejścia”
Zmodyfikuj program Licznik.asm tak by ograniczyć czas przejścia obiektu. Jeżeli czas
przejścia będzie dłuższy od określonej maksymalnej wartości należy wyświetlić stosowny
komunikat. Opisz dokonane modyfikacje.