AVR_i_ARM7_Programowanie_mikrokontrolerow_dla_kazdego_avrar7.pdf

(1383 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?
837617097.134.png 837617097.135.png 837617097.139.png 837617097.141.png 837617097.001.png 837617097.004.png 837617097.009.png 837617097.012.png 837617097.013.png 837617097.014.png 837617097.015.png 837617097.020.png 837617097.023.png 837617097.024.png 837617097.026.png 837617097.027.png 837617097.029.png
 
 
 
837617097.053.png 837617097.057.png
 
 
837617097.065.png
 
 
 
 
 
 
 
837617097.078.png
 
 
837617097.095.png
 
 
 
 
 
 
837617097.131.png
 
 
837617097.132.png
 
 
837617097.133.png
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
837617097.136.png
 
 
 
 
 
837617097.137.png 837617097.138.png
 
 
 
 
 
 
 
 
 
 
 
837617097.140.png
 
837617097.142.png 837617097.143.png
 
837617097.144.png
 
 
 
 
 
 
 
 
837617097.002.png
 
 
 
837617097.003.png
 
 
 
 
 
837617097.005.png
 
837617097.006.png 837617097.007.png
 
837617097.008.png
 
 
 
 
 
 
 
 
837617097.010.png
 
837617097.011.png
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
837617097.016.png 837617097.017.png
 
 
 
 
 
837617097.018.png
 
837617097.019.png
 
 
 
 
 
 
 
 
837617097.021.png 837617097.022.png
 
 
 
 
 
 
 
 
 
 
 
 
 
 
837617097.025.png
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
837617097.028.png
 
 
 
 
 
 
 
 
 
 
837617097.030.png 837617097.031.png 837617097.032.png 837617097.033.png 837617097.034.png 837617097.035.png 837617097.036.png 837617097.037.png 837617097.038.png 837617097.039.png 837617097.040.png 837617097.041.png 837617097.042.png 837617097.043.png 837617097.044.png
 
 
837617097.045.png
 
 
837617097.046.png
 
 
 
837617097.047.png 837617097.048.png 837617097.049.png 837617097.050.png
 
 
837617097.051.png
 
 
837617097.052.png
 
837617097.054.png
 
 
837617097.055.png
 
 
837617097.056.png
 
 
837617097.058.png
 
 
837617097.059.png 837617097.060.png
 
 
 
 
 
837617097.061.png
 
 
 
837617097.062.png
 
 
837617097.063.png
 
837617097.064.png
 
 
 
 
 
 
 
 
 
 
 
837617097.066.png
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
837617097.067.png 837617097.068.png 837617097.069.png
 
 
837617097.070.png
 
837617097.071.png 837617097.072.png
 
 
 
 
 
 
 
 
 
 
 
837617097.073.png
 
837617097.074.png
 
 
 
 
 
 
 
837617097.075.png
 
 
 
 
837617097.076.png
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
837617097.077.png 837617097.079.png 837617097.080.png 837617097.081.png 837617097.082.png
 
 
 
 
 
 
 
837617097.083.png 837617097.084.png
 
 
 
 
 
 
 
837617097.085.png 837617097.086.png 837617097.087.png 837617097.088.png 837617097.089.png 837617097.090.png 837617097.091.png 837617097.092.png 837617097.093.png 837617097.094.png 837617097.096.png 837617097.097.png 837617097.098.png 837617097.099.png 837617097.100.png 837617097.101.png 837617097.102.png 837617097.103.png 837617097.104.png 837617097.105.png 837617097.106.png 837617097.107.png 837617097.108.png 837617097.109.png 837617097.110.png 837617097.111.png 837617097.112.png 837617097.113.png 837617097.114.png 837617097.115.png 837617097.116.png 837617097.117.png 837617097.118.png 837617097.119.png 837617097.120.png 837617097.121.png 837617097.122.png 837617097.123.png 837617097.124.png 837617097.125.png 837617097.126.png 837617097.127.png
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!
837617097.128.png 837617097.129.png
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
837617097.130.png
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