Podobné dokumenty


1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz




11 Elektrické specifikace Mezní parametry* Okolní teplota pøi zapojeném napájení 40 C až +125 C Skladovací teplota 65 C až +150 C Napájecí napìtí na V

VLASTNOSTI PLOŠNÝCH SPOJÙ


3/ %,1'(& 83'1 &( &3 )XQNFH. + ; ; ; ; / ; ; + ; EH]H]PuQ\




Spínaèe jsou elektrické pøístroje, které slouží k zapínání, pøepínání a vypínání elektrických obvodù a spotøebièù. Podle funkce, kterou vykonávají, je

:5$ =islv GDW V DOWHUQDFt QHMY\ããtKRELWX





12 15 Instalace mikroturbíny v blokové plynové výtopnì " ZADÁNO: Instalace mikroturbíny v blokové plynové výtopnì Zjistìte: 1 Zda je ekonomicky výhodn

Komerèní využití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD ROM mající pøímo vztah ke knize, které

28/40VÝVODOVÝ, 8BITOVÝ CMOS MIKROKONTROLÉR S A/D PØEVODNÍKEM, FLASH PAMÌTÍ PRO PROGRAM A SRAM/EEPROM PRO DATA VLASTNOSTI Velmi výkonný kontrolér s arc

Vytváøení sí ového diagramu z databáze: pøíklad




Izolaèní zesilovaèe s IL300 Zapojení izolaèních zesilovaèù s IL300 se liší pøedevším režimem v nichž pracují interní fotodiody Podle toho zda interní

2.4 Cykly 2. ZÁKLADY JAZYKA C

DOKOPO. Komunikaèní karta se samostatným procesorem a dual-port pamìtí. Technická pøíruèka. verze 2.0. A plikace Mikroprocesorové Techniky




9. Harmonické proudy pulzních usměrňovačů



NULOROVÉ MODELY Spokojíme-li se pouze se základní analýzou elektronického obvodu s ideálními prvky, osvìdèuje se èasto užití nulorových modelù aktivní





Øízený pøeklad - make

nažhavováním elektronek, takže nedochází k neúmìrnému pøetìžování filtraèních kondenzátorù pøi nábìhu anodového proudu. Polovodièový usmìròovaè vytvoø


