Architektura komputerów

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

Download "Architektura komputerów"

Transkrypt

1 Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka Architektura komputerów dr inż. Bartosz Pękosławski Łódź, dn ,

2 Plan wykładu 1. Rodzaje mikrokontrolerów 2. Rodzina 8-bitowych mikrokontrolerów AVR 3. Mikrokontroler ATmega32 jako przykład architektury RISC 4. Assembler AVR 5. Tryby adresowania 6. Stos 7. Przerwania 8. Wewnętrzne układy peryferyjne 2

3 Mikrokontroler Mikrokontroler - układ scalony mikroprocesora z wbudowanymi dodatkowymi układami peryferyjnymi (autonomiczny system mikroprocesorowy) Inna nazwa: mikrokomputer jednoukładowy Zastosowanie mikrokontrolerów: sterowanie urządzeniami Mikroprocesor scalony, sekwencyjny układ cyfrowy działający zgodnie z pobieranymi z pamięci i interpretowanymi rozkazami (programem) 3

4 Rys historyczny Pierwsze mikroprocesory: F14 CADC (F-14A Central Air Data Computer, 1970), Intel 4004 (1971), Intel 8008 (1972), National Semiconductor IPC-16A/520 PACE (1975), Motorola MC68000 (1979). Pierwsze mikrokontrolery: Texas Instruments TMS1000 (1971), Intel 4048 (1975). 4

5 Struktura mikrokontrolera Główne elementy: jednostka arytmetyczno-logiczna (ALU), układ sterowania (CU/dekoder rozkazów), rejestry (danych, adresowe, akumulator, PC, IR, SP), pamięć danych (RAM), pamięć programu, porty wejścia-wyjścia (I/O), wewnętrzne układy peryferyjne. 5

6 Układy peryferyjne układy czasowo-licznikowe (timery), kontrolery transmisji szeregowej (UART, SPI, I2C, USB, itd.), przetworniki A/C i C/A, zegar czasu rzeczywistego (RTC), układ kontroli poprawnej pracy (watchdog), czujniki wielkości nieelektrycznych (np. czujniki temperatury), układy PWM, komparatory analogowe, transceivery radiowe, dekodery MP3, sterowniki wyświetlaczy LCD, itd. 6

7 Inne elementy systemu mikroprocesorowego pamięci zewnętrzne, przełączniki / klawiatury, diody LED / wyświetlacze, sygnalizatory (przetworniki piezoelektryczne), czujniki zewnętrzne, elementy wykonawcze (silniki, przekaźniki, zawory itp.), zewnętrzne układy peryferyjne, układy taktujące. 7

8 Układy taktujące rezonator kwarcowy lub ceramiczny, wewnętrzny układ taktujący (oscylator RC, PLL), zewnętrzne źródła sygnału zegarowego. 8

9 Programowanie fabryczne (pamięć stała ROM), w programatorze (pamięć EPROM, EEPROM, Flash), w systemie (ISP), programowanie zewnętrznej pamięci. 9

10 Języki programowania kod maszynowy zera i jedynki, np opcode operand operand 2 asembler język niskiego poziomu, rozkazy zapisane w postaci symboli (mnemoników), np. ADD R20, R21 języki wysokiego poziomu (głównie C), np. c = a + b; 10

11 Rodzaje mikroprocesorów i mikrokontrolerów Długość słowa (rozmiar szyny danych i rejestrów): 4 bitowe, 8 bitowe, 16 bitowe, 32 bitowe, 64 bitowe. Rodzaj architektury: von Neumanna, harwardzka, zmodyfikowana harwardzka. Złożoność listy rozkazów (zestawu instrukcji): CISC (ang. Complex Instruction Set Computer), RISC (ang. Reduced Instruction Set Computer), MISC (ang. Medium Instruction Set Computer). 11

12 Rodziny mikrokontrolerów Wielu producentów / wiele rodzin, m.in.: Atmel: AVR (8 bitowe), AVR32 (32 bitowe). Freescale (Motorola): 68HC11 (8 bitowe), S08 (8 bitowe), ColdFire (32 bitowe). Intel (i wielu innych producentów): MCS-51 (8 bitowe). Hitachi: H8 (8 bitowe / 16 bitowe), SuperH (32 bitowe). Microchip: PIC (8 bitowe / 16 bitowe / 32 bitowe) NEC: V850 (32 bitowe). ST Microelectronics: ST (8 bitowe / 16 bitowe). Texas Instruments: MSP430 (16 bitowe), C2000 (32 bitowe), Stellaris (32 bitowe). Toshiba: TLCS (8 bitowe / 16 bitowe). Zilog: ez80 (8 bitowe), ez8 (16 bitowe). ARM (różni producenci): ARM7 (32 bitowe), Cortex-M3 (32 bitowe). 12

13 Architektury mikroprocesorów i mikrokontrolerów Architektura Harvard: Pamięć programu Architektura von Neumanna: ALU I/O CU Pamięć danych Pamięć programu i danych (wspólna) ALU I/O CU Zmodyfikowana architektura harwardzka osobna pamięć programu i danych, ale wspólna przestrzeń adresowa Cechy/zalety architektury RISC: mniejsza liczba rozkazów (prostszy dekoder rozkazów), brak mikrokodu i prostsze instrukcje (instrukcje wykonywane w mniejszej liczbie cykli maszynowych - wydajność), mniej trybów adresowania (prostszy w pisaniu kod), mniej odwołań do pamięci dzięki dużej liczbie rejestrów roboczych (wydajność). 13

