przewodnik inst2, Programowanie, Step7, STEP 7 MicroWin


ZESPÓŁ SZKÓŁ ELEKTRONICZNYCH -TECHNIKUM ELEKTRONICZNE

w Zielonej Górze

Veo - Pracownia układów mikroprocesorowych i mikrokomputerów

Vsk - Pracownia systemów mikroprocesorowych

Przewodnik do ćwiczeń

Nr ćwiczenia - S7_2

Temat ćwiczenia:

Funkcje binarne i pamięciowe

1. Instrukcje binarne c.d.

Operator

Argument

Opis

Przykład

ALD

---

Iloczyn logiczny dwóch górnych bitów stosu. Wynik wpisany na szczyt stosu.

OLD

---

Suma logiczna dwóch górnych bitów stosu.

Wynik wpisany na szczyt stosu.

LPS, LPP, LRD

---

Instrukcje kontrolne stosu

S

bit n, N

Ustawianie w stan 1 N bitów począwszy od adresu bitu n. Ustawianie jest wykonywane, gdy wynik operacji logicznej poprzedzającej instrukcję S jest równy 1.

S M0.1,3 ustawienie

bitu M0.1, M0.2, M0.3. (Łącznie 3 bity)

R

bit n

Zerowanie N bitów począwszy od adresu bitu n. Zerowanie jest wykonywane, gdy wynik operacji logicznej poprzedzającej instrukcję R jest równy 1.

R Q0.0, 1 zerowanie bitu Q0.0.

EU

---

Detekcja zbocza narastającego

ED

---

Detekcja zbocza opadającego

2. Wykorzystanie instrukcji ALD i OLD

Instrukcje logiczne dotyczące sumy i iloczynu nie wystarczą do realizacji wszystkich układów kombinacyjnych.

Przykład:

Funkcja logiczna

0x08 graphic

Q0.0 = I0.0 x I0.1 + I0.2 x I0.3

0x08 graphic

Program STL dla tego układu kombinacyjnego:

Przed wykonaniem sumy logicznej trzeba wykonać osobno obie funkcje iloczynu.

LDN I0.2

Ładuj na szczyt stosu stan zanegowanego bitu I0.2

A I0.3

Wynik pierwszego iloczynu znajdzie się na szczycie stosu

LD I0.0

Realizacja drugiej funkcji iloczynu rozpoczyna się ponownie od instrukcji ładowania na szczyt stosu (wynik poprzedni zagłębia się na stosie o jeden bit niżej).

A I0.1

Wynik drugiego iloczynu znajdzie się na szczycie stosu. Wynik pierwszego iloczynu jest na stosie niżej.

OLD

Suma logiczna dwóch górnych bitów stosu (zawierających wyniki obu iloczynów logicznych). Wynik znajdzie się na szczycie stosu.

= Q0.0

Przepisanie wyniku ze szczytu stosu do bitu Q0.0.

Przykład:

Funkcja logiczna

Q0.1 = (I0.0 + I0.1) x (I0.4 + I0.5)

w realizacji programowej wymaga najpierw wykonania wyrażeń nawiasowych.

LD I0.0

Ładuj na szczyt stosu stan bitu I0.0

O I0.1

Wynik pierwszej sumy logicznej znajdzie się na szczycie stosu

LD I0.4

Realizacja drugiej funkcji sumy rozpoczyna się ponownie od instrukcji ładowania na szczyt stosu (wynik poprzedni zagłębia się na stosie o jeden bit niżej).

O I0.5

Wynik drugiej sumy znajdzie się na szczycie stosu.

ALD

Iloczyn logiczny dwóch górnych bitów stosu (zawierających wyniki obu sum). Wynik znajdzie się na szczycie stosu.

= Q0.1

Przepisanie wyniku ze szczytu stosu do bitu Q0.1.

3. Realizacja układów pamięciowych

3.1. Przerzutnik RS

Podstawowym elementem pamięciowym jest przerzutnik RS.

Do programowania przerzutników można się posłużyć operatorami S (set - ustawianie) i R (reset - zerowanie).

Operatory ustawiania i zerowania są wykonywane tylko wtedy, gdy wynik poprzedzających je operacji logicznych jest równy 1. Gdy wynik operacji logicznej poprzedzającej operator S jest równy 1, instrukcja zawierająca operator S zostaje wykonana i jej argument zostaje ustawiony (przyjmuje wartość 1). Gdy wynik operacji logicznej poprzedzającej operator R jest równy 1, instrukcja zawierająca operator R jest wykonywana i jej argument zostaje wyzerowany (przyjmuje wartość 0).

Przykład

