Table Of ContentRomaMn ittermayr
AVR.RISC
Emb eddeSd oftwarsee lbset ntwickeln
AufCD-ROM:
. AVRS tudio4 .13u ndwinAVR
RomaMn ittermayr
AVR.RISC
EmbeddeSdo ftwarsee lbset ntwickeln
Ganzg telcho, bS led asH bn Mikoconkollezru n eßtenM al
Hirens, €it elnlgrnh hrur Sofr$rares"{ hreibeond er
"Enbedded
lnbrmatikü nteilchtenD: le6eBs uchh llfr lhnenb elmE {enell
umlteEenm d \tut'refulnh rc6wk6€ns Sleb ekommednn e l{ln€
EinRihrunirg d ieS FächeA ss€mblerü ndl €nen außedemd ie
vrichtigs€n GrundlagEdne rC -Pogrammleruknegn nenF. ilrd en
Prdkflkerwidp dgnanet rldä4w orauef 5b eld erS ofrwate-
enü/vlclduanugf A vR-Poue6sorweinrk licha nkonmt
Die8 -Bit-l,likroconrlollevFonsAe TrileV lELerllahunbeten i ne
unglaublricahs chVee Nirklhhuwnßgt hiedensltdeer eunn d
PojekteD. ies chnellRe |Sc'Architeldduerre, inheitlichAeu lbaud er
komplettePnr ozessoftmiulined n ichzt uletzdt iea ttaktiven
PrcisantebofuterH obbyentwhkmlear chedni esenC ontmllezru r
richtisenWahl.
DeAr utorh ats ichd aEufk onzenfiiedt a5B uchv eFtändlkh
prakrisczhu S esialteDn.i eseWs erkw ndd enA 'beibtisckha
verhssenE.i nN achschlägewfüerrl kh reh oj€kt€r Häugfi
TabelleRno,u tineunn db eknnt€ werdeknla ru nd
"Fallen"
e [irt.
Einuem bngreicohneli replattfournmle ßri:Edte nb se'rnd
beantwodFeir dg€n,dieü berdenU mfandt es8 u(hsh
zah|?ichPe ra-xisbeispujnedleS chaltultesnt ehend arUber
freiz umD ownloadzu rv efügun8.
rsBN9 78 I 77234 1076
ill|t|itllit liilliiltli lltilt
9t743772t341076t
Eüo3 9,5 lDl
Be$rchoSn iou n6i m Inlongt wwwjranzls.de
RomanM ittermayr
AVR.RISC
EmbeddSedo ftwarsee lbset ntwicketn
Mit 88 Abbildungen
Bibliosrafi scheI nf or.|'äüod der Deutdren Bihlioüek
DieD eulscheB ibliolhekE @ichnet dise Publikatioinn ds DeutsdenN ationalbibli@rafie:
deraileneD arensi ndm hterneüt bprh ttr./dnbddb.deä bnilbär.
Adddqrö8Esqql.hmö€frlb''dffiq6r€lhUidufuiEßhafunqw*.
*ft, xonto ltuBiahms rcp'od@a( toEdem tid f€hrer drhr qe aq6d'!€€6 Ds \daq und der ado, *hei s d dr+ärb
evfdereiEc6 ie dh db jük&h
nel|end6bdRdaktdlsdl|G€trüq
Emb.geJdgleÖdgaml)dn|odä'
fmmnqds|-i!Enh.bas'6q|id''
O 2004F ränzirV erlägG nbH, 35535P oing
Ale Rechtveo rbeh.lrenä,u chd ied e.f otom{h.nischenw iedersabuen dd ers peicherunins e ekt.onischen
Mediei. DasE ßlellenu id vedreiten wn Kopiena ul Papie'a: uf Daten$&em oderi m r^remet insbeenderea s
PDI st nü mit ausdlüdlider Genehmigundq6 Ve aq69 6taner undw id widigenfals malrechnichv erfolqr
D e meislei Pmduhbez€ichnunq€nr cn Had- und Softwär€ seie Fnmnnamenu nd Fkmeno qoi, die n d esem
Welk qenännlw eden, iind in d€r R€q€l qlei.hailiq au.h €inq€taq€ne Warcnei.h€n und soll €n ah solcheb e-
lra.hlel weden. DerV € aqi olqt bejd €n Prcduhbeui dnunq€n im Wen ichend en Schrcibwp n der H€ßtel er
sats: folosatzP feifela 2166G räIemng
art & d6i9n: w.idehfthzde
Dtuclc Bercke4( 7623K delaer
tsBN9 78-3-77234107-6
)
Vorwort
crnz gleich,o b Sied nsw ort Mikroantrolbr hette zum erstenM al höien oder seit
Iiinf Iahren ,,EmbeddedS oftware" schreiben:D iesesB uch hilft Ihnen b€im Erler
nen, Umsteigenu nd Vertiefen Ihres wissens zu diesemT hema. Es wird prägnant
erklärt, worauf es bei der Softlyareentwickiungm it AvR-Prozessorenw irklich
Die 8 Bit Mikrocontroiler-Serie von ATMEL erlaubt Ihnen eine rascheV erwirkli
chung verschiedensterld een und Projekte. Die schnelle RISC Architektur, der
einheitliche Aufbau der kompletten Prozessorfamilieu nd nicht zuletzt die attrak
tiven Preisängebotef ür Hobbyentwickler lassen diesen Controller die dchtige
Wahl sein.
lch hoffe, dassI hnen diesesB üch rücht nur wissen verschafft,s onderna uch Freude
bereitet.U m Sofha'arez u entwickeln,b raucht man einen klaren Kopf Gönnen sie
sich eire Pausew, enn Sie einmal nicht vorankommen sollten. Ich wünschel hn€n
eineV ielzahl an erfolgreichenu nd spännendenP rojektenu nd steheI hnen tur Fra
gen zu diesemB uch gerneü ber meine Webseiteh ttp://M.avrbu.h.de zü Vertu-
cuns
Sietolltene inenB lickaudf ieWebseitezumBu chwetfenuntel:
http://ww.avrbu<h.de Dortf indens iel etzteA nderungeunn d
aktuelleU Ddateszdue nB eirDiel€ni n diesehB uch-
AIe Preisei n diesemB uch sind ohne Gew?i}lrB. itte be.chten Sie, dasse s sich bei
vielen Produldnämenu nd Unternehmenu m eingetragenew afenzeichenh andelt.
Mein Dank gebührt einer Reihev on Menschen,o hne deren Hilfe diesesB üch nur
eine Idee geblieb€n 1eäreD. azu gehörenA lexanderH uwaldt von der Firma Laser&
Co. Solutionsc mbH (www.myAvR.de)u nd Benedik Sauter( www.embeddedp ro'
jects.net)f ür die großartigeU nterstützung.G roßer Dank gilt auchd en wahrenH el-
den der ÄVR Community: löig wlrnsch tllld Eric weddington. Ohn€ die beiden
wäe die Softwareentwicklunga m AVR nicht mit dem Komfort möglich, der heute
gegebenis t. Sehrh ilfreich wär die Arbeit von Maria Mitterma).r,d ie mich beim Ver
fnssend es Buchs unterstützt har. Anke Milndler hat das Proiekt mit wesendichen
Verbesserungsvorscbläguennd Andenngen bereichert Die Schaltungens tammen
von Walter Mittermayr. Dank in dies€ Richtung fiir die großartiSe technische
Unterstlitzungb €im Aufbau urd d€r Entwicldüngd er Praxisanwendungen.
RomanM itt€rmala
Oktober 2007,W ien
Inhalt
8
9
1 DieV orbereitung
1.1 Auswahdl esM ikrocontrotters
Der Markt auf dem Gebiet der Mikoconiroler hat sich im Lauf der tahre ständig
velgröße(. Es gibt mittlerweile eine Vielzahl von Anbietern ünd natürlich eine
noch größereÄ nzahl verschiedenerP roduktvariänten.D ie meisten davon bieten
zwar durchwegä hnliche Leistungen,u nterscheidens ich aber im Preisangebotd, en
Einsatzgebieteunn d natürlich dem Support seitensd esH eßtellers.
Zu den erstenp opnläen Mod€Ien zähltene twad ie Intel-8osl-Controler sowied €r
SiemensC l66 btr. Cr67 (heute Infineon).V or allema m Intel 805r habens ich
viele Hersteler oientiert und ihre Systemeim Kern kompatibel gehälten.
!s gibt aber einige wesentlicheU nterschiedeb €i der Auswahl €ines Mikoconüol-
lers zu beachten:S iem üssenz vi'ischen8 , 16 und 32 Bit Architekturen,d er Anz-ahl
der benötigten I/O-Pins, der Größe des Fl,A.SH/SR-AM/EEPROM-Speichuenrsd
noch vielem mehr unrerscheiden.
Grundsätzlichk önnen Sie bei jedem Ihrer Projekteu nter den verschiedenenH er
stellernf iei w?il en. Meist gewöhnt man sich als Entwickler jedoch sebr schnell ,n
eire bestimmte Produktfämilie und müsste wieder erhebtichen LerDaufwand
beteiben, um auf ein anderesS ystemü mzusteigen.
Bei der Auswahld esr ichtigen Controllers beachtenS ieb itte folgendeP unkte:
. Wie ist der Controller im Internet?F iDdenS ieg enügendE rkltuungen
"populär"
und Qudltexte finlicher Projekte?
. Wo und zu welchemP reisb ekonmen Sied en Controller?
. Mus lh' 5y'remtu rn iedfigeSnr romvcrbrauo(phl imie'ls ein?
. HabenS ied ie technischenM ögLichkeitend, en Controller instand zu setzen( Con-
üoler nii BGA Pinss ind für den Hobbyentwicklerw ahrscheinlichk aum lotbar)?
. wie gut unterstützt Sie der Herstdler bei der Entwicklüng?c ibt es ein Forum,
ausr€ichendApplication Notes,D atashe€ts und ehe Entwicklungsumgebung?
Dies sind natürlich nur einige Anhaltspunlte. Bei Ihren Projekten müssenS ie die
Anforderungena n den Controller kennen und wissen,w elcherT }? sich am besten
dafiir eisnet.
10 1 Diev orbereitung
1.1.1 DieA TME L -AVRP-r odu k tfam i tie
In diesemB uch werdenw ir uns dem HerstellerÄ TMEL widmen ATMHL hat eine
selll breite Produkrpalettem it einer Vielzahl erschwinglicherM ikocontroller. So
bekommenS ie z. B. den beliebtenÄ ?nesa8 wie auch das Pferd im AVR
"wildeste
Stall",d en A?m€ga128,b ereits{ iir wenigeE uro.
Die ATMEL A\R-Serie gehört zü 8-BiI-RISC Prozessor-Iamilieu nd lässt sich im
wesentlicheinD folgendcM odelleu nterscheiden:
. AT9OS
Die ktassischeV ariante, wird jedoch von ATMEL nicht mehr empfohlen ünd
großteilsv on der ATtiny-Seriea bgelöst.
. Altiny
Preislichä ttraktiv, nur wenigeE inrAusgängeu nd sehrb e$enzter Speicherd, afür
im \tromrerhrau,ohp tiniertu rd..e\rl l<h.
. ATmega
GrößererS peicherm, eisi ausrei€hend EinJAusgängeu nd weitreichendeE insatz
möglichkeirend urch die sehrb reite Konfiguration.
. Sondermode[e
Optimiertf tir CAN,L CD,U SB,Z igBee,...
Der ATtiny wird gerne in Auöauten verwendet,i n denen Größe und/oder Strom-
verbräuche ntscheidensdin d.
Modell F{ash SRAII EEPRO[,4l /O Pins r'JDK anäle Schnttstellen
15
15
3
1024
I6 r024 32
or_,
512
'10
?-
Diekompleteubeßkbtrndeigieun /Pbdkß/pönm bb|. *P?rrnilv id=607
Abb.1.1: !bersichtd erA T|VIEL'ASVeRr ie