avr i arm7. programowanie mikrokontrolerów dla każdego scan.pdf

(38818 KB) Pobierz
889713017.001.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
889713017.002.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
Lekcja 15
Obsługa
wyświetlacza graficznego
z telefonu Siemens S65.
Część 1.
Temat lekcji to nie pomyłka: rzeczywiście nauczymy się wyświetlać dane na kolorowym wyświetlaczu LCD,
używanym w telefonach firmy Siemens serii S65. Podobno informacja o tym fakcie lotem błyskawicy obiegła
cały świat, także ten wodny, plotka zatacza coraz szersze kręgi, także na wodzie. Opowiadał mi znajomy ich-
tiolog… A zresztą zobaczmy, jakie zdjęcia ów ichtiolog przyniósł mi z jeziora (patrz rysunek 15.1).
Ślimak ma rację, mówiąc, że do podłączenia wyświetlacza S65 do mikrokontrolera najlepiej nadaje się interfejs
SPI. Jednak dobrze też jest znać alternatywny sposób obsługi wyświetlacza LCD, dlatego w pierwszej kolejno-
ści wysyłanie danych do wyświetlacza zaimplementujemy programowo. Do podłączenia wyświetlacza użyje-
my linii od P0.16 do P0.21.
Przypomnijmy sobie, jak wygląda moduł wyświetlacza graficznego S65 (patrz rysunek 15.2).
Właściwie gdy piszemy wyświetlacz graficzny S65 , posługujemy się skrótem pełnej nazwy wyświetlacz gra-
ficzny używany w telefonach Siemens S65 . Aby nie potknąć się o własne nogi, będziemy używać nazw jeszcze
krótszych: wyświetlacz S65, wyświetlacz LCD, kolorowy wyświetlacz lub po prostu wyświetlacz. Po-
nieważ nie będziemy zajmować się innymi wyświetlaczami graficznymi, groźba pomyłki nie istnieje.
Jedyną dostępną pomocą dotyczącą programowania wyświetlacza S65 jest słynny tutorial Christiana Kranza 1 .
Możemy się z niego dowiedzieć, że interesujący nas wyświetlacz był wykorzystywany w telefonach firmy
Siemens serii S65, M65, CX65 oraz SK65. Moduł ARE0055 zawiera wyświetlacz S65 ze sterownikiem serii
LS020xxx firmy Sharp. Matryca wyświetlacza ma rozdzielczość 176×132 pikseli, przy możliwości wyświe-
tlania 16-bitowych kolorów (65 536 kolorów).
Oryginalnie wyświetlacz ma 10 wyprowadzeń z wejściami na dwa poziomy napięć. Dzięki zastosowanym
w module ARE0055 układom elektronicznym liczbę tę udało się zredukować do ośmiu linii zawierających
wyprowadzenie zasilania +3.3 V. Ich rozkład na wtyczce modułu przedstawiono na rysunku 15.3.
1
Christian Kranz, Using the Siemens S65-Display , http://www.superkranz.de/christian/S65_Display/DisplayIndex.html .
889713017.003.png
Zgłoś jeśli naruszono regulamin