Деталі електронної книги

Programowanie układów AVR dla praktyków

Programowanie układów AVR dla praktyków

Elliot Williams

Eлектронна книга

Programowanie układów AVR dla pasjonatów!

  • Reaguj natychmiastowo na tyle zewnętrznych zdarzeń, ile układ AVR ma pinów.
  • Zbuduj niedrogi wykrywacz kroków.
  • Zaprojektuj elektronikę sterującą silnikami prądu stałego i silnikami krokowymi oraz innymi elementami o dużym poborze prądu.
  • Przygotuj gadający woltomierz, w którym próbki dźwięku zapisane są w nieulotnej pamięci mikrokontrolera.
  • Wykorzystaj protokoły SPI i I2C.

Współczesny świat elektroniki jest podbijany przez układ Arduino. Przemawia za nim wygoda oraz proste tworzenie całkiem zaawansowanych projektów. Jeżeli jednak wymagasz najwyższej wydajności, reakcji na zdarzenia w czasie rzeczywistym lub wielozadaniowości, warto, żebyś wykonał kolejny krok i poznał układy AVR firmy Atmel. Brzmi zachęcająco?

Doskonale! W Twoje ręce oddajemy książkę, która pozwoli Ci poznać pasjonujący świat tych układów. W kolejnych rozdziałach nauczysz się wykorzystywać ich potencjał do pisania swoich własnych programów w języku C oraz komunikowania się ze światem zewnętrznym. Ponadto dowiesz się, jak korzystać z komunikacji szeregowej, wejść cyfrowych oraz przerwań sprzętowych. Na sam koniec, w części poświęconej zaawansowanym zagadnieniom, zobaczysz, jak używać przełączników i protokołu I2C oraz sterować silnikami. Książka ta przyda się wszystkim pasjonatom elektroniki, którzy pragną odkryć potencjał układów AVR.

Dzięki tej książce:

  • skompletujesz potrzebne narzędzia
  • nauczysz się programować układy AVR
  • wykorzystasz Arduino do programowania AVR
  • zastosujesz przerwania sprzętowe
  • użyjesz układu AVR w zaawansowanych projektach

Wykorzystaj potencjał układów AVR!

Wstęp (11)

CZĘŚĆ I. PODSTAWY

1. Wprowadzenie (19)

  • Czym jest mikrokontroler? Obraz ogólny (19)
    • Komputer w jednym układzie... (19)
    • ...naprawdę mały komputer (20)
    • Co mogą mikrokontrolery? (21)
  • Sprzęt: obraz ogólny (21)
    • Rdzeń: procesor, pamięć i układy wejścia-wyjścia (23)
    • Układy peryferyjne: ułatwianie sobie życia (25)

2. Programowanie układów AVR (29)

  • Programowanie układu AVR (29)
    • Łańcuch narzędzi (29)
  • Narzędzia programowe (32)
    • Konfiguracja w systemie Linux (33)
    • Konfiguracja w systemie Windows (33)
    • Konfiguracja w systemie Mac (34)
    • Konfiguracja modułu Arduino (34)
    • Program make i pliki makefile (34)
  • AVR i Arduino (35)
    • Zalety platformy Arduino (35)
    • Wady platformy Arduino (35)
    • Arduino: sprzęt czy oprogramowanie? I to, i to! (37)
    • Arduino to AVR (37)
    • Arduino to programator układów AVR (40)
  • Inne programatory sprzętowe (42)
    • Moje ulubione programatory (42)
  • Zaczynamy: błyskające diody LED (43)
    • Podłączenia (44)
    • Złącza ISP (46)
    • Program AVRDUDE (48)
    • Konfigurowanie plików makefile (51)
    • Pamięć Flash (53)
    • Rozwiązywanie problemów (53)

3. Wyjścia cyfrowe (55)

  • blinkLED wersja 2.0 (56)
    • Struktura kodu języka C dla układu AVR (57)
    • Rejestry sprzętowe (57)
    • Podsumowanie programu blinkLED (60)
  • Zabawka świetlna (61)
    • Budowanie układu (61)
    • Ładne wzorki: kod zabawki (65)
    • Eksperymentuj! (67)

4. Manipulacje na bitach (69)

  • Praca z kodem: oczy Cylonów (70)
  • Manipulowanie bitami a oczy Cylonów (71)
    • Przesuwanie bitów (71)
  • Zaawansowane manipulowanie bitami: coś więcej niż oczy Cylonów (74)
    • Włączanie bitów operatorem OR (76)
    • Przełączanie bitów operatorem XOR (78)
    • Wyłączanie bitów operatorami AND i NOT (79)
  • Popisy (81)
  • Podsumowanie (83)

