uP projekt


  1. Formalny opis działania.

Zasada działania tego analizatora stanów logicznych opiera się na

wykorzystaniu sygnałów mikrokontrolera 8051 pracującego z zewnętrzną

pamięcią programu.

Mikrokontroler pracując w pętli składającej się z rozkazów ADD A,#5

(rys. 1 przedstawia schemat blokowy) , daje sygnał PSEN który oprócz

funkcji odczytywania z zewnętrznej pamięci programu jest wykorzystywany

do zapisu w pamięci RAM 8 bitowych próbek sygnałów wejściowych.

Wyżej wymieniona pętla programowa znajduje się w pamięci programu o

adresach powyżej 4kB i zawiera 508 rozkazów ADD A,#5 oraz jeden

rozkaz JMP do początku pętli. Fakt że pętla ta znajduje się powyżej 4kB

pozwala nam wykorzystać sygnał adresowy A12 do strobowania sygnału

PSEN zapisującego do pamięci RAM .

Sygnał PSEN pojawia się dwa razy w czasie cyklu maszynowego, a rozkaz

ADD A,#5 jest rozkazem 2 bajtowym realizowanym w jednym cyklu

maszynowym (2 kolejne adresy w pamięci programu) ,więc próbkując do

pamięci 1kB potrzebujemy 508 takich rozkazów plus jeden rozkaz JMP

który jest rozkazem 3 bajtowym ale realizowanym w 2 cyklach maszyno-

-wych (4 impuls PSEN pojawia się ale pobranie rozkazu jest jałowe). W

sumie jest 512 cykli maszynowych a tym samym 1024 kolejne adresy.

W programie wykorzystane jest przerwanie od timera T0 które pozwala

wyjść z pętli w której próbkujemy sygnał wejściowy. Przed wejściem w

tą pętlę ustawiamy przerwanie od timera T0 oraz wpisujemy wartość

początkową która jest obliczana w ten sposób że odejmujemy od wartości

maksymalnej ilość próbek jaką chcemy spróbkować po pojawieniu się

sygnału wyzwolenia.

Sygnał wyzwolenia jest wypracowany przez układ kombinacyjny oparty o

układ programowalny GAL 22V10. Sygnał wyjściowy jest kombinacją

7 bitów wejściowych ,7bitów ważności (czy dany bit bierze udział w

wypracowaniu sygnału wyzwolenia) zapisanego do rejestru a ustawianego

przez użytkownika, i 7 bitów które wskazują czy odpowiedni bit wejściowy

ma być 0 czy 1.

Sygnał wyzwalania bramkuje timer T0 poprzez wejście GATE(INT0) i gdy

stan tego wejścia jest aktywny czyli pojawił się sygnał wyzwolenia timer

T0 zlicza od stanu początkowego aż do przepełnienia. Zostaje ustawiona

flaga przepełnienia która jednocześnie jest sygnałem dla mikrokontrolera

o przerwaniu.

Po przyjęciu przerwania jest realizowany program od adresu 0BH. W tej

części programu blokowane jest przerwanie, zatrzymany timer oraz

zapamiętany jest adres ostatniej próbki (zdejmowany jest ze stosu) a na

miejsce tego adresu zapisywany jest adres podprogramu w którym

zostają wyświetlone wyniki i przez rozkaz RETI skaczemy do tego

podprogramu.

Wyświetlanie wyników (próbek sygnału wejściowego) realizowane jest na

wyświetlaczu LCD (4 wiersze po 20 znaków), i z tego względu że chcemy

wyświetlić 8 bitów na 4 wierszach musiałem zdefiniować własne znaki

które pozwoliły mi na jednym znaku zdekodować dwa bity.

Wyświetlacz ten umożliwia wpis do pamięci wyświetlacza 8 znaków użytko-

-wnika. Wpis do pamięci wyświetlacza 4 znaków (kombinacja na dwóch

bitach) znajduje się w procedurze inicjalizacyjnej w której wykonywana jest

inicjalizacja wyświetlacza. Procedura ta wykonywana jest tylko raz przy

uruchomieniu analizatora.

Wyświetlanie próbek przebiega w ten sposób że po przyjęciu przerwani

otrzymujemy adres najmłodszej próbki i możemy przesuwać się tylko

w prawo dopiero po odczytaniu jakiejś próbki możemy się wrócić

przesuwając w lewo. Przesuwając się w prawo lub lewo inkrementujemy

lub dekrementujemy DPTR jednocześnie sprawdzając czy jest przejście

przez adres 0 ponieważ wtedy musimy zrobić odpowiednie przejście.

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
N

0x08 graphic
0x08 graphic
0x08 graphic
N

0x08 graphic
0x08 graphic
T

0x08 graphic
0x08 graphic
0x08 graphic

T

0x08 graphic

0x08 graphic
0x08 graphic

N

0x08 graphic
0x08 graphic

0x08 graphic

T

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
N

0x08 graphic
0x08 graphic
T Rys.1A

Rys.1A

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
N

0x08 graphic

0x08 graphic

T

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

Rys.1B

START

JMP INICJAL

ORG 0BH

Blokada przerwania od T0

Stos DPTR

Wyswietl stos

RETI

INICJAL:

Inicjalizacja wyświetlacza

Ustawienie systemu przerwań

Ustawienie trybu pracy timera

PROCEDURA WYŚWIETLANIA

RIGHT-

KEY

DPTR DPTR+1

Pobieranie próbki z pamięci RAM

Przesunięcie wyświetlacza w prawo

Wyświetlenie bajtu

(procedura RIGHT)

LEFT-

KEY

DPTR DPTR-1

Pobranie próbki z pamięci RAM

Przesunięcie wyświetlacza w lewo

Wyświetlenie bajtu

(procedura LEFT)

START

-KEY

START

-KEY

Ustawiamy bity ważności

Ustawiamy czy dany bit jest1 czy 0

Odblokowujemy przerwania

Ustawiamy liczbę próbek po sygnale wyzwolenia

START

-KEY

Odblokowujemy timer T0

(ustawiamy TR0)

ORG 1000H

ADD A,#5

ADD A,#5

.

.

.

.

.

.

.

.

.

.

.

ADD A,#5

JMP 1000H



Wyszukiwarka

Podobne podstrony:
Metody osiągnięcia projekcji astralnej [up by Esi]
Pytania i odpowiedzi - projektowanie, UP Wrocław Ogrodnictwo, III rok, Projektowanie zieleni w przes
ramka z tabelką, Ogrodnictwo UP Lbn, Projekty, projektowanie
zaliczenie projektu, Ogrodnictwo, Ogrodnictwo UP Wro, ROK II, semestr IV, urządzanie i pielęgnacja t
Metody osiągnięcia projekcji astralnej [up by Esi]
projekt o narkomanii(1)
!!! ETAPY CYKLU PROJEKTU !!!id 455 ppt
Wykład 3 Dokumentacja projektowa i STWiOR
Projekt nr 1piątek
Projet metoda projektu
34 Zasady projektowania strefy wjazdowej do wsi
PROJEKTOWANIE ERGONOMICZNE
Wykorzystanie modelu procesow w projektowaniu systemow informatycznych
Narzedzia wspomagajace zarzadzanie projektem
Zarządzanie projektami 3

więcej podobnych podstron