/2*,.$ 5(6(7 Ë=(1Ë +$/7 *(1(5È ',129é & 6./ $/8. ' /,ý. ýë7$ý 5(*,675 5(*, é. 6e5,29é 5(*,675 * $.808/È725 5:0. %8',ý(/ 45(*,675 5(*

3.1 Útlum atmosférickými plyny Rezonance molekul nekondenzovaných plynù obsažených v atmosféøe zpùsobuje útlum šíøících se elektromagnetických vln. Ab

TERM 4MK. Univerzální regulaèní systém. Charakteristika. ZPA EKOREG s.r.o. Ústí nad Labem

MU-411/412 MU-811/812. 4x AIN (12 bitù), RS-485

14 UKAZATELE A ØETÌZCE


Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

0RW\O3LFWXUH%R[ 7LPHU7LPHU

PESexcl. PODPORA PRO VÝMÌNU DAT S APLIKACÍ MICROSOFT EXCEL s využitím DDE serveru PESdde

4x kombinovaný analogový vstup s vysokou pøesností (0..10V, R, C)

KOMUNIKAÈNÍ DDE SERVER PRO AUTOMATY MICROPEL VERZE 2.3 POPIS ROZHRANÍ A OVLÁDÁNÍ


Podrobný obsah CHARAKTERISTIKA A POROVNÁNÍ ØADY PIC16F87X A PIC16F87XA TYPY POUZDER A PØIØAZENÍ VÝVODÙ PIC16F87X TYPY POUZDER A PØIØAZENÍ




Programovací manuál [CZ] Domovník [ACU 100] Elektronický identifikaèní systém


kap..2 Plochy (Surfaces) Plochy jsou rozšíøením NURBS køivek. Zatímco køivka NURBS používala jednorozmìrnou interpolaci (U), u ploch je navíc pøidán d


EduKitBeta Uživatelská příručka





Manuál přípravku FPGA University Board (FUB)

Kapitola 3 UNIPOLÁRNÍ TRNZISTORY 3.1 Obecný popis Unipolární tranzistory s pøechodovým hradlem (JFET) MOSFET MOSFET zvláštní k



Bakalářská práce Realizace jednoduchého uzlu RS485 s protokolem MODBUS

EduKit84. Výuková deska s programátorem pro mikrokontroléry PIC16F84A firmy Microchip. Uživatelská příručka


než je cca 5 [cm] od obvodu LT1070, doporučuje se blokovat napětí U IN

NOiYHVQLFH SVDFtKR VWURMH Í (Q Ï Á. (VF ) )SURJUDPRYDWHOQpNOiYHV\) ) 3VF 6F/ 3DX NRQWURON\ ,QV +RPH 3J8S 7DE 'HO (QG 3J'Q &DSV/ (QWHU Í 6KLIW



červená LED 1 10k LED 2

CTR pro optoèlen s LED a tranzistorem:,& &75 = [%] U, CE = const ) Obvykle CTR urèíme pøi I F = 10 ma a U CE = 5 V. Hodnoty zjistíme z tabulky.,& &75


PDWHULiO FS>-NJ ±. FS>NFDONJ ± ƒ& VW teur åhoh]r FtQ KOLQtN N HPtN. OHG DONRKRO ROHM FFD FFD SHWUROHM UWX YRGD Y]GXFK YRGQtSiUD KHOLXP

Program "Světla" pro mikropočítač PMI-80



Návrh konstrukce odchovny 2. dil

2 PARALELNÍ ROZHRANÍ Paralelní rozhraní realizuje pøenos dat mezi vnitøní sbìrnicí øídicího systému a vnìjším prostøedím po znacích, neboli po slabiká



Programování PICAXE18M2 v Assembleru

Vývojové kity Mega48,



David Matoušek ÈÍSLICOVÁ TECHNIKA základy konstruktérské praxe Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována ne

Sériový programátor SI Prog

baspelin KTR baspelin RPS Popis komunikaèního protokolu

Regulátor TERM 2.0 NÁVOD K OBSLUZE A MONTÁ NÍ PØÍRUÈKA

Dosud vyšlo: Sudoku pro každého 2

NRUE/A, NRUF/A (NRUT../A)

Transkript:

Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby ètenáø vidìl, jakým zpùsobem je titul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda titul koupí èi ne). Z toho vyplývá, že není dovoleno tuto ukázku jakýmkoliv zpùsobem dále šíøit, veøejnì èi neveøejnì napø. umis ováním na datová média, na jiné internetové stránky (ani prostøednictvím odkazù) apod. redakce nakladatelství BEN technická literatura redakce@ben.cz

2 REGISTRY Registr je speciální pamì s kapacitou 8 bitù, kterou si mùžeme pøedstavit takto: Vidíme, že oèíslování tìchto bitù je takové, že nejménì významný bit zaèíná nulou (2 0 = 1) Registr mùže obsahovat èísla od 0 do 255 (kladná èísla, neobsahující záporné hodnoty), nebo od 128 do +127 (celá èísla se znaménkovým bitem v bitu 7), nebo hodnoty reprezentované znaky v ASCII kódu (napø A ), nebo jen osm osamocených bitù nemajících dohromady nìjaký význam (napø pro osm signálù sloužících k zapínání/vypínání nìjakých vnìjších zaøízení jako napø signalizaèních LED, spínání pomocných relé, nebo naopak ke snímání stavu vnìjších kontaktù apod ) Speciální charakter registrù pøi srovnání s jinou pamìtí se projeví tím, že: Mohou být použity pøímo registrovými instrukcemi Operace s jejich obsahem potøebují instrukce s pouze jedním slovem Jsou spojeny pøímo s centrální procesorovou jednotkou, s akumulátorem jsou zdrojem i cílem pøi výpoètech, provádìní instrukcí AVR MCU mají 32 registrù, oznaèené R0 až R31 Mùžeme jim však pøiøadit další jména pomocí assemblerovské direktivy Napøíklad: DEF MujRegistr = R16 Pøitom direktiva assembleru, jako je tato, není assemblerem pøeložena do nìjakého kódu spustitelném na cílovém èipu AVR Místo používání jména registru R16 mùžeme nyní používat vlastní, námi definované, jméno MujRegistr, které mùžeme použít místo R16 v pøíkazech Takto napíšeme v zdrojovém textu o nìco více znakù pøi používání tohoto registru, ale máme možnost mít název registru spojen s významem jeho obsahu A 17 2 REGISTRY

Použití pøíkazové øádky LDI MujRegistr, 150 znamená: load the number 150 immediately to the register R16, LoaD Immediate (ulož èíslo 150 pøímo do registru R16) Tato instrukce uloží pevnou hodnotu nebo konstantu do tohoto registru Následné pøeložení tohoto kódu do programové pamìti èipu AVR vypadá nìjak takto: 000000 0xE906 Kód instrukce LDI, stejnì jako cílový registr (R16) i hodnota konstanty (150) jsou èástí hodnoty E906, i když to není snadno vidìt Není však nutné, abychom (ruènì) vytváøeli sami tento strojový kód, protože to je úkolem pøekladaèe assembleru, který sám vygeneruje E906 V instrukci mohou být použity dva rùzné registry Nejjednodušší instrukcí tohoto typu je instrukce MOV Ta kopíruje obsah jednoho registru do druhého registru, jako toto: DEF MujRegistr = R16 DEF DalsiRegistr = R15 LDI MujRegistr, 150 MOV DalsiRegistr, MujRegistr První dva øádky tohoto programu jsou direktivy které definují nová jména registrù R16 a R15 pro assembler Tyto øádky nevytváøejí žádný kód pro AVR Øádky zdrojového kódu s LDI a MOV vytváøejí kód: 000000 0xE906 000001 0x2F01 Tyto pøíkazy zapisují 150 do registru R16 a kopírují jeho obsah do cílového registru R15 Dùležitá poznámka: První registr je vždy cílový, zapisuje se do nìho výsledek! (Pro zaèáteèníka je to trochu nezvyklé, protože jsme, napø pøi psaní, zvyklí spíše na pohyb zleva doprava Je to však obvyklá konvence, nicménì je to jeden z dùvodù, proè se zaèáteèníkùm zdá assembler být složitý ) Rozdílné registry Když zaèínáme programovat v AVR assembleru, mùžeme zkusit napsat místo výše uvedených øádkù programu kód, který vypadá napø takto: 18 VLADIMÍR VÁÒA A

DEF DalsiRegistr = R15 LDI DalsiRegistr, 150 To je ale špatnì! Protože: pouze registry od R16 do R31 se smìjí používat v instrukci LDI uložení konstanty pøímo do registru, R0 až R15 pøitom nelze použít k tomuto úèelu Toto omezení není pøíliš pìkné, ale musíme na nìj pamatovat pøi programování pro AVR Existuje jedna výjimka z tohoto pravidla: nastavení registru na nulu Pøíkaz CLR MujRegistr je platný pro všechny registry Kromì omezení u instrukce LDI je stejné omezení na používání stejné tøídy registrù i u následujících dalších instrukcí: ANDI Rx,K ; bitové And registru Rx s konstantní hodnotou K, CBR Rx,M ; vymazání všech bitù v registru Rx, které jsou nastaveny na jednièku v konstantní masce hodnoty M, CPI Rx,K ; srovnání obsahu registru Rx s konstantní hodnotou K, SBCI Rx,K ; odeètení konstanty K a aktuální hodnoty pøíznaku pøenosu od aktuální hodnoty registru Rx a uložení výsledku do registru Rx, SBR Rx,M (= ORI Rx,M) ; nastavení všech bitù v registru Rx na jednièku, které jsou jednièkové ke konstantní masce M, SER Rx ; nastavení všech bitù v registru Rx na jednièku (rovná se LDI Rx,255), SUBI Rx,K ; odeètení konstanty K od obsahu registru Rx a uložení výsledku do registru Rx Ve všech tìchto instrukcích musí být registry mezi R16 a R31! Chcete-li používat tyto instrukce, musíte si vybrat nìkterý z tìchto registrù pro použití tìmito instrukcemi Tím se zjednoduší programování To je dalším dùvodem proè používat direktivu definující jméno registru, protože se snadnìji dá mìnit používání registrù Registry ukazatele Velmi zvláštní úlohu mají dvojice registrù R26:R27, R28:R29 a R30:R31 Dùležitost tìchto dvojic registru je podtržena tím, že mají zvláštní jména v assembleru: X, Y a Z Tyto dvojice jsou 16bitové registry ukazatele, schopné ukazovat na adresy s max 16 bity v pamìti SRAM (X, Y nebo Z) nebo v programové pamìti (Z) A 19 2 REGISTRY

Dolní byte 16bitové adresy je umístìn v dolním registru, horní byte v horním registru Obì èásti mají svá vlastní jména tj vyšší byte ze Z je pojmenován ZH (=R31), dolní byte je ZL (=R30) Tato jména jsou definována ve standardních hlavièkových souborech pro MCU Rozdìlení tìchto 16bitových ukazatelù do dvou rùzných bytù se dá udìlat tøeba takto: EQU Adress = RAMEND ; RAMEND je nejvyšší 16bitová adresa v SRAM LDI YH,HIGH(Adress) ; nastaví MSB LDI YL,LOW(Adress) ; nastaví LSB Pøístup prostøednictvím ukazatelù se programuje pomocí speciálnì navržených instrukcí Ke ètení se využívá LD (LoaD), pro zápis ST (STore), napø s ukazatelem X (X-pointer), tab 2 1 Tab 2 1 Instrukce pro pøístup prostøednictvím ukazatelù 8ND]DWHO 3RSLV 3 tnodg ; =islvþwhqt]dguhv\;xnd]dwhovhqhp Qt /'5; 67;5 ; =islvþwhqt]dguhv\;dsrwplqnuhphqwdfh /'5; ±; XND]DWHOHR 'HNUHPHQWDFHXND]DWHOHRDSDN]iSLVþWHQt ]QRYpDGUHV\ 67;5 /'5±; 67±;5 Obdobnì mùžeme používat i Y a Z Existuje pouze jedna instrukce pro ètení z programové pamìti Je definovaná pro ukazatelovou dvojici Z a jmenuje se LPM (Load from Program Memory) Tato instrukce kopíruje byte na adrese Z v programové pamìti do registru R0 Protože programová pamì je organizována po slovech (jedna instrukce na jedné adrese je složená z 16 bitù nebo dvou bytù nebo jednoho slova) nejménì významný bit vybírá dolní nebo horní byte (0 = dolní byte, 1 = horní byte) Z tohoto dùvodu pùvodní adresa musí být násobena 2 a pøístup je omezen na 15 bitù neboli 64kB programovou pamì Napø : LDI ZH,HIGH(2*Adress) LDI ZL,LOW(2*Adress) LPM Po tìchto pøíkazech musí následovat inkrementace adresy, aby bylo možné pøistupovat k následujícímu bytu v programové pamìti Protože tento pøípad nastává dosti èasto, je kvùli tomu definována speciální instrukce inkrementující ukazatel, aby mohla být takto použita: ADIW ZL,1 LPM 20 VLADIMÍR VÁÒA A

