architektura komputerów w 1 1

Podobne dokumenty
architektura komputerów w 1 1

MIKROPROCESORY architektura i programowanie

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51

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

Programowanie mikrokontrolerów (CISC)

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

Lista rozkazów mikrokontrolera 8051

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

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

Asembler - język maszynowy procesora

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

CPU architektura i rejestry

Instytut Teleinformatyki

Politechnika Warszawska

Instytut Teleinformatyki

Mikrokontroler Intel dr inż. Wiesław Madej

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Hardware mikrokontrolera X51

Technika mikroprocesorowa I Wykład 4

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

Programowanie mikrokontrolera 8051

Architektura komputerów

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Pracownia elektryczno-elektroniczna klasa IV

Przerwania w architekturze mikrokontrolera X51

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

MIKROKONTROLERY I MIKROPROCESORY

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Instytut Teleinformatyki

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

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

Pracownia elektryczno-elektroniczna klasa IV

MIKROPROCESORY architektura i programowanie

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

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

Technika mikroprocesorowa I Wykład 2

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

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

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

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

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

Architektura komputerów

Organizacja typowego mikroprocesora

MIKROKOMPUTERY JEDNOUKŁADOWE RODZINY MCS - 51

Opis mikrokontrolera AT89C2051

Zerowanie mikroprocesora

Informacje ogólne o układzie 8051.

Mikrokontrolery. Wrocław 2003

Rozszerzalne kody operacji (przykład)

Sprzęt i architektura komputerów

A&Q PYTANIA I ODPOWIEDZI Z MIKROKONTROLERÓW

Praktyka Techniki Mikroprocesorowej. Mikrokontroler ADuC834

Struktura i działanie jednostki centralnej

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Start Bity Bit Stop 1 Bit Par Rys. 1

Kompilator języka C na procesor 8051 RC51 implementacja

TECHNIKA MIKROPROCESOROWA

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Mikrokontroler 80C51

Mikrokontrolery 8 bit - wprowadzenie

organizacja procesora 8086

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

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

Programowanie niskopoziomowe

Struktura programu w asemblerze mikrokontrolera 8051

ARCHITEKTURA PROCESORA,

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

Opis mikrokontrolera 8051 Lista rozkazowa Timery

LISTA ROZKAZÓW i TRYBY ADRESOWANIA

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

Architektura komputerów

Sprzęt i architektura komputerów

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

Architektura komputerów. Asembler procesorów rodziny x86

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

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Programowanie w językach asemblera i C

SYSTEM PRZERWA Ń MCS 51

Programowanie w asemblerze Środowiska 64-bitowe

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

ZAPOZNANIE SIĘ Z ZESTAWEM DYDAKTYCZNYM ZD537, OPROGRAMOWANIEM µvision 2 ORAZ OPERACJE NA PAMIĘCIACH

Technika mikroprocesorowa

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

Logiczny model komputera i działanie procesora. Część 1.

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

SYSTEM MIKROPROCESOROWY

SAIA PROGRAMOWALNY STEROWNIK PLC

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

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

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

2. Architektura mikrokontrolerów PIC16F8x... 13

J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

LABORATORIUM. TIMERY w mikrokontrolerach MCS 51

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Architektura typu Single-Cycle

Transkrypt:

8051 Port P2 Port P3 Transm. szeregowa Timery T0, T1 Układ przerwań Rejestr DPTR Licznik rozkazów Pamięć programu Port P0 Port P1 PSW ALU Rejestr B SFR akumulator 8051 STRUKTURA architektura komputerów w 1 1

128 bajtów górnego obszaru Obszar rejestrów SFR 128 bajtów dolnego obszaru 00h 8051 WEWNĘTRZNA PAMIĘĆ DANYCH Obszar pamięci wewnętrznej Obszar pamięci zewnętrznej 128 bajtów górnego obszaru Obszar rejestrów SFR Zewnętrzna pamięć programu Zewnętrzna pamięć danych 00h 128 bajtów dolnego obszaru 8051 PAMIĘĆ architektura komputerów w 1 2

LICZNIK ROZKAZÓW (16 bitów) rejestr DPTR (16 bitów) Obszar pamięci wewnętrznej Obszar pamięci zewnętrznej Bezpośrednio (8 bitowy adres w rozkazie) Rejestry R0 lub R1 (8 bitów) 128 bajtów górnego obszaru Obszar rejestrów SFR Zewnętrzna pamięć programu Zewnętrzna pamięć danych 00h 128 bajtów dolnego obszaru 8051 ADRESACJA PAMIĘCI 30h 2Fh 20h 1Fh 18h 17h 10h 0Fh 8h 7h 0h R7 R2 R1 RO RB3 RB2 RB1 80 bajtów pamięci ogólnego przeznaczenia Obszar pamięci adresowanej bitowo REJESTRY OGÓLNEGO PRZEZNACZENIA Wybór banku poprzez bity RS1, RS2 rejestru PSW 8051 DOLNY OBSZAR PAMIECI WEWNETRZNEJ architektura komputerów w 1 3

