AVR_i_ARM7_Programowanie_mikrokontrolerow_dla_kazdego_avrar7.pdf

(1354 KB) Pobierz
Paweł Borkowski
PROGRAMOWANIE MIKROKONTROLERÓW
DLA KAŻDEGO
Poznaj sposoby programowania
mikrokontrolerów — nigdy nie wiadomo,
kiedy
życie
zmusi Cię do skonstruowania robota
Jak efektywnie nauczyć się programowania mikrokontrolerów?
Jak skonstruować programator lub zdobyć go w inny sposób?
Jak obsługiwać wyświetlacz LED w czterech językach?
AVR i ARM7.
Programowanie
mikrokontrolerów
dla ka¿dego
Autor: Pawe³ Borkowski
ISBN: 978-83-246-2628-1
Format: 158235, stron: 528
Poznaj sposoby programowania mikrokontrolerów – nigdy nie wiadomo,
kiedy ¿ycie zmusi Ciê do skonstruowania robota
• Jak efektywnie nauczyæ siê programowania mikrokontrolerów?
• Jak skonstruowaæ programator lub zdobyæ go w inny sposób?
• Jak obs³ugiwaæ wyœwietlacz LED w czterech jêzykach?
Je¿li nie masz pojêcia o programowaniu mikrokontrolerów, a chcesz siê tego nauczyæ,
ta ksi¹¿ka jest w³aœnie dla Ciebie. Nie musisz wczeœniej mieæ wiedzy z zakresu elektroniki,
poniewa¿ wszystkie potrzebne pojêcia zosta³y tu wyjaœnione od podstaw. Niepotrzebna
Ci tak¿e znajomoœæ programowania w jakimkolwiek jêzyku – te informacje, podane
w mo¿liwie najbardziej przystêpny sposób, te¿ znajdziesz w podrêczniku. Wobec tego
wszystko, czego potrzebujesz, to chêæ nauki. I jeszcze jedno: mo¿e zastanawiasz siê, co
pocz¹æ z takim mikrokontrolerem? Otó¿ mo¿esz zastosowaæ go do konstruowania efektów
œwietlnych z diod, sterowania modelami samolotów, a nawet sterowania robotami.
Je¿eli wiesz ju¿ co nieco na temat programowania mikrokontrolerów, ale chcesz poszerzyæ
swoj¹ wiedzê – do tego równie¿ przyda siê ta ksi¹¿ka. Dziêki niej dowiesz siê, na czym
polega programowanie mikrokontrolerów dwóch rodzin: AVR (na przyk³adzie uk³adu
ATmega8) i ARM7 (na przyk³adzie uk³adu LPC2106). Nauczysz siê programowania
uk³adów w czterech jêzykach programowania: asemblerze (œrodowisko AVR Studio 4),
jêzyku C (œrodowisko WinAVR), jêzyku bascom (œrodowisko Bascom) oraz Pascalu
(œrodowisko mikroPascal). Z ³atwoœci¹ zdobêdziesz, a potem – wykonuj¹c poszczególne
æwiczenia – sprawdzisz nowe, niesamowite umiejêtnoœci, poniewa¿ ca³a wiedza podana
jest tu przejrzyœcie i w dodatku z humorem.
• Programowanie mikrokontrolerów z rodziny AVR oraz ARM7
• Obs³uga diod i wyœwietlaczy LED
• Obs³uga przycisków i klawiatur
• Wyœwietlacze alfanumeryczne
• Obs³uga przerwañ
• Komunikacja miêdzy mikrokontrolerami (USART)
• Obs³uga wyœwietlaczy graficznych z telefonu komórkowego Siemens S65
• Serwomechanizmy
• Kompilatory
• Programowanie z u¿yciem systemów czasu rzeczywistego na przyk³adzie FreeRTOS
Ca³a wiedza potrzebna, aby zostaæ ekspertem od programowania mikrokontrolerów!
Spis treści
Wstęp ...............................................................................................................................7
Poszukiwacze zaginionych portów, czyli jak zacząć przygodę z mikrokontrolerami ................9
Część I Programowanie mikrokontrolerów z rodziny AVR .......................... 13
Lekcja 1. Instalacja oprogramowania ................................................................................15
1.1. Kompilatory .................................................................................................................... 15
1.1.1. AVR Studio ...................................................................................................................... 15
1.1.2. WinAVR .......................................................................................................................... 17
1.1.3. Bascom ............................................................................................................................. 18
1.1.4. MikroPascal for AVR ....................................................................................................... 20
1.2. Programy
ładujące
........................................................................................................... 21
1.2.1. PonyProg2000 .................................................................................................................. 21
1.2.2. AVRdude .......................................................................................................................... 23
Lekcja 2. Cztery i pół metody zdobycia programatora ........................................................27
2.1. Sample Electronics cable programmer — programator podłączany do portu LPT ............ 27
2.2. SI Prog — programator podłączany do portu COM .......................................................... 28
2.2.1. Montaż programatora ....................................................................................................... 28
2.2.2. Montaż adaptera ............................................................................................................... 34
2.2.3. Konfiguracja PonyProg2000 ............................................................................................ 37
2.3. USBasp — programator podłączany do portu USB .......................................................... 37
2.3.1. Montaż programatora ....................................................................................................... 37
2.3.2. Podłączanie USBasp do komputera (system Windows) ................................................... 44
2.3.3. Praca USBasp z AVRdude ............................................................................................... 46
2.3.4. Praca USBasp z AVR Studio ........................................................................................... 46
2.3.5. Praca USBasp ze
środowiskiem
Bascom .......................................................................... 47
2.3.6. Praca USBasp z pakietem WinAVR ................................................................................. 48
2.4. USBasp — zakup kontrolowany ...................................................................................... 49
2.5. Pół metody zdobycia programatora .................................................................................. 50
2.6. Jak zaprogramować pozostałe układy AVR? .................................................................... 50
Lekcja 3. Zaświecenie diody LED .....................................................................................53
3.1. Asembler ......................................................................................................................... 55
3.2. Język C ............................................................................................................................ 62
3.3. Bascom ............................................................................................................................ 65
3.4. Pascal .............................................................................................................................. 68
3.5.
Ćwiczenia
........................................................................................................................ 71
4
Spis treści
Lekcja 4. Mruganie diody LED ..........................................................................................73
4.1. Asembler ......................................................................................................................... 73
4.2. Język C ............................................................................................................................ 79
4.3. Bascom ............................................................................................................................ 83
4.4. Pascal .............................................................................................................................. 85
4.5.
Ćwiczenia
........................................................................................................................ 86
Lekcja 5. Obsługa wyświetlacza LED ................................................................................89
5.1. Asembler ......................................................................................................................... 91
5.2. Język C .......................................................................................................................... 106
5.3. Bascom .......................................................................................................................... 111
5.4. Pascal ............................................................................................................................ 114
5.5.
Ćwiczenia
...................................................................................................................... 118
Lekcja 6. Obsługa przycisku ...........................................................................................119
6.1. Asembler ....................................................................................................................... 127
6.2. Język C .......................................................................................................................... 132
6.3. Bascom .......................................................................................................................... 135
6.4. Pascal ............................................................................................................................ 138
6.5.
Ćwiczenia
...................................................................................................................... 141
Lekcja 7. Obsługa klawiatury .........................................................................................143
7.1. Asembler ....................................................................................................................... 146
7.2. Język C .......................................................................................................................... 159
7.3. Bascom .......................................................................................................................... 165
7.4. Pascal ............................................................................................................................ 170
7.5.
Ćwiczenia
...................................................................................................................... 176
Lekcja 8. Obsługa przerwań, a przy tym o bitach konfiguracyjnych i
śpiochach
słów parę ......179
8.1. Asembler ....................................................................................................................... 191
8.2. Język C .......................................................................................................................... 204
8.3. Bascom .......................................................................................................................... 210
8.4. Pascal ............................................................................................................................ 217
8.5.
Ćwiczenia
...................................................................................................................... 223
Lekcja 9. Obsługa wyświetlacza alfanumerycznego LCD ..................................................225
9.1. Asembler ....................................................................................................................... 229
9.2. Język C .......................................................................................................................... 251
9.3. Bascom .......................................................................................................................... 264
9.4. Pascal ............................................................................................................................ 269
9.5.
Ćwiczenia
...................................................................................................................... 275
Lekcja 10. …a zakończą część pierwszą dwa słowa: USART, EEPROM… .........................277
10.1. Asembler ................................................................................................................................ 279
10.2. Język C ................................................................................................................................... 293
10.3. Bascom ................................................................................................................................... 298
10.4. Pascal ..................................................................................................................................... 304
10.5.
Ćwiczenia
............................................................................................................................... 309
Część II Programowanie mikrokontrolerów z rdzeniem ARM7 ................. 311
Lekcja 11. Instalacja oprogramowania, przygotowanie oprzyrządowania ...........................313
11.1. Instalacja
środowisk
programistycznych Keil uVision3 i WinARM
oraz programu
ładującego
Flash Magic ................................................................................. 314
11.2. Opis zestawu uruchomieniowego ARE0068 .......................................................................... 317
Spis treści
5
Lekcja 12. Igraszki z diodami LED ..................................................................................321
12.1. Język C ........................................................................................................................ 324
12.2. Asembler ..................................................................................................................... 337
12.3.
Ćwiczenia
.................................................................................................................... 358
Lekcja 13. Obsługa przycisków ......................................................................................359
13.1. Język C ........................................................................................................................ 361
13.2. Asembler ..................................................................................................................... 369
13.3.
Ćwiczenia
.................................................................................................................... 385
Lekcja 14. Przerwania sprzętowe ...................................................................................387
14.1. Język C ........................................................................................................................ 392
14.2. Asembler ..................................................................................................................... 398
14.3.
Ćwiczenia
.................................................................................................................... 408
Lekcja 15. Obsługa wyświetlacza graficznego z telefonu Siemens S65. Część 1. .............411
15.1. Język C ........................................................................................................................ 415
15.2. Asembler ..................................................................................................................... 431
15.3.
Ćwiczenia
.................................................................................................................... 439
Lekcja 16. Obsługa wyświetlacza graficznego z telefonu Siemens S65. Część 2. .............441
16.1. Język C ........................................................................................................................ 443
16.2. Asembler ..................................................................................................................... 457
16.3.
Ćwiczenia
.................................................................................................................... 464
Lekcja 17. Serwomechanizmy w lewo zwrot, czyli jak zaprogramować ruch robota ...........467
17.1. Język C ........................................................................................................................ 471
17.2. Asembler ..................................................................................................................... 482
17.3.
Ćwiczenia
.................................................................................................................... 488
Lekcja 18. Mały krok w kierunku systemów czasu rzeczywistego — FreeRTOS ................491
Skorowidz ......................................................................................................................513
Zgłoś jeśli naruszono regulamin