8 PRVNÍ PROGRAM Dosud jsme si uvádìli jen fragmenty programù Naše znalosti jsou nyní už takové, že mùžeme zaèít v AVR assembleru programovat úplné, jednoduché aplikace Zdrojový kód našeho programu pøeložíme AVR assemblerem, èímž dostaneme výsledný strojový kód, kterým naprogramujeme mikrokontrolér Ten bude pøipojen k vnìjším periferiím, s nimiž bude spolupracovat pøi provádìní námi napsaného programu Bude to, stejnì jako další programy, které si v této knížce uvedeme, jen školní, cvièný program Pro odzkoušení takových programù se obvykle používá nìjaký Start Kit Firma ATMEL, kromì vlastních èipù, vyrábí i startkity Jeden z posledních je STK500 Pro STK500 (stejnì jako pro STK100, STK200 ) najdeme øadu ukázkových programù jak na CD èi www stránkách firmy ATMEL, tak na webovských stranách dalších firem, škol i soukromých osob, hlavnì studentù Startkit STK500 lze dokonce zdarma získat pøi úèasti na nìkteré vývojáøské konferenci firmy ATMEL Úèast na tìchto konferencích není vázána na konferenèní poplatek Bohužel se ale tyto konference konají jen ve velkých mìstech v USA èi Kanadì Mùžeme však použít i nìjakou vlastní konstrukci startkitu Budeme pøedpokládat použití startkitu s AT90S8515, uvedeného v pøíloze Je navržen tak, že obsahuje pouze MCU AT90S8515 s krystalem, obvody resetu, 5V stabilizátor a potom už jen konektor pro pøipojení ISP programátoru a ètyøi konektory pro pøipojení vnìjších periferií k PORTA, PORTB, PORTC a PORTD Piny tìchto portù jsou ještì pøes pull-up odpory pøipojené k +5 V Kromì toho je možnost zapojit obvod MAX232 pro pøevod TTL signálù z vnitøního UARTu na úrovnì RS232 signálù, pøivedené na 9pinový konektor CANON K portu B pøipojíme 8 LED LED diody budou mít anody pøipojené pøes vhodný odpor na +5 V, katody na piny PORTB0,, PORTB7 Port D pøipojíme k osmi tlaèítkùm tak, že jeden jejich kontakt bude pøipojen na PORTD0, PORTD7, druhé kontakty budou pøipojeny k 0 V (obr P1 1) Stejnì jsou pøipojena tlaèítka a LED diody v STK500, takže si mùžeme bez úpravy odzkoušet i aplikace pùvodnì napsané pro STK500 Jako první aplikaci si napíšeme program, který bude støídavì rozsvìcet/zhasínat liché a sudé LED diody pøipojené k portu B Nejdøív si napíšeme program tak, aby vykonával tuto èinnost Protože tato první verze programu není naprogramována pøíliš elegantnì, naprogramujeme pøíklad 2 a 3 jako elegantnìjší variantu pøíkladu 1 V úvodu této publikace jsme se zmínili, že i pro stejný typ procesoru mùže A 85 8 PRVNÍ PROGRAM

