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

Podobne dokumenty
MIKROPROCESORY architektura i programowanie

Programowanie mikrokontrolerów (CISC)

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51

Lista rozkazów mikrokontrolera 8051

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

architektura komputerów w 1 1

Asembler - język maszynowy procesora

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

Opis mikrokontrolera 8051 Lista rozkazowa Timery

MIKROPROCESORY architektura i programowanie

Programowanie mikrokontrolera 8051

Zerowanie mikroprocesora

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

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

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

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

Przerwania w architekturze mikrokontrolera X51

Technika mikroprocesorowa I Wykład 4

Instytut Teleinformatyki

Politechnika Warszawska

Instytut Teleinformatyki

Hardware mikrokontrolera X51

Mikrokontroler Intel dr inż. Wiesław Madej

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

IV PROGRAMOWANIE MIKROKOMPUTERA Technika Cyfrowa 2. Wykład 4: Programowanie mikrokomputera 8051

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Pracownia elektryczno-elektroniczna klasa IV

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Technika mikroprocesorowa I Wykład 2

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Praktyka Techniki Mikroprocesorowej. Mikrokontroler ADuC834

Opis mikrokontrolera AT89C2051

6.1. Zastosowanie mikrokontrolera SAB 80C535 do sterowania silnikiem prądu stałego

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

Start Bity Bit Stop 1 Bit Par Rys. 1

TECHNIKA MIKROPROCESOROWA

architektura komputerów w 1 1

Architektura komputerów. Asembler procesorów rodziny x86

LABORATORIUM nr 1. Temat: Wstęp do mikrokontrolerów rodziny MCS-51

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

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

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

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

Architektura komputerów

CPU architektura i rejestry

Informacje ogólne o układzie 8051.

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

Pracownia elektryczno-elektroniczna klasa IV

Mikrokontrolery. Wrocław 2003

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU:

Mikrokontrolery w systemach pomiarowo sterujących

Ćwiczenie 1. (sd 2) 0x0000 0x0003 0x000B 0x0013 0x001B 0x0023

Technika mikroprocesorowa

Omówimy przykłady 8-mio bitowego licznika z wyposażenia ADuC812 (CISC 51) oraz mikrokontrolera ATMega128 należącego do rodziny AVR.

Sprzęt i architektura komputerów

organizacja procesora 8086

Ćwiczenie 1 Wędrujące światełko

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

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Instytut Teleinformatyki

Sprzęt i architektura komputerów

Struktura programu w asemblerze mikrokontrolera 8051

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Ćwiczenie 6 Komunikacja z komputerem (łącze RS232)

Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC

MIKROKOMPUTERY JEDNOUKŁADOWE RODZINY MCS - 51

Programowanie niskopoziomowe

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

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

A&Q PYTANIA I ODPOWIEDZI Z MIKROKONTROLERÓW

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Organizacja typowego mikroprocesora

Analizowanie działania układów mikroprocesorowych 311[50].O1.06

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny

MIKROKONTROLERY I MIKROPROCESORY

Lista instrukcji mikroprocesora Programowanie w assemblerze

Techniki mikroprocesorowe i systemy wbudowane

1. Operacje logiczne A B A OR B

LABORATORIUM nr 2. Temat: Obsługa wyświetlacza siedmiosegmentowego LED

Mikrokontroler 80C51

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

LISTA ROZKAZÓW i TRYBY ADRESOWANIA

Architektura systemów komputerowych

DSM51 operacje przesylania danych i operacje arytmetyczne strona 1

Mikroprocesor Operacje wejścia / wyjścia

Wstęp Architektura... 13

Architektura komputerów

Badanie modułów wewnętrznych mikrokontrolera 311[07].Z4.02

Techniki mikroprocesorowe i systemy wbudowane

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Przykładowe pytania DSP 1

Elektronika i techniki mikroprocesorowe