14 Architektura big endian / little endian Kolejność zapisu i przesyłania bajtów: od najstarszego do najmłodszego (big endian), od najmłodszego do najstarszego (little endian). Pamięć: Rejestr: 0A 0B 0C 0D 0D 0C rosnące adresy 0A 0B 0B 0C 0A 0D Big-endian Little-endian 14

15 Rodzina AVR 8-bit Architektura harwardzka, RISC 8-bitowe rejestry i szyna danych 16-bitowa szyna adresowa 32 rejestry R0 R31 timery 8- i 16-bitowe 1 cykl zegara/cykl maszynowy 10-bitowy przetwornik A/C ISP 15

16 Rodzina AVR 8-bit Rodzaje: ATtiny 0,5 8 kb pamięci programu obudowy 6- do 32- pinowe ograniczone zasoby niski pobór mocy ATmega kb pamięci programu obudowy 28- do 100- pinowe rozbudowany zestaw instrukcji rozbudowane zasoby 16

17 ATmega 32 Pamięć Flash, SRAM, EEPROM USART, SPI Przetwornik A/C Timery PWM Komparator analogowy JTAG Vcc = 4,5 5,5 V (ATmega32L : 2,7 5,5 V) f = 0 16 MHz (ATmega32L : 0 8 MHz) 17

18 ATmega 32 - wyprowadzenia port B port D port A port C 18

19 Mapa pamięci Flash * 2B = 32kB ATmega 32 0x3FFF RAM 2144B 0x085F EEPROM 1024B = 1kB 0x03FF 0x0000 0x0000 0x

20 Rejestry 32 rejestry robocze: R0 R31 64 rejestry specjalne 20

21 Rejestry specjalne Rejestr statusowy SREG: I Global Interrupt Enable; T Bit Copy Storage; H Half Carry Flag; S Sign Bit V Two s Complement Overflow Flag; N Negative Flag; Z Zero Flag; C Carry Flag Wskaźnik stosu SP: 21

22 Rejestry robocze wskaźnikowe 3 rejestry wskaźnikowe: 22

23 Asembler - rodzaje instrukcji instrukcje przesyłu danych, instrukcje arytmetyczne, instrukcje operacji bitowych, instrukcje porównań, instrukcje skoków bezwarunkowych, instrukcje skoków i powrotów z podprogramów, instrukcje skoków warunkowych, instrukcje dodatkowe. 23

24 Asembler instrukcje arytmetyczne r1, r2 = R0..R31 rh = R16..R31 rd =R24,R26,R28,R30 k63 = c255 = Również mnożenie (wynik R1:R0): MUL r1, r2 MULS r1, r2 MULSU r1, r2 FMUL r1, r2 FMULS r1, r2 FMULSU r1, r2 24

25 Asembler instrukcje arytmetyczne: wybrane przykłady (dodawanie) Instrukcja Początkowa zawartość rejestrów Wynik SREG ADD R21, R22 R21=0xFF R22=0x22 R21=0x21 C=1 INC R21 R21=0xFF R21=0x00 Z=1 (C bez zmian) ADC R21, R22 R21=0x11 R22=0x22 C(SREG) = 1 R21=0x34 C=0 ADIW R24, 2 R24=0xFF R25=0x00 R24=0x01 R25=0x01 25

26 Asembler instrukcje arytmetyczne: wybrane przykłady (odejmowanie) Instrukcja Początkowa zawartość rejestrów Wynik SREG SUB R21, R22 R21=0x01 R22=0x02 R21=0xFF C=1 N=1 DEC R21 R21=0x01 R21=0x00 Z=1 SUBI R21, 2 R21=0x02 R21=0x00 Z=1 (C bez zmian) SBC R21, R22 R21=0x03 R22=0x03 C(SREG)=1 R21=0xFF C=1 N=1 SBCI R21, 3 R21=0x04 C(SREG)=1 R21=0x00 C=0 Z=1 SBIW R24, 4 R24=0x03 R25=0x01 R24=0xFF R25=0x00 26

27 Asembler instrukcje arytmetyczne: wybrane przykłady (mnożenie) Instrukcja Początkowa zawartość rejestrów Wynik MUL R21, R22 R21=0xFF (255) R0=0x02 R22=0xFE (254) R1=0xFD (64770) MULS R21, R22 R21=0xFF (-1) R22=0xFE (-2) MULSU R21, R22 R21=0xFF (-1) R0=0x02 R22=0xFE (254) R1=0xFF (-254) SREG R0=0x02 R1=0x00 (2) C=1 27

28 Asembler instrukcje operacji bitowych 28

29 Asembler instrukcje operacji bitowych: wybrane przykłady (przesuwanie) Instrukcja Początkowa zawartość rejestrów Wynik SREG LSL R21 R21=0x81 R21=0x02 C=1 LSR R21 R21=0x81 R21=0x40 C=1 ROL R21 R21=0x81 C(SREG)=1 R21=0x03 C=1 ROR R21 R21=0x81 C(SREG)=1 R21=0xC0 C=1 ASR R21 R21=0x81 R21=0xC0 C=1 SWAP R21 R21=0x23 R21=0x32-29

