TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

Wielkość: px
Rozpocząć pokaz od strony:

Download "TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak"

Transkrypt

1 TMiK Podstawy Techniki Mikroprocesorowej Materiały pomocnicze do wykładu Lidia Łukasiak 1

2 Treść przedmiotu Wprowadzenie System mikroprocesorowy Mikroprocesor - jednostka centralna Rodzaje pamięci Mikrokontrolery - architektura Wewnętrzne układy wejścia-wyjścia Specjalizowane układy zewn. 2

3 Treść przedmiotu Programowanie Rodziny mikrokontrolerów Perspektywy rozwoju mikrokontrolerów 3

4 Literatura do przedmiotu Piotr Misiurewicz, Podstawy techniki mikroprocesorowej, WNT, Warszawa, 1991 Andrzej Rydzewski, Mikrokomputery jednoukładowe rodziny MCS-51, WNT, Warszawa, 1992 J. Doliński, Mikrokomputer jednoukładowy INTEL 8051, Wyd. PLJ, Warszawa,

5 Literatura do przedmiotu Tomasz Owczarek, Laboratorium podstaw techniki mikroprocesorowej i elementów konstrukcji systemów cyfrowych, Oficyna Wydawnicza PW, Warszawa, 1999,

6 Literatura do przedmiotu Tomasz Starecki, Mikrokontrolery jednoukładowe rodziny 51, Nozomi, Warszawa, 1996 W. Daca, Mikrokontrolery od układów 8-bitowych do 32-bitowych, MIKOM, Warszawa,

7 Elementy składowe μp 7 Układ sterowania Rejestr instrukcji IR Licznik rozkazów PC STOS Wskaźnik stosu SP ALU Rejestry robocze Magistrala wewnętrzna Źródło: P. Misiurewicz, Podstawy techniki mikroprocesorowej

8 Sieć działań IR := M(PC) pobranie (fetch) wykonanie (execute) PC := PC + 1 Dekodowanie Wykonanie 8

9 Pobranie rozkazu Magistrala adresowa PC MIKRO- PROCESOR IR PAMIĘĆ PROGRAMU Magistrala danych 9

10 STOS ODKŁADANIE ZDEJMOWANIE SP WIERZCHOŁEK STOSU WSKAŹNIK STOSU 10

11 Jednostka arytmetyczno-logiczna REJESTR STANU ALU Arithmetic Logic Unit AKUMULATOR 11

12 System mikroprocesorowy MIKRO- PROCESOR PAMIĘĆ DANYCH PAMIĘĆ PROGRAMU URZĄDZENIA WE/WY Magistrala sterująca Magistrala adresowa Magistrala danych 12

13 Komunikacja z pamięcią danych MIKROPROCESOR dane adres sygnały sterujące WE OE CE PAMIĘĆ DANYCH WE - write enable OE - output enable CE - chip enable (chip select - CS) 13

14 Odczyt z pamięci danych ADRES CE OE odczyt DANE 14

15 Zapis do pamięci danych ADRES CE WE zapis DANE 15

16 Urządzenia WE/WY Magistrala sterująca Magistrala adresowa Magistrala danych INTERFEJS URZĄDZENIE WE/WY 16

17 8051 schemat blokowy PRZERWANIA ZEWNĘTRZNE SYSTEM PRZERWAŃ PRZERWANIA WEWNĘTRZNE ROM 4kB RAM 128B LICZNIK T1 LICZNIK T0 WEJŚCIA LICZNIKÓW CPU OSCYLATOR STEROWANIE MAGISTRALĄ 4 PORTY WE/WY PORT SZEREGOWY P0 P1 P2 P3 TXD RXD 17

18 8051 programowanie Jakiej wiedzy potrzebujemy do oprogramowania mikrokontrolera? o zasobach (pamięci danych oraz innych urządzeniach pokładowych, typu liczniki, port szeregowy, itd.) o liście rozkazowej 18

19 8051 wewnętrzna pamięć danych 00H 01H 02H 03H 04H 7DH 7EH 7FH 19

20 8051 banki rejestrów 00H 07H 08H 0FH 10H 17H 18H 1FH R0 R1 R2 R3 R4 R5 R6 R7 Bank rejestrów 1 Bank rejestrów 2 Bank rejestrów 3 Bank rejestrów 0 20

21 Obszar adresowany bitowo 20H 21H 22H 2EH 2FH 16 bajtów = 128 bitów 21

22 8051 bajtowy RAM 30H 31H 32H 7EH 7FH 22

23 Obszar rejestrów specjalnych 80H 88H 90H 98H A0H A8H B0H B8H P0 SP DPH DPL TCON TMOD TL0 TL1 TH0 TH1 P1 SCON SBUF P2 IE P3 IP dostępne bitowo SFR - special function register 23

24 Obszar rejestrów specjalnych C0H C8H D0H D8H E0H E8H F0H F8H T2CON RCAP2L RCAP2H TL2 TH2 PSW ACC B dostępne bitowo 24

25 Pobranie rozkazu Magistrala adresowa PC MIKRO- PROCESOR PAMIĘĆ PROGRAMU IR Magistrala danych 25

26 Pobranie rozkazu Faza pobrania rozkazu jest identyczna dla wszystkich rozkazów i polega na pobraniu kodu rozkazu z pamięci (adres znajduje się w liczniku rozkazów PC) i umieszczeniu go w rejestrze rozkazów IR (rejestr ten nie jest dostępny programowo). 26