LD I0.0

A I0.1

Na szczycie stosu wynik iloczynu logicznego I0.0xI0.1

S Q0.0,1

Ustaw bit Q0.0 jeżeli wynik na szczycie stosu jest równy 1.

LD I0.2

O I0.3

Na szczycie stosu wynik sumy logicznej I0.2 + I0.3.

R Q0.0,1

Zeruj bit Q0.0 jeżeli wynik na szczycie

Rozróżnia się przerzutniki z priorytetem ustawiania i z priorytetem zerowania. Różnica między nimi dotyczy sytuacji, gdy obydwa wejścia przerzutnika S i R mają wartość 1. Jeżeli w powyższym przykładzie w tym samym cyklu spełnione będą warunki na ustawienie (I0.0 i I0.1 mają wartość 1) i warunki na zerowanie (I0.2 lub I0.3 ma wartość 1) to najpierw zostanie wykonana instrukcja ustawienia bitu Q0.1, a następnie instrukcja zerowania tego bitu. Pod wykonaniu cyklu stan wyjścia Q0.1 będzie równy 0. Przerzutnik działający według tego programu ma priorytet zerowania.

Jeżeli w powyższym programie zamienimy kolejność segmentów dotyczących ustawiania i zerowania, to uzyskamy przerzutnik działający z priorytetem ustawiania:

LD I0.2

O I0.3

R Q0.0,1

LD I0.0

A I0.1

S Q0.0,1

W przypadku jednoczesnego wystąpienia warunków ustawiania i zerowania ostatnią instrukcją w cyklu dotyczącą bitu Q0.1 będzie instrukcja S i na koniec cyklu stan wyjścia Q0.1 będzie równy 1. Przerzutnik działający według ostatniego programu ma priorytet ustawiania.

Dominuje to wejście przerzutnika, które zostanie zaprogramowane jako ostatnie w liście instrukcji.

3.2. Układ pamięciowy z samopodtrzymaniem.

Istnieje możliwość zaprogramowania układu z pamięcią bez wykorzystania operatorów S i R. Uzyskuje się to przez podtrzymanie, które otrzymuje się w wyniku zastosowania sprzężenia zwrotnego od ustawionego elementu. Ten sposób programowania stanowi analogię z układami przekaźnikowymi.

W tej metodzie program dla przykładu z p.3.1 w przypadku priorytetu zerowania ma postać:

LD I0.0

A I0.1

O Q0.1 sprzężenie zwrotne od elementu ustawianego

AN I0.3

AN I0.2

= Q0.1

Dla układu z priorytetem ustawiania program dla tego przykładu jest następujący:

LD I0.0

A I0.1

LD Q0.1 sprzężenie zwrotne od elementu ustawianego

AN I0.3

A I0.2

OLD

= Q0.1

4.Wykrywanie zbocza.

W języku STEP 7 MicroWin można programować układy reagujące na zbocza sygnałów opadające lub narastające. Służą do tego celu instrukcje EU (wykrywanie zmiany z „0” na „1”) i ED (wykrywanie zmiany z „1” na „0”). W każdym cyklu odbywa się sprawdzanie czy stan sygnału uległ zmianie. Jeżeli zmiana zostanie wykryta to specjalny znacznik ustawiany jest na „1” na czas jednego cyklu (tego w którym zmiana wystąpiła). Można to wykorzystać w układach pamięciowych.

Przykład:

LD I0.0

EU

S M0.0,1 znacznik M0.1 zostanie ustawiony w przypadku zmiany stanu na wejściu I0.0 z „0” na „1”

LD I0.1

ED

R M0.0,1 znacznik M0.0 zostanie wyzerowany w przypadku pojawienia się zmiany stanu na wejściu I0.1 z „1” na „0”

4

I0.2

I0.3

Q0.0

I0.0

I0.1



Wyszukiwarka

Podobne podstrony:
przewodnik inst4, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst3, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst1, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst5, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst6a, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst7a, Programowanie, Step7, STEP 7 MicroWin
13 14 Przewodnik po programie podstaw dydaktykiid 14580
przewodnik po programie 2012 polski 01 10 12
13 14 Przewodnik po programie podstaw dydaktykiid 14580
JavaScript i jQuery Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w V
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
Edycja zdjęć w praktyce, cz III krótki przewodnik po programach
Raspberry Pi Przewodnik dla programistow Pythona
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
JavaScript i jQuery Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w V
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
Raspberry Pi Przewodnik dla programistow Pythona rasppy
Raspberry Pi Przewodnik dla programistow Pythona 2
JavaScript i jQuery Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w V

więcej podobnych podstron