Piotr Górecki - Mikrokontrolely dla początkujących.pdf

(50 KB) Pobierz
Mikrokontrolery dla początkujących
Spis treści
3
Wstęp ................................................................................................................................................ 10
Jak zacząć? ..................................................................................................................................11
1. Podstawy programowania – QBASIC ..................................................................... 13
Zmienne .......................................................................................................................................17
Instrukcja pętli FOR...NEXT.......................................................................................................19
Badanie warunku .........................................................................................................................20
Instrukcja warunkowa IF...THEN...ELSE ...................................................................................21
Etykiety i podprogramy ...............................................................................................................23
Zagnieżdżenie ..............................................................................................................................24
Operatory logiczne ......................................................................................................................25
Inne funkcje matematyczne – tylko dla dociekliwych ...............................................................26
DO...LOOP ..................................................................................................................................26
Wyjście z pętli .............................................................................................................................27
SELECT CASE ...........................................................................................................................30
ON TIMER ..................................................................................................................................32
Podsumowanie przygody z QBASIC-em ....................................................................................33
2. Budowa mikroprocesora ................................................................................................. 35
Opis wyprowadzeń ......................................................................................................................36
Budowa wewnętrzna....................................................................................................................37
Inne ważne obwody .....................................................................................................................40
Liczniki, czyli timery ..................................................................................................................41
UART ...........................................................................................................................................42
Komparator analogowy ...............................................................................................................43
Watchdog .....................................................................................................................................43
Power Down i Idle, czyli oszczędzamy prąd ..............................................................................44
Rejestry specjalne ........................................................................................................................45
Programowanie ............................................................................................................................47
AVR kontra '51............................................................................................................................49
ELEMENTarz ..............................................................................................................................51
Szybkość ...............................................................................................................................51
Bity i bajty ............................................................................................................................51
Rozmiary i rozmiary .............................................................................................................52
System dwójkowy .................................................................................................................52
3. Zestaw uruchomieniowy ................................................................................................. 55
Płytka testowa ..............................................................................................................................55
Programowanie ............................................................................................................................58
4. Instalacja i wykorzystanie programu BASCOM AVR .................................... 61
Instalacja ......................................................................................................................................61
Obsługa ........................................................................................................................................61
Konfiguracja ................................................................................................................................62
Pisanie programu .........................................................................................................................63
Pierwsze ćwiczenia ......................................................................................................................65
Dla dociekliwych .........................................................................................................................66
5. Porty wejścia/wyjścia ....................................................................................................... 73
Ćwiczenie 1. Przerzutnik RS .......................................................................................................73
Ćwiczenie 2. Układ czasowy ......................................................................................................77
4
Spis treści
Ćwiczenie 3. Przerzutnik T .........................................................................................................78
Ćwiczenie 4. Impulsator i syrena ................................................................................................82
Ćwiczenie 5. Przesuwanie bitów .................................................................................................85
Ćwiczenie 6. Licznik binarny i dekadowy ..................................................................................88
Ćwiczenie 7. Sterownik węża świetlnego (widmowy wyświetlacz) ..........................................91
ELEMENTarz ..............................................................................................................................94
Szybkość ...............................................................................................................................94
Dobre zwyczaje .....................................................................................................................95
Bity i bajty, zera i jedynki ....................................................................................................95
Kody ......................................................................................................................................96
Kod dwójkowy, binarny system liczbowy ...........................................................................96
Dwójkowe, dziesiętne, szesnastkowe... ................................................................................98
Niezależne bity? ....................................................................................................................99
Adresowanie ........................................................................................................................100
Negacja ................................................................................................................................101
Sprawdzanie dwóch warunków ..........................................................................................101
Odmierzanie czasu ..............................................................................................................101
BITWAIT ............................................................................................................................102
DEBOUNCE .......................................................................................................................102
ROTATE, SHIFT ................................................................................................................102
INCR, DECR ......................................................................................................................103
LOOKUP .............................................................................................................................103
Technikalia .................................................................................................................................104
Budowa i konfiguracja portów ...........................................................................................104
Ochrona wejść .....................................................................................................................108
6. Odmierzanie czasu, liczenie zdarzeń,
wykorzystanie zmiennych, przerwania .................................................................. 109
Ćwiczenie 8. Licznik zdarzeń ...................................................................................................109
Ćwiczenie 9. Licznik czterocyfrowy .........................................................................................112
Ćwiczenie 10. Inteligentny przycisk .........................................................................................116
Ćwiczenie 11. Wyłącznik schodowy, klepsydra .......................................................................118
Ćwiczenie 12. Stoper .................................................................................................................121
Ćwiczenie 13. Prawdziwy zegar cyfrowy .................................................................................128
Ćwiczenie 14. Zegar Predatora .................................................................................................131
Ćwiczenie 15. Podprogramy .....................................................................................................132
Ćwiczenie 16. Konwersja BCD ................................................................................................137
ELEMENTarz ............................................................................................................................139
Zmienna...............................................................................................................................139
Deklaracje, typy zmiennych ...............................................................................................139
CONST – stała ....................................................................................................................140
Etykieta ...............................................................................................................................141
ALIAS .................................................................................................................................141
Nazwy w BASCOM-ie .......................................................................................................142
Operatory logiczne ..............................................................................................................143
Liczniki/timery T/C0, T/C1 ................................................................................................144
Przerwania ...........................................................................................................................146
Kod BCD ............................................................................................................................148
MAKEBCD, MAKEDEC ...................................................................................................149
Spis treści
5
Technikalia .................................................................................................................................149
Liczniki T/C0, T/C1 ............................................................................................................149
System przerwań .................................................................................................................151
Stos ......................................................................................................................................152
Obsługa przerwań – kolejność ............................................................................................153
Opcja NOSAVE ..................................................................................................................154
„Przestarzałe” przerwania ...................................................................................................155
HEX – system szesnastkowy ..............................................................................................156
7. Przerwania zewnętrzne, tryb obniżonego poboru mocy ............................... 157
Ćwiczenie 17. Oszczędny zegar – tryb Idle .............................................................................157
Ćwiczenie 18. Zegar z budzikiem .............................................................................................164
ELEMENTarz ............................................................................................................................171
Przerwania INT0, INT1 ......................................................................................................171
Tryby zmniejszonego poboru prądu ...................................................................................172
Technikalia .................................................................................................................................173
Przerwania INT0, INT1 ......................................................................................................173
Jeszcze o obsłudze przerwań ..............................................................................................175
Idle, Power Down ...............................................................................................................176
Pobór prądu, częstotliwość pracy .......................................................................................177
8. Pamięć EEPROM ............................................................................................................ 179
Ćwiczenie 19. Wyświetlanie napisów .......................................................................................179
ELEMENTarz ............................................................................................................................191
READ – DATA – RESTORE .............................................................................................191
Zmienna tablicowa, tablica .................................................................................................192
EEPROM ............................................................................................................................193
Technikalia .................................................................................................................................195
EEPROM – zbyt niskie napięcie zasilania .........................................................................195
Sekwencyjna obsługa EEPROM-a .....................................................................................196
9. Interfejs I 2 C ........................................................................................................................ 199
Ćwiczenie 20. Programowany zasilacz, woltomierz ................................................................199
ELEMENTarz ............................................................................................................................205
Podstawy I 2 C ......................................................................................................................205
Adres ...................................................................................................................................209
Prędkość transmisji .............................................................................................................209
PCF8591 ..............................................................................................................................209
Podstawowe parametry PCF8591 .......................................................................................209
Technikalia .................................................................................................................................212
Adresowanie ........................................................................................................................212
Prędkość transmisji .............................................................................................................212
Rezystory podciągające ......................................................................................................212
Potwierdzenie – Acknowledge ...........................................................................................213
10. Watchdog, zerowanie mikrokontrolera ................................................................. 215
Ćwiczenie 21. Centralka alarmowa, czyli watchdog w swej klasycznej roli...........................215
Ćwiczenie 22. Watchdog w akcji – oszczędzamy prąd ............................................................220
ELEMENTarz ............................................................................................................................224
Watchdog .............................................................................................................................224
RESET .................................................................................................................................225
6
Spis treści
Technikalia .................................................................................................................................226
Watchdog .............................................................................................................................226
RESET .................................................................................................................................227
$NORAMCLEAR ...............................................................................................................230
11. Wyświetlacz LCD ............................................................................................................. 231
Ćwiczenie 23. Obsługa alfanumerycznego wyświetlacza LCD ...............................................231
Ćwiczenie 24. Kod ASCII .........................................................................................................237
ELEMENTarz ............................................................................................................................243
Tekstowy wyświetlacz LCD ...............................................................................................243
LCD .....................................................................................................................................245
CLS .....................................................................................................................................245
SHIFTLCD ..........................................................................................................................245
DISPLAY ON/OFF .............................................................................................................246
SPC(n) .................................................................................................................................246
CURSOR .............................................................................................................................246
Przesuwanie kursora ...........................................................................................................246
Kod ASCII ..........................................................................................................................247
DEFLCDCHAR ..................................................................................................................247
LCD designer ......................................................................................................................251
ASC .....................................................................................................................................251
CHR ....................................................................................................................................251
Symulator ............................................................................................................................251
Technikalia .................................................................................................................................252
Tekstowy wyświetlacz LCD ...............................................................................................252
INITLCD .............................................................................................................................254
Vo ........................................................................................................................................254
Jeszcze o ASCII ..................................................................................................................254
Trochę historii .....................................................................................................................257
12. Łącze RS-232 ..................................................................................................................... 259
Ćwiczenie 25. Transmisja przez RS-232 ..................................................................................259
Wykorzystanie układu UART ....................................................................................................259
Programowa realizacja transmisji..............................................................................................272
ELEMENTarz ............................................................................................................................275
Terminal ..............................................................................................................................275
UART ..................................................................................................................................275
Zasada transmisji szeregowej .............................................................................................275
Poziomy napięć ...................................................................................................................279
OPEN ..................................................................................................................................279
CLOSE ................................................................................................................................281
PRINT .................................................................................................................................281
INKEY ................................................................................................................................282
WAITKEY ...........................................................................................................................282
INPUT .................................................................................................................................283
ECHO ..................................................................................................................................284
Buforowanie danych ...........................................................................................................284
Scalone układy sprzęgające ................................................................................................284
Spis treści
7
Technikalia .................................................................................................................................286
UART ..................................................................................................................................286
Priorytet przerwań ...............................................................................................................291
9 bitów danych ....................................................................................................................291
Prędkość ..............................................................................................................................291
Zmiana prędkości transmisji ...............................................................................................293
INKEY i zmienna ERR ......................................................................................................293
CONFIG SERIALIN, CONFIG SERIALOUT................................................................294
Napięcia i prądy w łączu RS-232 .......................................................................................294
Scalone układy sprzęgające ................................................................................................295
Maksymalna długość łącza RS-232 ....................................................................................298
Dodatkowe wejścia i wyjścia .............................................................................................298
Wykorzystanie dodatkowych linii ......................................................................................300
Nietypowe wykorzystanie linii portu COM .......................................................................303
13. Zaawansowane funkcje licznika-timera T/C1 .................................................... 305
Ćwiczenie 26. Płynna regulacja jasności – generator PWM ....................................................305
Ćwiczenie 27. Licznik T/C1 jako... przetwornik cyfrowo-analogowy.....................................309
Ćwiczenie 28. Woltomierz – wykorzystanie komparatora analogowego .................................312
Ćwiczenie 29. Generator impulsów – tryb porównywania ......................................................318
ELEMENTarz ............................................................................................................................323
Zaawansowane funkcje T/C1 .............................................................................................323
Porównanie (Compare) .......................................................................................................324
PWM ...................................................................................................................................325
Tryb przechwytywania ........................................................................................................327
Komparator analogowy .......................................................................................................328
Zmienne zmienne ................................................................................................................330
Obliczenia arytmetyczne .....................................................................................................330
FUSING ..............................................................................................................................331
„Liczbowe napisy” ..............................................................................................................332
FORMAT .............................................................................................................................333
Operacje na tekstach ...........................................................................................................334
Technikalia .................................................................................................................................336
Sekrety T/C1 .......................................................................................................................336
Tryb PWM ..........................................................................................................................339
Komparator analogowy .......................................................................................................340
14. Dokładny pomiar czasu ................................................................................................. 343
Ćwiczenie 30. Częstościomierz .................................................................................................343
Ćwiczenie 31. Pomiar okresu oraz czasu impulsów .................................................................353
ELEMENTarz ............................................................................................................................364
Porty I/O..............................................................................................................................364
15. Magistrala 1-Wire ............................................................................................................ 369
Ćwiczenie 32. Układy 1-Wire ...................................................................................................369
ELEMENTarz ............................................................................................................................375
Zasilanie ..............................................................................................................................376
Numer – adres .....................................................................................................................377
Transmisja ...........................................................................................................................378
DS2405 ................................................................................................................................380
Zgłoś jeśli naruszono regulamin