KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

Podobne dokumenty
Mikrokontrolery AVR Wprowadzenie

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Niektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

KAŻDY Z 8-MIO BITOWYCH PORTÓW MIKROKONTROLERÓW RODZINY 51 MA JEDYNIE REJESTR PORTU: P0, P1, P2, P3, PEŁNIĄ ONE ROLĘ REJESTRÓW DANYCH WE/WY.

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

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Instytut Teleinformatyki

Zestaw Edukacyjny Atmega-8 (AJAWe-0711) Porty wejścia-wyjścia.

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

Mikroprocesory i mikrosterowniki

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Programowanie w językach asemblera i C

Podstawy techniki mikroprocesorowej

Instytut Teleinformatyki

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Programowanie mikrokontrolerów AVR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

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

Mikrokontrolery AVR techniczne aspekty programowania

Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie

Wbudowane układy peryferyjne cz. 1 Wykład 7

Instytut Teleinformatyki

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Opis procedur asemblera AVR

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

Mikrokontrolery w mechatronice. Wstępne uwagi

Podstawy programowania w BASCOM BASIC AVR

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Programowanie mikrokontrolerów - laboratorium

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

E-TRONIX Sterownik Uniwersalny SU 1.2

Komunikacja z urzadzeniami zewnętrznymi

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

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

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

EGZAMIN MATURALNY Z INFORMATYKI

Komunikacja w mikrokontrolerach Laboratorium

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

GND(VSS) i VCC - masa i zasilanie. V0 - regulacja kontrastu

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programator procesorów rodziny AVR AVR-T910

SYSTEMY LICZBOWE 275,538 =

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Technika Mikroprocesorowa

Instytut Teleinformatyki

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

Arytmetyka. Arytmetyka. Magdalena Lemańska. Magdalena Lemańska,

Dokumentacja mikrokontrolera Atmega16 firmy Atmel

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

PROGRAMOWALNE SYSTEMY MECHATRONIKI

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

MCAR Robot mobilny z procesorem AVR Atmega32

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Architektura mikroprocesorów TEO 2009/2010

Język C. Wykład 9: Mikrokontrolery cz.1. Łukasz Gaweł Chemia C pokój 307

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

2.1 Przesył danych między procesorem a tabelą zmiennych

MIKROKONTROLERY I MIKROPROCESORY

Stanowisko laboratoryjne dla mikrokontrolera Atmega16 firmy Atmel

Programowanie mikrokontrolerów. 8 listopada 2007

Kod produktu: MP01611-ZK

Akademia Techniczno-Humanistyczna w Bielsku-Białej

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Komunikacja w mikrokontrolerach Laboratorium

Podstawy programowania w języku C i C++

Kod produktu: MP01611

1.1. Pozycyjne systemy liczbowe

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Arytmetyka liczb binarnych

Wyjście do drukarki Centronix

Instrukcja integracji urządzenia na magistrali Modbus RTU

Mikroprocesory i Mikrosterowniki Laboratorium

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Przemysłowy odtwarzacz plików MP3

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

Techniki multimedialne

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

L6.1 Systemy liczenia stosowane w informatyce

Transkrypt:

Mikrokontrolery AVR

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

Wyprowadzenia Każdy z mikrokontrolerów posiada pewną liczbę wyprowadzeń cyfrowych które służą do wprowadzania i odbierania informacji z mikrokontrolera. Wyprowadzenia te umożliwiają komunikację z układami peryferyjnymi, innymi mikroprocesorami oraz służą do programowania układów. Wyprowadzenia nazywane są I/O (ang. In/Out) (wejścia/wyjścia).

Dla przykładu układ ATmega8 ma 23 programowalne wyprowadzenia I/O, a mikrokontroler ATmega16 posiada aż 32 I/O. Linie wejść/wyjść podzielone zostały na porty.

ATmega8

Piny Wszystkie linie programowalne I/O zostały pogrupowane w porty zawierające do 8 linii. Firma Atmelprodukująca mikroprocesory AVR przyjęła następujące oznaczanie wyprowadzeń: pierwsza litera P to skrót od nazwy PORT, druga litera oznacza nazwę portu. Dla ATmega8 są to litery B, C i D. Cyfra występująca po literze portu oznacza bit wyprowadzenia tego portu i może zawierać się w granicach od 0 do 7. Wyprowadzenie ma oznaczenie PC5 oznacza to, że jest to 5 bit portu C.

