Wstęp Zagadnienia ogólne... 11

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

Mikroprocesory i mikrosterowniki

Podstawy Techniki Mikroprocesorowej

Mikroprocesory i Mikrosterowniki

Mikrokontrolery AVR ATmega

Mikrokontrolery AVR ATmega

Wstęp Architektura... 13

2. Architektura mikrokontrolerów PIC16F8x... 13

8 bitowy rdzeń AVR. Dariusz Chaberski

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

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

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

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Techniki mikroprocesorowe i systemy wbudowane

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU:

Mikrokontroler ATmega32. Język symboliczny

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

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Programowanie mikrokontrolerów. 5 grudnia 2007

Wstęp Architektura mikrokontrolerów 68HC08

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

Architektura komputerów

Struktura i działanie jednostki centralnej

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

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

1.2. Architektura rdzenia ARM Cortex-M3...16

Architektura komputerów. Asembler procesorów rodziny x86

Kurs Zaawansowany S7. Spis treści. Dzień 1

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

NOTATNIK KONSTRUKTORA

Architektura komputerów

Szkolenia specjalistyczne

Wykład Mikroprocesory i kontrolery

Programowanie mikrokontrolerów. 8 listopada 2007

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Systemy mikroprocesorowe

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

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Mikroprocesory i Mikrosterowniki

Kurs Podstawowy S7. Spis treści. Dzień 1

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Lista instrukcji mikroprocesora Programowanie w assemblerze

Wstęp Podstawy programowania QBASIC Budowa mikroprocesora Zestaw uruchomieniowy Porty wejścia/wyjścia...

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)

Układy czasowo-licznikowe w systemach mikroprocesorowych

Technika Mikroprocesorowa

2. Budowa układów procesorowych rodziny TMS320C

Programowanie mikrokontrolerów. 3 stycznia 2008

3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47

Wbudowane układy peryferyjne cz. 3 Wykład 9

MIKROKONTROLERY I MIKROPROCESORY

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

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

LEKCJA TEMAT: Współczesne procesory.

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

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. Wydanie II

Mikroprocesory i Mikrosterowniki

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

Architektura komputerów

WPROWADZENIE Mikrosterownik mikrokontrolery

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

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

MIKROPROCESORY architektura i programowanie

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

Schemat blokowy architektury AVR

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

2. PRZERZUTNIKI I REJESTRY

dokument DOK wersja 1.0

Mikrokontroler AVR ATmega32 - wykład 9

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1312) II Tryby pracy CPU (wersja 1312) III Bloki funkcyjne (wersja 1312)

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

Systemy wbudowane Mikrokontrolery

Układ transmisji szeregowej AVR

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Mikroprocesory i mikrosterowniki

System mikroprocesorowy i peryferia. Dariusz Chaberski

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

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

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Organizacja typowego mikroprocesora

Lista rozkazów mikrokontrolera 8051

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

ISBN. Copyright by Wydawnictwo BTC Legionowo 2010

Przykładowe pytania DSP 1

NX700 PLC

Hardware mikrokontrolera X51

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

PROGRAMOWALNE SYSTEMY MECHATRONIKI

7. Technika mikroprocesorowa test

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

