Mikrokontrolery AVR język C podstawy programowania.pdf
(
1133 KB
)
Pobierz
677989584 UNPDF
Mikrokontrolery AVR, język C, podstawy
programowania
Niniejsza darmowa publikacja zawiera jedynie fragment pełnej
wersji całej publikacji.
Aby przeczytać ten tytuł w pełnej wersji
kliknij tutaj
.
Niniejsza publikacja może być kopiowana, oraz dowolnie rozprowadzana tylko i wyłącznie
w formie dostarczonej przez Wydawnictwo ATNEL. Zabronione są jakiekolwiek zmiany w
zawartości publikacji bez pisemnej zgody Wydawnictwa ATNEL - wydawcy niniejszej
publikacji. Zabrania się jej odsprzedaży.
Pełna wersja niniejszej publikacji jest do nabycia w
sklepie internetowym
http://witmir.pl
Styczeń 2011
M
ikrokontrolery
AVr
WYDAWNICTWO
ATNEL
język
C
podstAwy
progrAMowAniA
Mirosław Kardaś
Mojej Żonie – Kasi
Książka przeznaczona jest dla elektroników i hobbystów, którzy chcą szybko, w oparciu o interesujące
przykłady, poznać język C przeznaczony dla mikrokontrolerów AVR i nauczyć się pisać dla nich
programy. Jest to język wysokiego poziomu o nieograniczonych możliwościach, pozwala również
łatwo i wygodnie dokonywać połączeń z językiem maszynowym asembler. W sposób przystępny
opisana została także architektura oraz możliwości samych mikrokontrolerów AVR wchodzących w
skład dwóch rodzin: ATmega i ATtiny. Prezentowany materiał podzielony jest na trzy części. Pierwsza
obejmuje zagadnienia związane z budową mikrokontrolerów, druga to wykład na temat podstaw samego
języka, a trzecia zawiera szereg ćwiczeń wraz z kodami źródłowymi, komentarzami i bogatymi opisami.
Opracowanie graiczne: Mirosław Kardaś
Redakcja: Małgorzata Koczańska
© Copyright by Wydawnictwo Atnel
Szczecin 2011
ISBN 978-83-931797-0-1
Wydawnictwo ATNEL
ul. Jasna 15/38
70-777 Szczecin
fax: 91 4635 683
http://www.atnel.pl
e-mail: biuro@atnel.pl
Wydanie
I
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami irmowymi bądź towarowymi ich właścicieli. Autor oraz
wydawnictwo Atnel dołożyli wszelkich starań, by publikowane tu informacje były kompletne i rzetelne. Nie biorą jednak żadnej
odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor
oraz wydawnictwo Atnel nie ponoszą także żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentów niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii całości lub fragmentów książki bądź dołączonej płyty
DVD metodą kserograiczną, fotograiczną, a także kopiowanie książki lub płyty DVD na nośnikach ilmowych, magnetycznych,
elektronicznych lub na nieutoryzowanych stronach internetowych powoduje naruszenie praw autorskich niniejszej publikacji.
Strona | 3
Spis treści
........................................................7
1 Wstęp....................................................................8
2 Zaczynamy ...............................................................9
2.1 Pierwszy „pusty” program w C ........................................9
2.2 Od programu do procesora............................................10
2.2.1 Kompilacja.................................................... 10
2.2.2 Środowisko ................................................... 12
2.2.3 Programatorsprzętowy ...................................... 13
2.2.4 Programowanieprocesora.................................... 14
2.2.5 UruchamiamyAVRStudio...................................... 15
2.2.6 Platformasprzętowa......................................... 23
3 ProcesoryAVR...........................................................25
3.1 Informacje ogólne ....................................................25
3.2 Programowanie ISP ...................................................28
3.3 Sposoby taktowania procesorów .....................................29
3.3.1 Wewnętrznyoscylator ....................................... 30
3.3.2 Zewnętrznyrezonatorkwarcowy ............................ 30
3.3.3 ZewnętrznyoscylatorRC..................................... 31
3.3.4 Zewnętrznygenerator ....................................... 32
3.4 Zagadnienia związane z zasilaniem ...................................32
3.5 Układ resetu mikrokontrolera AVR ..................................34
3.6 Wewnętrzne moduły procesorów AVR ................................34
3.6.1 PamięćFLASH,RAM,EEPROM .................................. 34
3.6.2 Przerwania ................................................... 38
3.6.3 Timerysprzętowe............................................. 40
3.6.3.1 PodstawowetrybypracyTimerów................... 42
3.6.3.1.1 TrybzwykłegoLICZNIKA.................... 42
3.6.3.1.2 TrybCTC–jedenznajważniejszych .......... 44
3.6.3.1.3 TrybPWM.................................. 45
3.6.4 PrzetwornikADC............................................. 48
3.6.5 Modułkomparatoraanalogowego ............................ 50
3.6.6 ModułUART/USART,(czyliRS232)............................. 51
3.6.7 ModułSPI..................................................... 52
3.6.8 ModułTWI,(czyliI2C) ........................................ 52
3.6.9 Watchdog..................................................... 53
3.6.10 Trybyoszczędzaniaenergii ................................... 53
3.6.11 FUSEBITS(ustawieniakonfiguracjiAVR)...................... 54
3.6.12 LOCKBITS(zabezpieczeniaAVR)............................... 55
Przedmowa
Strona | 4
3.6.13 Bootloader–niesamowitemożliwości........................ 56
4 PodstawyjęzykaC .......................................................58
4.1 Zagadnienia ogólne ...................................................58
4.1.1 Komentarze................................................... 58
4.1.2 Definicjaadeklaracja ........................................ 59
4.1.3 Wyrażenialogiczne(warunki)................................ 60
4.2 Najważniejsze instrukcje..............................................60
4.2.1 InstrukcjawarunkowaIf,else ............................... 60
4.2.2 Pętlawhile................................................... 63
4.2.3 Pętlado..while............................................... 64
4.2.4 Pętlafor ..................................................... 64
4.2.5 Instrukcjabreak.............................................. 66
4.2.6 Instrukcjaswitch............................................. 66
4.2.7 Instrukcjacontinue .......................................... 68
4.2.8 Nawiasyklamrowe............................................ 69
4.2.9 Instrukcjagoto............................................... 69
4.3 Typy ..................................................................70
4.3.1 SystematykatypówjęzykaC................................... 71
4.3.1.1 Typyzłożone ........................................ 74
4.3.1.2 Zakreswidocznościzmiennych ...................... 76
4.3.1.3 Typvoid............................................. 77
4.3.1.4 Specyfikatorconst.................................. 78
4.3.1.5 Specyfikatorvolatile ............................... 79
4.3.1.6 Specyfikatorregister ............................... 80
4.3.1.7 InstrukcjaTypedef.................................. 80
4.3.1.8 Typywyliczenioweenum ............................ 82
4.3.2 StałewjęzykuC .............................................. 85
4.3.2.1 Stałejakoliczbycałkowite ......................... 85
4.3.2.2 Stałejakoliczbyzmiennoprzecinkowe............... 86
4.3.2.3 Stałeznakowe ...................................... 86
4.3.2.4 Stałetekstowe,stringi ............................. 88
4.4 Operatory.............................................................89
4.4.1 Arytmetyczne................................................. 89
4.4.1.1 Modulo,czyli% ..................................... 89
4.4.1.2 Inkrementacjaidekrementacja++-- ................ 91
4.4.1.3 Operatorprzypisania=.............................. 92
4.4.2 OperatoryLogiczne........................................... 93
4.4.2.1 Operatoryrelacji ................................... 93
4.4.2.2 Suma||oraziloczyn&&logiczny..................... 94
4.4.2.3 Negacja–wykrzyknik! .............................. 95
4.4.2.4 Operatorybitowe ................................... 95
Plik z chomika:
mikroprocesory
Inne pliki z tego folderu:
Język C. Pasja programowania mikrokontrolerów 8-bitowych.pdf
(2545 KB)
BTC - Sztuka programowania mikrokontrolerów AVR - podstawy.rar
(105 KB)
Mikrokontrolery AVR język C podstawy programowania.pdf
(1133 KB)
Zrozumiec male mikrokontrolery.pdf
(2770 KB)
Mikrokontrolery rodziny AVR w obudowach 8-wyprowadzeniowych A. Krysiak.pdf
(6488 KB)
Inne foldery tego chomika:
Pliki dostępne do 01.06.2025
Pliki dostępne do 19.01.2025
!!PROGRAMOWANIE!!
• Eagle 5.6 Full + podręcznik PL
[CodeGear.RAD.Studio.-.Delphi.2007
Zgłoś jeśli
naruszono regulamin