30 Asembler instrukcje operacji bitowych: wybrane przykłady (bitowe) Instrukcja Początkowa zawartość rejestrów Wynik AND R21, R22 R21=0x21 R22=0x20 R21=0x20 ANDI R21, 0x02 R21=0x21 R21=0x00 OR R21, R21 R21=0x21 R22=0x20 R21=0x21 ORI R21, 0xFF R21=0x21 R21=0xFF EOR R21, R22 R21=0x21 R22=0x20 R21=0x01 COM R21 R21=0x01 R21=0xFE NEG R21 R21=0x01 R21=0xFF SREG Z=1 30

31 Asembler instrukcje porównań 31

32 Asembler instrukcje porównań: wybrane przykłady Instrukcja Początkowa zawartość rejestrów Wynik SREG CP R21, R22 R21=0x03 R22=0x02 CP R21, R22 R21=0x03 R22=0x03 Z=1 CP R21, R22 R21=0x03 R22=0x04 C=1 N=1 CPC R21, R22 R21=0x03 R22=0x03 C(SREG)=1 C=1 N=1 CPI R21, 3 R21=0x04 TST R21 R21=0x00 Z=1 32

33 Asembler skoków warunkowych 33

34 Asembler instrukcje skoków warunkowych: wybrane przykłady Instrukcja SREG Skok BREQ etykieta Z=1 tak BRNE etykieta Z=0 tak BRCS etykieta C=1 tak BRCC etykieta C=0 tak BRSH etykieta C=0 lub Z=1 tak BRLO etykieta C=1 i Z=0 tak BRMI etykieta N=1 tak BRPL etykieta N=0 tak BRGE etykieta N=0 i V=0 lub N=1 i V=1 tak BRLT etykieta N=1 i V=0 lub N=0 i V=1 tak 34

35 Tryby adresowania Adresowanie natychmiastowe, Adresowanie bezpośrednie, Adresowanie bezpośrednie rejestrowe, Adresowanie pośrednie rejestrowe, Adresowanie pośrednie rejestrowe z przesunięciem, Adresowanie pośrednie rejestrowe z predekrementacją, Adresowanie pośrednie rejestrowe z postinkrementacją, Adresowanie pamięci programu, Adresowanie pośrednie pamięci programu, Adresowanie względne pamięci programu. 35

36 Adresowanie natychmiastowe Drugi operand wartość natychmiastowa w argumencie LDI r1, n SUBI r1, n ANDI r1, n ORI r1, n CPI r1, n ADIW rd, n - zapis wartości n do rejestru r1 (R16 R31) (rd = R24, R26, R28, R30) 36

37 Adresowanie bezpośrednie Argument (liczba) jest adresem efektywnym operandu w pamięci danych STS addr, r1 - zapisanie wartości rejestru r1 pod adres addr LDS r1, addr 37

38 Adresowanie bezpośrednie rejestrowe Argumenty są nazwami rejestrów, w których są operandy INC r1 DEC r1 CLR r1 SER r1 ADD r1, r2 SUB r1, r2 AND r1, r2 OR r1, r2 EOR r1, r2 CP r1, r2 MOV r1, r

39 Adresowanie pośrednie rejestrowe Adres efektywny operandu znajduje się w rejestrze wskaźnikowym LD LD LD ST ST ST r1, X r1, Y r1, Z X, r1 Y, r1 Z, r1 39

40 Adresowanie pośrednie rejestrowe z przesunięciem Adres efektywny operandu = adres z rejestru wskaźnikowego + przesunięcie LD LD ST ST r1, Y+dis r1, Z+dis Y+dis, r1 Z+dis, r1 40

41 Adresowanie pośrednie rejestrowe z predekrementacją Adres efektywny operandu z rejestru wskaźnikowego jest zmniejszany o 1 przed wykonaniem operacji LD LD LD ST ST ST r1, r1, r1, -X, -Y, -Z, -X -Y -Z r1 r1 r1 41

42 Adresowanie pośrednie rejestrowe z postinkrementacją Adres efektywny operandu z rejestru wskaźnikowego jest zwiększany o 1 po wykonaniu operacji LD LD LD ST ST ST r1, r1, r1, X+, Y+, Z+, X+ Y+ Z+ r1 r1 r1 42

43 Adresowanie pamięci programu LPM - kopiuje do rejestru R0 starszy lub młodszy bajt z pamięci programu spod adresu wskazywanego przez Z 43

44 Adresowanie pośrednie pamięci programu IJMP - załadowanie do PC wartości z rejestru Z ; bez powrotu ICALL jak wyżej; z możliwością powrotu (RET) 44

45 Adresowanie względne pamięci programu - załadowanie do PC adresu będącego sumą adresu bieżącego oraz różnicy adresu bieżącego i adresu etykiety; bez powrotu RCALL label - z możliwością powrotu (RET) RJMP label 45

46 Asembler struktura programu.include m32def.inc.def moj_rejestr=r18.equ stala=10....cseg.org 100 LDI moj_rejestr,0x23... dyrektywy inicjalizacja ;komentarz loop:... RJMP loop pętla główna 46

47 Asembler makra i podprogramy.macro delay1 NOP NOP NOP NOP.endmacro delay2: NOP NOP NOP RET... delay RCALL delay

48 Asembler instrukcje warunkowe IF r1 = 0 THEN i1 ELSE i2 TST r1 BRNE else i1 RJMP exit else: i2 exit: CASE r1 OF 0, 1, 2,... TST r1 BREQ case0 DEC r1 BREQ case1 DEC r1 BREQ case2... RJMP exit case0: i1 RJMP exit case1: i2 RJMP exit case2: i3 RJMP exit... exit: 48