Transkrypt:

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 1.2.4. Stos w pamięci SRAM...15 1.2.5. Stos sprzętowy...15 1.2.6. Pamięć programu...16 1.3. Tryby adresowania...16 1.3.1. Pamięć danych, SRAM...17 1.3.2. Rejestry robocze...18 1.3.3. Przestrzeń wejścia-wyjścia...19 1.3.4. Pamięć programu adresowanie stałych...20 1.3.5. Pamięć programu adresowanie skoków...20 1.4. Podstawowe rejestry funkcyjne...21 1.4.1. Rejestr statusu SREG...21 1.4.2. Wskaźnik stosu SPH:SPL...23 1.4.3. Rejestry GPIOR (ang. General Purpose I/O Registers)...24 1.5. Bity sterujące...24 1.5.1. Bity konfiguracyjne (ang. fuse bits)...25 1.5.2. Bity zabezpieczające (ang. lock bits)...26 1.6. Zegar systemowy...26 1.6.1. Wewnętrzny, skalibrowany układ RC...26 1.6.2. Pętla fazowa PLL...28 1.6.3. Zewnętrzny układ RC...28 1.6.4. Rezonator kwarcowy i ceramiczny...29 1.6.5. Zewnętrzne źródło sygnału zegarowego...30 1.6.6. Zewnętrzne wykorzystanie zegara systemowego...30 1.6.7. Preskaler częstotliwości zegarowej...30 1.6.8. Czasy startu układu zegarowego...31 1.6.9. Kiedy nic nie działa...31 1.7. Układy zerujące...32 1.7.1. Układ POR...32 1.7.2. Zewnętrzne źródło zerujące...32 1.7.3. Układ BOD...33 1.7.4. Układ WDT...34 1.7.5. MCUSR i wszystko wiadomo...36 1.7.6. Do trzech razy sztuka...37

4 Spis treści 1.8. Zarządzanie energią...37 1.8.1. Wstrzymywanie systemu...38 1.8.2. Wstrzymywanie poszczególnych modułów...39 1.8.3. Porady dla szczególnie oszczędnych...39 1.9. System przerwań...40 1.9.1. Aktywność przerwań...40 1.9.2. Priorytety i wektory przerwań...40 1.9.3. Przerwanie inicjalizacyjne...41 1.9.4. Znaczniki przerwań...42 1.9.5. Obsługa przerwań...43 1.9.6. Podprogram obsługujący...44 1.10. Programowa modyfikacja pamięci flash...44 1.10.1. Rejestr sterujący SPMCSR...44 1.10.2. Adresowanie pamięci programu...45 1.10.3. Kasowanie strony pamięci programu...46 1.10.4. Ładowanie bufora tymczasowego...46 1.10.5. Zapis strony pamięci programu...47 1.10.6. Odczyt bitów sterujących...47 1.10.7. Bezpieczeństwo zapisu...48 1.11. Interfejsy programowania i uruchomieniowe...48 1.11.1. Równoległy interfejs programowania...49 1.11.2. Interfejs programowania SPI...49 1.11.3. Interfejs programowania HVS...51 1.11.4. Interfejs debugwire...51 2. Zintegrowane układy peryferyjne... 53 2.1. Porty wejścia-wyjścia...54 2.1.1. Dedykowane rejestry funkcyjne...54 2.1.2. Tryb wejściowy...55 2.1.3. Tryb wyjściowy...56 2.1.4. Alternatywne funkcje wyprowadzeń...57 2.2. Moduł przerwań zewnętrznych...58 2.2.1. Typy przerwań zewnętrznych...58 2.2.2. Obsługa przerwań INTn...59 2.2.3. Obsługa przerwań PCIn...60 2.3. Pamięć EEPROM...60 2.3.1. Dedykowane rejestry funkcyjne...61 2.3.2. Zapis pamięci...62 2.3.3. Odczyt pamięci...63 2.3.4. Równomierne zużycie pamięci...64 2.3.5. Możliwe problemy...65 2.4. Układy licznikowe...65 2.4.1. Dedykowane rejestry funkcyjne...66 2.4.2. Mechanizm buforowy...67

