Ústav radioelektroniky Vysoké učení technické v Brně Zpracování analogových signálů Programování mikrokontrolerů Mikroprocesorová technika, přednáška č. 7 Ing. Frýza Tomáš, Ph.D. 14. listopadu 2007
Obsah přednášky Komunikace mezi LCD displejem a mikrokontrolérem Zpracování analogových signálů A/D převodník Analogový komparátor Vývoj aplikací pro mikrokontroléry Způsoby programování mikrokontrolérů Paralelní programování Programování pomocí JTAG ISP programování Zdroje informací Otázky a příklady k procvičení
Obsah přednášky Komunikace mezi LCD displejem a mikrokontrolérem Zpracování analogových signálů A/D převodník Analogový komparátor Vývoj aplikací pro mikrokontroléry Způsoby programování mikrokontrolérů Paralelní programování Programování pomocí JTAG ISP programování Zdroje informací Otázky a příklady k procvičení
Znakové LCD displeje Zobrazitelná plocha obsahuje běžně od 8 1 do 40 4 znaků, bez nebo s podsvícením (nejčastěji žluto-zelené). Většina LCD displejů obsahuje řídicí obvod HD44780 firmy Hitachi (příp. jeho derivát); prostřednictvím tohoto obvodu je možné komunikovat s displejem. Tento řadič obsahuje znakovou sadu, instrukce pro ovládání. Komunikace probíhá pomocí 8 datových signálů (DB0 DB7) a je řízena 3 řídicími signály (RS, R/W a E) RS - Identifikuje instrukci nebo data, R/W - Volba čtení nebo zápisu (z pohledu MCU), E - Povolovací signál. Obrázek: Různé provedení znakových LCD displejů
Datová komunikace mezi LCD a MCU Existují dva základní způsoby datové komunikace mezi LCD a MCU, využívající plný (8) nebo redukovaný (4) počet datových signálů. 8bitová komunikace vyžaduje 8 + 3 I/O pinů mikrokontrolérů. 4bitová komunikace: 4 + 3 = 7 I/O pinů U LCD se využívá horní polovina datových pinů DB7 až DB4, Rozdělení datového slova do dvou niblů; nejprve se vyšle horní, následně dolní nibl. Obrázek: Datové a řídicí signály LCD displeje
Datová komunikace mezi LCD a MCU Význam řídicích signálů RS = 0: přenáší se instrukce (např. pro smazání obsahu displeje), RS = 1: data (např. text k zobrazení). R/W = 0: zápis dat/instrukcí do LCD, R/W = 1: čtení z LCD. Kladný pulz povolovacího signálu E startuje komunikaci mezi zařízeními. Znaky jsou zobrazovány jako matice 5 8 (většina znaků je menších); jsou v LCD uloženy ve vnitřní paměti RAM. Znaky adresované 16-31 (0x10-0x1f) a 128-159 (0x80-0x9f) nelze zobrazit (odpovídají řídicím znakům z ASCII tabulky). Data, která chceme zobrazit, jsou v LCD uložena v paměti s označením DDRAM (Display Data RAM). Je možné definovat až 8 uživatelských znaků (adresa 0 až 7). Ty jsou uloženy v paměti s označením CGRAM (Character Generator RAM).
Znaková sada LCD displeje
Instrukční sada řadiče HD44780 Tabulka: Některé příkazy HD44780 pro komunikaci s LCD displejem RS R/W DB7 : DB0 Popis instrukce 0 0 0000 0001 Smazání displeje 0 0 0000 001x Návrat kurzoru na pozici (0,0) 0 0 0000 01IS Nastavení posuvu kurzoru. I: inkrementace pozice kurzoru. S: posuv displeje. 0 0 0000 1DCB Zapnutí displeje/kurzoru. D: zapnutí displeje. C: zobrazení kurzoru. B: blikání kurzoru. 0 0 001L NFxx Nastavení rozlišení. L=1(0): nastavení 8(4)bitové komunikace. N=1(0): dva(jeden) řádky displeje. F=1(0): velikost fontu 5 10(5 7). 0 0 01 cgram Nastavení adresy CGRAM segmentu. 0 0 1 ddram Nastavení adresy DDRAM segmentu. 1 0 data Zápis dat do paměti CGRAM nebo DDRAM. 1 1 data Čtení dat z paměti CGRAM nebo DDRAM.
Obsah přednášky Komunikace mezi LCD displejem a mikrokontrolérem Zpracování analogových signálů A/D převodník Analogový komparátor Vývoj aplikací pro mikrokontroléry Způsoby programování mikrokontrolérů Paralelní programování Programování pomocí JTAG ISP programování Zdroje informací Otázky a příklady k procvičení
AD převod MCU umožňuje zpracovávat analogové signály pomocí A/D převodníku a komparátoru. A/D převodník (Analog to Digital Converter) převádí velikost analogového vstupního napětí na nbitovou digitální hodnotu. ATmega16: 8kanálový převodník piny PA0 až PA7. Vstupní úroveň je brána bud vůči zemi GND, případně lze převádět diferenční hodnotu dvou vstupních kanálů a to včetně nastavitelného zesílení. Minimální hodnota: 0V. Maximální hodnota: napětí referenčního napětí V REF. Z důvodu nižšího odběru je AD převodník defaultně vypnut. Pro použití je tedy nutné ho povolit. ATmega16: Výsledek AD převodu je reprezentován 10 bity v datových registrech ADCH a ADCL ve formě dvojkového doplňku, protože výsledek může být záporný?!
AD převod Při čtení převedené hodnoty z registrů je po přečtení hodnoty z ADCL zakázán zápis do obou datových registrů (do doby než je přečtena také hodnota z ADCH). A/D převodník může pracovat z několika režimech Jednoduchý převod (Single Conversion). Převede se jen jeden vzorek, poté je převod zastaven, Automatické spouštění (Auto Triggering). Speciální událost (externí přerušení, změna komparátoru, přetečení, komparace čítače/časovače,...) může zahájit AD převod. Převod je zahájen náběžnou hranou vybraného signálu; pokud přijde nová náběžná hrana a převod není dokončen, pak je ignorována. Umožňuje zahájení převodu v konstantních intervalech, Volný běh (Free Running). Převod je prováděn neustále. Po dokončení AD převodu je výsledek zapsán do datových registrů AD převodníku, tj. do ADCH:L. Je možné generovat přerušení.
Časování A/D převodníku A/D převodník potřebuje pro 10bitový převod hodinový signál o frekvenci od 50kHz do 200kHz Řídicí frekvence může být větší, pokud je postačující nižší rozlišení než 10bitové, A/D převodník obsahuje předděličku (2,4,8,16,32,64,128) ke generování vhodné frekvence, odvozené od f CP U. Doba dokončení AD převodu závisí na zvoleném režimu, přičemž převod první hodnoty trvá déle než všechny následující. Celková doba převodu se skládá z doby navzorkování a samotného převodu Navzorkování prvního vzorku vstupního signálu (sample & hold) trvá 13, 5 AD cyklů, ostatních jen 1, 5 AD cyklů. Dokončení prvního převodu včetně inicializace analogových obvodů trvá 25 hodinových cyklů AD převodníku; všechny ostatní pak jen 13 (při f ADC = 50kHz 3, 8kSP S, f ADC = 200kHz 15, 3kSP S).
sion completes, while ADSC remains high. For a summary of conversion times, see Table 81. Doba trvání AD převodu Figure 101. ADC Timing Diagram, First Conversion (Single Conversion Mode) First Conversion Next Conversion Cycle Number 1 2 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 2 3 ADC Clock ADEN ADSC ADIF ADCH ADCL MSB of Result LSB of Result MUX and REFS Update Sample & Hold Figure 102. ADC Timing Diagram, Single Conversion One Conversion Conversion Complete MUX and REFS Update Next Conversion Cycle Number 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 ADC Clock ADSC ADIF ADCH ADCL MSB of Result LSB of Result Sample & Hold MUX and REFS Update Conversion Complete MUX and REFS Update 06 Obrázek: Figure 103. Doba ADC Timing převodu Diagram, Auto prvního Triggered Conversion a následujícího vzorku One Conversion Next Conversion 209 Cycle Number 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 ADC Clock Trigger Source
Vyjádření výsledku AD převodu nbitový jednoduchý AD převod konvertuje vstupní napětí lineálně mezi GND a V REF v 2 n krocích (tj. 0 až 2 n 1). Jednoduchý převod: ADCH : L = V IN V REF 2 n 1 VIN : napětí na zvoleném vstupním pinu, V REF : zvolené referenční napětí. Diferenční převod: ADCH : L = V P OS V NEG (2 n 1 1) GAIN V REF VP OS : napětí na neinvertujícím vstupním pinu, VNEG : napětí na invertujícím vstupním pinu, GAIN: zvolené zesílení, Výsledek ve dvojkovém doplňku (od 512 do +511).
Výběr signálů pro AD převod Lze vybrat různé vstupní a referenční signály pro převod. Volby referenčního napětí Externí napětí na pinu AREF, Úroveň napájecího napětí, Vnitřní zdroj reference 2,56V. Volby vstupních kanálů Individuální vstupy na pinech PA7:0 (ADC7:0), Některé předvolené kombinace dvou vstupních kanálů se zesílením 1, 10, 100 nebo 200. Příklad Jakou hodnotu obsahuje registrový pár ADCH:L, byl-li nastaven diferenční převod vstupů ADC3 = 300mV a ADC2 = 500mV, GAIN = 10 a vnitřní zdroj referenčního napětí V REF = 2, 56V.
Příklad užití AD převodu Řešení ADCH : L = Vpos Vneg V ref (2 n 1 1) GAIN ADCH : L = 0,30 0,50 2,56 511 10 = 399 = 0x0271 ADCH = 0x02 ADCL = 0x71 Příklad Navrhněte obvodové zapojení aplikace, kontrolující úroveň vstupního signálu a její následnou signalizaci pomocí LED diod. Nakreslete vývojový diagram této aplikace.
Příklad užití AD převodu Aplikace kontroluje úroveň napětí na pinu PA7 (ADC7) a signalizuje ji pomocí trojice LED diod LED1: VIN 2; 3 V, LED2: VIN < 2V, LED3: VIN > 3V. Podmínky v jazyce C if(adcw<(2/5*1023)) LED2 on; if(adcw>(3/5*1023)) LED3 on;... Proměnná ADCW obsahuje celou hodnotu po AD převodu.
Blokové schéma A/D převodníku Figure 98. Analog to Digital Converter Block Schematic ADC CONVERSION COMPLETE IRQ INTERRUPT FLAGS ADTS[2:0] 8-BIT DATA BUS REFS1 ADC MULTIPLEXER SELECT (ADMUX) REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 ADEN ADIE ADC CTRL. & STATUS REGISTER (ADCSRA) ADSC ADATE ADIF ADIF ADPS2 ADPS1 ADPS0 15 0 ADC DATA REGISTER (ADCH/ADCL) TRIGGER SELECT ADC[9:0] MUX DECODER AVCC CHANNEL SELECTION GAIN SELECTION PRESCALER START CONVERSION LOGIC AREF INTERNAL 2.56V REFERENCE 10-BIT DAC SAMPLE & HOLD COMPARATOR - + GND BANDGAP REFERENCE ADC7 ADC6 SINGLE ENDED / DIFFERENTIAL SELECTION ADC5 ADC4 POS. INPUT MUX ADC MULTIPLEXER OUTPUT ADC3 ADC2 ADC1 + - GAIN AMPLIFIER ADC0 NEG. INPUT MUX Operation The ADC converts an analog input voltage to a 10-bit digital value through successive approximation. The minimum value represents GND and the maximum value represents the voltage on the AREF pin minus 1 LSB. Optionally, AVCC or an internal 2.56V refer-
Analogový komparátor Analog Comparator Analogový komparátor porovnává neinvertovaný vstup AIN0 s invertovaným AIN1 (u ATmega16 piny PB2, PB3). Pokud je úroveň napětí AIN0 > AIN1, výstup komparátoru ACO=1 The (Analog Comparator Comparator compares the input Output). values on the positive Synchronizace pin AIN0 and negative pin AIN1. When the voltage on the positive pin AIN0 is higher than the voltage on výstupu komparátoru the negative apin ACO AIN1, the bitu Analog Comparator trvá 1 Output, 2 ACO, cykly. is set. The comparator s output can be set to trigger the Timer/Counter1 Input Capture function. In addition, the comparator can trigger a separate interrupt, exclusive to the Analog Comparator. The Může být user can generováno select Interrupt triggering přerušení on comparator output při překlopení rise, fall or toggle. A block komparátoru diagram of the comparator and its surrounding logic is shown in Figure 97. z 1 0, 0 1, nebo při libovolné změně. Figure 97. Analog Comparator Block Diagram (2) BANDGAP REFERENCE ACBG ACME ADEN ADC MULTIPLEXER OUTPUT (1) Notes: 1. See Table 80 on page 204.
Komparované signály Analogový komparátor umožňuje kromě porovnávání dvou vstupních signálů z pinů PB2 (AIN0) a PB3 (AIN1) ještě další možnosti. Neinvertovaný vstup Externí signál z pinu PB2, Vnitřní zdroj napět ové úrovně 1,23V. Invertovaný vstup Externí signál z pinu PB3, Libovolný vstupní kanál A/D převodníku, tj. signál z pinu PA7:0 (ADC7:0). Konkrétní vstup nastavuje multiplexer A/D převodníku. Příklad Navrhněte obvodové zapojení aplikace, kontrolující napětí na napájecí baterii. Pokles necht je signalizován blikající LED diodou. Nakreslete vývojový diagram této aplikace.
Příklad užití analogového komparátoru Monitorování stavu napájecí baterie pomocí komparátoru. Jestliže AIN1>AIN0, výstup komparátoru = 0, LED1 bliká. Nastavení odporových děličů AIN1 = R3 R3+R1 5V, AIN1 = 38 38+47 5V = 2, 2V, AIN0 = R4 R4+R2 V BAT, AIN0 = 15 15+26 V BAT, V BAT = 6V. Obsluha přerušení ANA COMP vect Vypnutí komparátoru, Zahájení blikání LED diody pomocí č/č 0.
Obsah přednášky Komunikace mezi LCD displejem a mikrokontrolérem Zpracování analogových signálů A/D převodník Analogový komparátor Vývoj aplikací pro mikrokontroléry Způsoby programování mikrokontrolérů Paralelní programování Programování pomocí JTAG ISP programování Zdroje informací Otázky a příklady k procvičení
Vývoj aplikací pro mikrokontroléry Obrázek: Překlad zdrojového kódu z jazyka C Převod zdrojového kódu z jazyka symbolických adres do strojového jazyka konkrétního MCU je vždy jednoznačný. Překladač z jazyka C hledá v kódu známé posloupnosti a ty nahrazuje sekvencí instrukcí různé překladače mohou stejný kód přeložit odlišně. Efektivita přeloženého kódu závisí na kvalitě (optimalizaci) překladače. Nekteré překladače jazyka C pro mikrokontroléry AVR GCC, avr-libc (http://winavr.sourceforge.net/), CodeVisionAVR (http://www.hpinfotech.ro/).
Překladače jazyka C pro AVR Přestože kód v jazyce C je přenosný mezi zařízeními (platformami), každý překladač může obsahovat speciální způsob syntaxe. Kód určený pro GCC tak nepůjde přeložit pomocí CodeVisionAVR, apod. Tabulka: Některé rozdíly v syntaxi mezi překladači Operace GCC, avr-libc CodeVisionAVR Obsluha přerušení ISR(INT0 vect) interrupt [EXT INT0] void ext int0 isr(void) Testování bitu/pinu bit is set(reg,bit) reg.bit==1 bit is clear(reg,bit) reg.bit==0 Cyklus s testováním loop until bit is set(reg,bit) while(reg.bit==1) loop until bit is clear(reg,bit) while(reg.bit==0) Vložení instrukce asm("sei") ; #asm("sei") ; Přiřazení hodnoty PORTB = 0x0f ; PORTB = 0x0f ;
Vývoj aplikací, simulátory Postup při vývoji aplikací: vytvoření zdrojového kódu aplikace a její odladění v simulátoru, příp. emulátoru; hardwarovou část je vhodné vyzkoušet na vývojové desce. Simulátor Simulace chování mikrokontroléru na odlišném zařízení (typ. PC), Simulátor musí obsahovat převod zdrojového kódu do strojového jazyka požadovaného mikrokontroléru, Spouštěcí a ladící programy: krokování programu, breakpointy,..., Omezené možnosti simulace okolního prostředí (tlačítka, přerušení,...), Nepracuje v reálném čase: je možné získat informaci o době výkonu programu v počtech cyklů hodinového signálu.
Vývoj aplikací, emulátor Emulátor Propojení PC + emulační koncovka s cílovým mikrokontrolérem, Obslužný software (na PC) obsahuje stejné náležitosti jako u simulátoru + odlišné spouštěcí a ladící nástroje, Umožňuje monitorování cílového mikrokontroléru během ladění (obsah registrů, zásobníku,...), Je možné plně odladit novou aplikaci včetně např. vazby na okoĺı, Pracuje v reálném čase.
Vývoj aplikací, vývojové desky Vývojová deska Hardwarové zařízení umožňující odladění aplikace včetně připojení základních periferíı (LED, tlačítka, LCD, relé,...), Může obsahovat patice pro odlišné mikrokontroléry, pájivé pole,..., V závislosti na aplikaci, není potřeba vytvářet finální zapojení před odladěním. Univerzální deska usnadňuje/urychluje vývoj nové aplikace. Vývojová prostředí zpravidla sdružují editační, překládací, ladící, programovací nástroje do jednoho celku AVR Studio (http://www.atmel.com/dyn/products/ tools_card.asp?tool_id=2725), CodeVisionAVR (http://www.hpinfotech.ro/), ImageCraft (http://www.imagecraft.com/), IAR Embedded Workbench (http://www.iar.com/),...
Obsah přednášky Komunikace mezi LCD displejem a mikrokontrolérem Zpracování analogových signálů A/D převodník Analogový komparátor Vývoj aplikací pro mikrokontroléry Způsoby programování mikrokontrolérů Paralelní programování Programování pomocí JTAG ISP programování Zdroje informací Otázky a příklady k procvičení
Způsoby programování mikrokontrolérů Programování, nebo tzv. download mikrokontrolérů znamená nakopírování vytvořené aplikace (nejčastěji ve formátu Intel HEX) do programové paměti (Flash) mikrokontroléru. (Programátory umožňují také načtení, verifikaci a smazání paměti.) Základní způsoby downloadu Paralelní programování, Rozhraní JTAG (umožňuje také ladění aplikace v cílovém MCU), Sériové programování (ISP In-System Programming) pomocí SPI rozhraní. Paralelní programování Nutný větší počet vodičů. Zpravidla pomocí externího programátoru - vyjmutí mikrokontroléru ze systému, což je komplikované, krkolomné, někdy nemožné, Rychlost downloadu je velká.
Paralelní programování Paralelní programování umožňuje zápis a verifikaci obsahu Flash, EEPROM, SRAM, pamět ových zámkových bitů, programovatelných propojek. Využívá vyššího programovacího napětí +12V. Tabulka: Význam vodičů Obrázek: Paralelní programování ATmega16 Označení Popis funkce RDY/BSY 0: busy, 1: ready OE Výstup povolen W R Zápis dat BS1 Výběr bytu 1. 0: LSB, 1: MSB XA0 Výběr akce 0 XA1 Výběr akce 1 P AGEL Výběr pamět ové stránky BS2 Výběr bytu 2. 0: LSB, 1: druhý MSB DAT A Obousměrná datová sběrnice
1. A: Load Command 0100 0000. 2. C: Load Data Low Byte. Bit n = 0 programs and bit n = 1 erases the Fuse bit. Paralelní 3. Set BS1 to 1 and programování, BS2 to 0. This selects high data programovatelné byte. propojky 4. Give WR a negative pulse and wait for RDY/BSY to go high. 5. Set BS1 to 0. This selects low data byte. Figure 131. Programming the Fuses DATA XA1 XA0 BS1 BS2 XTAL1 WR RDY/BSY RESET +12V OE A $40 C DATA Write Fuse Low byte Obrázek: Zápis nižšího bytu PAGEL propojek XX $40 DATA XX The algorithm for programming the Lock bits is as follows (refer to Programming the Flash on page 269 for details on Command and Data loading): 1. A: Load Command 0010 0000. 2. C: Load Data Low Byte. Bit n = 0 programs the Lock bit. 3. Give WR a negative pulse and wait for RDY/BSY to go high. A DAT A: Příkaz pro zápis do Write Fuse high byte propojek: 0b0100 0000. C XA1 : 0 = 10: Načtení příkazu. BS2 : 1 = 00: Výběr nižšího bytu. DAT A: Zapisovaný nižší byte propojek. W R: Negativní pulz pro zápis. RDY/BSY : Při high opět připraven komunikovat. XT AL1: Hodinové pulzy řídí komunikaci.
Programování pomocí JTAG rozhraní Programování pomocí rozhraní JTAG Rozhraní JTAG (standard IEEE 1149.1) umožňuje komunikovat s mikrokontrolérem během ladění. Je tak možné skenovat všechny vnitřní periférie, zjišt ovat/měnit obsah registrů, apod., Výkon programu lze krokovat (tj. spouštět a zastavovat) přímo na čipu, Mikrokontroléry AVR lze takto ovládat přímo z AVR Studia.
Sériové programování v systému Obrázek: Sériové programování Sériové programování v systému (ISP) Není nutné vyjímat mikrokontrolér ze systému, Neposkytuje možnost ladění aplikace, Využívá se komunikace po sériovém rozhraní SPI (Serial Peripheral Interface), Tento způsob dnes obsahují všechny mikrokontroléry, SPI je duplexní, synchronní přenos pomocí čtyř vodičů: SCK (hod. signál), M OSI (Master Out Slave In), MISO (Master In Slave Out), SS (Slave Select). Lze programovat programovou a EEPROM pamět. Hodnota na pinu RESET je připojena na GND (na rozdíl od paralelního programování).
Užití SPI komunikace Dvojice mikrokontrolérů, z nichž jeden je definován jako Master, druhý jako Slave (na obrázku jen jeden z nich). Pomocí SPI si posílají stavy přepínačů a na LED diodách je zobrazují. Obrázek: Apliace s SPI komunikací
Programování pomocí SPI Spojení Master (programuje) a Slave (je programováno) obsahuje dvojici posuvných registrů + generátor hodin od nadřazeného obvodu Master. Postup programování (komunikace Master Slave) 1) Zahájení komunikace SS = 0 pro požadovaný podřízený obvod Slave, 2) Příprava dat k přenosu do posuvných registrů, 3) Přenos je řízen (synchronizován) hodinovým signálem SCK od programovacího obvodu Master, 4) Od Master ke Slave probíhá komunikace vždy po vodiči MOSI, Od Slave k Master probíhá komunikace vždy po vodiči MISO, 5) Po odeslání bytu - zastavení hodin, možnost generování přerušení, 6) Po odeslání všech dat odpojení od obvodu Slave SS = 1.
Programování pomocí SPI SPI Serial Programming Characteristics Instrukce pro SPI programování obsahují ATmega16(L) 4 byty. Posílání dat zpravidla od MSB po LSB. For characteristics of the SPI module, see SPI Timing Characteristics on page 298. Figure 138. SPI Serial Programming Waveforms SERIAL DATA INPUT (MOSI) MSB LSB SERIAL DATA OUTPUT (MISO) MSB LSB SERIAL CLOCK INPUT (SCK) SAMPLE Programming via the JTAG Interface Programming Specific JTAG Instructions Programming through the JTAG interface requires control of the four JTAG specific pins: Obrázek: TCK, TMS, TDI and Časový TDO. Control diagram of the reset and SPI clock pins komunikace is not required. To be able to use the JTAG interface, the JTAGEN Fuse must be programmed. The device is default shipped with the fuse programmed. In addition, the JTD bit in MCUCSR must be cleared. Alternatively, if the JTD bit is set, the External Reset can be forced low. Then, the JTD bit will be cleared after two chip clocks, and the JTAG pins are available for programming. This provides a means of using the JTAG pins as normal port pins in running mode while still allowing In-System Programming via the JTAG interface. Note that this technique can not be used when using the JTAG pins for Boundary-scan or Onchip Debug. In these cases the JTAG pins must be dedicated for this purpose. As a definition in this datasheet, the LSB is shifted in and out first of all Shift Registers. The instruction register is 4-bit wide, supporting up to 16 instructions. The JTAG instructions useful for Programming are listed below. The OPCODE for each instruction is shown behind the instruction name in hex format. The text describes which Data Register is selected as path between TDI and TDO for each instruction.
Obsah přednášky Komunikace mezi LCD displejem a mikrokontrolérem Zpracování analogových signálů A/D převodník Analogový komparátor Vývoj aplikací pro mikrokontroléry Způsoby programování mikrokontrolérů Paralelní programování Programování pomocí JTAG ISP programování Zdroje informací Otázky a příklady k procvičení
Zdroje informací Matoušek, D. Práces mikrokontroléry ATMEL AVR; ATmega16. Ben technická literatura, Praha, 2006, ISBN 80-7300-174-8. Barnett, R., O Cull, L., Cox, S. Embedded C Programming and the Atmel AVR, 2e. Thomson Delmar Learning, New York, 2007, ISBN 1-4180-3959-4.
Zdroje informací Atmel Corporation. ATmega16, (listopad 2007). http://www.atmel.com/dyn/products/product_card. asp?part_id=2010 Fleury, P. Peter Fleury s Home Page, (listopad 2007). http://homepage.hispeed.ch/peterfleury/ C library for use with GCC on AVR. AVR Libc Home Page, (listopad 2007). http://www.nongnu.org/avr-libc/ Elnec. Oficiální stránky firmy Elnec, (listopad 2007). http://www.elnec.sk/
Obsah přednášky Komunikace mezi LCD displejem a mikrokontrolérem Zpracování analogových signálů A/D převodník Analogový komparátor Vývoj aplikací pro mikrokontroléry Způsoby programování mikrokontrolérů Paralelní programování Programování pomocí JTAG ISP programování Zdroje informací Otázky a příklady k procvičení
Otázky a příklady k procvičení 1. Zobrazte časový průběh signálů datové a řídicí sběrnice LCD displeje při vyslání instrukce pro smazání displeje. Je nastavena 8bitová komunikace mezi LCD a MCU. 2. Jaká je úroveň analogového signálu, jestliže po AD převodu je v registrovém páru ADCH:L uložena hodnota 0x004f a referenční napětí V REF = 2, 56V? 3. Charakterizujte výhody simulátorů a nevýhody emulátorů? 4. Nakreslete a popište propojení mikrokontroléru a tří podřízených obvodů pomocí SPI sběrnice. Kolik I/O pinů MCU je zapotřebí, aby MCU mohlo vždy komunikovat jen s jedním obvodem?