Wprowadzenie do mikrokontrolerów AVR. Od elektroniki do programowania

  • Dodaj recenzję:
  • 4818
  • Producent: Helion
  • Autor: Filip Sala, Marzena Sala-Tefelska
  • szt.
  • Cena netto: 122,86 zł 129,00 zł

Wprowadzenie do mikrokontrolerów AVR. Od elektroniki do programowania

rok wydania: 2021
ISBN: ISBN: 978-83-283-7625-0
ilość stron: 504
format: B5
oprawa: miękka

Opis

Interesujesz się elektroniką? Marzysz o konstruowaniu zaawansowanych urządzeń, w których migają wyświetlacze, furkoczą serwomechanizmy i silniki krokowe? Dopiero zaczynasz przygodę w tej dziedzinie, a może jesteś weteranem, który chce poszerzyć swoją wiedzę? Ta książka jest właśnie dla Ciebie! Dla kogoś, kto chce się rozwijać, kto zamierza od podstaw, gruntownie poznać i opanować jedną z najważniejszych umiejętności XXI wieku, jaką jest programowanie mikrokontrolerów. Dziś niemal wszystkie urządzenia bazują na układach programowalnych. Należą do nich 8-bitowe mikrokontrolery AVR, które w ostatnich latach zyskały sporą popularność. To o nich opowiadamy w tej książce.

Znajdziesz tu między innymi:

- Opis podstawowych elementów elektronicznych i ich oznaczeń
- Porady, jak czytać noty katalogowe i schematy elektroniczne, a także jak rozwiązywać problemy
- Wskazówki, jak poprawnie wykonywać pomiary multimetrem i oszacować błędy pomiarowe
- Instrukcje, jak lutować i rozlutowywać elementy, wykonać zasilanie, podłączyć programator i taktować mikrokontroler
- Charakterystykę środowisk programistycznych
- Omówienie modułów mikrokontrolera (rejestry, liczniki, magistrale komunikacyjne I2C, SPI, USART, przetwornik analogowo-cyfrowy ADC, obsługa pamięci EEPROM), a także magistrali 1-Wire
- Podstawy programowania mikrokontrolerów (przesunięcia bitowe, system heksadecymalny, typy danych, kod uzupełnień do dwójki itp.)
- Kody źródłowe w języku C dla mikrokontrolerów ATmega8/16/32, ATmega48/88/168/328, a czasami nawet dla ATtiny13
- Podpowiedzi, jak szukać błędów w programie (debugowanie) oraz omówienie komunikatów o błędach 14 gotowych zastosowań wraz z pełnymi kodami źródłowymi (wyświetlacze LCD, 7-segmentowe, silniki krokowe, serwomechanizmy, czujniki gazów, temperatury i wilgotności, zegary czasu rzeczywistego RTC)
- Techniczny słowniczek angielsko-polski

Spis treści

Słowo wstępne / 9

1. Wprowadzenie / 13
1.1. Czym są mikrokontrolery AVR? / 13
1.2. Jak to wszystko działa? / 14
1.3. Bezpieczeństwo / 16
1.4. Często zadawane pytania / 22

2. Podstawy elektroniki / 26
2.1. Prawo Ohma / 26
2.2. Pierwsze prawo Kirchhoffa / 27
2.3. Moc / 28
2.4. Elementy elektroniczne / 30
2.4.1. Rezystory / 30
2.4.2. Potencjometry / 38
2.4.3. Elementy indukcyjne / 39
2.4.4. Kondensatory / 43
2.4.5. Diody / 57
2.4.6. Diody świecące (LED) / 61
2.4.7. Tranzystory / 64
2.4.8. Układy scalone / 69
2.4.9. Przekaźniki / 74
2.4.10. Termistory / 77
2.4.11. Silniki krokowe / 80
2.4.12. Przełączniki / 88
2.4.13. Prototypowe płytki uniwersalne / 91
2.4.14. Prototypowe płytki stykowe / 92
2.4.15. Obudowy elementów elektronicznych / 94
2.5. Jak czytać schematy elektroniczne / 96
2.6. Jak czytać noty katalogowe / 100
2.7. Dobór elementów elektronicznych / 102
2.8. Lutowanie i rozlutowywanie / 108
2.9. Podstawowe pomiary multimetrem / 117
2.9.1. Zakres pomiarowy / 118
2.9.2. Podłączenie przewodów / 119
2.9.3. Napięcie / 121
2.9.4. Natężenie / 122
2.9.5. Rezystancja, pojemność, indukcyjność / 122
2.9.6. Pomiar temperatury za pomocą termopary / 123
2.9.7. Pomiar ciągłości obwodu / 124
2.9.8. Odczytywanie wartości / 125
2.9.9. Błędy pomiarowe / 129
2.10. Analizator stanów logicznych / 132
2.11. Oprogramowanie wspomagające projektowanie / 133