27 Wykonanie rozkazu Faza wykonania jest różna dla różnych rozkazów. Rozkaz przeniesiony do IR steruje układem sterowania CU (control unit) W CU następuje dekodowanie rozkazu i generacja odpowiedniego zestawu sygnałów sterujących wewnętrznych i zewnętrznych. Sygnały wewnętrzne doprowadzane są do właściwych elementów wewnętrznych procesora - umożliwiają wewnętrzny obieg danych i adresów przy wykonywaniu kolejnych rozkazów. Sygnały zewnętrzne umożliwiają współpracę 27 z pamięcią i urządzeniami WE/WY

28 Co to jest rozkaz? Rozkaz -słowo binarne, niepodzielne z punktu widzenia mikroprocesora, które potrafi on zinterpretować i podjąć ściśle określone czynności wewnętrzne i/lub zewnętrzne. Typy rozkazów: - przesłania danych - przetwarzania danych - sterujące wykonaniem programu lub stanem mikroprocesora 28

29 Tryby adresowania Rozkaz musi zawierać następujące informacje: - jaka operacja? - gdzie są argumenty? - gdzie umieścić wynik? Sposoby w jakie procesor potrafi sięgać do argumentów operacji nazywamy trybami adresowania. 29

30 8051 lista rozkazów Rozkazy przesłania danych do/z wewnętrznej pamięci danych zewnętrznej pamięci danych pamięci programu (odczyt) dane 8-bitowe dane 16-bitowe bity dane 8-bitowe dane 8-bitowe 30

31 8051 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe mov przeznaczenie, źródło mov A, Rn A:=Rn n= r r r adresowanie przez nazwę rejestru 31

32 8051 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe mov A, adres A:=M(adres) bitowy adres argumentu adresowanie bezpośrednie 32

33 Źródło: P. Misiurewicz, Podstawy techniki mikroprocesorowej Adresowanie bezpośrednie Adres argumentu podany w treści rozkazu PC A Magistrala adresowa Pamięć programu kod op. a L a H Pamięć danych M(adres) argument Magistrala danych } Adres argumentu 33

34 Adresowanie bezpośrednie Wady: 1. Rozkazy długie (trzeba pobierać kilka bajtów), długi czas wykonania 2. Brak możliwości zmiany adresu w trakcie wykonywania programu Przykład: A:=M(7FH) 1. Z80 LD A, (7FH) mov A, 7FH (dotyczy wewnętrznej pamięci danych)

35 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe mov A, #dana A:=dana bitowa wartość adresowanie natychmiastowe 35

36 Adresowanie natychmiastowe Wartość argumentu podana w treści rozkazu PC A M(PC) Magistrala danych Pamięć programu kod op. wartość 36 Źródło: P. Misiurewicz, Podstawy techniki mikroprocesorowej

37 Adresowanie natychmiastowe Służy do nadawania wartości początkowych Przykład: A := 7FH 1. Z80 LD A, 7FH mov A, #7FH (dotyczy wewnętrznej pamięci danych)

38 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe mov A:=M(Ri) i=0, i adresowanie pośrednie 38

39 Adresowanie pośrednie Adres argumentu przechowywany w rejestrze zwanym wskaźnikiem danych PC rejestr A M(rejestr) Magistrala danych Pamięć programu kod op. Pamięć danych argument 39 Źródło: P. Misiurewicz, Podstawy techniki mikroprocesorowej

40 Adresowanie pośrednie Przykład: 1. Z80 LD A, (HL) mov

41 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe mov przeznaczenie, źródło mov A, Rn A:=Rn n=0...7 mov A, adres A:=M(adres) mov A, #dana A:=dana mov A:=M(Ri) i=0,1 41

42 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe mov Rn, A Rn:=A n=0...7 mov Rn, adres mov Rn, #dana Rn:=M(adres) Rn:=dana mov R3, R5 mov 42

43 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe mov adres, A M(adres):=A mov adres, Rn M(adres):=Rn n=0...7 mov adres1, adres2 M(adres1):=M(adres2) mov M(adres):=M(Ri) i=0,1 mov adres, #dana M(adres):=dana 43

44 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe A M(Ri):=A i=0,1 adres M(Ri):=M(adres) i=0,1 #dana M(Ri):=dana i=0,1 44

45 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe Operacje na stosie push adres SP:=SP+1 M(SP):=M(adres) pop adres M(adres):=M(SP) SP:=SP-1 Przykłady: push ACC push A push R3 45

46 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 1. Dane 8-bitowe Wymiana danych xch A, Rn A:=Rn; Rn:=A xch A, adres A:=M(adres); M(adres):=A xch A:= M(Ri); M(Ri):=A xchd zamiana młodszych 4 bitów 46

47 lista rozkazów Przesłanie danych do/z wewnętrznej pamięci danych 2. Dane 16-bitowe mov DPTR, #dana16 DPTR:=dana16 Przesłanie danych do/z wewnętrznej pamięci danych 3. Dane bitowe mov C, bit C:=bit mov bit, C bit:=c 47

48 Rejestr statusu Rejestr specjalny PSW (MSB) (LSB) CY AC F0 RS1 RS2 OV P CY bit przeniesienia (carry) AC przeniesienie połówkowe (auxiliary carry) F0 flaga ogólnego zastosowania RS1, RS2 bity wyboru banku rejestrów OV bit nadmiaru P bit parzystości 48

49 lista rozkazów Oznaczanie bitów adres_bajtu.numer_bitu 1. Obszar adresowany bitowo 20H-2FH (128 bitów) mov C, 25H.3 mov 27H.6, C poszczególne bity ponumerowano od 0 do 127 mov C, 0 mov 3, C 2. Bity rejestrów specjalnych dostępnych bitowo mov ACC.1, C mov C, P1.7 49

50 Adresowanie bitów (bezpośrednie) Przykład: mov C, ACC.7 (dotyczy wewnętrznej pamięci danych) adres bitu mov ACC.0, C (dotyczy wewnętrznej pamięci danych) adres bitu 50