49 Asembler pętle WHILE r1 <> 0 DO... next: TST r1 BREQ exit... RJMP next exit: FOR r1 = 0 TO N CLR r1 next:... INC r1 CPI r1, N BRNE next exit: DO... WHILE r1 <> 0 next:... TST r1 BRNE next exit: FOR r1 = N DOWNTO 0 LDI r1, N next:... DEC r1 BRNE next exit: 49

50 Obsługa portów I/O {x} = A, B, C, D (port) Rejestry: DDRx PINx PORTx - kierunek wejście (bit=0) / wyjście (bit=1) - stan wejść (tylko odczyt) - stan wyjść Instrukcje: IN r1, PINx OUT PORTx, r1 SBI PORTx, n CBI PORTx, n - odczyt stanu wejść do r1 - ustawienie stanu wyjść zgodnie z r1 - stan wysoki na wyjściu n - stan niski na wyjściu n 50

51 Pierwszy program.include "m32def.inc".cseg.org 100 CLR OUT SER OUT R16 DDRB, R16 R16 DDRC, R16 loop: IN R17, PINB OUT PORTC, R17 RJMP loop wejścia Port B wyjścia Port C 51

52 Stos Stos obszar pamięci danych, do którego dane są odkładane na wierzch i pobierane z wierzchołka Struktura LIFO (Last-In-First-Out) 52

53 Stos 1. Stos rosnący, wskaźnik stosu wskazuje na pierwszy wolny adres 2. Stos rosnący, wskaźnik stosu wskazuje na ostatni zajęty adres 3. Stos malejący, wskaźnik stosu wskazuje na pierwszy wolny adres (AVR) 4. Stos malejący, wskaźnik stosu wskazuje na ostatni zajęty adres Wskaźnik stosu rejestry 8-bitowe SPH i SPL 53

54 Stos - instrukcje PUSH r1 POP r1 - odłożenie wartości rejestru r1 na stos - zdjęcie ze stosu wartości i zapisanie w rejestrze r1 Automatyczna aktualizacja wskaźnika stosu Liczba użytych instrukcji PUSH i POP jednakowa (inaczej - przepełnienie stosu) Odwrócona kolejność odkładanych i zdejmowanych wartości Przed użyciem należy ustawić jednorazowo wskaźnik stosu na adres powyżej $5F 54

55 Podprogram przekazywanie parametrów (rejestry)... LDI R16, 0x23 LDI R17, 0x45 RCALL podprogram... zapisanie wartości parametrów do rejestrów podprogram: MUL R16, R16 MUL R17, R17 ADD R16, R17 RET 55

56 Podprogram przekazywanie parametrów (stos)... LDI R16, 0x23 LDI R17, 0x45 PUSH R16 PUSH R17 RCALL podprogram POP R17 POP R16... podprogram: IN ZH, SPH IN ZL, SPL ADIW Z, 2 LD R17, Z+ LD R16, Z... RET zapisanie wartości parametrów na stos SP Adres powrotu Parametr 2 Z+2 Parametr 1 (Z+2)+1 Trudniejszy sposób, ale możliwość przekazania dużej liczny parametrów i rekurencyjnego wywoływania podprogramów 56

57 Podprogram kopia wartości rejestrów roboczych... LDI R20, 0x0A next: RCALL podprogram DEC R20 BRNE next... podprogram: PUSH R20 PUSH R21 LDI R20, 0x0B... POP R21 POP R20 RET pętla indeksowana R20 Rejestr R20 zachowuje oryginalną wartość 57

58 Przerwania Przerwanie (interrupt, IRQ) sygnał powodujący wstrzymanie wykonania aktualnego programu i wykonanie procedury obsługi przerwania (interrupt handler) Źródła przerwań (ATmega): przerwania zewnętrzne (zmiana stanu wejść), timery, interfejsy UART, SPI, 2-wire, przetwornik A/C, komparator analogowy, pamięć EEPROM Brak konieczności odpytywania urządzenia (odczytywania rejestru w pętli) program główny może realizować inne zadania 58

59 ATmega 32 przerwania zewnętrzne 59

60 Wektory przerwań Priorytet 60

61 Przerwania procedury obsługi.include m32def.inc....cseg.org $0000 RJMP start.org $... RJMP procedura... start: LDI R16, HIGH(RAMEND) OUT SPH, R16 LDI R16, LOW(RAMEND) OUT SPL, R16 SEI... procedura:... RETI wektor przerwania powrót i ustawienie I = 1 61

62 Przerwania przykład.include m32def.inc.cseg.org $0000 RJMP start.org INT1addr RJMP int_1 start: LDI R16, HIGH(RAMEND) OUT SPH, R16 LDI R16, LOW(RAMEND) OUT SPL, R16 LDI R16, 1 << INT1 OUT GICR, R16 SEI... int_1: INC R20 RETI włączenie przerwania INT1 62

63 ATmega32 wewnętrzne układy peryferyjne Timery/liczniki, Układ watchdog, Przetwornik A/C, Komparator analogowy, Kontroler komunikacji (USART, SPI, Two-Wire, JTAG). 63

64 Timer/licznik 0 8-bitowy, porównanie z jedną wartością zadaną, kasowanie przy wartości zadanej, modulator PWM, licznik zdarzeń zewnętrznych, 10-bitowy preskaler (dzielnik częstotliwości), 2 przerwania (przepełnienie, porównanie) TOV0, OC0 64