existovat nìkolik assemblerù Popíšeme si práci pomocí WAVRASM verze 1 3 spuštìného pøímo jako WAVRASM exe a dále pomocí AVR Studia verze 3 2, který AVR makroassembler verze 1 3 obsahuje jako souèást Pøeložený soubor pak pomocí AVR PROG verze 1 31 a programátoru s AT90S1200 (popsaného v pøíloze) pak naprogramujeme do AT90S8515 Nejprve si uvedeme zdrojový kód øešící støídavé rozsvìcování lichých a sudých LED: ;************ priklad1 ************** include "8515def inc" def Temp = R16 def Delay1 = R17 def Delay2 = R18 def Delay3 = R19 ;******** inicializace RESET: ser Temp ; nastavuje všechny bity v Temp na 1 out DDRB,Temp ; nastavuje PORTB jako vystup ser Delay1 ser Delay2 ser Delay3 LOOP: ldi Temp,0b01010101 out PORTB,Temp DLY1: dec Delay1 brne DLY1 dec Delay2 brne DLY1 dec Delay3 brne DLY1 ldi Temp,0b10101010 out PORTB,Temp DLY2: dec Delay1 brne DLY2 dec Delay2 brne DLY2 86 VLADIMÍR VÁÒA A

dec Delay3 brne DLY2 rjmp LOOP Program zaèíná direktivou assembleru include 8515def inc, která ukládá assembleru pøipojit hlavièkový soubor 8515def inc Tento soubor umístíme do stejného adresáøe, kde bude umístìn i výše uvedený zdrojový kód Zdrojový kód budeme mít napø v souboru priklad1 asm Potom následují direktivy def pøidìlující registrùm R16, R17, R18 a R19 jména Temp, Delay1, Delay2 a Delay3 Instrukcí ser Temp nastavíme v registru R16 všechny bity na 1 Jako další se provede out DDRB,Temp, èímž se nastaví všechny piny portu B jako výstupní Definice DDRB je uvedena v souboru 8515dec inc, hodnoty v jednotlivých bitech DDRB urèují, zda odpovídající pin portu B je vstupní nebo výstupní Jednièka nastavuje pøíslušný pin jako výstupní, nula jako vstupní Protože v pøedchozí instrukci jsme v Temp, tj v R16, nastavili všechny bity na 1, budou po zkopírování do DDRB pomocí out nastaveny všechny piny jako výstupní Poznámka: Možná, že se vám zdá divné, proè k poslání samých jednièek do DDRB potøebujeme dvì instrukce Nebylo by jednodušší použít jedinou instrukci out DDRB, 0b1111111? Instrukce out, stejnì jako nìkteré další, totiž nemùže mít jako parametr konstantu, parametrem mùže být jen registr Hlavní myšlenkou øešení našeho pøíkladu je støídavé posílání èísel 0b01010101 a 0b10101010 na výstup portu B Jak jsme si právì øekli, parametrem instrukce out nemùže být konstanta, takže jinak hezké out PORTB, 0b01010101 a out PORTB, 0b10101010 je chybou a proto napíšeme napø ldi Temp,0b01010101 out PORTB,Temp a ldi Temp,0b10101010 out PORTB,Temp Instrukce ldi uloží konstantu do registru a tento registr je již použitelný jako parametr instrukce out Protože chceme, aby docházelo k støídavému rozsvìcování lichých a sudých LEDek, potøebuje støídavì posílat 0b01010101 a 0b10101010 do portu B Umístíme proto do zdrojového kódu návìští LOOP a skok rjmp LOOP, a mezi tato dvì místa instrukce pro ovládání LED na portu B Máme tak naprogramovanou nekoneènou smyèku: A 87 8 PRVNÍ PROGRAM