30h 2Fh 81h 23H Rejestr SP 20h 1Fh 18h 17h 10h 0Fh 8h 7h R7 RB3 RB2 RB1 Wewnętrzna pamięć kontrolera Wskaźnik stosu wskazuje adres wierzchołka 0h R2 R1 RO 8051 STOS 30h 2Fh 81h 23H Rejestr SP 20h 1Fh 18h 17h 10h 0Fh 8h 7h R7 RB3 RB2 RB1 Wewnętrzna pamięć kontrolera Wskaźnik stosu wskazuje adres wierzchołka Po resecie SP jest ustawiany na 7H 0h R2 R1 RO 8051 STOS architektura komputerów w 1 4

128 bajtów pamięci ogólnego przeznaczenia 8051 GÓRNY OBSZAR PAMIECI WEWNETRZNEJ 240 (0F0H) B Rejestr ogólnego przeznaczenia 224 (0E0H) ACC Akumulator 208 (0D0H) PSW Słowo stanu procesora 184 (0B8H) IP Rejestr priorytetów przerwań 176 (0B0H) P3 Port we/wy 3 168 (0A8H) IE Rejestr maski przerwań 160 (0A0H) P2 Port we/wy 2 153 (99H) SBUF Rejestr danych układu transmisji szeregowej 152 (98H) SCON Rejestr sterujący układu transmisji szeregowej 144 (90H) P1 Port we/wy 1 141 (8DH) TH1 Rejestr danych układu czasowego 1 (bardziej znaczący) 140 (8CH) TH0 Rejestr danych układu czasowego 0 (bardziej znaczący) 139 (8BH) TL1 Rejestr danych układu czasowego 1 (mniej znaczący) 138 (8AH) TL0 Rejestr danych układu czasowego 0 (mniej znaczący) 137 (89H) TMOD Rejestr trybu pracy układów czasowych 0 i 1 136 (88H) TCON Rejestr sterujący układów czasowych 0 i 1 135 (87H) PCON Rejestr sterujący stanami uśpienia 131 (83H) DPH Rejestr indeksowy DPTR (bardziej znaczący bajt) 130 (82H) DPL Rejestr indeksowy DPTR (mniej znaczący bajt) 129 (81H) SP Wskaźnik stosu 128 (80H) P0 Port we/wy 0 8051 REJESTRY SPECJALNEGO PRZEZNACZENIA architektura komputerów w 1 5

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 C AC F0 RS1 RS0 OV - P C CY F0 RS1 RS0 OV F1 P wskaźnik przeniesienia pomocniczy wskaźnik przeniesienia numer aktywnego banku bit starszy numer aktywnego banku bit młodszy przepełnienie wskaźnik parzystości RS1 RS0 0 0 aktywny bank 0 0 1 aktywny bank 1 1 0 aktywny bank 2 1 1 aktywny bank 3 8051 REJESTR WSKAŹNIKÓW STANU (PSW) T ryb a d re s o w a n ia S p os ó b w yz n a cz a n ia a dre su Z a so b y a dre so w a n e w ty m try bie R E J E S T R O W Y O p e ra n de m jes t rejes tr R 0 - R 7, A, B, D P T R (16 bitow y ) lub C (1 bito w y ) B E Z P O Ś R E D N I N A T Y C H M IA S T O W Y P O Ś R E D N I Z A W A R T O Ś C IĄ R E J E S T R U P O Ś R E D N I S U M Ą Z A W A R T O Ś C I R E J E S T R U B A Z O W E G O I IN D E K S U A d re s o p era n d u je s t po d an y explicite w rozkazie O p e ra n de m jes t s ta ła zn a jd u ją ca s ię w p a m ięc i programu. O perand jest jednym z bajtów rozkazu. Adres wyznacza rejestr P C Adres operandu wyznacza za w a rto ś ć re je s tru R 0, R 1, D P T R lu b (dla roz k a z ów P U S H i P O P ) S P Adres operandu wyznacza su m a z a w a rto ści rejestrów D P T R i A lub P C i A R e je s try R 0-R 7 z a k ty w ne g o b a nk u, A, B, D P T R (1 6 bito w y ) lu b C (1 bito w y ) D o ln y ob sz a r p am ię c i w e w n ętrz n ej R A M, re je s try S F R, b ity a d res ow a lne bezpo ś rednio P a m ię ć p ro gra m u W ewn ętrzna i zewnętrzna p a m ięć d an y c h R A M P a m ię ć p ro gra m u 8051 TRYBY ADRESACJI architektura komputerów w 1 6

