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 Temat: Narzędzia: Mikrokontrolery rodzina 8051 Wstęp Podstawowe informacje Pakiet Multi Media Logic (MMLogic), Pakiet MCU 8051 IDE Cele ćwiczenia Zdobycie podstawowych informacji o architekturze mikrokontrolerów 8-bitowych Zapoznanie z budową i symulacja działania mikrokontrolerów 8-bitowych Nabycie umiejętności programowania prostych aplikacji dla mikrokontrolerów w języku Assemblera Wstęp Informacje podawane przez prowadzącego: - Podstawowe elementy mikrokontrolera. - Różnica pomiędzy mikroprocesorem i mikrokontrolerem Mikrokontrolery rodziny 8051 ----------------------------------- >>> Schemat blokowy na przykładzie mikrokontrolerów rodziny 8051 ZEGAR PAMIĘĆ ROM PAMIĘĆ RAM 8 bit CPU System przerwań Ukł. czasowolicznikowy we/wy szeregowe lub... Blok we/wy 8 8 8 8 P3 P2 P1 P0 Rysunek 1 Schemat blokowy struktury mikrokontrolerów 8-bitowych. Schemat funkcjonlany najważniejsze jednostki, elementy, rejestry: ALU jednostka arytmetyczno-logiczna wynik działania z ALU zawsze do A, ACC A, ACC (B) rejestr(y) akumulatora PSW słowo stanu --- rejestr flag m.in. C (CY), P. SP wskaźnik stosu PC licznik rozkazów 16 bit DPTR rej adresowania zewnętrznego 16 bit 4 porty we/wy każdy port 8 bitowy (8 linii) każda linia może być wej lub wyj KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 1/8
Każdy port ma przyporządkowany rejestr 8 bitowy w pamięci RAM mikrokontrolera Rysunek 2 Schemat funkcjonalny z elementami architektury mikrokontrolera rodziny 8051 ALU działanie symulacja W komputerze, w pakiecie MMLogic otworzyć nowy plik ALU-intro zasymulować obsługę 8 bitowej jednostki ALU. Rysunek 3 Schemat symulacyjny 8-bitowej jednostki ALU UWAGA-WAŻNE: Na wejścia argumentów A i B podawane tylko młodsze części bajtów; części starsze w postaci 0000.!!! Zbadać działania: A+B A-B A*B A/B KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 2/8
- wyjaśnienia prowadzącego dotyczące działania mnożenia i dzielenia praca z akumulatorem A (ACC) i akumulatorem pomocniczym B (w procesorze 8 bitowym) - zaobserwować zachowanie flagi C przy różnych działaniach np. Arg A=4, Arg B=5 wyjaśnienia prowadzącego kasowanie bitu flagi C w programach - wyjaśnienia prowadzącego znaczenie flagi OVERFLOW (gdy najbardziej znaczący bit na 1 ) Mapa pamięci RAM mikrokontrolery o architekturze 8051 Rysunek 4 Obszary mapy pamięci RAM mikrokontrolera rodziny 8051 Mikrokontrolery rodziny AVR ----------------------------------- >>> Wykorzystując doświadczenia zgormadzone przy konstruowaniu mikrokontrolerów rodziny 8051 do dziś obecnej w ofercie producentów mikrokontrolerów dedykowanych do prostych aplikacji przemysłowych i komercyjnych, opracowano nową architekturę procesorów 8 i 16 bitowych. W ten sposób na rynku pojawiły się mikrokontrolery rodziny AVR np. popularne ATmega, oferowane w różnych odmianach i wersjach. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 3/8
Schemat funkcjonalny procesory AVR Rysunek 5 Schemat funkcjonalny z elementami architektury mikrokontrolera rodziny AVR Mapa pamięci mikrokontrolery AVR Rysunek 6 Obszary mapy pamięci RAM mikrokontrolera rodziny AVR KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 4/8
Obszary rejestrów wejść/wyjść I/O. Program ćwiczenia 1) Pakiet MCU 8051 IDE budowa interfejsu i prowadzenie symulacja 2) Podstawowe elementy Assemblera tryby adresowania na przykładzie programu Pakiet MCU 8051 IDE i tryby adresowania Assemblera Adresowanie komórek pamięci programu i wpisywanie danych do komórek zostanie zrealizowane w pakiecie symulacyjnym procesorów 8-bitowych MCU 8051 IDE. W pakiecie tym możliwe jest pisanie programów, ich kompilacja i symulacja pracy na platformach architektury mikrokontrolerów m.in. rodziny 8051 i 8052. Wygląd okna podstawowego pokazano na rysunku 7. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 5/8
Rysunek 7 Okno pakietu MCU 8051 IDE z oknami podglądu najważniejszych elementów architektury mikrokontrolerów W oknie tym uruchomione są już okna: nowego projektu, widoku rejestrów, widoku kodu programu, widoku pamięci wewnętrznej RAM oraz widoku portów. Po uruchomieniu programu po raz pierwszy, należy w pasku menu wybrać Project i New. Utworzyć nowy projekt podanie nazwy projektu oraz ścieżki do jego lokalizacji na dysku katalog Student/EiP. Zapoznanie z działaniem pakietu symulacyjnego najlepiej zacząć już na pewnym prostym przykładzie. Rysunek 8 Najważniejsze elementy obsługi symulacji aplikacji mikrokontrolera Dlatego w pliku nr 001 proponuje się poznanie zasad i podstawowych trybów adresowania pamięci RAM i rejestrów. Program zapisuje się w języku Assembler a aby poznać dokładniej architekturę wewnętrzną mikrokontrolera. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 6/8
PISZĄC PROGRAMY ASSEMBLEROWE WŁĄCZAMY CAPSLOCK. UNIKAMY RÓWNIEŻ POLSKICH ZNAKÓW!!! Ogólna struktura programu w języku Assembler wyjaśnienia prowadzącego: ;TRYBY ADRESOWANIA I OBSLUGA PORTOW ADRESY1: MOV R0,#15 ;ADR NATYCHMIASTOWE REJESTROWE MOV R1,#15H MOV R2,#00010001B SETB RS0 ;WYBOR BANKU REJESTRÓW NR 01 (1) ADRESY2: MOV R0,00H ;ADR BEZPOSREDNIE REJESTROWE MOV 09H,02H ;ADR BEZPOSREDNIE MOV 30H,01H ADRESY3: MOV A,R1 ;ADR REJESTROWE MOV R2,A CLR RS0 ;ZMIANA BANKU REJ NA NR 00 (0) - POPRZEDNI, DEFAULT- OWY MOV R7,A ADRESY4: MOV R0,#50H MOV @R0,A ;ADR POSREDNIE ADRESY5: MOV 40H,#26 MOV 40H+2,#27 ;ADR INDEKSOWE MOV 40H+4,#28 ADRESY6: SETB 20H.0 ;ADR BITOWE (KOMORKI 20H DO 2FH) SETB 21H.1 PORT_OUT_IN: MOV P0,42H MOV P1,44H MOV 52H,P2 MOV 54H,P3 LJMP ADRESY1 ;SKOK DO PIERWSZEJ ETYKIETY - PETLA PROGRAMU!!! END Ważne obsługa pakietu symulacji na przykładzie pliku nr 001 Na przykładzie pliku prowadzący pokazuje i wyjaśnia postępowanie związane kompilacją programu, symulacją krokową i ciągłą, obserwacją działania programu itp. Najważniejsze elementy i narzędzia wykorzystywane w trakcie symulacji pokazano na rysunku 8. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 7/8
WYJAŚNIENIA PROWADZACEGO: - jak obsługiwać symulację i obserwować efekty jej działania - tryby adresowania wyjaśniania - obsługa portów po co? Jakie ma znaczenie w praktycznych aplikacjach? - struktury pamięci RAM banki rejestrów, rejestry R0-R7, komórki adresowania bitowego, stos - pokazanie na oknie podstawowych rejestrów związanych obsługą mikrokontrolera (w pasku narzędzi np. PC itp.) - rozumienie pliku z rozkazami procesora 8051 plik PDF rozkazy-ksero WAŻNE: Na kolejnych zajęciach nie będzie już dodatkowo tłumaczone jak obsługiwać pakiet i jakie są najważniejsze elementy tego środowiska. Będzie on natomiast wykorzystywany w pisaniu aplikacji Assemblerowych i symulacjach pracy mikrokontrolerów. Stąd konieczność swobodnego posługiwania się podstawowymi funkcjomi pakietu poznanymi na tych zajęciach. KONIECZNIE!!! poczytać literaturę lub serwisy WWW poświęcone tematyce mikrokontrolerów 8 bitowych z architekturą 8051 PODSUMOWANIE Po zajęciach Student powinien: znać budowę strukturalną i funkcje mikrokontrolerów 8-birtowych umieć wyjaśnić różnice między mikrokontrolerami rodzin 8051 i AVR znać budowę i wymienić podstawowe obszary pamięci RAM mikrokontrolerów rodzin 8051 i AVR znać podstawowe tryby adresowania pamięci danych w Assemberze mikrokontrolerów rodziny 8051 KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 8/8