Transkrypt:

Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW MIKROKONTROLER 85 - wiadomości podstawowe. Schemat blokowy mikrokontrolera 85 Obszar rejestrów specjalnych F8H FFH FH B F8H E8H EFH EH ACC E7H D8H DFH DH PSW D7H C8H TCON RCAPL RCAPH TL TH CFH CH C7H B8H IP BFH BH P B7H A8H IE AFH AH P A7H 98H SCON SBUF 9FH 9H P 97H 88H TCON TMOD TL TL TH TH 8FH 8H P SP DPL DPH 87H Adresowane bitowo. Wybrane rejestry specjalne:. Rejestr stanu PSW (program status word) Rejestr adresowany bitowo.. Struktura wewnętrznej pamięci danych mikrokontrolera Intel 85 RAM dla użytkownika 7FH H FH H FH 8H 7H H FH obszar adresowany bajtowo obszar adresowany bitowo 8H 7H R7 H R CY AC F RS RS OV - P CY PSW.7 - wskaźnik przeniesienia (symbol w asemblerze C) AC PSW.6 - wskaźnik przeniesienia połówkowego F PSW.5 - wskaźnik ogólnego przeznaczenia do wykorzystania przez programistę RS PSW.4 - bit wyboru banku rejestrów RS PSW. - bit wyboru banku rejestrów OV PSW. - wskażnik nadmiaru (dla obliczeń w kodzie BCD) - PSW. - wskaźnik definiowany przez użytkownika P PSW. - wskaźnik parzystości (ustawiany sprzętowo jeżeli liczba jedynek w akumulatorze jest nieparzysta, zerowany w przeciwnym przypadku) Wybór banku rejestrów RS RS Bank rejestrów Adres H-7H 8H-FH H-7H 8H-FH. Rejestry związane systemem przerwań Mikrokontroler 85 posiada 5 źródeł przerwań: przerwania zewnętrzne, przerwanie od liczników T i T oraz od portu szeregowego. Wektory przerwań przypisane konkretnym źródłom przerwań są następujące:

Źródło przerwania Znacznik przerwania Wektor przerwania źródło zewnętrzne nr licznik T źródło zewnętrzne nr licznik T port szeregowy IE TF IE TF RI&TI H BH H BH H.. Rejestr aktywacji przerwań IE (Interrupt Enable Register) Rejestr adresowany bitowo. Jeżeli dany bit jest równy zero, związane z nim przerwanie nie jest aktywne. Nadanie bitowi wartości równej uaktywnia związane z nim przerwanie. EA - - ES ET EX ET EX EA IE.7 - globalny bit aktywacji przerwań. Jeżeli EA=, żadne przerwanie nie zostanie przyjęte, jeżeli EA=, aktywacja przerwań z danego źródła zależy od stanu indywidualnego bitu aktywacji przerwań tego źródła. ES IE.4 - indywidualny bit aktywacji przerwań z portu szeregowego ET IE. - indywidualny bit aktywacji przerwań z licznika T EX IE. - indywidualny bit aktywacji przerwań ze źródła zewnętrznego nr ET IE. - indywidualny bit aktywacji przerwań z licznika T EX IE. - indywidualny bit aktywacji przerwań ze źródła zewnętrznego nr.. Rejestr priorytetów przerwań IP (Interrupt Priority Register) W systemie przerwań mikrokontrolera 85 przewidziano poziomy priorytetu: wyższy i niższy. Jeżeli odpowiedni bit ma wartość, przerwania z nim związane ma priorytet wyższy, jeżeli wartość bitu wynosi, odpowiadające mu przerwanie ma priorytet niższy. IT TCON. - bit wyboru typu przerwania z zewnętrznego źródła nr (programowe ustawienie/zerowanie bitu powoduje, że przerwanie jest wywoływane przez opadające zbocze/niski poziom)... Rejestr sterowania trybem pracy liczników TMOD (Timer/Counter Mode Control Register) Rejestr nie jest adresowany bitowo. GATE C/T M M GATE C/T M M 4444444444 4444444444 licznik T icznik T GATE - bramkowanie licznika sygnałem zewnętrznym, jeżeli GATE= C/T - wybór funkcji: C/T= - licznik impulsów zewn., C/T= - czasomierz (zlicza impulsy zegara). M - bit wyboru trybu pracy M - bit wyboru trybu pracy M M Tryb pracy -bitowy czasomierz 6-bitowy czasomierz/licznik 8-bit. licznik/czasomierz z automatycznym przeładowaniem oba rejestry licznika T stają się niezależnymi 8-bitowymi licznikami/czasomierzami. Licznik T zatrzymany. - - - PS PT PX PT PX PS IP.4 - określa priorytet przerwania z portu szeregowego PT IP. - określa priorytet przerwania z licznika T PX IP. - określa priorytet przerwania ze źródła zewnętrznego nr PT IP. - określa priorytet przerwania z licznika T PX IP. - określa priorytet przerwania ze źródła zewnętrznego nr Aby uniknąć konfliktu w obrębie danego poziomu, została ustalona następująca kolejność:.. Rejestry związane z licznikami T i T.. Rejestr sterowania licznikami TCON (Timer/Counter Control Register) Rejestr adresowany bitowo. TF TCON.7 - TR TCON.6 - TF TCON.5 - TR TCON.4 - TF TR TF TR IE IT IE IT wskaźnik przerwania z licznika T (ustawiany i zerowany sprzętowo) bit aktywacji licznika T (ustawiany/zeroany programowo, aby uruchomić/zatrzymać licznik). wskażnik przerwania z licznika T (ustawiany i zerowany sprzętowo) bit aktywacji licznika T (ustawiany/zeroany programowo, aby uruchomić/zatrzymać licznik). IE TCON. - wskaźnik przerwania z zewnętrznego źródła nr (ustawiany i zerowany sprzętowo). IT TCON. - bit wyboru typu przerwania z zewnętrznego źródła nr (programowe ustawienie/zerowanie bitu powoduje, że przerwanie jest wywoływane przez opadające zbocze/niski poziom). IE TCON. - wskaźnik przerwania z zewnętrznego źródła nr (ustawiany i zerowany sprzętowo).

