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 zajęcia Poprawa kolokwium w czasie laboratorium, Laboratoria: 2,5godziny lekcyjnej Zaliczenie laboratorium na ocenę
3 Literatura Rafał Baranowski Mikrokontrolery AVR ATmega w praktyce Jacek Andrzej Michalski - Mikroprocesory dla początkujących Andrzej Pawlaczuk -Sztuka programowania mikrokontrolerów AVR 8-bit AVR Instruction Set Atmega16 datasheet
4 Literatura uzupełniająca www.atmel.com www.avrfreaks.org W. Komorowski Krótki kurs Architektury i organizacji komputerów- Wydawnictwo Mikom, 2004 A. Niederliński- Mikroprocesory, mikrokomputery, mikrosystemy, WSiP 1991 A. Rydzewski, K. Sacha Mikrokomputer elementy, budowa, działanie. Wydawnictwo NOT-SIGMA 1986, J.Janiczek, A.Stępień Mikrokontrolery J.Janiczek, A.Stępień Laboratorium systemów mikroprocesorowych T. Starecki: Mikrokontrolery 8051 w praktyce P.Gałka - Podstawy programowania mikrokontrolera 8051
5 Plan dzisiejszego wykładu Budowa systemu mikroprocesorowego (mikrokontrolera) Cykl rozkazowy Modele pamięci operacyjnej Tryby adresowania Budowa mikroprocesora AVR
6 Podstawowe elementy komputera Magistrala danych (Data bus) mikroprocesor Magistrala adresów (Adress Bus) Magistrala sterowań (Control Bus) Pamięć programu Pamięć danych Układy peryferyjne
7 Modele pamięci operacyjnej Pamięć Dane i rozkazy Procesor centralny Pamięć danych Pamięć programu dane rozkazy Procesor centralny Architektura von Neumanna (Princeton) Architektura Harvard
8
Dołączenie zewnętrznej pamięci danych 9
Dołączenie zewnętrznej pamięci danych cd1 10
11 Cykl rozkazowy Pobranie rozkazu Wykonanie rozkazu
12 Sposoby wykonywania instrukcji T1 T2 T3 T4 1st ins. FETCH 1at inst. EXECUTE 2nd ins. FETCH 2nd inst. EXECUTE
13 Licznik Rozkazów (Program Counter) -Zawiera adres komórki pamięci następnego w kolejności rozkazu do wykonania -Zawartość PC jest automatycznie zwiększana
14 Sposoby wykonywania programu Kolejne wykonywanie rozkazów Program z rozkazami skoków rozkaz1 rozkaz2 rozkaz3...... Poczatek: rozkaz1 rozkaz2 rozkaz3... BREQ delej... dalej:............ Rozkaz n... Jmp poczatek
15 Przełączania programu przy przerwaniu Program główny rozkaz X (MSB) X (LSB) stos $000 $002 $004 $006 Jmp RESET Jmp EXT_INT0 Jmp EXT_INT1 JMP TIM2_COMP...... X (MSB) X (LSB) EXT_INT0: instr1 instr2 instr3 instr4... RETI stos
16 Adresowanie natychmiastowe Rozkaz Kod operacji argument Argument znajduje się bezpośrednio w słowie rozkazowym
17 Adresowanie bezpośrednie Rozkaz Kop Adres Adres efektywny Effective Addres argument pamięć
18 Adresowanie pośrednie Rozkaz Kop Adres argument Adres adresu EA pamięć
19 Adresowanie pośrednie rejestrowe Rozkaz Kop Numer rejestru argument Adres efektywny Effective Address rejestry EA pamięć
20 Adresowanie względne Rozkaz Kop Adres względny argument Adres efektywny Effective Address + rejestry Adres bazowy pamięć
21 Adresowanie względem PC Rozkaz Kop Przesunięcie (displacement) argument Adres efektywny Effective Address + Adres następnego rozkazu Licznik Rozkazów (PC) pamięć
Rejestry robocze mikrokontrolera AVR 22
Pamięć Mikrokontrolera AVR 23
Pamięć danych Mikrokontrolera AVR 24
25 Adresowanie (bezpośrednie) rejestrów Przykłady COM R2 NEG R23 INC R4 DEC R31
26 Adresowanie (bezpośrednie) rejestrów Przykłady ADD R16,R17 OR R18,R19 AND R20,R17
27 Adresowanie bezpośrednie Przykłady OUT PortA,R17 IN R18,PinA
28 Adresowanie bezpośrednie Przykłady LDS R2,3456 STS 0X4F36,R17
29 Adresowanie pośrednie z przesunięciem Przykłady LDD R20,Y+63 STD Z+2,R20
30 Adresowanie pośrednie Przykłady LDS R21,Z STS X,R17
31 Adresowanie pośrednie z predekrementacją Przykłady LD R21,-Z ST -X,R17
Adresowanie pośrednie z postinkrementacją 32 Przykłady LD R21,Z+ ST X+,R17
33 Adresowanie pośrednie (LPM) Przykłady LPM LPM R17,Z
34 Adresowanie pośrednie (LPM Z+) Przykłady LPM R17,Z+
35 Adresowanie bezpośrednie przy skokach (JMP i CALL) Przykłady JMP dalej ; CALL 0x3429
36 Adresowanie pośrednie przy skokach (IJMP, ICALL) Przykłady IJMP ICALL
37 Adresowanie pośrednie, względne w skokach (RJMP, RCALL) Przykład RCALL procedura_a