5 2.4.3. Źródła impulsów zliczanych...68 2.4.4. PLL i praca asynchroniczna...69 2.4.5. Preskaler częstotliwości...70 2.4.6. Tryb pracy normalnej...71 2.4.7. Porównywanie...71 2.4.8. Przechwytywanie...73 2.4.9. Tryb CTC...74 2.4.10. Szybki tryb PWM...75 2.4.11. Zaawansowane tryby PWM...77 2.4.12. Dodatkowe funkcje PWM...78 2.4.13. Generacja przerwań...80 2.5. Moduł USART...81 2.5.1. Informacje podstawowe...81 2.5.2. Ramka transmisyjna...82 2.5.3. Dedykowane rejestry funkcyjne...83 2.5.4. Inicjalizacja i obsługa (tryb asynchroniczny)...87 2.5.5. Tryb synchroniczny...89 2.5.6. Tryb wieloprocesorowy...90 2.6. Moduł USI...91 2.6.1. Interfejs I 2 C informacje wstępne...91 2.6.2. Interfejs SPI informacje wstępne...96 2.6.3. Moduł USI informacje podstawowe...98 2.6.4. Dedykowane rejestry funkcyjne...98 2.6.5. Tryb SPI...102 2.6.6. Tryb I 2 C...104 2.7. Komparator analogowy...107 2.7.1. Budowa i działanie...107 2.7.2. Dedykowane rejestry funkcyjne...108 2.8. Przetwornik A/C (ADC)... 110 2.8.1. Informacje podstawowe... 110 2.8.2. Część analogowa... 111 2.8.3. Dedykowane rejestry funkcyjne... 113 2.8.4. Działanie i obsługa modułu... 117 2.8.5. Wynik przetwarzania... 119 2.8.6. Przeciwdziałanie zakłóceniom...120 3. Asembler AVR...123 3.1. Język symboliczny...124 3.1.1. Translator...124 3.1.2. Składnia...124 3.1.3. Wyrażenia...125 3.1.4. Podstawowe dyrektywy asemblera...127 3.1.5. Definicje...129

6 Spis treści 3.1.6. Segmenty programu...129 3.1.7. Zmienne w pamięci danych...131 3.1.8. Stałe w pamięci programu i EEPROM...131 3.1.9. Makra...132 3.1.10. Translacja warunkowa...133 3.1.11. Preprocesor...135 3.1.12. Pliki nagłówkowe...135 3.2. Zbiór instrukcji...136 3.2.1. Rejestry robocze: formatowanie [CLR, SER]...138 3.2.2. Rejestry robocze: operacje na bitach [SBR, CBR]...138 3.2.3. Rejestry robocze: ładowanie wartością bezpośrednią [LDI]...139 3.2.4. Rejestry robocze: bitowa suma [OR, ORI]...139 3.2.5. Rejestry robocze: bitowy iloczyn [AND, ANDI]...140 3.2.6. Rejestry robocze: suma modulo 2 [EOR]...140 3.2.7. Rejestry robocze: logiczne przesuwanie [LSL, LSR, ROL, ROR]...140 3.2.8. Rejestry robocze: zamiana półbajtów [SWAP]...141 3.2.9. Rejestry robocze: zwiększanie i zmniejszanie [INC, DEC]...142 3.2.10. Rejestry robocze: arytmetyczne dodawanie [ADD, ADC, ADIW]...142 3.2.11. Rejestry robocze: arytmetyczne odejmowanie [SUB, SUBI, SBC, SBCI, SBIW]...143 3.2.12. Rejestry robocze: arytmetyczne przesuwanie [ASR]...144 3.2.13. Rejestry robocze: uzupełnienie jedynkowe [COM]...145 3.2.14. Rejestry robocze: uzupełnienie dwójkowe [NEG]...145 3.2.15. Rejestry robocze: kopiowanie [MOV, MOVW]...146 3.2.16. Rejestry robocze: kopiowanie i ładowanie bitów [BST, BLD]...146 3.2.17. Rejestry robocze: testowanie i porównywanie wartości [TST, CP, CPC, CPI]... 147 3.2.18. Rejestr SREG: operacje na znacznikach [BSET, BCLR, SEC, CLC, SEN, CLN, SEZ, CLZ, SEI, CLI, SES, CLS, SEV, CLV, SET, CLT, SEH, CLH]...148 3.2.19. Pamięć danych: odczyt [IN, LDS, LD, LDD]...149 3.2.20. Pamięć danych: zapis [OUT, STS, ST, STD]...151 3.2.21. Pamięć danych: operacje na bitach [SBI, CBI]...152 3.2.22. Pamięć danych: operacje na stosie [PUSH, POP]...153 3.2.23. Pamięć programu: odczyt [LPM]...154 3.2.24. Pamięć programu: zapis [SPM]...154 3.2.25. Przebieg programu: skoki bezwarunkowe [IJMP, RJMP]...155 3.2.26. Przebieg programu: wywołania podprogramów [ICALL, RCALL]...156 3.2.27. Przebieg programu: powrót z podprogramów [RET, RETI]...156 3.2.28. Przebieg programu: testowanie rejestrów i pomijanie instrukcji [CPSE, SBRC, SBRS, SBIC, SBIS]...157 3.2.29. Przebieg programu: testowanie rejestru SREG i rozgałęzienia [BRBS, BRBC, BREQ, BRNE, BRCS, BRCC, BRSH, BRLO, BRMI, BRPL, BRGE, BRLT, BRHS, BRHC, BRTS, BRTC, BRVS, BRVC, BRIE, BRID]...159 3.2.30. Instrukcje specjalne [WDR, NOP, BREAK, SLEEP]...160