65 Timery 1 i 2 Timer 1: 16-bitowy, 2 niezależne wartości zadane, możliwość rejestrowania czasu zajścia zmian na wejściu ICP1 lub na wyjściu komparatora analogowego, 4 źródła przerwań, zmienny okres przebiegu PWM Timer 2: 8-bitowy, 1 wartość zadana, 2 źródła przerwań, możliwość taktowania zewnętrznym kwarcem 32 khz (praca asynchroniczna) 65

66 Watchdog Watchdog sprzętowy układ licznikowy chroniący system mikroprocesorowy przed zbyt długim przebywaniem w stanie zawieszenia poprzez zresetowanie mikroprocesora w przypadku nieotrzymania w określonym czasie sygnału generowanego przez program (reset watchdoga). 1 MHz 66

67 Przetwornik A/C Rozdzielczość 10 bitów (maksymalnie) Przetwornik z sukcesywną aproksymacją (SAR) Tryby konwersji pojedynczej lub ciągłej (cyklicznej lub wyzwalanej zewnętrznie) 8 kanałów (16 kanałów różnicowych) Częstotliwość próbkowania: maks. 15 ksps (tysięcy próbek/s) dla rozdzielczości 10 bit 67

68 Komparator analogowy Wejście + 1,23V Przerwanie Wejście - Wyjście 68

69 Kontroler USART Universal Synchronous and Asynchronous Receiver and Transmitter Połączenie z innym mikrokontrolerem lub komputerem PC (RS232) Możliwość wykorzystania dla RS232, RS422, RS485, IrDA, Bluetooth, itd. Komunikacja szeregowa, synchroniczna lub asynchroniczna Full-duplex lub half-duplex Kontrola poprawności transmisji (parzystość) Prędkość transmisji maks. 2,5 Mbps dla ATmega32 Linie: RXD TXD XCK (transmisja synchroniczna) dodatkowe np. CTS, RTS, dla RS232 (opcjonalnie) 69

70 Interfejs USART ramka Transmisja asynchroniczna 1 bit startu St 5-9 bitów danych 1 bit parzystości/nieparzystości [P] (opcjonalny) 1 lub 2 bity stopu Sp1 [Sp2] Jednakowe ustawienia prędkości transmisji i liczby bitów dla nadajnika i odbiornika 70

71 Kontroler interfejsu SPI Serial Peripheral Interface (Motorola) Połączenie mikrokontrolera z zewnętrznym zegarem RTC, przetwornikiem A/C lub C/A, czujnikiem, innym mikrokontrolerem, itd. Komunikacja szeregowa, synchroniczna Full-duplex, do 10 Mbit/s (maks. 8 Mbit/s dla ATmega 32) Magistrala master-slave Linie: MOSI (Master Output Slave Input) MISO (Master Intput Slave Output) SS (Slave Select) SCK (Serial Clock) 71

72 Interfejs SPI - magistrala Rejestry przesuwne + generator sygnału zegarowego Wejście SS tylko po stronie slave (sterowane po stronie master dowolnym wyjściem) 72

73 Kontroler interfejsu Two-Wire (TWI) Odpowiednik I2C (Inter-Integrated Circuit, Philips, lata 80-te) Podobnie jak SPI komunikacja z peryferiami Komunikacja szeregowa synchroniczna, half-duplex Brak złożonej logiki przy wielu slave (adresowanie, mniejsza liczba linii) Do 128 urządzeń Mniejsza prędkość transmisji maksymalnie 400 kbit/s Linie: SDA (Serial Data) SCL (Serial Clock) 73

74 Interfejs Two-Wire (TWI) - ramka MSB LSB MSB LSB Bit kontrolny R/W kierunek transmisji (odczyt/zapis) Bit potwierdzenia stan niski na SDA wymuszany przez slave Adres (7 bitów + 1 bit kontrolny R/W + 1 bit potwierdzenia) Pakiet danych (8 bitów + 1 bit potwierdzenia) Adres zerowy - adres rozgłoszeniowy (general call) Możliwa transmisja kilku bajtów danych po transmisji adresu i przed sygnalizacją końca transmisji 74

75 Interfejs JTAG Joint Test Action Group Protokół zgodny z IEEE Dostęp do zasobów wewnętrznych (rejestry, RAM, EEPROM, pamięć programu, jednostka sterująca wykonaniem programu) i portów I/O Używany do: testowania połączeń na płytce drukowanej (boundary scan), programowania pamięci flash, EEPROM i bitów konfiguracyjnych (fuse/lock bits) w systemie (ISP), uruchamiania i debugowania programów. 75

76 Interfejs JTAG Gniazdo (header) dla JTAGa (widok z góry) 76

77 Dziękuję za uwagę.

Mikrokontrolery AVR ATmega

Mikrokontrolery AVR ATmega Mikrokontrolery AVR ATmega Literatura: 8-bit Microcontroller AVR with 32KBytes In-System Programmable Flash ATmega32 [www.atmel.com] 8-bit AVR Instruction Set [www.atmel.com] Baranowski Rafał, Mikrokontrolery

Bardziej szczegółowo

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot, Charakterystyka mikrokontrolerów Przygotowali: Łukasz Glapiński, 171021 Mateusz Kocur, 171044 Adam Kokot, 171075 Plan prezentacji Co to jest mikrokontroler? Historia Budowa mikrokontrolera Wykorzystywane

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej

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

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki

Mikroprocesory i mikrosterowniki Mikroprocesory i mikrosterowniki Wykład 1 wstęp, budowa mikrokontrolera Wydział Elektroniki Mikrosystemów i Fotoniki Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Piotr Markowski

Bardziej szczegółowo

1. Struktura urządzeń z wykorzystaniem mikrokontrolerów...13

1. Struktura urządzeń z wykorzystaniem mikrokontrolerów...13 3 Od autora...9 Wstęp...10 1. Struktura urządzeń z wykorzystaniem mikrokontrolerów...13 2. Jak jest zbudowany mikrokontroler AVR...15 2.1. Pamięć programu...16 2.2. Pamięć danych...16 2.3. Rejestry mikrokontrolera...17

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Instrukcje, tryby adresowania Wydział Elektroniki Mikrosystemów i Fotoniki Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Piotr Markowski Lista

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki

Mikroprocesory i mikrosterowniki Mikroprocesory i mikrosterowniki Instrukcje, tryby adresowania Wydział Elektroniki Mikrosystemów i Fotoniki Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Piotr Markowski Lista

Bardziej szczegółowo

Kurs Elektroniki. Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26

Kurs Elektroniki. Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26 Kurs Elektroniki Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26 Mikrokontroler - autonomiczny i użyteczny system mikroprocesorowy, który do swego działania wymaga minimalnej liczby elementów dodatkowych.

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

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

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

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

Wstęp Zagadnienia ogólne... 11

Wstęp Zagadnienia ogólne... 11 3 Wstęp... 10 1. Zagadnienia ogólne... 11 1.1. Rdzeń AVR...12 1.2. Rodzaje pamięci...13 1.2.1. Rejestry ogólnego przeznaczenia...14 1.2.2. Przestrzeń wejścia-wyjścia...15 1.2.3. Wewnętrzna pamięć SRAM...15

Bardziej szczegółowo

Charakterystyka mikrokontrolerów

Charakterystyka mikrokontrolerów Charakterystyka mikrokontrolerów 1. Historia powstania Pierwszym mikrokontrolerem (a nie mikroprocesorem) był wyprodukowany pod koniec roku 1972 przez Texas Instruments procesor TMS1000. Łączył on w sobie

Bardziej szczegółowo

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

Mikrokontroler AVR ATmega32 - wykład 9

Mikrokontroler AVR ATmega32 - wykład 9 SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1.

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

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

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

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

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe System mikroprocesorowy 1. Przedstaw schemat blokowy systemu mikroprocesorowego.

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

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15 3 1. Wstęp... 9 2. Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE... 11 3. Rdzeń mikrokontrolerów ST7FLITE... 15 3.1. Jednostka centralna...16 3.2. Organizacja i mapa pamięci...19 3.2.1. Pamięć RAM...20

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

Mikrokontrolery AVR ATmega

Mikrokontrolery AVR ATmega Mikrokontrolery AVR ATmega Literatura: 8-bit Microcontroller AVR with 32KBytes In-System Programmable Flash ATmega32 [www.atmel.com] 8-bit AVR Instruction Set [www.atmel.com] Baranowski Rafał, Mikrokontrolery

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

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F

Bardziej szczegółowo

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Komunikacja w mikrokontrolerach Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Treść kursu Programowanie mikrokontrolerów AVR (ATMEL) Orientacja na komunikację międzyukładową w C Literatura

Bardziej szczegółowo

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

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Interfejsy można podzielić na synchroniczne (oddzielna linia zegara), np. I 2 C, SPI oraz asynchroniczne, np. CAN W rozwiązaniach synchronicznych

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

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC Wykład 2 Przegląd mikrokontrolerów 8-bit: -AVR -PIC Mikrokontrolery AVR Mikrokontrolery AVR ATTiny Główne cechy Procesory RISC mało instrukcji, duża częstotliwość zegara Procesory 8-bitowe o uproszczonej

Bardziej szczegółowo

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

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08 Mikrokontrolery 8-bitowe Mikrokontrolery 8-bitowe stanowią wciąż najliczniejszą grupę mikrokontrolerów. Istniejące w chwili obecnej na rynku rodziny mikrokontrolerów opracowane zostały w latach 80-tych.

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4 1 Ćwiczenie nr 4 Program ćwiczenia: Interfejs szeregowy SPI obsługa sterownika ośmiopozycyjnego, 7-segmentowego wyświetlacza LED Interfejs szeregowy USART, komunikacja mikrokontrolera z komputerem PC.

Bardziej szczegółowo

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach!

Bardziej szczegółowo

Programowanie mikrokontrolerów. 5 grudnia 2007

Programowanie mikrokontrolerów. 5 grudnia 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 5 grudnia 2007 Przerwania Umożliwiają asynchroniczną obsługę różnych zdarzeń, np.: zmiana stanu wejścia, zakończenie przetwarzania analogowo-cyfrowego,

Bardziej szczegółowo

Wykład Mikroprocesory i kontrolery

Wykład Mikroprocesory i kontrolery Wykład Mikroprocesory i kontrolery Cele wykładu: Poznanie podstaw budowy, zasad działania mikroprocesorów i układów z nimi współpracujących. Podstawowa wiedza potrzebna do dalszego kształcenia się w technice

Bardziej szczegółowo

WPROWADZENIE Mikrosterownik mikrokontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

Technika Mikroprocesorowa

Technika Mikroprocesorowa Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa

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

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

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Technika mikroprocesorowa Laboratorium 5 Operacje arytmetyczne Autor: Paweł Russek Tłumaczenie: Marcin Pietroń i Ernest Jamro http://www.fpga.agh.edu.pl/tm

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

