Mikrokontrolery 8 bit - wprowadzenie



Podobne dokumenty
Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

MIKROKONTROLERY I MIKROPROCESORY

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

Elementy składoweµc - przypomnienie

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

architektura komputerów w 1 1

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

CPU architektura i rejestry

Architektura komputerów

Wykład 2. Mikrokontrolery z rdzeniami ARM

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Organizacja typowego mikroprocesora

2. Architektura mikrokontrolerów PIC16F8x... 13

Opis efektów kształcenia dla modułu zajęć

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

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

Egzamin / zaliczenie na ocenę*

Sprzęt i architektura komputerów

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

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Wstęp Architektura... 13

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

ARCHITEKTURA PROCESORA,

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Instytut Teleinformatyki

Budowa i zasada działania komputera. dr Artur Bartoszewski

Programowanie mikrokontrolera 8051

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

WPROWADZENIE Mikrosterownik mikrokontrolery

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

Magistrala systemowa (System Bus)

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

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Mikrokontroler 80C51

Opis układów wykorzystanych w aplikacji

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

Programowalne Układy Cyfrowe Laboratorium

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Podstawy Techniki Mikroprocesorowej

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

Politechnika Warszawska

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

PROGRAMOWALNE STEROWNIKI LOGICZNE

DSM51 operacje przesylania danych i operacje arytmetyczne strona 1

LEKCJA TEMAT: Zasada działania komputera.

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1

Systemy wbudowane Mikrokontrolery

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka

Sprzęt i architektura komputerów

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

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

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

Przykładowe pytania DSP 1

PRZEWODNIK PO PRZEDMIOCIE

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Struktura i działanie jednostki centralnej

Wykład III. Procesor. Studia Podyplomowe INFORMATYKA Architektura komputerów

Pracownia elektryczno-elektroniczna klasa IV

Instytut Teleinformatyki

Opracował: Jan Front

Programowanie niskopoziomowe

Zapisywanie algorytmów w języku programowania

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

imei Instytut Metrologii, Elektroniki i Informatyki

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Mikrokontroler ATmega32. Język symboliczny

Procesory sygnałowe Digital Signal Processors. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

Przerzutniki RS i JK-MS lab. 04 Układy sekwencyjne cz. 1

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne

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

Politechnika Śląska w Gliwicach

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

MIKROPROCESORY architektura i programowanie

Struktura programu w asemblerze mikrokontrolera 8051

Technika cyfrowa i mikroprocesorowa. Zaliczenie na ocenę. Zaliczenie na ocenę

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Instytut Teleinformatyki

Szkolenia specjalistyczne

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

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2

Instytut Teleinformatyki

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

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja.

Instytut Teleinformatyki

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

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

4. MATERIAŁ NAUCZANIA Mikrokontroler Materiał nauczania

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Transkrypt:

Mikrokontrolery 8 bit - wprowadzenie TECHNIKA MIKROPROCESOROWA 3EB KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL Temat: Mikrokontrolery 8 bitowe wprowadzenie Cele ćwiczenia Zapoznanie z budową i podstawowymi elementami mikrokontrolerów Nabycie umiejętności tworzenia prostych aplikacji programowych dla mikrokontrolerów 8 bit w języku Assembler Wstęp Współcześnie dostępnych jest na rynku bardzo wiele rodzin i typów mikroprocesorów i mikrokontrolerów. Mikroprocesor - to układ elektroniczny wysokiej skali integracji, zwykle w jednolitej obudowie układu scalonego, umożliwiający prowadzenie operacji arytmetycznych i logicznych na danych cyfrowych o różnej długości słowa bitowego. Operacje mogą być prowadzone wielowątkowo, równocześnie. Efektem działania są wyniki dane w postaci cyfrowej. Mikrokontroler - to układ elektroniczny wysokiej skali integracji, zwykle w jednolitej obudowie układu scalonego, który zawiera w sobie mikroprocesor oraz inne układy współpracujące z nim, umożliwiające wprowadzenie i wyprowadzenie danych w procesora dla innych układów zewnętrznych, zbieranie danych oraz zapis aplikacji tworzonej przez programistę dla całego mikrokontrolera. Najważniejsze trzy elementy mikrokontrolera to: Mikroprocesor z jednostką arytmetyczno-logiczną ALU i rejestrami roboczymi, pamięć ROM (dla aplikacji) i RAM (dla danych) układ wej/wyj (I/O) komunikacja z peryferiami zewnętrznymi. Schemat blokowy ogólnej architektury mikrokontrolerów pokazano na rysunku 1. 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 Mikrokontroler 8 bit schemat blokowy i najważniejsze elementy jego architektury W branży mikrokontrolerów wciąż podstawą organizacji ich architektury jest opracowana w latach 80-tych i 90-tych XX wieku rodzina mikrokontrolerów 8051. Najważniejsze i najpopularniejsze współcześnie rodziny mikrokontrolerów, bazujące historycznie na tej architekturze to: AVR, ARM KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 1/8