Nie każdy port ma 8 wyprowadzeń. Przykładowo port C posiada tylko 7 wyprowadzeń, a pozostałe pory B i D po 8. Dodatkowo linia PC6 nie jest normalnie dostępna jako I/O. Domyślnie znajduje się tam pin resetu. Mniejsze układy mają mniejsza ilość pinów

PROGRAMOWANIE

Programowanie Podczas programowania podaje się literę portu i cyfrę dla określenia konkretnego wyprowadzenia. W programie można odwoływać się również W programie można odwoływać się również do całego portu i wpisać do niego pewną liczbę lub odczytać jego stan i zapisać go do zmiennej.

Za wszystkie ustawienia w mikrokontrolerze odpowiadają rejestry. W rejestrach znajdują się bity które mogą przyjmować stan 0 lub 1 (rejestr to tablica w której każdy z bitów to oddzielna komórka). Tak jest w przypadku linii I/O. Port jest rejestrem a konkretne linie są bitami tego rejestru. Poniżej przykład 3 rejestrów odpowiedzialnych za ustawienia fizycznych wyprowadzeń mikrokontrolera. DDRB DDRC DDRD rejestry kierunku PORTB PORTC PORTD rejestry wyjściowe PINB PINC PIND rejestry wejściowe

Bit numer bitu Read/Write Litera R (read) oznacza możliwość odczytu bitu, litera W (write) oznacza możliwość zapisu bitu Initial Value wartość domyślna bitu

PRZYKŁAD PROGRAMOWANIA WYPROWADZANIE LICZB NA ZEWNĄTRZ

Przykład programowania wyprowadzanie liczb na zewnątrz Pierwszy z rejestrów PORTx(gdzie x to litera portu) odpowiedzialny jest za dane portu x. Do portu B wpisujemy wartość dziesiętną 94. Heksalne 5E Binarne 01011110 PORTB = 0x5E; Jak można zauważyć dodano przedrostek 0x określa on, że wartość podana jest w systemie heksalnym. Równoznaczny z poprzednią instrukcją będzie zapis: PORTB = 01011110; Ustawienie bitów na stan wysoki (które mają mieć wartość 1) PORTB = _BV(6) _BV(4) _BV(3) _BV(2) _BV(1); // ustaw bity 6,4,3,2,1 w rejestrze PORTB

Przykład programowania kierunek wejście/wyjście Rejestr DDRx(gdzie x to litera portu) określa czy wyprowadzenie I/O ma być wejściem lub wyjściem. Odpowiednie ustawienie bitów określa kierunek danych: 0 wejście (In) 1 wyjście (Out) Przykładowo by wyprowadzenia PB4, PB5 i PB7 miały służyć jako wyjścia a pozostałe jako wejścia rejestr DDRB w sposób podany poniżej DDRB = 10110000; // zapisz wartość 10110000 do rejestru DDRB Identyczną wartość można zapisać również w systemie szesnastkowym (heksalnym): DDRB = 0xB0; Można również użyć poleceń ustawiających poszczególne bity rejestru: DDRB = _BV(7) _BV(5) _BV(4); Efekt widać poniżej

Przykład programowania wczytywanie liczby Do odczytu stanu któregoś z wejść mikrokontrolera korzysta się z rejestru PINx, (gdzie x to litera portu). W rejestrze PINxzapisane są binarnie fizyczne stany wybranego portu (1 -stan wysoki, 0 -stan niski). Wcześniej odpowiednio ustawiamy rejestr DDRxby wyprowadzenia na których sprawdzamy stan były wejściami (wartość 0). Poniżej przykład pobierający dane z portu B i zapisujący stan całego portu do zmiennej dane. dane = PINB; // zapisz stan rejestru PINB do zmiennej dane

Konfiguracja portów DDRx.n PORTx.n Px.n 0 0 wejście 0 1 wejście z podciągnięciem do VCC 1 X wyjście Konfiguracja równoległych portów we/wy mikrokontrolerów AVR