Architektura systemów komputerowych

Podobne dokumenty
Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51.

Lista rozkazów mikrokontrolera 8051

Zerowanie mikroprocesora

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Programowanie mikrokontrolerów (CISC)

MIKROPROCESORY architektura i programowanie

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Technika Mikroprocesorowa

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Programowanie mikrokontrolera 8051

Pracownia elektryczno-elektroniczna klasa IV

Pracownia elektryczno-elektroniczna klasa IV

2. Architektura mikrokontrolerów PIC16F8x... 13

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec)

Hardware mikrokontrolera X51

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Instytut Teleinformatyki

Wyświetlacze graficzne : 162x64 z kontrolerem S1D x60 z kontrolerem S1D15710

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Instytut Teleinformatyki

Mikrokontroler 80C51

architektura komputerów w 1 1

Programowanie Mikrokontrolerów

MIKROPROCESORY architektura i programowanie

Programowanie w językach asemblera i C

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Organizacja typowego mikroprocesora

Pracownia elektryczno-elektroniczna klasa IV

Opis procedur asemblera AVR

TECHNIKA MIKROPROCESOROWA

Struktura programu w asemblerze mikrokontrolera 8051

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Ćwiczenie 7 Matryca RGB

Asembler - język maszynowy procesora

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Opis układów wykorzystanych w aplikacji

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

SORTER DO BILONU. Glover HCS-31 INSTRUKCJA OBSŁUGI

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Systemy mikroprocesorowe. Literatura podręcznikowa. Przedmioty związane. Przykłady systemów wbudowanych. Pojęcie systemu wbudowanego embedded system

Architektura systemów komputerowych

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Moduł licznika położenia LP 2.

Przerwania w architekturze mikrokontrolera X51

SML3 październik 2008

MIKROKONTROLERY I MIKROPROCESORY

Instytut Teleinformatyki

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

UKŁADY CYFROWE. Układ kombinacyjny

Technika mikroprocesorowa I Wykład 2

Przykładowe pytania DSP 1

Technika mikroprocesorowa I Wykład 4

Temat: Pamięci. Programowalne struktury logiczne.

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51

Architektura komputerów

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

Zwory na płycie z łączem szeregowym ustawienie zworek dla programowania.

Politechnika Warszawska

DSM-51 v2 Dydaktyczny System Mikroprocesorowy. DSM51ASS (Asembler 8051) wersja 1.01

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

Instytut Teleinformatyki

Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel

Architektura systemów komputerowych

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

Ćw. 7: Układy sekwencyjne

Programowanie mikrokontrolerów. 8 listopada 2007

Język FBD w systemie Concept

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Instrukcja do oprogramowania ENAP DEC-1

Architektura komputerów. Układy wejścia-wyjścia komputera

WPROWADZENIE Mikrosterownik mikrokontrolery

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Techniki mikroprocesorowe i systemy wbudowane

Dodatek D. Układ współpracy z klawiaturą i wyświetlaczem 8279

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052)

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Pamięci EEPROM w systemach mikroprocesorowych, część 2

Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny

Wstęp Architektura... 13

SML3 październik

Architektura mikrokontrolera MCS51

Transkrypt:

Architektura systemów komputerowych Sławomir Mamica Wykład 6: Obsługa urządzeń zewnętrznych http://main5.amu.edu.pl/~zfp/sm/home.html

W poprzednim odcinku Układy czasowo-licznikowe 8051: Licznik (impulsy z linii zewnętrznej) / Timer (cykle maszynowe) Liczy w górę aż do przepełnienia 4 tryby pracy Przerwania od timerów Transmisja szeregowa w 8051: Typy transmisji szeregowej (synchroniczna, asynchroniczna) Prędkość transmisji (body, bps) Tryby transmisji danych (simplex, (full)duplex, pół(half)-duplex) Sterownik transmisji szeregowej 8051 (kluczowe rejestry i linie, tryby pracy) Rozkazy 8051 (cz. 2) Zadania domowe: Problemy? Pytania?

(Suplement) Skoki warunkowe od bitu (względne): JC (JNC) adres8 skocz pod adres8 jeśli C (nie C) JB (JNB) adres, adres8 skocz pod adres8 jeśli bit (nie bit) o adresie adres JBC adres, adres8 jak JB + zeruj bit o adresie adres

Plan a) Porty komunikacja ze światem zewnętrznym b) Wyświetlacz siedmiosegmentowy c) Klawiatura przeglądana sekwencyjnie d) Klawiatura matrycowa e) Wyświetlacz LCD