SCON. (TI) - znacznik przerwania związanego z transmisją (zerowany programowo) SCON. (RI) - znacznik przerwania związanego z odbiorem (zerowany programowo) SM SM Tryb pracy Częstotliwość przesył synchroniczny przesył asynchroniczny (8 bitów) przesył asynchroniczny (9 bitów) przesył asynchroniczny (9 bitów) f osc / regulowana f osc / lub f osc /64 regulowana Częstotliwość w trybie : f SMOD = 64 f osc Częstotliwość w trybach i jest określona przez zawartość rejestru TH: SMOD fosc f = [ 56 ( TH) ] Licznik T zwykle pracuje wówczas jako czasomierz w trybie (licznik 8-bitowy z automatycznym przeładowaniem)..4.. Rejestr PCON Bit SMOD znajduje się w rejestrze PCON (adres 87H): Rejestr PCON nie jest adresowany bitowo. SMOD - - - GF GF PD IDL SMOD - bit podwojenia częstotliwości przesyłu danych w trybach, i portu szeregowego GF - wskaźnik (flaga) ogólnego przeznaczenia GF - wskaźnik (flaga) ogólnego przeznaczenia PD - bit aktywacji trybu POWER DOWN (tryb pracy z obniżonym poborem mocy) IDL - bit aktywacji trybu IDLE (tryb pracy z obniżonym poborem mocy). 4 Rejestry związane z portem szeregowym Port szeregowy jest w pełni dwukierunkowy (full duplex). Odbiór danych jest buforowany, tzn. można rozpocząć odbiór drugiego bajtu zanim jego poprzednik zostanie odczytany z rejestru odbiornika (jeżeli jednak w momencie gdy zakończył się odbiór drugiego bajtu, poprzedni nadal nie został odczytany, jeden bajt zostanie bezpowrotnie stracony). Rejestr nadajnika i odbiornika są dostępne jako rejestr specjalny SBUF, chociaż w rzeczywistości są to dwa odrębne rejestry (zapis do SBUF powoduje załadowanie wartości do rejestru nadajnika, natomiast odczyt z SBUF to odczyt z rejestru odbiornika)..4. Rejestr SCON sterujący pracą portu szeregowego Rejestr SCON dostępny bitowo SM SM SM REN TB8 RB8 TI RI SCON.7 (SM) - wybór trybu pracy portu szeregowego SCON.6 (SM) - wybór trybu pracy portu szeregowego SCON.5 (SM) - jeżeli SM=, to przerwanie związane z odebraniem znaku zgłasza się tylko wtedy, gdy RB8=. SCON.4 (REN) - bit odblokowania odbioru (REN= odblokowuje odbiór) SCON. (TB8) - 9-ty bit danych transmitowany w trybie lub, wartość nadawana programowo SCON. (RB8) - 9-ty bit danych odebrany w trybie lub, albo bit stopu w trybie lub 4. Lista rozkazowa oznaczenia: A - akumulator C - wskaźnik przeniesienia DPTR - wskaźnik danych, rejestr 6-bitowy Rn - rejestr R-R7 z aktywnego banku rejestrów direct - 8-bitowy adres lokacji w wewnętrznej pamięci danych (adresowanie bezpośrednie) @Ri - 8-bitowa lokacja w wewnętrzej pamięci danych dostępna pośrednio poprzez zawartość rejstru R lub R (adresowanie rejestrow pośrednie) #n - 8-bitowa stała (adresowanie natychmiastowe) #nn - 6-bitowa stała (adresowanie natychmiastowe) bit - adres bitu dostępnego bezpośrednio (z obszaru H-FH wewnętrznej pamięci danych lub z niektórych rejestrów specjalnych) /bit - negacja zawartości bitu o adresie "bit" rel - przesunięcie 8-bitowe o wartościach zawartych w przedziale <-8, 7> etykieta - adres -bitowy lub 6-bitowy