Na rysunku 2 pokazano bardziej szczegółowo elementy mikrokontrolera, z umieszczonym pod spodem opisem. Rysunek 2 Mikrokontroler 8 bit szczegółowa budowa i architektura Najważniejsze elementy rejestry, flagi, wskaźniki: 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. Każdy port ma przyporządkowany rejestr 8 bitowy w pamięci RAM mikrokontrolera WAŻNE! Więcej szczegółowych informacji można znaleźć w wybranych pozycjach literaturowych zebranych na stronie WWW oraz w serwisach internetowych poświęconych mikrokontrolerom 8 bitowym rodziny 8051 i AVR. Podstawa rodzina mikrokontrolerów 8051 Przedstawiając mikrokontroler danej rodziny, wybiera się kilka najważniejszych elementów. Jednym z nich jest mapa pamięci RAM, z której może korzystać programista w celu umieszczania danych do działań oraz wyników działań realizowanych w ramach tworzonej przez niego aplikacji. W mapie pamięci RAM podane są adresy komórek pamięci (rejestrów) oraz zaznaczone obszary w których nadano rejestrom np. specjalne nazwy, komórki pamięci cechują się określonymi właściwościami lub są zarezerwowane do konkretnych celów. Na rysunku 3 pokazano mapę pamięci klasycznego mikrokontrolera rodziny 8051. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 2/8

Rysunek 3 Mapa pamięci RAM dla mikrokontrolerów rodziny 8051 Ważne informacje praktyczne: W mikrokontrolerach rodziny 8051 wszystkie operacje arytmetyczne i logiczne na danych są wykonywane w jednym rejestrze akumulatorze A (ACC). Wynik operacji (np. dodawania, odejmowania itp.) pojawia się również w rejestrze A i dlatego, jeżeli jest on istotny i ma być zachowany, zawsze trzeba go natychmiast przesłać do jakiejś komórki pamięci RAM mikrokontrolera. W przeciwnym wypadku zostanie on nadpisany nowymi danymi wpisanymi do rejestru A i utracony. Tylko mnożenie i dzielenie są wykonywane na dwóch rejestrach: A akumulator i B akumulator pomocniczy. Mikrokontrolery mogą być programowane różnymi metodami i przy użyciu różnych języków programowania. Najpowszechniej stosowany obecnie jest język C i C++. Jednak podstawowym językiem jest tzw. Assembler. Jego rozkazy są bezpośrednio kompilowane na tzw. język maszynowy (zapisany za pomocą 0 i 1-ek, zrozumiały dla mikrokontrolera). Posługiwanie się Assemblerem wymaga od programisty większej wiedzy technicznej na temat budowy i funkcjonowania danego mikrokontrolera i zmusza go do znajomości jego budowy i architektury. Dlatego też zwykle pierwsze zapoznanie z programowaniem rozpoczyna się właśnie od tego języka. Pisząc bowiem programy w języku C korzysta się z bibliotek, gdzie zapisane są i przyporządkowane nazwy określonych rejestrów i ich lokalizacja w pamięci mikrokontrolera, a programista nie musi dokładniej wnikać w architekturę mikrokontrolera. W rzeczywistości jednak jest to złudne poczucie komfortu, bowiem jej znajomość pozwala na sprawniejsze uruchamianie aplikacji na rzeczywistych układach, gdzie ważne jest dodatkowo dobre skonfigurowanie np. sygnałów przerwań, określonych parametrów startowych itp. WAŻNE! Więcej szczegółowych informacji można znaleźć w wybranych pozycjach literaturowych zebranych na stronie WWW oraz w serwisach internetowych poświęconych mikrokontrolerom 8 bitowym rodziny 8051 i AVR. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 3/8