Porty (równoległe) http://main5.amu.edu.pl/~zfp/sm/home.html

Końcówki 8051 VCC - napięcie zasilania VSS (GND) - masa XTAL1, XTAL2 - podłączenie rezonatora kwarcowego RST - Reset EA (VPP) - dostęp do zewnętrznej pamięci programu (External Access Enable ) PSEN - sygnał sterujący odczytu pamięci programu ALE - sygnał sterujący zatrzaskiem adresu (Address Latch Enable) Porty: P0.. P3

Porty 8051 Większość mikrokontrolerów rodziny 8051 jest wyposażona w cztery porty po 8 linii. Do obsługi portów służą rejestry specjalne P0, P1, P2, P3. Wystawienie 0 lub 1 na linię portu odbywa się przez wpisanie zadanej wartości do właściwego bitu odpowiedniego rejestru. Odczyt danych z wymienionych rejestrów jest równoważny pobraniu danych z odpowiedniego portu. Na końcówkach portów znajdują się przerzutniki, pamiętające ostatnio zapisane dane. Odczyt danych z portu może przebiegać w dwojaki sposób: (1) odczyt stanu końcówki portu uzyskujemy informację o stanie zewnętrznych linii podłączonych do portu (odczyt sygnału zewnętrznego) (2) odczyt stanu zatrzaśniętego w przerzutniku ostatnio zapisane dane (odczyt sygnału wewnętrznego). Aby prawidłowo odczytać sygnał zewnętrzny należy uprzednio wpisać do portu (przerzutników) jedynki.

Rozkazy RMW Rozkazy typu Odczyt-Modyfikacja- Zapis (RMW, Read-Modify-Write). Bity rejestru odczytywane są przez bufory dołączone do wyjścia Q przerzutnika, ich wartość jest przekazywana do arytmometru, gdzie następuje wykonanie operacji, a następnie nowa wartość jest wprowadzana do przerzutnika. Rozkazy RMW: ANL, ORL, XRL, JBC, skocz jeśli bit =1 i zeruj bit CPL Px.y negacja bitu INC Px- zwiększ o 1 DEC Px - zmniejsz o 1 DJNZ Px,skok MOV Px.y, C CLR Px.y SETB Px.y

Rola portów w 8051 Ogólnie IO mikrokontrolera (dwukierunkowe) + funkcje specjale: P0 podczas dostępu do pamięci zewnętrznej pełni zamienną rolę (multipleksowanie) magistrali adresów (młodszy bajt adresu, A0-A7) oraz magistrali danych (D0-D7). P1 w niektórych rozbudowanych wersjach 8051 linie portu P1 pełnią dodatkowe funkcje. P2 podczas dostępu do pamięci zewnętrznej pełni rolę bardziej znaczącej części szyny adresowej (A8-A15). P3 w podstawowym trybie pracy jako wejście/wyjście działanie portu P3 nie różni się w niczym od działania portów P1 i P2, ale wszystkie linie P3 pełnią dodatkowe funkcje: P3.0: RxD, P3.1: TxD, P3.2: INT0, P3.3: INT1, P3.4: T0, P3.5: T1, P3.6: WR (sygnał sterujący zapisem do pamięci danych), P3.7: RD (sygnał sterujący odczytem z pamięci danych)

Port 1 budowa końcówki Tranzystor sterowany wyjściem (zanegowanym) zatrzasku (przerzutnik typu D)

Port 1 - działanie Do przerzutnika wpisujemy jedynkę:!q = 0 więc kanał tranzystora będzie zablokowany (nie będzie zwarcia do masy) końcówka portu poprzez rezystor pociągający uzyska wysoki potencjał Do przerzutnika wpisujemy zero:!q = 1 więc kanał tranzystora drożny zwarcie końcówki portu do masy. Aby prawidłowo odczytać stan końcówek portu należy uprzednio wpisać do portu (przerzutników) jedynki. (Bo inaczej końcówka jest zwarta do masy.) (Dlatego po restarcie mamy 1 w portach.)

Port 3 Podobnie jak P1 + funkcja dodatkowa (alternatywna)

Port 2 Podobnie jak P1, ale przełączanie na adres

Port 0