Tryby adresowania wewnętrznej pamięci danych: a) Adresowanie bezpośrednie (możliwe dla całego obszaru) np. instrukcja: mov A, H (A) (H) oznacza, że do akumulatora podstawiana jest zawartość komórki pamięci o adresie H. UWAGA!!! Jeżeli trzeba zastosować adresowanie bezpośrednie w stosunku do akumulatora, to występuje on jako ACC, np. instrukcje push ACC i pop ACC. b) Adresowanie natychmiastowe, np. instrukcja: mov A, #H (A) H oznacza, że do akumulatora podstawiana jest wartość H. c) Adresowanie przez nazwę rejestru, dotyczy akumulatora, rejestru DPTR oraz rejestrów R-R7 z wybranego banku rejestrów, np. instrukcja: mov A, R (A) (R) oznacza, że do akumulatora jest podstawiana zawartość rejestru R d) Adresowanie rejestrowe pośrednie (dla obszaru H-7FH), np. instrukcja mov A, @R (A) ((R)) oznacza, że do akumulatora wpisywana jest zawartość komórki pamięci, której adres znajduje się w rejestrze R. e) Adresowanie bezpośrednie bitów (dla obszaru H-FH oraz rejestrów specjalnych, adresowanych bitowo np. instrukcja: mov C, ACC.7 (C) (ACC.7) oznacza, że do wskaźnika przeniesienia C (PSW.7) wpisywana jest wartość najstarszego bitu akumulatora Inne przykłady adresowania bezpośredniego bitów: mov TCON.5, C jb H., skacz jnb P., pętla 4. Operacje arytmetyczne Jednym z argumentów dwuargumentowych operacji arytmetycznych jest zawsze akumulator, wynik operacji również jest umieszczony w akumulatorze. Instrukcja ADD A, Rn ADD A, direct ADD A, @Ri ADD A, #n ADDC A, Rn ADDC A, direct ADDC A, @Ri ADDC A, #n SUBB A, Rn SUBB A, direct SUBB A, @Ri SUBB A, #n INC A INC Rn INC direct INC @Ri INC DPTR Długość Dodawanie bez przeniesienia Dodawanie z przeniesieniem Odejmowanie (zawsze z pożyczką) Inkrementacja (zwiększanie o ) Instrukcja Długość DEC A Dekrementacja DEC Rn (zmniejszanie o ) DEC direct DEC @Ri MUL AB 4 Mnożenie A B (młodszy bajt wyniku w A, starszy w B) DIV AB 4 Dzielenie całkowite A/B (wynik dzielenia w A, reszta dzielenia w B) DA A Korekcja dziesiętna (dla kodu BCD) 4. Operacje logiczne Instrukcja Długość ANL A, Rn iloczyn logiczny (wynik w pierwszym argumencie) ANL A, direct ANL A, @Ri ANL A, #n ANL direct, A ANL direct, #n ORL A, Rn suma logiczna (wynik w pierwszym argumencie) ORL A, direct ORL A, @Ri ORL A, #n ORL direct, A ORL direct, #n XRL A, Rn suma rozłączna - exclusive-or (wynik w pierwszym XRL A, direct argumencie) XRL A, @Ri XRL A, #n XRL direct, A XRL direct, #n CLR A zerowanie akumulatora CPL A negacja poszczególnych bitów akumulatora RL A rotacja akumulatora w lewo RLC A rotacja w lewo poprzez bit przeniesienia RR A rotacja akumulatora w prawo RRC A rotacja w prawo poprzez bit przeniesienia SWAP A zamiana połówek akumulatora 4

