księgarnia informatyczna aton.pl

STM32 Aplikacje i ćwiczenia w języku C

Wydawnictwo BTC

Cena:    79.00zł

STM32 Aplikacje i ćwiczenia w języku C


Autor: Marek Galewski

ISBN: 978-83-60233-82-5

Ilość stron: 360

Data wydania: 01/2012

Oprawa: Twarda

Format: 16.5x24.0cm

Wydawnictwo: BTC


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.

Rozdziały:

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
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
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
4.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.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

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
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

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
14.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
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
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

Cena:    79.00zł


STM32 Aplikacje i ćwiczenia w języku CKsiążka informatyczna: STM32 Aplikacje i ćwiczenia w języku C
Księgarnia informatyczna aton.pl

Tutaj możesz kupić tę książkę w dobrej cenie. Zapraszamy na zakupy do naszej księgarni internetowej.