Linie szczególne w DSM-51 P1.0 COM2 wyjście P1.1 sterownik przerwań P1.2 wyjście izolowane O1 P1.3 wyjście izolowane O2 P1.4 wachdog P1.5 brzęczyk P1.6 wyświetlacz 7-segmentowy P1.7 dioda TEST P3.0 COM1 wejście P3.1 COM1 wyjście P3.2 COM2 wejście / sterownik przerwań P3.3 sterownik przerwań P3.4 wejście izolowane I1 P3.5 klawiatura przeglądana sekwencyjnie

Wyświetlacz siedmiosegmentowy http://main5.amu.edu.pl/~zfp/sm/home.html

Wyświetlacz 7segmentowy Wskaźnik Segment

Wyświetlacz 7seg. w DSM-51

Sterowanie sekwencyjne Sterowanie wszystkimi segmentami wyświetlacza niezależnie wymaga 48 linii danych (6 wskaźników po 8 segmentów). Wyjście: sterowanie dynamiczne (sekwencyjne): Dwie grupy linii sterujących: wybór aktywnych wyświetlaczy oraz wybór aktywnych segmentów.

Sterowanie sekwencyjne Oczywiście, układ wybranych segmentów jest taki sam dla wszystkich wskaźników. Czyli każdy wskaźnik wyświetlacza wyświetla to samo? Trochę bez sensu. Co zrobićżeby wyświetlać na każdym wskaźniku co innego? Wyświetlać sekwencyjnie, czyli w danej chwili świeci tylko jeden wskaźnik, ale jest on zmieniany (w następnej chwili świeci następny). Jeśli proces ten powtarza się cyklicznie z odpowiednio dużą częstotliwością, to bezwładność ludzkiego oka załatwi resztę.

Konkrety, albo algorytm Na stosunkowo krótkie przedziały czasu (około 1ms) włączane są pojedynczo kolejne wskaźniki. Przełączeniu aktywnego wyświetlacza towarzyszy wybór odpowiedniego układ segmentów. Czyli każdy wskaźnik może wyświetlać co innego! Przy odpowiednio szybkim cyklicznym wyświetlaniu obserwator ma wrażenie jednoczesnego świecenia wszystkich wyświetlaczy. Rozwiązanie to ma dodatkową zaletę ogranicza pobór prądu przez blok wskaźników. (W przeciwieństwie do wyświetlacza statycznego w danej chwili czasu, włączony jest tylko jeden wyświetlacz.)

Kluczowe rejestry CSDS (adres 00111xxx) bufor wyboru wskaźnika CSDB (adres 00110xxx) bufor wyboru segmentu (bufor danych) P1.6 wł. / wył. wyświetlacz (0 włącza, 1 wyłącza) CSDS CSDB

Przykład 1 Problem 1: Cykliczna zmiana wskaźnika Jak to zorganizować? Oczywiście, obrót. Problem 2: Cykliczna zmiana układu segmentów Jak to zorganizować? Adresowanie pośrednie + inkrementacja adresu W kolejnych komórkach pamięci sekwencje segmentów (tablica jednowymiarowa) Czyli pętla (ale z restartem)

START: LJMP ORG START 100H Przykład 1 (c.d.) MOV 0FH, #01001001B MOV 0EH, #00110011B MOV 0DH, #01110110B ; itd. RESTART: OBROT: MOV ; itd. ; tu wyświetlanie CLR P1.6 RRC JNC SJMP A, #0010 0000B A OBROT RESTART Ustawienia wstępne wszystko to, co się nie będzie zmieniać W szczególności to, co ma być wyświetlane w kolejnych bajtach dla kolejnych wskaźników Pętla bezwarunkowa ustawienia dla pętli warunkowej Nie zapomnij włączyć wyświetlacza Zmiana wybranego wskaźnika Skocz jeśli C, czyli pętla nie potrzebuje dodatkowego licznika

Przykład 1 (c.d.) Problem 3: Bufory wyświetlacza są w pamięci zewnętrznej Czyli rozkaz MOVX Więc tylko dwie możliwości: MOVX @Ri, A lub MOVX @DPTR, A Tak więc wysłanie danych do wyświetlacza psuje ACC (jego zawartość trzeba gdzieś zapamiętać) Pomocne są tutaj stałe: NAZWA EQU WARTOŚĆ (nazwa stałej musi rozpoczynać linię, podobnie ja etykieta)

Przykład 1 (c.d.) ; wybór wskaźnika WSKAZNIK EQU 30H ; MOV WSKAZNIK, #32 ; MOV MOV MOVX RRC MOV R0, #CSDS A, WSKAZNIK @R0, A A WSKAZNIK, A Deklaracja stałej (to będzie adres) Wybrany wskaźnik pod adres WSKAZNIK Adres odpowiedniego bufora do R0 Zawartość bajtu o adresie WSKAZNIK do ACC Zawartość ACC pod adres w R0 Obrócony ACC z powrotem pod adres WSKAZNIK