PØÍLOHA 1 9 9 N ]iylvtqdw\sx/(' 3257'L 7, 9 3257%L Obr P1 1 Zapojení osmi tlaèítek a osmi LED pøipojovaných k PORTU D a PORTU B AT90S8515 tak, jak jsou používány programy v Pøíkladu 1 až Pøíklad 11 kompatibilita s kitem STK500 A MIKROKONTROLÉRY ATMEL AVR ASSEMBLER 125

PØÍLOHA 2 PØÍKLADY ZAPOJENÍ S MCU AVR Pro usnadnìní získávání prvních praktických zkušeností s MCU AVR, úèely vývoje nových zaøízení na jedné stranì a seznamování se s èinností AVR studenty na druhé stranì dodává ATMEL i nìkolik Start kitù, napø již zmiòovaný STK500 Mùžeme použít i nìjakou vlastní konstrukci Pro úèely výuky studentù SPŠE jsem vyvinul a realizoval nìkolik konstrukcí umožòující seznámit se s èinností nìkterých mikroelektronických prvkù a s jejich programováním (FPGA firmy ALTERA, PIC16F84 Microchipu, AT89S8252 firmy ATMEL a koneènì AVR MCU základní øady) Navrhoval jsem je tak, aby na jednostranné desce plošných spojù s nepøíliš složitým obrazcem byl v objímce napø MCU AVR Je pøitom použito základní katalogové zapojení Kromì napájení obsahuje již jen obvody RESETu, krystal s kondenzátory a 10pinové konektory pro všechny porty MCU Potom ještì jeden konektor pro spojení s ISP programátorem a 9pinový konektor CANON pro pøípadnou komunikaci pomocí RS-232 Pro tyto úèely obsahuje deska ještì patici pro MAX232 a pøíslušné kondenzátory Tento obvod nemusíme mít osazený, nepøedpokládáme-li sériovou komunikaci RS-232 (a dále u typu AT90S1200, který neobsahuje UART) Protože zapojení 10pinových konektorù pøipojených k PORTùm je na všech deskách (obsahujících rùzné typy MCU èi jednoèipových mikropoèítaèù) stejné, lze mít jednotnou sadu periferií spínaèe DIP, LED výstupy, LCD displeje, A/D pøevodník, klávesnice atd Jde o obdobný systém, který je používán v [14], [15] a [16] Zapojení základní desky pro AT90S1200 èi AT90S2313, rozložení souèástí a desky spojù jsou na obr P2 1, obr P2 2 a obr P2 3 (pozn AT90S1200 neosahuje UART, neosazovat MAX232) Další tøi obrázky, obr P2 4, obr P2 5 a obr P2 6 pøedstavují základní desku s AT90S8515, popø AT90S8535, rozložení souèástí a spoje Protože typ AT90S8535 je v naší maloobchodní síti dodáván vìtšinou v provedení PLCC, mùžeme pro tento typ použít startkit uvedený na obr P2 7, P2 8, P2 9 Programovací jazyky pro AVR Protože tento díl není uèebnicí programování AVR, seznámíme se s programovacími jazyky pro AVR jen velice krátce pro získání pøedstavy, co je k dispozici, zejména FREE verze èi verze pro studenty 126 VLADIMÍR VÁÒA A

Obr P2 1 Základní deska startkit pro AT90S1200 èi AT90S2313 Obr P2 2 Rozložení souèástí startkitu s AT90D2313 A MIKROKONTROLÉRY ATMEL AVR ASSEMBLER 127

Obr P2 3 Schéma plošných spojù startkitu s AT90S2313, skuteèná velikost (130 mm 56 mm), BEN 0123 Obr P2 4 Zapojení základní desky s AT90S8515 128 VLADIMÍR VÁÒA A

Obr P2 5 Rozložení souèástí kitu s AT90S8515 Obr P2 6 Spoje kitu s AT90S8515, skuteèná velikost (132 mm 89 mm) BEN 0124 A MIKROKONTROLÉRY ATMEL AVR ASSEMBLER 129