7 4. Środowisko rozwojowe...161 4.1. AVR Studio...162 4.1.1. Pierwsze spotkanie...163 4.1.2. Symulator...167 4.1.3. Programowanie...171 4.1.4. Emulacja ICE...172 4.1.5. Emulacja OCD...172 4.1.6. Uwagi...173 4.2. Programatory...173 4.2.1. Programator SPI...174 4.2.2. Programator HVS...175 4.2.3. Programator równoległy...177 4.2.4. Oprogramowanie PonyProg...177 4.2.5. Oprogramowanie ISP Programmer...179 4.2.6. Oprogramowanie AVRX...180 4.3. Projekt przykładowy...182 4.3.1. Założenia...182 4.3.2. Przedstawienie schematyczne...182 4.3.3. Tworzenie oprogramowania...182 4.3.4. Proces uruchomieniowy...185 4.3.5. Programowanie...186 5. Ćwiczenia i przykłady zastosowań...187 5.0. Wprowadzenie...188 5.0.1. Zestaw uruchomieniowy...188 5.0.2. Płyta uruchomieniowa ZL4AVR...188 5.0.3. Płyta uzupełniająca ZL4AVR-EB...192 5.0.4. Programy ćwiczeniowe i biblioteczne...197 5.1. Ćwiczenie 1. Podstawy programu asemblerowego; operacje na portach...197 5.1.1. Cel ćwiczenia...197 5.1.2. Obwód ćwiczeniowy...197 5.1.3. Opis ćwiczenia...198 5.1.4. Dla ambitnych...204 5.2. Ćwiczenie 2. Operacje arytmetyczno-logiczne; znaczniki rejestru SREG; pętle... 204 5.2.1. Cel ćwiczenia...204 5.2.2. Obwód ćwiczeniowy...204 5.2.3. Kodowanie liczb...205 5.2.4. Operacje arytmetyczne na liczbach całkowitych...206 5.2.5. Operacje arytmetyczne na liczbach ułamkowych...213 5.2.6. Operacje logiczne...214 5.2.7. Dla ambitnych...215

