Vladimír ubrt
Mikrokontroléry
ATMEL AVR vývojové prostøedí
Praha 2002
Vladimír ubrt
Mikrokontroléry ATMEL AVR vývojové prostøedí Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnoována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenáena v jiné formì èi jinými prostøedky. Autor a nakladatelství nepøejímají záruku za správnost titìných materiálù. Pøedkládané informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob. Nároky na odkodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Vechny registrované nebo jiné obchodní známky pouité v této knize jsou majetkem jejich vlastníkù. Uvedením nejsou zpochybnìna z toho vyplývající vlastnická práva. Vekerá práva vyhrazena © Vladimír ubrt, Praha 2002 © Nakladatelství BEN technická literatura, Vìínova 5, Praha 10 Vladimír ubrt: Mikrokontroléry ATMEL AVR vývojové prostøedí BEN technická literatura, Praha 2002 1. vydání
ISBN 80-7300-055-5
OBSAH OBSAH ........................................................................................ 3 1
O KNIZE ....................................................................................... 5
2
STRUÈNÝ POPIS ZÁKLADNÍCH VLASTNOSTÍ MIKROPROCESORÙ ATMEL RISC AT90SXXXX ..................... 7
3
ZAÈÍNÁME S HELLO, WORLD ............................................ 13
3.1
Pøeklad programu ................................................................................ 17
3.2
Ovìøení funkce programu .................................................................... 18
4
LADÌNÍ APLIKACÍ .................................................................... 23
4.1
Princip monitoru ................................................................................... 23
4.2
Komunikaèní protokol .......................................................................... 24
4.3
Základní funkce ................................................................................... 24
4.3.1 Realizace funkcí monitoru ................................................................... 25 4.4
Doplòky monitoru ................................................................................. 34
4.5
DebuggerAVR, obsluný program pro hostitelské PC ......................... 35
4.5.1 Základní kroky ladìní programu aplikace ............................................ 37 4.5.2 Poloky základního menu .................................................................... 40
5
OPERAÈNÍ SYSTÉM ................................................................ 43
5.1
Základní struktura operaèního systému ............................................... 43
5.2
Funkce Callback úloh ........................................................................ 48
5.3
Podmínky pøepnutí úlohy ..................................................................... 50
5.4
Automatický návrhový systém na PC pro OS ...................................... 56
5.4.1 Popis funkce ........................................................................................ 56 5.4.2 Poloky menu ...................................................................................... 57
A
VLADIMÍR UBRT: MIKROKONTROLÉRY ATMEL AVR
3
6
LADÌNÍ OS S POUITÍM PROGRAMU DEBUGGERAVR ...... 59
7
ZOBRAZENÍ ÚDAJÙ APLIKACE ............................................. 61
7.1
Jednoduché zpùsoby vizuálního zobrazení ......................................... 61
7.2
Pouití LCD displeje ............................................................................ 63
7.2.1 Obvodové zapojení displeje do aplikace ............................................. 63 7.2.2 Menu jako prostøedek snadného ovládání pøístroje ............................. 65 7.3 Automatické generování menu na poèítaèi PC ................................. 69
8
PERIFERIE ................................................................................ 71
8.1
WatchDog ............................................................................................ 71
8.2
Eeprom ................................................................................................ 72
8.3
Sériové kanály ..................................................................................... 72
8.4
Analogový komparátor ......................................................................... 73
8.5
A/D pøevodník ...................................................................................... 74
8.6
I/O porty ............................................................................................... 74
8.7
Integrované èítaèe ............................................................................... 74
8.7.1 Osmibitový èítaè/èasovaè .................................................................... 75 8.7.2 Pøeruení od èítaèe/èasovaèe ............................................................. 75 8.7.3 estnáctibitový èítaè/èasovaè .............................................................. 76 8.8
Pulznì íøková modulace ..................................................................... 76
9
ØÍZENÍ PWM SIGNÁLU Z DEBUGGERU ................................. 79
9.1
Programování PWM signálu ................................................................ 79
9.2
PWM a sluby debuggeru .................................................................... 81
10
UPGRADE APLIKACE .............................................................. 83
10.1 Zpùsoby zmìn softwarového vybavení .............................................. 83 10.2 Boot sektor ........................................................................................... 83
PØÍLOHA PØEHLED INTERNETOVÝCH ADRES .......................... 85
4
VLADIMÍR UBRT: MIKROKONTROLÉRY ATMEL AVR
A
1 O KNIZE Publikace, kterou právì dríte ve Vaich rukách, si klade za cíl seznámit ètenáøe s novou øadou mikroprocesorù RISC AT90... firmy ATMEL, které jsou, sice zatím nepravidelnì, dodávány i do maloobchodní sítì. Je tedy moné vyuít tìchto souèástek pøi realizaci nìkterých amatérských konstrukcí a nahradit tak velmi oblíbenou øadu '51. Proto je celá publikace zamìøena jako praktický návod jak získat cenovì dostupné vývojové prostøedky a jak je prakticky pouít. Celý výklad problematiky je veden tak, aby ètenáø mohl vekeré ukázky programù prakticky vyzkouet na nìkterých start kitech, které lze v pøijatelné cenì zakoupit buï kompletované nebo jako stavebnice. Lze samozøejmì realizovat celé zapojení také na univerzální desce ploných spojù. Jedná o praktickou knihu, která umonuje v interakci s podklady z Internetu pøímo vývoj jednoduího pøístroje. Je vak urèena ètenáøùm, kteøí ji mají nìjaké zkuenosti s programováním mikrokontrolérù. Pøedpokládá se, e ètenáø disponuje nìkterým ze start kitù, pøipojitelným pøes sériovou linku k poèítaèi PC. Knihu doplòuje CD ROM, který obsahuje kolní verze popisovaných programù, tedy debugger, jednoduchý operaèní systém a program pro práci s LCD displeji. Autor pøedpokládá, e ostatní prostøedky, pøedevím pøekladaèe assembleru a C a vekeré katalogové údaje má ètenáø monost získat z Internetu. Z toho dùvodu publikace také obsahuje pouze ty informace o souèástce, které mají bezprostøední vztah k popisované aplikaci. Souèástí publikace je také soubor odkazù na Internetové stránky, které mají pøímou i nepøímou vazbu na mikroprocesory øady ATMEL AT90.
A
VLADIMÍR UBRT: MIKROKONTROLÉRY ATMEL AVR
5
CO NAJDETE NA DOPROVODNÉM CD-ROM Doprovodné CD-ROM obsahuje vechny informace potøebné pro snadnou práci s knihou. Tyto informace lze rozdìlit do logických celkù, které se nacházejí v oddìlených adresáøích: n
adresáø AVR obsahuje kolní verze programù zmiòovaných v knize: l Debugger ladicí program DebuggerAVR (viz kapitolu 6) l iex_dbgr monitor, zavádí se do ladìné aplikace (viz kapitolu 6) l Kernel jednoduchý operaèní systém pro mikrokontroléry AVR (viz kapitolu 5 a 6) l LCD_tool jednoduchý interaktivní program pro tvorbu menu (viz kapitolu 7) l prj_food pøíklad vyuití tvorby menu interaktivním nástrojem pro dvouøádkový LCD displej (viz kapitolu 7.2.2) l PWM_Signal øízení výstupního PWM signálu, jeho parametry jsou øízeny prostøednictvím DebuggeruAVR (viz kapitolu 9) l Wr_hello ukázkový pøíklad Hello, world pro vyuití sériového kanálu, pouití kódové pamìti a EEPROM pamìti pro ukládání textu (viz kapitolu 3)
n
adresáø AVR-GCC obsahuje pøekladaè, pøíklady a konvertor. Ve získáno downloadem z webového portálu AVRFreaks,
n
adresáø BEN.WWW obsahuje off-line verzi www stránek nakladatelství BEN technická literatura (aktualizováno k poèátku èervence 2002), jejich souèástí je poèítaèová verze titìného katalogu Edièního plánu jaro/léto 2002,
n
adresáø DATASHEET obsahuje dokumentaci mikrokontrolérù ATMEL AVR ve formátu PDF, abyste ji nemuseli pracnì stahovat prostøednictvím Internetu. Najdete zde té samorozbalitelný archiv programu Acrobat Reader verze 5.0, který slouí k prohlíení PDF souborù,
n
adresáø KATALOG GM 2002 obsahuje poèítaèovou podobu (PDF) titìného katalogu firmy GM Electronic,
n
adresáø XELTEK obsahuje informace o programátorech XELTEK.
6
VLADIMÍR UBRT: MIKROKONTROLÉRY ATMEL AVR
A