5. Szeregowe wejście i wyjście (85)

  • Komunikacja szeregowa (85)
  • Implementowanie komunikacji szeregowej w układzie AVR: projekt pętli zwrotnej (88)
    • Konfigurowanie: układ AVR (88)
    • Konfigurowanie: komputer (90)
    • Konfigurowanie: adapter USB-port szeregowy (90)
    • Sprawdzanie całości: testowanie pętli zwrotnej (91)
    • Usuwanie problemów z połączeniami szeregowymi (94)
  • Konfigurowanie modułu USART: szczegóły (94)
  • Organy z układu AVR (99)
    • Muzyka z mikrokontrolera (101)
    • Biblioteka muzyczna (103)
    • Kod (104)
    • Superdodatki (106)
  • Podsumowanie (108)

6. Wejścia cyfrowe (109)

  • Przyciski, przełączniki itd. (109)
    • Konfigurowanie wejść: rejestry DDR, PORT i PIN (111)
    • Interpretowanie naciśnięć przycisków (113)
  • Zmiana stanu (115)
  • Eliminowanie odbić (116)
  • Przykład kodu obsługującego odbicia (118)
  • Pozytywka (120)
    • Kod programu (120)
  • Przycisk na szefa (122)
    • Skrypty dla komputera stacjonarnego (123)
    • Rozszerzenia (126)

7. Konwerter analogowo-cyfrowy - część 1. (129)

  • Przegląd elementów układu AVR (130)
  • Miernik światła (133)
    • Schemat (133)
    • Kod programu (137)
    • Inicjacja konwertera AC (140)
    • Rozszerzenia (141)
  • Powolny oscyloskop (141)
    • Kod dla układu AVR (143)
    • Kod dla komputera (145)
    • Podobieństwa (147)
  • Oświetlenie nocne i multiplekser (147)
    • Multiplekser (147)
    • Konfigurowanie bitów multipleksera (148)
    • Schemat (149)
    • Kod (150)
  • Podsumowanie (151)

CZĘŚĆ II. ŚREDNIO ZAAWANSOWANA

8. Przerwania sprzętowe (155)

  • Przerwania zewnętrzne: przykłady użycia przycisku (157)
    • Przykład z zewnętrznym przerwaniem INT0 (158)
    • Przykład przerwania wywoływanego zmianą stanu pinu (163)
  • Czujnik pojemnościowy (165)
    • Czujnik (167)
    • Kod programu (169)
    • Zmienne ulotne i globalne (171)
  • Debugowanie układu (173)

9. Wprowadzenie do sprzętowego zegara/licznika (175)

  • Zegary i liczniki - do czego mają służyć? (175)
  • Sprawdź swój refleks (177)
  • Użycie zegara numer 0 do poprawienia 8-bitowych organów (182)
  • Radio AM (185)
    • Schemat (187)
    • Szybkość procesora (187)
    • Radio AM: kod programu (191)
  • Podsumowanie (195)

10. Modulacja szerokości impulsu (197)

  • Jasne i ciemne diody: technika PWM (198)
  • Siłowe rozwiązanie PWM (200)
  • Modulowanie impulsów za pomocą liczników (201)
    • Inicjowanie liczników dla trybu PWM (203)
  • Modulowanie szerokości impulsu na dowolnym pinie (206)
    • Przykład modulacji impulsu na dowolnym pinie (206)
  • Zakończenie: inne możliwości dla PWM i listy kontrolne liczników (208)

11. Sterowanie serwomotorami (213)

  • Serwomotory (214)
    • Sekretne życie serwomotorów (215)
    • Schemat (216)
    • Kod programu (217)
  • Zegar słoneczny z serwomotorem (220)
    • Budowanie zegara (221)
    • Przygotuj lasery! (223)
    • Kod programu (225)
    • Kalibracja serwomotoru zegara słonecznego (232)

12. Konwerter analogowo-cyfrowy - część 2. (237)

  • Woltomierz (238)
    • Schemat (239)
    • Kod programu (242)
  • Wykrywacz kroków (246)
    • Schemat (246)
    • Teoria (251)
    • Wykładniczo ważona średnia krocząca (252)
    • Kod programu (255)
  • Podsumowanie (258)

CZĘŚĆ III. TEMATY ZAAWANSOWANE

13. Zaawansowane sztuczki z PWM (263)

  • Bezpośrednia synteza cyfrowa (264)
  • Tworzenie fali sinusoidalnej (267)
  • Następny krok: miksowanie i głośność (269)
    • Miksowanie (271)
    • Dynamiczna kontrola głośności (273)
  • Odpytywanie portu USART (276)
  • Obwiednia ADSR (276)
  • Pliki uzupełniające (277)