8 Spis treści 5.3. Ćwiczenie 3. Podprogramy, przerwania i liczniki; sterowanie obciążeniami sieciowymi...216 5.3.1. Cel ćwiczenia...216 5.3.2. Obwód ćwiczeniowy...216 5.3.3. Wstęp do regulacji impulsowej...217 5.3.4. Opis ćwiczenia...220 5.3.5. Dla ambitnych...234 5.4. Ćwiczenie 4. Interfejsy równoległe; obsługa modułów alfanumerycznych LCD... 234 5.4.1. Cel ćwiczenia...234 5.4.2. Obwód ćwiczeniowy...234 5.4.3. Opis ćwiczenia...235 5.4.4. Dla ambitnych...252 5.5. Ćwiczenie 5. Interfejsy szeregowe; obsługa układu RTC DS1307 poprzez magistralę I 2 C; zegar z datownikiem...252 5.5.1. Cel ćwiczenia...252 5.5.2. Obwód ćwiczeniowy...252 5.5.3. Opis ćwiczenia...253 5.5.4. Dla ambitnych...265 5.6. Ćwiczenie 6. Interfejsy szeregowe; odczyt telefonicznych kart chipowych...265 5.6.1. Cel ćwiczenia...265 5.6.2. Obwód ćwiczeniowy...265 5.6.3. Opis ćwiczenia...266 5.6.4. Dla ambitnych...273 5.7. Ćwiczenie 7. Interfejsy szeregowe; obsługa myszy PS/2...273 5.7.1. Cel ćwiczenia...273 5.7.2. Obwód ćwiczeniowy...273 5.7.3. Opis ćwiczenia...274 5.7.4. Dla ambitnych...291 5.8. Ćwiczenie 8. Interfejsy optyczne; regulator oświetlenia sterowany pilotem SIRC... 291 5.8.1. Cel ćwiczenia...291 5.8.2. Obwód ćwiczeniowy...291 5.8.3. Opis ćwiczenia...293 5.8.4. Dla ambitnych...303 5.9. Ćwiczenie 9. Pamięć EEPROM i liczniki; prosty odtwarzacz melodii...304 5.9.1. Cel ćwiczenia...304 5.9.2. Obwód ćwiczeniowy...304 5.9.3. Opis ćwiczenia...305 5.9.4. Dla ambitnych...312 5.10. Ćwiczenie 10. Elementy czujnikowe; obsługa akcelerometru MXD2125...312 5.10.1. Cel ćwiczenia...312 5.10.2. Obwód ćwiczeniowy...312 5.10.3. Opis ćwiczenia...313 5.10.4. Dla ambitnych...324

9 5.11. Ćwiczenie 11. Przetwarzanie A/C; najprostszy oscyloskop cyfrowy...324 5.11.1. Cel ćwiczenia...324 5.11.2. Obwód ćwiczeniowy...324 5.11.3. Opis ćwiczenia...325 5.11.4. Dla ambitnych...331 5.12. Ćwiczenie 12. Przetwarzanie C/A; najprostszy generator funkcyjny...332 5.12.1. Cel ćwiczenia...332 5.12.2. Obwód ćwiczeniowy...332 5.12.3. Opis ćwiczenia...333 5.12.4. Dla ambitnych...338 5.13. Ćwiczenie 13. Przetwarzanie sygnałów (filtry IIR); iluminofonia 3-kanałowa... 338 5.13.1. Cel ćwiczenia...338 5.13.2. Obwód ćwiczeniowy...338 5.13.3. Opis ćwiczenia...339 5.13.4. Dla ambitnych...350 Dodatki...351 Dodatek A. Zestawienie układów AVR...352 Dodatek B. Wybrane właściwości i charakterystyki elektryczne układu ATtiny26...355 B.1. Wartości graniczne...355 B.2. Wybrane wartości charakterystyczne...355 B.3. Wybrane charakterystyki...356 Dodatek C. Zestawienie rozkazów dla układu ATtiny26...361 Dodatek D. Zestawienie rejestrów funkcyjnych układu ATtiny26...365 Dodatek E. Słowo o kompilatorach i językach wyższego poziomu...366 Dodatek F. Przeciwdziałanie zakłóceniom...369 Dodatek G. Źródła informacji na temat układów AVR...371 Dodatek H. Tabela kodów ASCII...372 Dodatek I. Tabela kodów znakowych sterownika LCD HD44780...374 Literatura...376 Skorowidz...377