Układy czasowo-licznikowe w systemach mikroprocesorowych Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość

Bardziej szczegółowo

Wykład 2. Mikrokontrolery z rdzeniami ARM

Wykład 2. Mikrokontrolery z rdzeniami ARM Wykład 2 Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów

Bardziej szczegółowo

Elementy składoweµc - przypomnienie

Elementy składoweµc - przypomnienie SWB - Programowanie mikrokontrolerów - wykład 8 asz 1 Elementy składoweµc - przypomnienie Elementy składoweµc: procesor z ALU pamięć komputera (zawierająca dane i program) urządzenia wejścia/wyjścia SWB

Bardziej szczegółowo

Systemy mikroprocesorowe

Systemy mikroprocesorowe Dariusz Chaberski Uniwersytet Mikołaja Kopernika w Toruniu Wydział Fizyki, Astronomii i Informatyki Stosowanej Regionalne Kółka Fizyczne Urząd Marszałkowski w Toruniu Program Operacyjny Kapitał Ludzki

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Laboratorium

Mikroprocesory i Mikrosterowniki Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu

Bardziej szczegółowo

Komunikacja z urzadzeniami zewnętrznymi

Komunikacja z urzadzeniami zewnętrznymi Komunikacja z urzadzeniami zewnętrznymi Porty Łacza równoległe Łacza szeregowe Wymiana informacji - procesor, pamięć oraz urzadzenia wejścia-wyjścia Większość mikrokontrolerów (Intel, AVR, PIC) używa jednego

Bardziej szczegółowo

Systemy wbudowane Mikrokontrolery

Systemy wbudowane Mikrokontrolery Systemy wbudowane Mikrokontrolery Budowa i cechy mikrokontrolerów Architektura mikrokontrolerów rodziny AVR 1 Czym jest mikrokontroler? Mikrokontroler jest systemem komputerowym implementowanym w pojedynczym

Bardziej szczegółowo

Inkubator AVR Podstawy obsługi i programowania mikrokontrolerów rodziny. CZĘŚĆ I. Wprowadzenie i hardware Co na temat AVR każdy wiedzieć powinien? Producent: ATMEL (www.atmel.com) Instrukcje wykonywane

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

PROGRAMOWALNE SYSTEMY MECHATRONIKI

PROGRAMOWALNE SYSTEMY MECHATRONIKI PROGRAMOWALNE SYSTEMY MECHATRONIKI Laboratorium nr 5 Podstawy programowania mikrokontrolerów. Przerwania. 1. System przerwań informacje ogólne Programy sterujące mikrokontrolerów rzadko mają postać listy

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

NOTATNIK KONSTRUKTORA

NOTATNIK KONSTRUKTORA NOTATNIK KONSTRUKTORA Osobliwości kompilatora AVR-GCC i mikrokontrolerów AVR (3) Kompilator AVR GCC jest chętnie stosowany do kompilowania programów dla mikrokontrolerów AVR. Jak każdy kompilator ma swoje

Bardziej szczegółowo

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu. Jednostka centralna procesor (CPU, rdzeń) Schemat blokowy procesora rdzeniowego ATmega16 Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu. Zadania JC: dostęp do pamięci,

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

11.Mikrokomputeryjednoukładowe

11.Mikrokomputeryjednoukładowe Materiały do wykładu 11.Mikrokomputeryjednoukładowe Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 14maja2008 Podstawowe cechy(1) 11.1 Innenazwy mikrokontroler mikroprocesor do zastosowań

Bardziej szczegółowo

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A Symulator Escape Konfiguracja ogólna Enable MUL and DIV Complete Set of Comp.Oper Sign Extension of B/H/W Memory Oper on B/H/W Program Program Dane Dane Załaduj konfigurację symulatora (File -> OpenFile)

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

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33 Spis treści 3 1. Wprowadzenie...11 1.1. Wstęp...12 1.2. Mikrokontrolery rodziny ARM...13 1.3. Architektura rdzenia ARM Cortex-M3...15 1.3.1. Najważniejsze cechy architektury Cortex-M3... 15 1.3.2. Rejestry

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Współpraca z układami peryferyjnymi i urządzeniami zewnętrznymi Testowanie programowe (odpytywanie, przeglądanie) System przerwań Testowanie programowe

Bardziej szczegółowo

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406 ATMEGA128 MINI MODUŁ VE-APS-1406 Wstęp Instrukcja użytkownika Opis Instrukcja prezentuje mini moduł z mikrokontrolerem rodziny AVR (firmy ATMEL) Atmega128 w obudowie TQFP 64. Procesor ATmega128 wyposażony

Bardziej szczegółowo

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości nowoczesnych

Bardziej szczegółowo

System mikroprocesorowy i peryferia. Dariusz Chaberski

System mikroprocesorowy i peryferia. Dariusz Chaberski System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C Systemy wbudowane Mikrokontrolery AVR Wprowadzenie do programowania w C dr inż. Maciej Piechowiak Wprowadzenie język C jest językiem strukturalnym wysokiego poziomu, jednak działającym blisko sprzętu i

Bardziej szczegółowo

MIKROKONTROLERY FIRMY ATMEL. dr inż. Wiesław Madej