14. Przełączniki (279)

  • Sterowanie dużymi prądami: przełączniki (280)
    • Tranzystory bipolarne (281)
    • Tranzystory polowe (MOSFET) (283)
    • Polowe tranzystory mocy (284)
    • Przekaźniki (285)
    • Triaki i przekaźniki statyczne (286)
    • Przełączniki: podsumowanie (287)
  • Silniki prądu stałego (288)

15. Zaawansowane sterowanie silnikami (295)

  • Cofanie: mostki typu H (296)
  • Program: zakręćmy sobie mostkiem (299)
    • Mostek H tylko dla ekspertów (301)
  • Mostek H i modulacja szerokości impulsu (302)
    • Tryb napędu znak-moduł (303)
    • Tryb napędu blokada-antyfaza (304)
    • Porównanie trybów napędu (305)
  • Silniki krokowe (307)
  • Rodzaje silników krokowych (308)
  • Pełne kroki i półkroki (308)
  • Identyfikowanie przewodów silnika krokowego (311)
    • Zbyt wiele przewodów! (312)
  • Podwójny mostek H: układ SN754410 (312)
  • Kod programu (315)
  • Kontrola przyspieszeń (318)
  • Mikrokroki (320)

16. SPI (325)

  • Jak działa protokół SPI? (326)
    • Przykład wymiany bitów (328)
    • Rejestry przesuwające (328)
  • Zewnętrzna pamięć EEPROM (331)
    • Pamięć zewnętrzna (332)
  • Połączenia elektryczne przykładu z protokołem SPI (334)
  • Kod programu demonstracyjnego (335)
    • Plik nagłówkowy biblioteki (337)
    • Kod biblioteki obsługującej pamięci EEPROM SPI (339)
    • Funkcja initSPI() (341)
    • Funkcja SPI_tradeByte() (342)
    • Funkcje pomocnicze (343)
  • Podsumowanie (344)

17. I2C (347)

  • Jak działa protokół I2C? (348)
  • Połączenia w przykładowym projekcie (352)
  • Biblioteka obsługi magistrali I2C (353)
  • Termometr z interfejsem I2C (356)
  • Protokołowanie danych z użyciem protokołów I2C i SPI (359)
    • Wskaźniki w pamięci EEPROM (363)
    • Menu tworzone przez port szeregowy (363)
    • Pętla główna termometru protokołującego (364)

18. Używanie pamięci programu (367)

  • Wykorzystanie pamięci programu (367)
    • Adresy pamięci (368)
    • Operator adresu: & (369)
  • Wskaźniki (372)
    • Wskaźniki w skrócie (372)
    • Wskaźniki jak parametry funkcji (376)
    • Podsumowanie (379)
    • Opcjonalnie: dereferencje wskaźników (380)
  • Gadający woltomierz (381)
    • Struktury danych w pamięci programu i plik nagłówkowy (382)
    • Odtwarzanie dźwięku i odczyt wartości napięcia: plik .c (386)
  • Generowanie danych audio (391)
    • Różnicowa modulacja kodowo-impulsowa (391)
    • Kodowanie dźwięku metodą dwubitowego DPCM (391)
    • Kodowanie DPCM: program wave2DPCM.py (394)

19. EEPROM (399)

  • Używanie pamięci EEPROM (400)
    • Zapisywanie danych w pamięci (400)
    • Odczytywanie danych z pamięci (405)
    • Zapisywanie i odczytywanie pamięci EEPROM (407)
    • Organizacja danych w pamięci EEPROM (408)
  • Projekt: szyfrator kodu Vigenere'a (412)

20. Wnioski, pożegnanie i zachęta (421)

  • Układ AVR: brakujące rozdziały (421)
    • Licznik watchdog (421)
    • Oszczędzanie energii (422)
    • Zewnętrzne oscylatory i inne źródła taktowania (422)
    • Programy rozruchowe (422)
    • Komparator analogowy (423)
  • Debugowanie (423)
  • Odłóż książkę i twórz! (423)

Skorowidz (425)

  • Назва: Programowanie układów AVR dla praktyków
  • Автор: Elliot Williams
  • Оригінальна назва: Make: AVR Programming
  • Переклад: Wojciech Moch
  • ISBN: 978-83-246-9504-1, 9788324695041
  • Дата видання: 2014-10-28
  • Формат: Eлектронна книга
  • Ідентифікатор видання: prouka
  • Видавець: Helion