Program ćwiczenia ------------------------------------------ 1) Zapoznanie z pakietem Pinnacle 52 wersja tylko 32 bitowa!!! 2) Zapoznanie z ogólną strukturą programu w języku Assembler i zasadami programowania 3) Napisanie i uruchomienie prostego programu dla mikrokontrolera wprowadzającego do różnych trybów adresowania danych umieszczanych w pamięci RAM lub rejestrach roboczych np. A. Pakiet Pinnacle 52 symulator mikrokontrolerów rodziny 8051 Pakiet dostępny tylko w wersji dla komputerów 32 bitowych!!! Można znaleźć w serwisach internetowych inne symulatory jednak nie są one już tak przejrzyste graficznie, a zarazem zawierające najpotrzebniejsze informacje dla programisty. W pakiecie Pinnacle 52 możliwe jest pisanie programów, ich kompilacja i symulacja pracy na platformach architektury mikrokontrolerów rodziny 8051 i 8052. Wygląd okna głównego narzędzia pokazano na rysunku 4. Rysunek 4 Okno pakietu Pinnacle 52 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. Wybrane okna podglądu można uruchomić z menu View jak pokazano na rysunku 5. Na początku użytkowania pakietu należy wybrać te okna podglądu i rozmieścić je w oknie głównym, tak by były dobrze widoczne. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 4/8

Rysunek 5 Wybór okien do widoku w panelu głównym Program nr 001 podstawowe tryby adresowania pamięci RAM Zapoznanie z działaniem pakietu symulacyjnego najlepiej zacząć już na pewnym prostym przykładzie. 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. Pisząc programy Assemblerowe włączamy CapsLock. UNIKAMY RÓWNIEŻ POLSKICH ZNAKÓW!!! Ogólna struktura programu w języku Assembler: (komendy, dyrektywy, warunki, ustawienia początkowe może ich nie być) ETYKIETA1: ROZKAZY ROZKAZY ETYKIETA2: ROZKAZY SKOK DO ETYKIETY (np. 1) END W programie nr 001 pokazano wybrane tryby adresowania oraz pokazano prostą obsługę portów wej/wyj. Są to elementy niezbędne do sprawnego tworzenia nawet najprostszych aplikacji na mikrokontrolery rodziny 8051 i AVR. Poniżej zamieszczono zapis kodu programu nr 001. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 5/8

; ----- PROGRAM 001 ------------------------------------------------- ; 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 rysunkach 6, 7 i 8. KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 6/8

Rysunek 6 Najważniejsze elementy obsługi symulacji aplikacji mikrokontrolera Rysunek 7 Narzędzie kompilacji i linkowania generacja kodu maszynowego dla mikrokontrolera KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 7/8

Rysunek 8 Skróty klawiszowe do obsługi symulacji praca krokowa klawisz funkcyjny F8 PODSUMOWANIE Po zajęciach Student powinien: znać budowę i zasadę działania prostego mikrokontrolera 8 bitowego rodziny 8051 umieć poprawnie napisać prosty program aplikacyjny dla mikrokontrolera w języku Assembler umieć skompilować plik programu i zasymulować jego pracę w środowisku Pinnacle 52, z umiejętnością wskazania rejestrów KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 8/8