Przykład 1 (c.d.) TRESC EQU ; treść do wyświetlania ; MOV MOV MOV ; MOV MOV MOV MOVX 31H TRESC, #0100 1001B TRESC+1, #0011 1001B TRESC+2, #0000 1110B R0, #CSDB R1, #TRESC A, @R1 @R0, A Deklaracja stałej (to będzie adres początkowy) W kolejnych bajtach to, co ma być wyświetlane na kolejnych wskaźnikach Adres odpowiedniego bufora do R0 Adres danych do wyświetlenia do R1 (to można inkrementować w pętli) Dane spod adresu TRESC do ACC Zawartość ACC pod adres w R0

Przykład 1 (c.d.) prog06a.asm WSKAZNIK EQU 30H TRESC EQU 31H LJMP START START: ORG MOV MOV MOV ; itd. 100H Deklaracje stałych TRESC + 0, # 0100 1001 B TRESC + 1, # 0011 1001 B TRESC + 2, # 0000 1110 B Ustawienia programu (to się nie zmienia w czasie pracy programu) RESTART: MOV R1, # TRESC + 5 MOV WSKAZNIK, # 0010 0000 B CLR C OBROT: ; tu wyświetlanie Wartości początkowe dla pętli ( # 0000 0100 B ) zaczynamy od TRESC+2

Przykład 1 (c.d.) prog06a.asm (c.d.) OBROT: SETB P1.6 MOV R0, #CSDB MOV A, @R1 MOVX @R0, A MOV R0, #CSDS MOV A, WSKAZNIK MOVX @R0, A CLR P1.6 RRC A MOV WSKAZNIK, A DEC R1 JNC OBROT SJMP RESTART Wyłącz wyświetlacz na czas zmian Załaduj bufor danych Załaduj bufor wyboru wskaźnika Nie zapomnij włączyć wyświetlacza Aktualizacja liczników Kolejny wskaźnik, albo restart pętli Emulator

Wyświetlanie zmiennych Problem 4: Jak (efektywnie) zmieniać to, co jest wyświetlane na danym wskaźniku? (jak na razie to na wskaźniku np. 1 cały czas mamy to samo) Rozwiązanie: Zastosować matrycę znaków (stronę kodową).

Klawiatura przeglądana sekwencyjnie http://main5.amu.edu.pl/~zfp/sm/home.html

Klawiatura przeglądana sekwencyjnie

Idea Tylko jedna linia (P3.5) nie rozróżnia klawiszy (naciśnięcie dowolnego klawisza generuje taki sam sygnał) ale Reaguje tylko na te klawisze, które są wybrane w CSDS Cykliczne przeglądanie kolejnych klawiszy (podobnie jak cykliczne wyświetlanie na kolejnych wskaźnikach wyświetlacza siedmiosegmentowego) Oczywiście, można to zrobić przy okazji wyświetlania na wyświetlaczu siedmiosegmentowym

Przykład 1 (upgreat) prog06a.asm ( software version 7.0 ) OBROT: DALEJ: DEC JB R1 P3.5, KLAWIATURA JC OBROT SJMP RESTART KLAWIATURA: ; tu odczytać CSDS ; i zorganizować reakcję na klawisze SJMP DALEJ Jedynka (odczyt sygnału zewnętrznego!) na P3.5 znaczy naciśnięty wtedy skacz Odczyt klawiatury po zmianie liczników pętli nie musimy się nimi przejmować Informacja o tym, który klawisz naciśnięty w CSDS Powrót do pętli zmieniającej CSDS (i CSDB)

Sprężystość styków klawiatury Problem 5: Drgania styków klawiatury Styki klawiatury mają pewną sprężystość i po naciśnięciu klawisz odskakuje Tak więc przy jednokrotnym naciśnięciu będzie on zliczony kilka razy Rozwiązanie: Jeśli klawisz naciśnięty, to powtórz odczyt po pewnym czasie

Klawiatura matrycowa http://main5.amu.edu.pl/~zfp/sm/home.html

Idea Klawiaturę matrycową stanowi grupa przycisków zorganizowanych w wiersze i kolumny (czyli matrycę) Połączenie większej ilości klawiszy w matrycę pozwala na zaoszczędzenie wyprowadzeń mikrokontrolera Obsługa polega na uaktywnieniu (ustawieniu odpowiedniego poziomu) tylko jednej kolumny i odczycie stanu wszystkich wierszy. Stan danego wiersza wskazuje na wciśnięcie bądź zwolnienie określonego klawisza w aktywnej kolumnie.