51 lista rozkazów Przesłanie danych do/z zewnętrznej pamięci danych 1. Dane 8-bitowe movx przeznaczenie, źródło movx A:=M(Ri) i=0,1 A M(Ri):=A i=0,1 movx A:=M(DPTR) A M(DPTR):=A 51

52 Adresowanie pośrednie Adres argumentu przechowywany w rejestrze zwanym wskaźnikiem danych PC DPTR A M(DPTR) Magistrala danych Pamięć programu kod op. Pamięć danych argument 52 Źródło: P. Misiurewicz, Podstawy techniki mikroprocesorowej

53 Adresowanie pośrednie Przykład: movx (dotyczy zewnętrznej pamięci danych)

54 lista rozkazów Przesłanie danych z pamięci programu 1. Dane 8-bitowe movc A:=M(A+DPTR) movc A:=M(A+PC) adresowanie indeksowe 54

55 Adresowanie indeksowe Pamięć programu PC kod op. DPTR + A argument M(A+DPTR) Magistrala danych 55 Źródło: P. Misiurewicz, Podstawy techniki mikroprocesorowej

56 Adresowanie indeksowe Przykład: dotyczy pamięci programu movc movc Adres komórki pamięci programu, z której pobierana jest zawartość, obliczany jest jako suma zawartości akumulatora oraz rejestru specjalnego DPTR lub rejestru PC 56

57 8051 lista rozkazów Rozkazy przetwarzania danych Operacje arytmetyczne Operacje logiczne dane 8-bitowe dane 16-bitowe dane 8-bitowe dane 1-bitowe dodawanie odejmowanie mnożenie dzielenie inkrementacja dekrementacja korekcja dz. inkrementacja dekrementacja iloczyn suma suma rozł. negacja zerowanie obroty zerowanie ustawianie negacja Iloczyn suma 57

58 Jednostka arytmetyczno-logiczna REJESTR STANU ALU AKUMULATOR Arithmetic Logic Unit 58

59 lista rozkazów Rozkazy przetwarzania danych 1. Operacje artymetyczne Rejestr specjalny PSW (program status word): CY AC F0 RS1 RS2 OV - P CY (carry) - przeniesienie AC (auxiliary carry) - przeniesienie połówkowe F0 - flaga ogólnego przeznaczenia RS0, RS1 - wybór banku rejestrów P (parity) - parzystość 59

60 Nadmiar (overflow) Nadmiar zawiera informację o tym, że wynik operacji na liczbach ze znakiem jest błędny. Możliwe są 2 przypadki: 1. Suma dwóch liczb dodatnich jest liczbą ujemną 2. Suma dwóch liczb dodatnich jest liczbą dodatnią 60

61 Kod U2 Do uwzględnienia informacji o znaku liczby służy kod uzupełnieniowy do dwóch U2. Informacja ta jest umieszczona w najstarszym bicie (0 - liczba dodatnia, 1 - liczba ujemna). Liczby dodatnie = = = =

62 Kod U2 Liczby ujemne (ABS) (DEC) NEG = = =

63 Nadmiar Dodawanie dwóch liczb dodatnich Jeżeli wynik traktujemy jako liczbę ze znakiem, to: NEG INC ABS Wystąpiło przeniesienie z bitu 6 na 7, ale nie było przeniesienia z bitu 7 na zewnątrz 63

64 Nadmiar Dodawanie dwóch liczb ujemnych Jeżeli wynik traktujemy jako liczbę ze znakiem, to otrzymujemy 36 Nie wystąpiło przeniesienie z bitu 6 na 7, ale było przeniesienie z bitu 7 na zewnątrz 64

65 Nadmiar Warto zauważyć, że uwzględnienie przeniesienia na zewnątrz daje poprawny wynik: NEG INC ABS

66 Korekcja dziesiętna Kod BCD - zapis cyfry dziesiętnej na 4 bitach AC Poprawny wynik w kodzie BCD to

67 Korekcja dziesiętna Jeżeli młodsza część wyniku > 9 lub AC=1, dodajemy do wyniku 6H (tutaj AC=1) Młodsza cyfra wyniku została już skorygowana 67

68 Korekcja dziesiętna Jeżeli starsza część wyniku > 9 lub C=1, dodajemy do wyniku 60H (tutaj starsza część > 9) Nastąpiła korekcja starszej cyfry 68

69 lista rozkazów Rozkazy przetwarzania danych Operacje arytmetyczne na danych 8-bitowych Dodawanie bez przeniesienia: add A, Rn A:=A+Rn add A, adres A:=A+M(adres) add A:=A+M(Ri) add A, #dana A:=A+dana Wpływa na wartość bitów AC, CY i OV 69

70 lista rozkazów Rozkazy przetwarzania danych 1.1. Operacje arytmetyczne na danych 8-bitowych Dodawanie z przeniesieniem: addc A, Rn addc A, adres addc addc A, #dana A:=A+Rn+CY A:=A+M(adres)+CY A:=A+M(Ri)+CY A:=A+dana+CY Wpływa na wartość bitów AC, CY i OV 70

71 lista rozkazów Rozkazy przetwarzania danych Operacje arytmetyczne na danych 8-bitowych Odejmowanie (zawsze z pożyczką): subb A, Rn subb A, adres subb subb A, #dana A:=A-Rn-CY A:=A-M(adres)-CY A:=A-M(Ri)-CY A:=A-dana-CY Wpływa na wartość bitów AC, CY i OV 71

