Cena detaliczna 79,00 zł
Cena promocyjna 69,52 zł
nie zaw. kosztów wysyłki
MODEL: 978-83-60233-82-5
Wydrukuj kartę produktu
Dostawa: 1-2 Dni
STM32. Aplikacje i ćwiczenia w języku C
Autor: Marek Galewski
ISBN 978-83-60233-82-5
Format: B5, 360 str.
Twarda oprawa
Wydawnictwo BTC
Rok: 2011
O książce
Niniejsza książka przeznaczona jest główne dla osób początkujących, które chcą poznać bliżej 32-bitowe mikrokontrolery rodziny ARM z rdzeniem Cortex-M3. Zawiera ona ponad 30 rozbudowanych ćwiczeń, które pozwalają poznać możliwości układów serii STM32F1xx produkowanych przez STMicroelectronics. Sposób prowadzenia ćwiczeń pozwala zarówno na samodzielną naukę programowania jak i na wykorzystanie książki np. jako podstawy do prowadzenia kursów i zajęć laboratoryjnych w szkołach bądź na uczelniach.
Oprócz ćwiczeń, w książce zawarto także opisy dotyczące zastosowanych podukładów peryferyjnych takich jak m.in. porty wejścia/wyjścia, układy licznikowe, przetworniki A/C, interfejsy komunikacyjne, kontrolery przerwań i DMA. Ponadto opisano także sposób wykorzystania kilku ciekawych modułów rozszerzających m.in. klawiatura, wyświetlacze LCD, karty SD, czujnik położenia, akcelerometr, barometr, układ Bluetooth. Ta część niniejszej pozycji może być interesująca także dla osób o nieco wyższym stopniu zaawansowania w programowaniu mikrokontrolerów.
Spis treści:
1. Wprowadzenie -11
1.1. Wstęp -12
1.2. Mikrokontrolery rodziny ARM -13
1.3. Architektura rdzenia ARM Cortex-M3 -15
1.3.1. Najważniejsze cechy architektury Cortex-M3 - 15
1.3.2. Rejestry i organizacja pamięci - 17
1.3.3. Podstawowe elementy rdzenia - 20
1.4. Mikrokontrolery STM32F10x -20
2. Programowanie mikrokontrolerów - 23
2.1. Języki programowania -24
2.2. Zapis binarny i heksadecymalny liczb -26
2.2.1. Konwersja między zapisami dziesiętnym i binarnym - 26
2.2.2. Konwersja między zapisami binarnym i heksadecymalnym - 27
2.3. Język C – krótkie przypomnienie -28
2.3.1. Typy zmiennych i ich zakresy - 28
2.3.2. Deklaracje stałych - 29
2.3.3. Zmienne ulotne - 29
2.3.4. Operacje logiczne i bitowe - 30
3. Sprzęt i oprogramowanie - 33
3.1. Wprowadzenie -34
3.2. Niezbędne elementy sprzętowe -35
3.2.1. Zestaw uruchomieniowy ZL27ARM - 35
3.2.2. Programator - 38
3.3. Moduły rozszerzeń -39
3.4. Inne przydatne elementy sprzętowe -40
3.5. Oprogramowanie narzędziowe -41
3.5.1. Środowisko programowania - 41
3.5.2. Programy dodatkowe - 42
3.6. Etapy programowania mikrokontrolera -44
3.7. Niezbędna dokumentacja -45
3.8. Biblioteki STM -46
3.9. Przygotowanie środowiska pracy -51
3.10. Uruchomienie mikrokontrolera -52
4 Spis treści
3.11. Ćwiczenie 0. Projekt wzorcowy -56
3.11.1. Wprowadzenie - 56
3.11.2. Ćwiczenie 0a. Tworzenie i konfiguracja projektu - 56
3.11.3. Ćwiczenie 0b. Pisanie kodu programu, konfiguracja sygnałów taktujących - 64
3.12. Ćwiczenie 1. Pierwszy program – „Migające diody” -68
3.12.1. Wprowadzenie - 68
3.12.2. Ćwiczenie 1a. Rozbudowa kodu programu - 68
3.12.3. Ćwiczenie 1b. Kompilowanie i linkowanie programu - 70
3.12.4. Ćwiczenie 1c. Symulowanie i śledzenie działania programu - 70
3.12.5. Ćwiczenie 1d. Zapis programu do pamięci mikrokontrolera - 74
Zapis pamięci z trybu debug w µVision -74
Zapis pamięci z wykorzystaniem programu ST-Link Utility -74
Zapis pamięci z wykorzystaniem programu ZL30PRG -75
3.12.6. Ćwiczenie 1e. Śledzenie programu w mikrokontrolerze - 76
4. Porty GPIO - 77
4.1. Uniwersalne porty wejścia-wyjścia -78
4.2. Ćwiczenie 2. Porty GPIO – Wyjścia -83
4.2.1. Wprowadzenie - 83
4.2.2. Ćwiczenie 2a. „Diody biegnące w lewo” - 83
4.2.3. Ćwiczenie 2b. „Diody biegnące w lewo i prawo” - 85
4.3. Ćwiczenie 3. Porty GPIO – Wejścia -86
4.3.1. Wprowadzenie - 86
4.3.2. Ćwiczenie 3a. Przyciski - 86
4.3.3. Ćwiczenie 3b. Przyciski i joystick - 87
4.4. Obsługa alfanumerycznego wyświetlaczaLCD 1602 -87
4.5. Ćwiczenie 4. Porty GPIO i LCD -93
4.5.1. Wprowadzenie - 93
4.5.2. Ćwiczenie 4. „Odliczanie” - 93
4.6. Ćwiczenie 5. Porty GPIO i LCD -94
4.6.1. Wprowadzenie - 94
4.6.2. Ćwiczenie 5a. „Menu” - 94
4.6.3. Ćwiczenie 5b. Własne znaki na LCD - 97
4.7. Ćwiczenie 6. Porty GPIO i LCD -98
4.7.1. Wprowadzenie - 98
4.7.2. Ćwiczenie 6. „Edytor” - 98
Spis treści 5
4.8. Czujnik położenia STM FC30 – moduł KAmodMEMS1 - 100
4.9. Ćwiczenie 7. Porty GPIO, LCD i KAmodMEMS1 - 101
4.9.1. Wprowadzenie - 101
4.9.2. Ćwiczenie 7. Tworzenie biblioteki obsługi modułu dodatkowego - 102
4.10. Klawiatura – moduł KAmodKB4×4 - 106
4.11. Ćwiczenie 8. Porty GPIO, LCD i klawiatura KAmodKB4×4 - 109
4.11.1. Wprowadzenie - 109
1.11.2. Ćwiczenie 8. Obsługa klawiatury - 109
5. Kontroler przerwań NVIC, układy SysTick i RTC - 111
5.1. System przerwań w ARM Cortex-M3 -112
5.2. Sposoby odliczania czasu w programie -118
5.2.1. Licznik SysTick - 119
5.2.2. Zegar czasu rzeczywistego RTC - 121
5.3. Ćwiczenie 9. Przerwania i licznik SysTick - 122
5.3.1. Wprowadzenie - 122
5.3.2. Ćwiczenie 9a. SysTick - 123
5.3.3. Ćwiczenie 9b. SysTick i przerwanie zewnętrzne - 124
5.3.4. Ćwiczenie 9c. SysTick i 2 przerwania zewnętrzne - 126
5.3.5. Ćwiczenie 9d. SysTick i 3 przerwania zewnętrzne - 128
5.4. Ćwiczenie 10. Przerwania i licznik SysTick
– funkcja opóźniająca Delay - 129
5.4.1. Wprowadzenie - 129
5.4.2. Ćwiczenie 10a. „Migająca dioda” - 129
5.4.3. Ćwiczenie 10b. „Biegnące diody” - 131
5.5. Ćwiczenie 11. Zegar czasu rzeczywistego RTC - 132
5.5.1. Wprowadzenie - 132
5.5.2. Ćwiczenie 11a. „Migająca dioda” - 132
5.5.3. Ćwiczenie 11b. Czas od uruchomienia systemu w sekundach - 134
5.5.4. Ćwiczenie 11c. Czas od uruchomienia systemu jako hh:mm:ss - 135
6. Liczniki uniwersalne, sygnał PWM -137
6.1. Liczniki uniwersalne - 138
6.1.1. Generowanie sygnału PWM - 142
6.1.2. Zewnętrzne taktowanie liczników i łączenie kaskadowe - 143
6.1.3. Pomiar parametrów sygnału PWM - 144
6 Spis treści
6.2. Ćwiczenie 12. Liczniki uniwersalne - 145
6.2.1. Wprowadzenie - 145
6.2.2. Ćwiczenie 12a. Dioda sterowana licznikiem - 145
6.2.3. Ćwiczenie 12b. Dwie diody sterowane licznikiem - 147
6.2.4. Ćwiczenie 12c. Cztery diody sterowane licznikami - 148
6.3. Ćwiczenie 13. Liczniki – Generowanie czterech przebiegów - 149
6.3.1. Wprowadzenie - 149
6.3.2. Ćwiczenie 13. Cztery diody sterowane różnymi częstotliwościami - 149
6.4. Ćwiczenie 14. Generowanie i pomiar parametrów sygnału PWM - 151
6.4.1. Wprowadzenie - 151
6.4.2. Ćwiczenie 14a. Dwie diody o różnej jasności - 151
6.4.3. Ćwiczenie 14b. Sterowanie jasnością diody - 154
6.4.4. Ćwiczenie 14c. Obserwacje sygnału PWM - 154
6.4.5. Ćwiczenie 14d. Pomiar parametrów sygnału PWM - 155
6.5. Ćwiczenie 15. Zliczanie przyciśnięć z użyciem licznika - 158
6.5.1. Wprowadzenie - 158
6.5.2. Ćwiczenie 15. Zliczanie przyciśnięć - 158
6.6. Ćwiczenie 16. Zliczanie przyciśnięć, eliminacja drgań styków - 159
6.6.1. Wprowadzenie - 159
6.6.2. Ćwiczenie 16. Eliminacja drgań styków przycisków - 160
7. Układy czuwające Watchdog i rejestry chronione Backup Domain -163
7.1. Układy czuwające Watchdog - 164
7.2. Zerowanie mikrokontrolera i rejestry chronione Backup Domain - 167
7.3. Ćwiczenie 17. Niezależny układ czuwający i rejestry chronione - 168
7.3.1. Wprowadzenie - 168
7.3.2. Ćwiczenie 17a. Niezależny układ czuwający - 168
7.3.3. Ćwiczenie 17b. Niezależny układ czuwający i rejestry chronione - 170
8. Mechanizm DMA -173
8.1. Bezpośredni dostęp do pamięci – DMA - 174
8.2. Ćwiczenie 18. Sterowanie podświetleniem LCD z wykorzystaniem
PWM i DMA - 177
8.2.1. Wprowadzenie - 177
8.2.2. Ćwiczenie 18. Sterowanie podświetleniem LCD
z wykorzystaniem PWM i DMA - 177
Spis treści 7
9. Przetworniki A/C -183
9.1. Przetworniki A/C i układ monitorowania napięcia - 184
9.2. Wewnętrzny czujnik temperatury - 191
9.3. Ćwiczenie 19. Przetwornik A/C - 192
9.3.1. Wprowadzenie - 192
9.3.2. Ćwiczenie 19a. ADC – pomiar jednokrotny - 192
9.3.3. Ćwiczenie 19b. ADC – pomiar ciągły - 196
9.3.4. Ćwiczenie 19c. ADC i DMA – pomiar dwóch kanałów - 196
9.3.5. Ćwiczenie 19d. ADC, DMA i układ monitorowania napięcia – pomiar dwóch
kanałów i alarm przekroczenia wartości - 199
9.3.6. Ćwiczenie 19e. ADC, DMA i układ monitorowania napięcia – pomiar dwóch
kanałów wyzwalany licznikiem - 200
9.4. Ćwiczenie 20. Dwa przetworniki A/C - 202
9.4.1. Wprowadzenie - 202
9.4.2. Ćwiczenie 20a. Dwa ADC – synchroniczny pomiar dwóch kanałów - 202
9.4.3. Ćwiczenie 20b. Dwa ADC – dwa kanały i linijka diodowa - 203
10. Układ USART -205
10.1. Interfejs RS-232 - 206
10.2. Program Terminal -211
10.3. Ćwiczenie 21. RS-232C - 212
10.3.1. Wprowadzenie - 212
10.3.2. Ćwiczenie 21. RS-232C – transmisja pojedynczych bajtów - 212
10.4. Ćwiczenie 22. RS-232C i przerwania - 216
10.4.1. Wprowadzenie - 216
10.4.2. Ćwiczenie 22a. RS-232C – transmisja danych
z wykorzystaniem przerwań. Odbiór danych z PC - 216
10.4.3. Ćwiczenie 22b. RS-232C – dwukierunkowa transmisja
danych z wykorzystaniem przerwań - 218
10.5. Układ komunikacji bezprzewodowej Bluetooth – moduł KAmodBTM222 - 221
10.5.1. Konfiguracja przykładowego modułu Bluetooth USB po stronie PC - 224
10.6. Ćwiczenie 23. RS-232C i KAmodBTM222 – transmisja danych - 227
10.6.1. Wprowadzenie - 227
10.6.2. Ćwiczenie 23. RS-232C i KAmodBTM222 - 227
8 Spis treści
10.7. Ćwiczenie 24. RS-232C – odczyt i zmiana konfiguracji KAmodBTM222 - 228
10.7.1. Wprowadzenie - 228
10.7.2. Ćwiczenie 24. RS-232C – odczyt i zmiana konfiguracji modułu Bluetooth - 228
11. Interfejs I2C -235
11.1. Interfejs I2C - 236
11.2. Akcelerometr STM LIS35 – moduł KAmodMEMS2 - 239
11.3. Ćwiczenie 25. I2C – akcelerometr KAmodMEMS2 - 246
11.3.1. Wprowadzenie - 246
11.3.2. Ćwiczenie 25a. Akcelerometr I2C - 246
11.3.3. Ćwiczenie 25b. Akcelerometr I2C – wykrywanie uderzeń - 249
12. Interfejs SPI -251
12.1. Interfejs SPI - 252
12.2. Czujnik temperatury Microchip TC77 - 255
12.3. Ćwiczenie 26. SPI – pomiar temperatury układem Microchip TC77 - 256
12.3.1. Wprowadzenie - 256
12.3.2. Ćwiczenie 26. SPI – pomiar temperatury - 256
12.4. Akcelerometr STM LIS35 – moduł KAmodMEMS2 - 259
12.5. Ćwiczenie 27. SPI – akcelerometr KAmodMEMS2 - 262
12.5.1. Wprowadzenie - 262
12.5.2. Ćwiczenie 27. Akcelerometr SPI - 263
12.6. Barometr Freescale MPL115A1 – moduł KAmodBAR - 263
12.7. Ćwiczenie 28. SPI – barometr KAmodBAR - 270
12.7.1. Wprowadzenie - 270
12.7.2. Ćwiczenie 28. Barometr SPI - 270
13. Obsługa kart SD -273
13.1. Obsługa kart SD i SDHC z wykorzystaniem biblioteki FATFs - 274
13.2. Ćwiczenie 29. Karta SD – odczyt z pliku - 279
13.2.1. Wprowadzenie - 279
13.2.2. Ćwiczenie 29. Odczyt danych z karty SD - 279
13.3. Ćwiczenie 30. Karta SD – zapis do pliku – rejestrator danych - 285
13.3.1. Wprowadzenie - 285
13.3.2. Ćwiczenie 30. Zapis danych na kartę SD - 285
Spis treści 9
14. Obsługa wyświetlaczy graficznych -293
14.1. Obsługa wyświetlacza z telefonu Nokia 3310 – sterownik PCD8544 - 294
14.2. Ćwiczenie 31. Monochromatyczny wyświetlacz graficzny KAmodLCD1 - 301
14.2.1. Wprowadzenie - 301
14.2.2. Ćwiczenie 31a. Demonstracja możliwości wyświetlacza - 302
14.2.3. Ćwiczenie 31b. Prosta animacja - 305
14.3. Obsługa wyświetlacza z telefonu Nokia 6610 – sterownik PCF8833 - 307
14.4. Ćwiczenie 32. Kolorowy wyświetlacz graficzny KAmodTFT2 - 315
1.4.4.1. Wprowadzenie - 315
14.4.2. Ćwiczenie 32a. Demonstracja możliwości wyświetlacza - 315
14.4.3. Ćwiczenie 32b. Obroty obrazu - 320
15. Cyfrowe przetwarzanie sygnałów -323
15.1. Przetwarzanie sygnałów w mikrokontrolerach STM32
z rdzeniem Cortex-M3 - 324
15.2. Ćwiczenie 33. Widmo amplitudowe sygnału - 325
15.2.1. Wprowadzenie - 325
15.2.2. Ćwiczenie 33a. Widmo amplitudowe sygnału w postaci próbek - 326
15.2.3. Ćwiczenie 33b. Widmo amplitudowe sygnału w postaci graficznej - 332
16. Oszczędzanie energii -335
16.1. Tryby oszczędzania energii - 336
16.2. Ćwiczenie 34. Tryb uśpienia - 339
16.2.1. Wprowadzenie - 339
16.2.2. Ćwiczenie 34. Tryb uśpienia - 339
Dodatki -343
Dodatek A. Schematy elektryczne zestawu ZL27ARM - 344
Dodatek B. Lista funkcji wyprowadzeń dla obudowy 100-pinowej procesora
STM32F103VB - 347
Dodatek C. Schematy elektryczne modułu KAmodMEMS1 - 350
Dodatek D. Schematy elektryczne modułu KAmodKB4×4 - 350
Dodatek E. Schematy elektryczne modułu KAmodLED8 - 351
Dodatek F. Schematy elektryczne modułu KAmodBTM222 - 351
Dodatek G. Schematy elektryczne modułu KAmodMEMS2 - 352
10 Spis treści
Dodatek H. Schematy elektryczne modułu KAmodBAR-SPI - 352
Dodatek I. Schematy elektryczne modułu KAmodLCD1 - 353
Dodatek J. Schematy elektryczne modułu KAmodTFT2 - 353
Dodatek K. Tabela kodów ASCII - 354
Dodatek L. Tabela kodów znakowych sterownika LCD HD44870 - 356
Dodatek M. Schemat blokowy systemu taktującego zastosowanego
w mikrokontrolerach STM32F1 - 358
Literatura -359
Dodatkowe materiały w tym programy można pobrać ze striony www.mikrokontroler.pl/content/STMCC
kod QR
Autor: Galewski Marek
Rok wydania: 2012
ISBN: 978-83-60233-82-5
Data dodania do sklepu sobota, 21 styczeń 2012.