Klawiatura matrycowa DSM-51 16 klawiszy połączonych w dwie ośmiowierszowe kolumny. Klawiaturze przypisano dwa adresy oznaczone CSKB0 i CSKB1. Mają one przeciwne stany dwóch najmłodszych bitów: 0010 0001, 0010 0010 dzięki czemu dwie linie adresowe wybierają kolumnę klawiatury.

Przypisanie klawiszy

Przykład

Wyświetlacz LCD http://main5.amu.edu.pl/~zfp/sm/home.html

Zestaw matryc W systemie DSM-51 zastosowano alfanumeryczny wyświetlacz ciekłokrystaliczny posiadający dwie szesnastoznakowe linie. W wyświetlaczu zintegrowany jest sterownik HD4480. Pozwala on sterować wyświetlaczami zawierającymi do 40 znaków w każdej linii. (Czyli 24 znaki z każdej linii sterownika są niewidoczne.) Każdy znak alfanumeryczny wyświetlany jest na matrycy liczącej 35 punktów (8 rzędów, 5 kolumn).

Generator znaków Pamięć generatora znaków składa się pamięci ROM, w której zapisano wzorce 192 znaków alfanumerycznych oraz pamięci typu RAM pozwalającej przechowywać wzorce 8 znaków zdefiniowanych programowo. Na każdy znak przeznaczono osiem bajtów pamięci generatora (8 rzędów w matrycy znaku). Istotny jest stan pięciu najmłodszych bitów (pięć kolumn matrycy).

Obsługa w DSM-51 Odczytać stan LCDRC.7 jeśli 1 to sterownik LCD jest zajęty Jeśli wolny to wpisz nowe dane do LCDWD lub instrukcję do LCDWC

Podprogramy w DSM-51 Zestaw podprogramów zapisanych w pamięci EPROM systemu DSM-51 Użycie: LCALL NAZWA_PODPROGRAMU

Podprogramy w DSM-51 (c.d.)

Uwagi do Emulatora W emulatorze nie zorganizowano zewnętrznej pamięci danych (z wyjątkiem nielicznych rejestrów związanych z niektórymi urządzeniami zewnętrznymi). Nie posiada on również zewnętrznej pamięci programu typu EPROM. W związku z tym w przypadku wywołania gotowych procedur dostępnych w EPROMie systemu DSM-51 pojawia się jedynie komunikat informujący o tym, jaka procedura została wywołana. W przypadku procedur: WRITE_DATA, WRITE_HEX, WRITE_INSTR, LCD_INIT, LCD_OFF, LCD_CLR, WAIT_ENTER, WAIT_ENTER_NW, TEST_ENTER, BCD_HEX, HEX_BCD, MUL_2_2, MUL_3_1, DIV_2_1 oraz DIV_4_2 dodatkowo w komunikacie zawarta jest informacja o wyniku działania procedury. Wywołanie procedury DELAY_US, DELAY_MS lub DELAY_100MS nie powoduje wyświetlania komunikatu, lecz zatrzymanie pracy emulatora na określoną liczbę milisekund.

Uwagi do Emulatora (c.d.) Procedury WAIT_ENTER i WAIT_ENTER_NW w reakcji na klawisz Enter, oprócz wyświetlania komunikatu, zerują najstarszy bit rejestru CSKB1 odzwierciedlającego stan klawiatury matrycowej. Procedura TEST_ENTER ustawia lub zeruje flagę C w zależności od stanu najstarszego bitu rejestru CSKB1. Procedury BCD_HEX oraz HEX_BCD zamieniają liczbę znajdującą się pod adresem wskazanym w R0 odpowiednio z zapisu BCD na szesnastkowy i odwrotnie. Procedury MUL_2_2, MUL_3_1, DIV_2_1 oraz DIV_4_2 wykonują działania mnożenia i dzielenia na danych znajdujących się pod adresem wskazanym w R0 i odpowiednich dla danej procedury rejestrach specjalnych.

Pytania?

W następnym odcinku Magistrala (szyna) systemowa Wewnętrzny przepływ sygnałów 8051 Magistrala 8051 Magistrala DSM-51 Proszę pamiętać o zadaniach domowych!

I to by było na tyle Dziękuję za uwagę!