72 lista rozkazów Rozkazy przetwarzania danych Operacje arytmetyczne na danych 8-bitowych Mnożenie: mul AB A := młodszy bajt iloczynu A B B := starszy bajt iloczynu A B Jeżeli wynik > 255 OV=1 Jeżeli wynik < 255 OV=0 CY=0 bez względu na wynik 72

73 lista rozkazów Rozkazy przetwarzania danych Operacje arytmetyczne na danych 8-bitowych dzielenie: div AB A := wynik całkowity dzielenia A/B B := reszta z dzielenia A/B OV=0, CY=0 73

74 lista rozkazów Rozkazy przetwarzania danych Operacje arytmetyczne na danych 8-bitowych Dekrementacja: dec A A:=A-1 dec Rn Rn:=Rn-1 dec adres M(adres):=M(adres)-1 M(Ri):=M(Ri)-1 74

75 lista rozkazów Rozkazy przetwarzania danych Operacje arytmetyczne na danych 8-bitowych Inkrementacja: inc A A:=A+1 inc Rn Rn:=Rn+1 inc adres M(adres):=M(adres)+1 M(Ri):=M(Ri)+1 75

76 lista rozkazów Rozkazy przetwarzania danych 1.1. Operacje arytmetyczne na danych 8-bitowych Korekcja dodawania w kodzie BCD: da A wpływa na wartość CY 76

77 lista rozkazów Rozkazy przetwarzania danych 1.2. Operacje arytmetyczne na danych 16-bitowych Inkrementacja: inc DPTR DPTR:=DPTR+1 77

78 lista rozkazów Rozkazy przetwarzania danych 2. Operacje logiczne 2.1. Operacje logiczne na danych 8-bitowych Iloczyn logiczny: anl A, Rn A:=A and Rn anl A, adres A:=A and M(adres) anl A:=A and M(Ri) anl A, #dana A:=A and dana anl adres, A M(adres):=M(adres) and A anl adres, #dana M(adres):=M(adres) and dana 78

79 lista rozkazów Rozkazy przetwarzania danych 2.1. Operacje logiczne na danych 8-bitowych Suma logiczna: orl A, Rn A:=A or Rn orl A, adres A:=A or M(adres) orl A:=A or M(Ri) orl A, #dana A:=A or dana orl adres, A M(adres):=M(adres) or A orl adres, #dana M(adres):=M(adres) or dana 79

80 lista rozkazów Rozkazy przetwarzania danych 2.1. Operacje logiczne na danych 8-bitowych Logiczna suma rozłączna EXOR: xrl A, Rn A:=A xor Rn xrl A, adres A:=A xor M(adres) xrl A:=A xor M(Ri) xrl A, #dana A:=A xor dana xrl adres, A M(adres):=M(adres) xor A xrl adres, #dana M(adres):=M(adres) xor dana 80

81 lista rozkazów Rozkazy przetwarzania danych (c.d.) 2.1. Operacje logiczne na danych 8-bitowych (c.d.) Zerowanie akumulatora: clr A A:= Negacja akumulatora (bitowa): cpl A A:=A Zamiana połówek akumulatora swap A 81

82 lista rozkazów Rozkazy przetwarzania danych (c.d.) 2.1. Operacje logiczne na danych 8-bitowych (c.d.) Obrót akumulatora w lewo: rl A Obrót akumulatora w prawo: rr A 82

83 lista rozkazów Rozkazy przetwarzania danych (c.d.) 2.1. Operacje logiczne na danych 8-bitowych (c.d.) Obrót akumulatora w lewo przez carry: rlc A CY Obrót akumulatora w prawo przez carry: rrc A CY 83

84 lista rozkazów Rozkazy przetwarzania danych (c.d.) 2.2. Operacje logiczne na bitach Zerowanie bitu clr bit bit:=0 clr C C:= Ustawianie bitu setb bit bit:=1 setb C C:=1 84

85 lista rozkazów Rozkazy przetwarzania danych (c.d.) 2.2. Operacje logiczne na bitach (c.d.) Negacja bitu: cpl bit bit:=bit cpl C C:=C Iloczyn logiczny anl C, bit C:=C and bit anl C, /bit C:=C and bit 85

86 lista rozkazów Rozkazy przetwarzania danych (c.d.) 2.2. Operacje logiczne na bitach (c.d.) Suma logiczna orl C, bit C:=C or bit orl C, /bit C:=C or bit 86

87 8051 lista rozkazów Rozkazy sterujące wykonaniem programu Skoki bezwarunkowe warunkowe Wywołania procedury bezwzględne względne 87

88 lista rozkazów Rozkazy sterujące wykonaniem programu Skoki bezwarunkowe AJMP addr11 PC:=PC+2 PC 10 -PC 0 :=addr11 a10 a9 a a7 a6 a5 a4 a3 a2 a1 a0 LJMP addr16 PC:=addr16 SJMP rel8 PC:=PC+2 PC:=PC+rel8 88

89 Przykład: 8051 lista rozkazów ljmp dalej dalej: mov Etykieta symboliczny sposób przedstawienia adresu w pamięci programu 89

90 lista rozkazów Rozkazy sterujące wykonaniem programu Skoki bezwarunkowe (c.d.) skok pośredni PC:=PC+A+DPTR 90

91 lista rozkazów Rozkazy sterujące wykonaniem programu 1.2. Skoki warunkowe jz rel8 PC:=PC+2 jeżeli A=0, PC:=PC+rel8 jnz rel8 PC:=PC+2 jeżeli A 0, PC:=PC+rel8 jc rel8 PC:=PC+2 jeżeli C=1, PC:=PC+rel8 jnc rel8 PC:=PC+2 jeżeli C=0, PC:=PC+rel8 91