Zapis rozkazu w assemblerze <kod rozkazu> <argument1>,<argument 2> przykłady: ADD A,R0 MOV A,@R1 MOV R0,#40H DA CPL A 8051 LISTA ROZKAZÓW Sposób zapisu w assemblerze argumentów 12345 - liczba dziesiętna 12345H - liczba heksalna 10110000101B - liczba binarna A - akumulator B - rejestr B Rn - rejestr R0...7 direct - adres rejestru lub bajtu (liczba dziesiętna, heksalna lub binarna np. w rozkazie MOV A,166) bit - adres bitu @Ri - adresowanie pośrednie zawartością rejestru R0 lub R1 @DPTR - adresowanie pośrednie zawartością rejestru DPTR #data - stała 8bitowa (tryb natychmiastowy), np. #04FH #data16 - stała 16bitowa (tryb natychmiastowy), np. #0F06H addr16-16 bitowy adres skoku (rozkaz LJMP) lub podprogramu (LCALL) addr11-11 bitowy adres skoku (AJMP) lub podprogramu (ACALL) rel - liczba całkowita ze znakiem w kodzie uzupełnieniowym do 2 stanowiąca względną wartość skoku SJMP oraz skoków warunkowych (krótki skok w przód lub w tył w stosunku do wartości licznika rozkazów) 8051 LISTA ROZKAZÓW architektura komputerów w 1 7

Przykłady rozkazów ADD A,<bajt źródłowy> przykład: ADD A,R0 operacja A:= (A)+(R0) ADD A,8 operacja A:= (A)+(8) ADD A,#8 operacja A:= (A)+8 MOV <bajt docelowy>,< bajt źródłowy > przykład: MOV A, R7 ;prześlij do A zawartość rejestru R7 MOV R7, A ;prześlij do R7 zawartość rejestru A MOV R0,#30H ; prześlij stałą 30H do rejestru R0 MOV R0, 30H ; prześlij zawartość bajtu 48go z u do rejestru R0 MOV 30H, R0 ;j/w w przeciwną stronę MOV 30H, #45H ; prześlij do bajtu 48(30H) stałą 45H MOV A, @R0 ; prześlij do akumulatora zawartość komórki, której adres jest w rejestrze R0 MOV @R0, A ;j/w w przeciwną stronę MOV @R0, 30H ; prześlij do komórki, której adres jest w rejestrze R0 zawartość bajtu o adresie 30H MOV @R0, #30H ; prześlij do komórki, której adres jest w rejestrze R0 stałą 30H MOV A, #35H ; załaduj do rejestru akumulatora stałą 35H MOV A, 35H ; załaduj do rejestru akumulatora zawartość komórki o adresie 35H MOV 35H, A ;j/w w przeciwną stronę MOV 35H, 30H ; załaduj do komórki o adresie 30H zawartość komórki o adresie 35H MOV P2, P1 ; prześlij zawartość SFR Port 1 do SFR Port 2 MOV 35H, @R1 ; załaduj do komórki o adresie 35H zawartość komórki o adresie zapamiętanym w R1 MOV DPTR,#data16 przykład: MOV DPTR,#01FCH ;operacja DPTR:=01FCH 8051 LISTA ROZKAZÓW Przykłady rozkazów MOVC A,@A+<rejestr bazowy> przykłady: MOVC A,@A+DPTR ;prześlij do A zawartość bajtu z pamięci programu, którego adres jest wyznaczony jako suma zawartości rejestru DPTR i rejestru A MOVC A,@A+PC ;prześlij do A zawartość bajtu z pamięci programu, którego adres jest wyznaczony jako suma zawartości rejestru licznika rozkazów i rejestru A MOVX <bajt przeznaczenia>,<bajt źródłowy> przykłady: MOVX A,@R1 ; prześlij do A z zewnętrznej pamięci danych zawartość bajtu, którego adres jest zawarty w rejestrze R1 MOVX A,@DPTR ; prześlij do A z zewnętrznej pamięci danych zawartość bajtu, którego adres jest zawarty w rejestrze R1 8051 LISTA ROZKAZÓW architektura komputerów w 1 8