4. Przesłania danych Instrukcja Długość MOV A, Rn przesłanie w obrębie wewnętrznej pamięci danych MOV A, direct (pierwszy argument jest celem, drugi źródłem) MOV A,@Ri MOV A,#n MOV Rn, A MOV Rn, direct MOV Rn, #n MOV direct, A MOV direct, Rn MOV direct, direct MOV direct, @Ri MOV direct, #n MOV @Ri, A MOV @Ri, direct MOV @Ri, #n MOV DPTR, #nn MOVC A, @A+DPTR przesłania pomiędzy pamięcią programu i akumulatorem MOVC A, @A+PC MOVX A, @DPTR przesłania z /do zewnętrznej pamięci danych MOVX A, @Ri MOVX @DPTR, A MOVX @Ri, A PUSH direct położenie na stos POP direct zdjęcie ze stosu XCH A,Rn wymiana zawartości między rejestrami XCH A,direct XCH A,@Ri XCHD A, @Ri wymiana młodszej cyfry 4.4 Operacje na bitach Instrukcja Długość CLR C zerowanie wskaźnia przeniesienia C CLR bit zerowanie bitu SETB C ustawianie wskaźnia przeniesienia C SETB bit ustawianie bitu CPL C negacja wskaźnia przeniesienia C CPL bit negacja bitu ANL C,bit iloczyn logiczny ANL C, /bit ORL C,bit suma logiczna ORL C, /bit MOV C, bit przesłanie MOV bit, C JC rel skacz, jeżeli C= JNC rel skacz, jeżeli C= JB bit, rel skacz, jeżeli bit= JNB bit, rel skacz, jeżeli bit= JBC bit, rel skacz, jeżeli bit=i wyzeruj bit 5 4.5 Skoki w programie Instrukcja Długość *) CALL etykieta - - wywołanie procedury etykieta RET powrót z procedury RETI powrót z procedury obsługi przerwania *) JMP etykieta - - skok bezwarunkowy JZ rel skok warunkowy, jeżeli A= JNZ rel skok warunkowy, jeżeli A CJNE A, direct, rel porównaj dwa pierwsze argumenty i skacz jeżeli nie są CJNE A, #n, rel sobie równe CJNE Rn, #n, rel CJNE @Ri, #n, rel DJNZ Rn, rel zdekrementuj pierwszy argument i skacz, jeżeli wynik DJNZ direct, rel różny od zera NOP nic nie rób 5. Komunikacja z zewnętrzną pamięcią danych 6. Komunikacja z zewnętrzną pamięcią programu *) W rzeczywistoœci istnieje więcej wariantów tej instrukcji. W zależności od sytuacji asembler przetłumaczy formę podaną w tabeli na odpowiedni wariant.

6