92 lista rozkazów Rozkazy sterujące wykonaniem programu 1.2. Skoki warunkowe (cd) jb bit, rel8 PC:=PC+3 jeżeli bit=1, PC:=PC+rel8 jnb bit, rel8 PC:=PC+3 jeżeli bit=0, PC:=PC+rel8 jbc bit, rel8 PC:=PC+3 jeżeli bit=1, PC:=PC+rel8, bit=0 92

93 lista rozkazów Rozkazy sterujące wykonaniem programu 1.2. Skoki warunkowe (c.d.) djnz Rn, rel8 djnz adres, rel8 PC:=PC+2, Rn:=Rn-1 jeżeli Rn 0, PC:=PC+rel8 PC:=PC+3, M(adres)=M(adres)-1 jeżeli M(adres) 0, PC:=PC+rel8 93

94 lista rozkazów Przykład: mov R7, #4; licznik pętli mov R0, #5AH; adres bazowy mov A, #5; wartość pocz. loop: A inc R0 djnz R7, loop 94

95 Definiowanie symboli Przykład: loop: baza_buf equ 5AH dlug_buf equ 4 war_pocz equ b mov R7, #dlug_buf; licznik pętli mov R0, #baza_buf; adres bazowy mov A, #war_pocz; wartość pocz. A inc R0 djnz R7, loop 95

96 lista rozkazów Rozkazy sterujące wykonaniem programu 1.2. Skoki warunkowe (c.d.) cjne A, adres, rel8 PC:=PC+3, jeżeli A M(adres), PC:=PC+rel8 jeżeli A < M(adres), C:=1 jeżeli A > M(adres), C:=0 kombinacje porównywanych argumentów: A, adres A, #dana Rn, adres Rn, #dana 96

97 lista rozkazów Rozkazy sterujące wykonaniem programu 2. Wywołanie procedury acall addr11 a10 a9 a PC:=PC+2 SP:=SP+1 M(SP):=PC 7 -PC 0 SP:=SP+1 M(SP):=PC 15 -PC 8 a7 a6 a5 a4 a3 a2 a1 a0 PC 10 -PC 0 :=addr11 97

98 lista rozkazów Rozkazy sterujące wykonaniem programu 2. Wywołanie procedury (c.d.) lcall addr16 PC:=PC+3 SP:=SP+1 M(SP):=PC 7 -PC 0 SP:=SP+1 M(SP):=PC 15 -PC 8 PC:=addr16 98

99 lista rozkazów Rozkazy sterujące wykonaniem programu 2. Powrót z procedury ret reti 3. Operacja pusta nop PC 15 -PC 8 :=M(SP) SP:=SP-1 PC 7 -PC 0 :=M(SP) SP:=SP-1 99

100 lista rozkazów Przykład: call procedura mov A, R0. procedura: mov R2, #5 ret 100

101 Procedura Poprawnie napisana procedura: pierwszy rozkaz odwołujący się do stosu musi być rozkazem odłożenia danej na stos (PUSH) liczby umieszczonych wewnątrz procedury rozkazów odkładania i zdejmowania ze stosu muszą być sobie równe procedura musi być zakończona instrukcją powrotu RET (lub RETI w przypadku procedury obsługi przerwania) 101

102 lista rozkazów Przykład: call procedura mov A, R0. procedura: push ACC mov A, R4 push ACC pop ACC mov R4, A pop ACC ret 102

103 lista rozkazów Przykład: init_display: mov R2, #0.. call init_display mov A, R0.. jmp $ setb P1.5 mov DPTR, #LCD_instr.. ret 103

104 Przykład: dlugosc equ 25 cseg at 4000H jmp Poczatek org 400BH jmp Timer0Int proc1: mov R2, #5. ret proc2: mov A, #dlugosc. ret Timer0Int: mov TL0, #30H. reti 104

105 Przykład: Poczatek: mov SP, #30H call proc1 call proc2 call proc3 call proc4 jmp Poczatek proc3:. ret proc4:. ret end 105

106 lista rozkazów Przykład: odczyt z pamięci progr. tablica: mov DPTR, #tablica mov A, #0 movc mov R0, A.. db X, , 25H, Ala 106

Programowanie mikrokontrolerów (CISC)

Programowanie mikrokontrolerów (CISC) Repertuar instrukcji Operacje arytmetyczne Operacje logiczne Operacje logiczne na bitach Przesyłanie danych Operacje sterujące (skoki) NOTACJA: Rr rejestry R0... R7 direct - wewnętrzny RAM oraz SFR @Ri

Bardziej szczegółowo

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

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

Bardziej szczegółowo

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

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW MIKROKONTROLER 85 - wiadomości podstawowe. Schemat blokowy mikrokontrolera 85 Obszar rejestrów specjalnych

Bardziej szczegółowo

Lista rozkazów mikrokontrolera 8051