3. Elektronika mikrokontrolerów / 139
3.1. Poziomy napięć i wydajność prądowa / 139
3.2. Taktowanie / 140
3.3. Zasilanie / 143
3.4. Podłączenie programatora i zasilania / 152
3.5. Reset / 155
3.6. Płytka testowa / 155
3.7. Porady praktyczne / 156

4. Programowanie / 162
4.1. Środowisko programistyczne / 162
4.1.1. WinAVR i Makefile / 163
4.1.2. Kompilator avr-gcc / 166
4.1.3. Edytory kodu / 172
4.1.4. Atmel Studio (dawniej AVR Studio) / 173
4.1.5. Biblioteki avr-libc / 174
4.2. Programatory / 175
4.3. AVRDUDE / 177
4.4. JTAG / 180
4.5. Fusebity i lockbity / 181
4.6. Typy danych / 186
4.6.1. Typy całkowite / 187
4.6.2. Typy zmiennoprzecinkowe float oraz double / 189
4.6.3. Łańcuchy (strings) / 190
4.6.4. Konwersja typów / 194
4.7. Kod uzupełnień do dwóch / 199
4.8. Obszary pamięci w mikrokontrolerach / 201
4.8.1. Pamięć programu (flash) / 202
4.8.2. Pamięć danych / 203
4.8.3. EEPROM / 208
4.9. System binarny / 208
4.10. System heksadecymalny / 209
4.11. Przesunięcia bitowe / 211
4.12. Operatory logiczne i bitowe. Maskowanie / 213
4.13. Priorytet operatorów w języku C / 216
4.14. Rejestry / 218
4.15. Pierwszy program / 226
4.16. Sterowanie portami wejścia-wyjścia I/O / 233
4.17. Obsługa przycisków. Drgania styków / 239
4.18. Opóźnienia (delay) / 254
4.19. Tworzenie własnych bibliotek / 256
4.20. Nazwy funkcji bibliotek i zmiennych / 261
4.21. Przerwania / 264
4.22. Liczniki / 276
4.22.1. Tryb porównania (CTC) / 279
4.22.2. Modulacja szerokości impulsu (PWM) / 285
4.22.3. Taktowanie licznika źródłem zewnętrznym / 294
4.23. Magistrale komunikacyjne / 295
4.23.1. SPI / 297
4.23.2. TWI/TWSI (I2C) / 305
4.23.3. 1-Wire / 314
4.23.4. USART / 321
4.24. Obsługa pamięci EEPROM / 341
4.25. Przetwornik ADC / 346
4.26. Moduły nadzorujące / 358
4.27. Pisanie programów i poszukiwanie błędów / 364

5. Przykłady zastosowań / 376
5.1. Sterowanie diodami LED / 376
5.2. Sterowanie brzęczykiem / 380
5.3. Czujnik ruchu PIR / 382
5.4. Silnik krokowy / 386
5.5. Serwomechanizmy / 392
5.6. Klawiatury / 396
5.7. Wyświetlacz 7-segmentowy / 400
5.8. Sterownik MAX7219 (matryce LED i wyświetlacze segmentowe) / 412
5.9. Wyświetlacz LCD (HD44780) / 419
5.10. Czujnik temperatury DS18B20 / 442
5.11. Czujnik temperatury i wilgotności DHT11 / 451
5.12. Termistor jako czujnik temperatury / 455
5.13. Czujniki gazów / 461
5.14. Zegary czasu rzeczywistego DS1307, DS3231, PCF8563 / 473

A. Dodatek / 479
A.1. Przedrostki / 479
A.2. Konwersja jednostek / 480
A.3. Systemy liczbowe / 481
A.4. AVRDUDE (parametr -p) / 482
A.5. Wyznaczanie współczynników charakterystyki czujników / 484
A.6. Słowniczek angielsko-polski / 486

Skorowidz / 494