MIKROKONTROLERY FIRMY ATMEL. dr inż. Wiesław Madej MIKROKONTROLERY FIRMY ATMEL dr inż. Wiesław Madej Mikrokontroler To elektroniczny układ scalony, zawierający w sobie rdzeń procesora, pamięć oraz programowalne urządzenia wejścia/wyjścia takie jak porty

Bardziej szczegółowo

7. Technika mikroprocesorowa test

7. Technika mikroprocesorowa test 7. Technika mikroprocesorowa test 7.1. Wektor przerwań to: a) adres miejsca w pamięci programu, gdzie znajdują się adresy procedur obsługi przerwań lub ich pierwsze instrukcje b) obszar w pamięci programu

Bardziej szczegółowo

E-TRONIX Sterownik Uniwersalny SU 1.2

E-TRONIX Sterownik Uniwersalny SU 1.2 Obudowa. Obudowa umożliwia montaż sterownika na szynie DIN. Na panelu sterownika znajduje się wyświetlacz LCD 16x2, sygnalizacja LED stanu wejść cyfrowych (LED IN) i wyjść logicznych (LED OUT) oraz klawiatura

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

Układ transmisji szeregowej AVR

Układ transmisji szeregowej AVR Układ transmisji szeregowej AVR Transmisja szeregowa/równoległa porównanie: w transmisji szeregowej dane wysyłane są bit po bicie, mniej przewodów niż w transmisji równoległej (dwa przewody elektryczne

Bardziej szczegółowo

MAGISTRALE MIKROKONTROLERÓW (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

MAGISTRALE MIKROKONTROLERÓW (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Odległości pomiędzy źródłem a odbiorcą informacji mogą być bardzo zróżnicowane, przykładowo zaczynając od pojedynczych milimetrów w przypadku

Bardziej szczegółowo

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Technika mikroprocesorowa Instrukcja 2 Pętle i instrukcje kontroli przepływu programu Autor: Paweł Russek Tłumaczenie: Marcin Pietroń http://www.fpga.agh.edu.pl/tm

Bardziej szczegółowo

Programowanie mikrokontrolerów. 3 stycznia 2008

Programowanie mikrokontrolerów. 3 stycznia 2008 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 3 stycznia 2008 Liczniki, cd. Przypomnienie wiadomości o liczniku 0 Przykładowy program korzystający z licznika Ćwiczenia praktyczne Licznik

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

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

Magistrala systemowa (System Bus)

Magistrala systemowa (System Bus) Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki

Bardziej szczegółowo

Architektura mikroprocesorów TEO 2009/2010

Architektura mikroprocesorów TEO 2009/2010 Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład

Bardziej szczegółowo

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie budowy systemów opartych na układach Arduino. W tej części nauczymy się podłączać różne czujników,

Bardziej szczegółowo

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

4 Transmisja szeregowa, obsługa wyświetlacza LCD. 1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi

Bardziej szczegółowo

7. Technika mikroprocesorowa test

7. Technika mikroprocesorowa test 7. Technika mikroprocesorowa test 7.1. Wektor przerwań to: a) adres miejsca w pamięci programu, gdzie znajduje się procedura obsługi przerwania lub odwołanie do niej b) obszar w pamięci programu zawierający

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki TECHNIKA MIKROPROCESOROWA II LAB 6 Moduł UART - współpraca z komputerem poprzez BlueTooth Mariusz Sokołowski

Bardziej szczegółowo

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 ZL30ARM Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 Zestaw ZL30ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów STM32F103. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych

Bardziej szczegółowo

Mikrokontrolery czyli o czym to będzie...

Mikrokontrolery czyli o czym to będzie... Mikrokontrolery czyli o czym to będzie... Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego PNPiM Poznamy: Cechy

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

Maszyny liczace - rys historyczny

Maszyny liczace - rys historyczny SWB - Mikroprocesory i mikrokontrolery - wykład 7 asz 1 Maszyny liczace - rys historyczny pierwszy kalendarz - Stonehenge (obecnie Salisbury, Anglia) skonstruowany ok. 2800 r. pne. abacus - pierwsze liczydła

Bardziej szczegółowo

Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler

Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler Robert Budzioski Wrocław, 11. maja 2009 Spis treści 1. Sterowanie

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

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168 ZL16AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168 ZL16AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerówavr w obudowie 28-wyprowadzeniowej (ATmega8/48/88/168). Dzięki

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

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

MIKROKONTROLERY AVR JĘZYK C WYDAWNICTWO ATNEL PODSTAWY PROGRAMOWANIA. Miros aw Kardaś. Szczecin 2013. Mojej Żonie Kasi

MIKROKONTROLERY AVR JĘZYK C WYDAWNICTWO ATNEL PODSTAWY PROGRAMOWANIA. Miros aw Kardaś. Szczecin 2013. Mojej Żonie Kasi WYDAWNICTWO ATNEL MIKROKONTROLERY AVR JĘZYK C PODSTAWY PROGRAMOWANIA Miros aw Kardaś Szczecin 2013 Mojej Żonie Kasi Książka przeznaczona jest dla elektroników i hobbystów, którzy chcą szybko, opierając

Bardziej szczegółowo

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C: Mikrokontroler Platforma Systemy Wbudowane IDE:, AVR mgr inż. Marek Wilkus Wydział Inżynierii Metali i Informatyki Przemysłowej AGH Kraków Mikrokontroler AVR Uno Środowisko Terminal Uruchamianie http://home.agh.edu.pl/~mwilkus

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887 ZL5PIC Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887 ZL5PIC jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów PIC16F887 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu

Bardziej szczegółowo