Lista rozkazów mikrokontrolera 8051 Lista rozkazów mikrokontrolera 8051 Spis treści: Architektura mikrokontrolera Rozkazy Architektura mikrokontrolera Mikrokontroler 8051 posiada trzy typy pamięci: układ zawiera pamięć wewnętrzną (On-Chip

Bardziej szczegółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 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

Bardziej szczegółowo

Asembler - język maszynowy procesora

Asembler - język maszynowy procesora UWAGA! Treść niniejszego dokumentu powstała na podstawie cyklu artykułów pt. Mikrokontrolery? To takie proste zamieszczonych w czasopiśmie Elektronika dla Wszystkich. Asembler - język maszynowy procesora

Bardziej szczegółowo

Programowanie mikrokontrolera 8051

Programowanie mikrokontrolera 8051 Programowanie mikrokontrolera 8051 Podane poniżej informacje mogą pomóc w nauce programowania mikrokontrolerów z rodziny 8051. Opisane są tu pewne specyficzne cechy tych procesorów a także podane przykłady

Bardziej szczegółowo

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

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Ryszard J. Barczyński, 2009 2013 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

Bardziej szczegółowo

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

IV PROGRAMOWANIE MIKROKOMPUTERA Technika Cyfrowa 2. Wykład 4: Programowanie mikrokomputera 8051 Technika Cyfrowa 2 Wykład 4: Programowanie mikrokomputera 81 dr inż. Jarosław Sugier Jaroslaw.Sugier@pwr.wroc.pl IIAR, pok. 227 C-3 4-1 IV PROGRAMOWANIE MIKROKOMPUTERA 81 1 REJESTRY Oprócz DPTR wszystkie

Bardziej szczegółowo

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość

Bardziej szczegółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Pracownia elektryczno-elektroniczna klasa IV

Pracownia elektryczno-elektroniczna klasa IV Ćwiczenie nr 2 Cel ćwiczenia: zapoznanie się z nowymi metodami adresowania portów, urządzeń do nich podpiętych (adresowanie pośrednie, bezpośrednie, rejestrowe) oraz poznanie struktury wewnętrznej pamięci

Bardziej szczegółowo

CPU architektura i rejestry

CPU architektura i rejestry CPU architektura i rejestry C51 (AT83C51SND1C) - ogólny widok wnętrza Źródło: Materiały informacyjne firmy Atmel 2 C51 (AT83C51SND1C) - przestrzeń pamięci kodu Źródło: Materiały informacyjne firmy Atmel

Bardziej szczegółowo

Architektura komputerów. Asembler procesorów rodziny x86

Architektura komputerów. Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

Opis mikrokontrolera 8051 Lista rozkazowa Timery

Opis mikrokontrolera 8051 Lista rozkazowa Timery Opis mikrokontrolera 805 Lista rozkazowa Timery Warszawa, 005-0-0 IMiO PW, LPTM, Lista rozkazowa 805 -- Oznaczenia i skróty: A - akumulator C - wskanik przeniesienia DPTR - wskanik danych, rejestr 6-bitowy

Bardziej szczegółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Serial PORT Timers T0, T1 Interrupt Controler DPTR Register Program Counter Program Memory Port P0 Port P1 PSW ALU B Register SFR accumulator STRUCTURE OF 8051 architektura komputerów

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,

Bardziej szczegółowo

Mikrokontroler 80C51

Mikrokontroler 80C51 DSM-51 * STRONA 1 * Temat : Wiadomości podstawowe Układy cyfrowe to rodzaj układów elektronicznych, w których sygnały napięciowe przyjmują tylko określoną liczbę poziomów, którym przypisywane są wartości

Bardziej szczegółowo

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

6.1. Zastosowanie mikrokontrolera SAB 80C535 do sterowania silnikiem prądu stałego 162 Podstawy techniki mikroprocesorowej 6. PRZYKŁADY ZASTOSOWAŃ MIKROKONTROLERA 6.1. Zastosowanie mikrokontrolera SAB 80C535 do sterowania silnikiem prądu stałego Sterowanie silnikiem prądu stałego oparte

Bardziej szczegółowo

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED Ćwiczenie 2 Siedmiosegmentowy wyświetlacz LED 2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się studentów ze sposobem obsługi wielopozycyjnego 7-segmentowego wyświetlacza LED multipleksowanego programowo

Bardziej szczegółowo

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

Ćwiczenie 1. (sd 2) 0x0000 0x0003 0x000B 0x0013 0x001B 0x0023 Temat: Asembler i język C wprowadzenie w efektywne programowanie niskopoziomowe. 1.Zagadnienia architektury Ogólnie schemat blokowy mikrokontrolera 80C51 przedstawiono na rysunku 1. Ćwiczenie 1. (sd 2)

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Systematyczny przegląd. (CISC) SFR umieszczane są w wewnętrznej pamięci danych (80H 0FFH). Adresowanie wyłącznie bezpośrednie. Rejestry o adresach podzielnych przez 8 są też dostępne bitowo. Adres n-tego

Bardziej szczegółowo

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel Podstawy techniki mikroprocesorowej Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel. 071 3203746 grzegorz.kosobudzki@pwr.wroc.pl 2 Terminy zajęć Wykłady: niedziela 7.30 12.00 s.312 Kolokwium przedostatnie

Bardziej szczegółowo

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

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec) Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01 PRACA KROKOWA MIKROKONTROLERA Cel ćwiczenia: Zapoznanie się ze środowiskiem programowym: poznanie funkcji asemblera, poznanie funkcji symulatora. Operacje na plikach,

Bardziej szczegółowo

Mikrokontrolery w systemach pomiarowo sterujących

Mikrokontrolery w systemach pomiarowo sterujących Mikrokontrolery w systemach pomiarowo sterujących Mikrokontrolery czyli o czym to będzie... Mikrokontroler to cały komputer w kawałku krzemu, zoptymalizowany pod kątem sterowania różnorakimi urządzeniami.

Bardziej szczegółowo

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

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51 Ćwiczenie 30 Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51 Cel ćwiczenia Poznanie architektury oraz zasad programowania mikrokontrolerów rodziny 51, aby zapewnić

Bardziej szczegółowo

Przerwania w architekturze mikrokontrolera X51

Przerwania w architekturze mikrokontrolera X51 Przerwania w architekturze mikrokontrolera X51 (przykład przerwanie zegarowe) Ryszard J. Barczyński, 2009 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku

Bardziej szczegółowo

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1 Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA

Bardziej szczegółowo

Sprzęt i architektura komputerów

Sprzęt i architektura komputerów Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I

Bardziej szczegółowo

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP Liczniki, rejestry lab. 08 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL

Bardziej szczegółowo

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

Bardziej szczegółowo

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

LABORATORIUM nr 1. Temat: Wstęp do mikrokontrolerów rodziny MCS-51 Laboratorium nr 1 Wstęp do mikrokontrolerów rodziny MCS51 LABORATORIUM nr 1 Temat: Wstęp do mikrokontrolerów rodziny MCS-51 1. ARCHITEKTURA MCS-51 UWAGA: Niniejszy rozdział stanowi jedynie krótkie wprowadzenie

Bardziej szczegółowo

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

Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51. Ćwiczenie nr 4 Cel ćwiczenia: Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51. Wiadomości wstępne: Klawiatura sekwencyjna zawiera tylko sześć klawiszy.

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 2

Technika mikroprocesorowa I Wykład 2 Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,

Bardziej szczegółowo

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

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania

Bardziej szczegółowo

Mikrokontroler Intel 8051. dr inż. Wiesław Madej

Mikrokontroler Intel 8051. dr inż. Wiesław Madej Mikrokontroler Intel 8051 dr inż. Wiesław Madej Mikrokontroler Intel 8051 Wprowadzony na rynek w 1980 roku Następca rodziny 8048 Intel zakooczył produkcję w marcu 2006 Obecnie produkowany przez różne firmy

Bardziej szczegółowo

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

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU: INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU: rodzina 51 AVR ARM 8 bit 8 bit 32 bit A akumulator B akumulator pomocniczy R0 R7 rejestry robocze

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Przerwania laboratorium: 04 autor: mgr inż. Michał Lankosz dr hab. Zbisław Tabor,

Bardziej szczegółowo

Zerowanie mikroprocesora

Zerowanie mikroprocesora Zerowanie mikroprocesora Zerowanie (RESET) procesora jest potrzebne dla ustalenia początkowych warunków pracy po włączeniu zasilania: adres początku programu stan systemu przerwań zawartość niektórych

Bardziej szczegółowo

LEKCJA TEMAT: Współczesne procesory.

LEKCJA TEMAT: Współczesne procesory. LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić

Bardziej szczegółowo

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

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia

Bardziej szczegółowo

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

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla Asembler A51 1. Symbole Nazwy symboliczne Symbol jest nazwą, która może być użyta do reprezentowania wartości stałej numerycznej, wyrażenia, ciągu znaków (tekstu), adresu lub nazwy rejestru. Nazwy symboliczne

Bardziej szczegółowo

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Obsługa portu szeregowego laboratorium: 05 autor: mgr inż. Michal Lankosz dr hab.

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Politechnika Warszawska

Politechnika Warszawska Politechnika Warszawska Wydział Elektryczny Laboratorium Podstaw Techniki Mikroprocesorowej Skrypt do ćwiczenia M.38 Zbieranie pomiarów w czasie rzeczywistym - asembler 1.Wstęp W ćwiczeniach od M.38 do

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Sprzęt i architektura komputerów

Sprzęt i architektura komputerów Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I

Bardziej szczegółowo

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

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor. Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2018 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa Systemy wbudowane Mikrokontroler 8051 Budowa dr inż. Maciej Piechowiak Wprowadzenie rdzeń CPU z jednostką artymetyczno-logiczną (ALU) do obliczeń na liczbach 8-bitowych, uniwersalne dwukierunkowe porty

Bardziej szczegółowo

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

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu

Bardziej szczegółowo

Mikrokontrolery. Wrocław 2003

Mikrokontrolery. Wrocław 2003 Mikrokontrolery Wojciech Kordecki Zakład Pomiarowej i Medycznej Aparatury Elektronicznej Wydział Podstawowych Problemów Techniki Politechnika Wrocławska Wrocław 2003 1 Wstęp Materiały do wykładu i listy

Bardziej szczegółowo

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

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej

Podstawy Techniki Mikroprocesorowej Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

Bardziej szczegółowo

LISTA ROZKAZÓW i TRYBY ADRESOWANIA

LISTA ROZKAZÓW i TRYBY ADRESOWANIA LISTA ROZKAZÓW i TRYBY ADRESOWANIA Lista rozkazów Rozkazy tworzące listę rozkazów można podzielić na kilka podstawowych grup, w zależności od ich przeznaczenia: rozkazy przesłań, kopiowania, rozkazy arytmetyczne

Bardziej szczegółowo

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

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów Operacje na stosie Stos jest obszarem pamięci o dostępie LIFO (Last Input First Output). Adresowany jest niejawnie przez rejestr segmentowy SS oraz wskaźnik wierzchołka stosu SP. Używany jest do przechowywania

Bardziej szczegółowo

Struktura programu w asemblerze mikrokontrolera 8051

Struktura programu w asemblerze mikrokontrolera 8051 Struktura programu w asemblerze mikrokontrolera 8051 Program w asemblerze, dający ten sam kod wynikowy, może być napisany na wiele sposobów. Źle napisany program po pewnym czasie (a być może już w czasie

Bardziej szczegółowo

1. Operacje logiczne A B A OR B

1. Operacje logiczne A B A OR B 1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne

Bardziej szczegółowo

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

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów Marcin Stępniak Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów 1. Informacje Poniższe laboratoria zawierają podsumowanie najważniejszych informacji na temat

Bardziej szczegółowo

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

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

Ćwiczenie 3. Konwersja liczb binarnych

Ćwiczenie 3. Konwersja liczb binarnych 1 Laboratorium Architektury Komputerów Ćwiczenie 3 Konwersja liczb binarnych Komputery wykonują operacje przetwarzania danych na wartościach binarnych, podczas gdy współczesna cywilizacja posługuje się

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 4

Technika mikroprocesorowa I Wykład 4 Technika mikroprocesorowa I Wykład 4 Układ czasowo licznikowy 8253 INTEL [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf] Wyprowadzenia układu [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa i zasada działania komputera. dr Artur Bartoszewski Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu

Bardziej szczegółowo

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

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 8 Jan Kazimirski 1 Assembler x86 2 Podstawowe instrukcje x86 Instrukcje transferu danych Arytmetyka binarna i dziesiętna Instrukcje logiczne Instrukcje sterujące wykonaniem

Bardziej szczegółowo

Arytmetyka stałopozycyjna

Arytmetyka stałopozycyjna Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 3. Arytmetyka stałopozycyjna Cel dydaktyczny: Nabycie umiejętności wykonywania podstawowych operacji arytmetycznych na liczbach stałopozycyjnych.

Bardziej szczegółowo

Architektura typu Single-Cycle

Architektura typu Single-Cycle Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć

Bardziej szczegółowo

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]

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] Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową

Bardziej szczegółowo

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne Mikrokontroler ATmega32 Tryby adresowania Rejestry funkcyjne 1 Rozrónia si dwa główne tryby: adresowanie bezporednie i porednie (jeli jeden z argumentów jest stał, ma miejsce take adresowanie natychmiastowe)

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

SYSTEM MIKROPROCESOROWY

SYSTEM MIKROPROCESOROWY SYSTEM MIKROPROCESOROWY CPU ROM RAM I/O AB DB CB Rys 4.1. System mikroprocesorowy MIKROPROCESOR RDZEŃ MIKROPROCESORA PODSTAWOWE ZESPOŁY FUNKCJONALNE MIKROPROCESORA Mikroprocesor zawiera następujące, podstawowe

Bardziej szczegółowo

Pracownia elektryczno-elektroniczna klasa IV

Pracownia elektryczno-elektroniczna klasa IV Ćwiczenie nr 5 Cel ćwiczenia: Ćwiczenie ma na celu zaznajomienie z metodami odliczania czasu z wykorzystaniem układów czasowo - licznikowych oraz poznanie zasad zgłaszania przerwań i sposobów ich wykorzystywania

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne... Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8

Bardziej szczegółowo

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT Laboratorium: Wprowadzenie Pojęcia. Wprowadzone zostaną podstawowe pojęcia i mechanizmy związane z programowaniem w asemblerze. Dowiemy się co to są rejestry i jak z nich korzystać. Rejestry to są wewnętrzne

Bardziej szczegółowo

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora

Bardziej szczegółowo

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

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.

Bardziej szczegółowo

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

Analizowanie działania układów mikroprocesorowych 311[50].O1.06 MINISTERSTWO EDUKACJI i NAUKI Rafał Nowak Analizowanie działania układów mikroprocesorowych 311[50].O1.06 Poradnik dla ucznia Wydawca Instytut Technologii Eksploatacji Państwowy Instytut Badawczy Radom

Bardziej szczegółowo

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

dr inż. Rafał Klaus Zajęcia finansowane z projektu Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle POKL Architektura komputerów wprowadzenie materiał do wykładu 3/3 dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

Architektura systemów komputerowych

Architektura systemów komputerowych Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych Architektura systemów komputerowych dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat

Bardziej szczegółowo

Elektronika i techniki mikroprocesorowe

Elektronika i techniki mikroprocesorowe Elektronika i techniki mikroprocesorowe Technika mikroprocesorowa - podstawy Katedra Energoelektroniki, Napędu Elektrycznego i Robotyki Wydział Elektryczny, ul. Krzywoustego 2 PLAN WYKŁADU Mikroprocesor

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów

Bardziej szczegółowo

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

ZAPOZNANIE SIĘ Z ZESTAWEM DYDAKTYCZNYM ZD537, OPROGRAMOWANIEM µvision 2 ORAZ OPERACJE NA PAMIĘCIACH PROWADZĄCY: mgr inż. Piotr Radochoński LABORATORIUM Z PODSTAW TECHNIK MIKROPROCESOROWYCH WYKONAWCY : GRUPA : 1 Dawid Pichen WYKONANO : Leszek Wiland 09.03.2005 NR ĆWICZ. TEMAT : 1 ROK AK. II ODDANO : 20.03.2005

Bardziej szczegółowo

Techniki mikroprocesorowe i systemy wbudowane

Techniki mikroprocesorowe i systemy wbudowane Techniki mikroprocesorowe i systemy wbudowane Wykład 1 Procesory rodziny AVR ATmega. Wstęp Wojciech Kordecki wojciech.kordecki@pwsz-legnica.eu Państwowa Wyższa Szkoła Zawodowa im. Witelona w Legnicy Wydział

Bardziej szczegółowo

DSM51 operacje przesylania danych i operacje arytmetyczne strona 1

DSM51 operacje przesylania danych i operacje arytmetyczne strona 1 DSM51 operacje przesylania danych i operacje arytmetyczne strona 1 Przypomnienie: Plik Otworz (F3) otwieranie pliku z programem.asm Plik Zapisz (F2) zapisywanie pliku z programem.asm do katalogu C:\JAGODA

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Architektura systemów komputerowych

Architektura systemów komputerowych 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

Bardziej szczegółowo

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

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna Technika Mikroprocesorowa Laboratorium 4 Obsługa liczników i przerwań Cel ćwiczenia: Celem ćwiczenia jest nabycie umiejętności obsługi układów czasowo-licznikowych oraz obsługi przerwań. Nabyte umiejętności

Bardziej szczegółowo

Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny

Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny Warszawa, 2007-11-09 IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z obsługą programową wyświetlacza

Bardziej szczegółowo

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

Bardziej szczegółowo