Mikrořadiče. Ing. Jaroslav Bernkopf

Rozměr: px
Začít zobrazení ze stránky:

Download "Mikrořadiče. Ing. Jaroslav Bernkopf"

Transkript

1 Mikrořadiče Ing. Jaroslav Bernkopf 18. září 2016

2 OBSAH 1. Úvod Architektura počítačů Architektura Von Neumannova Architektura Harvardská Soubory instrukcí CISC RISC Mikrořadiče 16F84 a 16F Blokové schéma Popis bloků ALU Arithmetic and Logic Unit W register RAM File Registers EEPROM Flash Program Memory Program Counter Instruction Decode and Control Timing Generation Timers Timer0 Timer Rozložení vývodů Popis vývodů Řídicí vývody Skupina RA Skupina RB Skupina RC Napájecí vývody Organizace datové paměti RAM 16F Rozdělení paměti RAM Rozdělení paměti RAM podle účelu a použití Význam některých registrů speciálních funkcí Instrukční soubor Definice Syntaxe asembleru Malá, velká písmena Číselné formáty Komentáře

3 6.2.4 Zkratky Instrukce aritmetických a logických operací Operace s konstantou Operace s registrem RAM Instrukce přesunů Instrukce skoků Instrukce nulování a nastavení Instrukce pro podprogramy a přerušení Zvláštní instrukce Úlohy Drát

4 1. Úvod Mikrořadič je integrovaný obvod, který na jednom čipu obsahuje všechny podstatné části počítače: aritmeticko logická jednotka paměť ROM paměť RAM vstupy / výstupy Mikrořadič obvykle obsahuje i další části, např. časovače hlídací časovač (watchdog) generátor taktovacího signálu Program mikrořadiče může být uložen v různých variantách paměti ROM: ROM EPROM EEPROM Flash ROM Paměť ROM se hodí tam, kde se budou vyrábět velká množství řadičů vybavených stejným programem. Její obsah je vytvořen už při výrobě a je neměnný. EPROM vyžaduje speciální vybavení pro mazání starého obsahu ultrafialovým světlem, a programátor, kterým se naprogramuje nový obsah. EEPROM se hodí pro menší kapacity a nepříliš časté přepisování. Je pomalá a počet přepisovacích cyklů je omezený. Flash ROM se hodí pro velké kapacity. Je rychlejší než EEPROM a umožňuje větší počet přepisovacích cyklů. 4

5 2. Architektura počítačů 2.1 Architektura Von Neumannova Počítač s Von Neumannovou architekturou má jen jedinou sběrnici, která je společná jak paměti pro data, tak paměti pro program. Sběrnice je obousměrná, tj. umožňuje čtení z paměti i zápis do ní. Program i data dokonce mohou sídlit v jediné společné paměti. Takto jsou uspořádány např. osobní počítače. Obrázek 1: Von Neumannova architektura počítače 5

6 2.2 Architektura Harvardská Počítač s Harvardskou architekturou má samostatné paměti jak pro program, tak pro data. Každá z těchto pamětí má samostatnou sběrnici. Sběrnice pro program je jen jednosměrná, tj. umožňuje jen čtení z paměti, ale ne zápis do ní. Tak jsou uspořádány nejznámější jednočipové mikropočítače (např. 8051) a mikrořadiče (např. 16F883). Obrázek 2: Harvardská architektura počítače Von Neumannova Harvardská Umístění instrukcí a dat V jediné společné paměti Ve dvou oddělených pamětech Přepsání programu jeho vlastní Je možné Není možné činností Současné vyzvednutí instrukce a Není možné Je možné dat Rychlost Menší Větší Složitost, počet propojení Menší Větší Tabulka 1: Porovnání vlastností Von Neumannovy a Harvardské architektury 2.3 Soubory instrukcí Procesory a řadiče jsou řízeny programem, který se skládá z jednotlivých pokynů instrukcí. Při tvorbě programu programátor používá instrukce k naprogramování činností, které má přístroj provádět CISC CISC = Complex Instruction Set Computer počítač se složitým instrukčním souborem. Procesor disponuje mnoha desítkami instrukcí. Programátor musí tyto instrukce zvládnout, musí se je naučit, což je náročné. Na druhou stranu jsou ale mnohé instrukce velmi výkonné, takže jedna taková instrukce nahradí několik jednodušších. Instrukce bývají specializované tak, že některé pracují jen s určitými registry 1, jiné zase s jinými registry. 1 Buňky paměti RAM uvnitř procesoru se často nazývají registry. 6

7 Při programování ve vyšších jazycích (např. C, Pascal) nejsou výkonné instrukce CISC příliš využity, protože překladač z vyššího jazyka do strojového kódu stejně pro složitější operace nepoužije výkonné, ale pomalé instrukce CISC, ale rozepíše tyto operace pomocí rychlých jednoduchých instrukcí. Procesor je složitý a má velkou spotřebu. Kvůli složitosti je obtížné dosáhnout velké rychlosti zpracování instrukcí. Procesory CISC obvykle používají Von Neumannovu architekturu. Ta procesoru umožňuje zapisovat jak do paměti dat, tak do paměti programu. To lze využít např. k tomu, aby program svojí činností změnil sám sebe RISC RISC = Reduced Instruction Set Computer počítač s omezeným instrukčním souborem. Procesor disponuje malým souborem instrukcí. Programátor se je snadno naučí, proto je snadné s takovým procesorem začít pracovat. Soubor instrukcí je ortogonální (nebo také symetrický). To znamená, že je možné většinu instrukcí provádět na kterémkoliv registru. Instrukce nevyžadují žádné speciální podmínky, výjimky, omezení, nemají žádné vedlejší vlivy. Proto je práce s nimi snadná a nezáludná. Programy vzniklé ve vyšších programovacích jazycích (např. C) jsou s RISC rychlé a účinné. Procesor je jednoduchý. Čip má malou plochu, málo vývodů, proto je levný. Spotřeba je malá. Instrukce jsou sice méně chytré, ale zato se vykonávají rychle. Procesory RISC obvykle používají Harvardskou architekturu. Ta umožňuje současný přístup k programu i k datům a současné vykonávání některých operací (overlapping překrývání). 7

8 3. Mikrořadiče 16F84 a 16F883 PIC 16F84 a 16F883 jsou typickými představiteli jednoduchých, ale výkonných mikrořadičů. Základní vlastnosti: Parametr 16F84 16F883 Technologie CMOS CMOS Počet vývodů Počet instrukcí Počet cyklů na instrukci (všechny kromě větvení) 1 1 Počet cyklů na instrukce větvení 2 2 Šířka instrukcí 14 bitů 14 Šířka datové sběrnice 8 bitů 8 Kapacita paměti programu [kb] 1,75 7 Kapacita paměti programu [kslov] 1 4 Kapacita paměti RAM [B] Kapacita paměti EEPROM [B] Počet speciálních funkčních registrů (SFR) 15 Víc, přibyly funkce Počet vstupů / výstupů Počet vstupních analogových kanálů 0 11 Počet A/D převodníků 0 1 Možnost vlastního zápisu do paměti programu Ne Ano ICD In-Circuit Debugger Ne Ano Programově nastavitelný kmitočet interního oscilátoru khz 8MHz Hloubka HW sklípku 8 8 Programování Sériové přes dva vývody Napájecí proud (5 V, 4 MHz) (2 V, 32 khz) (2 V, standby) < 2 ma 15 μa < 1μA < 1,4 ma < 19 μa 50 na Cena (18. září 2016) 3,50 USD 2,20 USD 8

9 Oba řadiče dále obsahují tyto obvody: Oscilátor nastavitelný do čtyř módů činnosti Časovač s nastavitelnou předděličkou Obvod pro resetování při náběhu napájení (Power on Reset) Časovač pro nabíhání oscilátoru (Oscillator Start-up Timer) Časovač pro náběh napájení (Power-up Timer) Hlídací časovač (Watchdog) Řadič 16F883 obsahuje tyto další obvody: Vestavěný oscilátor Komparátory A/D převodník Moduly pro sériovou komunikaci RS-485, RS-232 SPI, I 2 C 9

10 4. Blokové schéma Blokové schéma uvedené na obrázku dále je velmi zjednodušené. Sběrnice jsou naznačené šipkami, které jsou jednosměrné tam, kde je přenos jednosměrný (např. přenos adres), obousměrné tam, kde je přenos obousměrný (např. přenos dat). Skutečné sběrnice uvnitř mikrořadiče jsou mnohem komplikovanější a nedají se jednoznačně rozdělit na adresové, datové, řídicí. 4.1 Popis bloků ALU Arithmetic and Logic Unit Aritmeticko logická jednotka. Je to obvod, ve kterém se provádějí aritmetické a logické operace. Do těchto operací mohou vstupovat data z registrů SFR a GPR, ze kterých se skládá paměť RAM (viz dále) a data z registru W. Výsledky operací se mohou uložit do SFR a GPR, nebo do registru W W register W register (Working register = pracovní registr) je osmibitový pracovní registr používaný pro operace v aritmeticko logické jednotce. Při operacích, do kterých vstupují dva operandy, obvykle jeden operand je v pracovním registru (W), druhý operand je v registru v paměti RAM. Druhý operand může také být konstanta, kterou do programu vložil už programátor. Výsledek aritmetické nebo logické operace může být vložen do pracovního registru (W) nebo do registru RAM RAM File Registers Registry, RAM. Blok zahrnuje speciální funkční registry (Special Function Registers SFR) a registry pro všeobecné účely (General Purpose Registers GPR). Registry mohou vstupovat jako operandy do aritmetických a logických operací, a výsledky těchto operací mohou do nich být uloženy. SFR slouží k nastavení různých módů činnosti. Ovlivňují stav a činnost ostatních částí řadiče. Např. registr TRISA určuje, zda jednotlivé vývody portu A budou vstupy nebo výstupy. SFR jsou na adresách 0 0BH, 80H 8BH. GPR slouží ke krátkodobému uložení informací. Je jich 68 a jsou na adresách 0CH - 4FH EEPROM Je to paměť dat typu EEPROM. Obsahuje 64 paměťových buněk po 8 bitech na adresách 0-3FH. Tyto adresy nepatří do stejného prostoru jako adresy SFR a GPR. Buňky paměti dat nelze adresovat přímo, nelze ani přímo číst a přepisovat jejich obsah. Toto vše se musí dělat prostřednictvím pomocných registrů EEADR (přenáší adresu) a EEDATA (přenáší data). Druh operace je při tom určen registry EECON1, EECON2 (nejsou na blokovém schématu) Flash Program Memory Přepisovatelná ROM paměť programu. Obsahuje 1024 míst po 14 bitech. Dá se naprogramovat pomocí jednoduchého programátoru, nebo přímo v zařízení, ve kterém je řadič použit Program Counter Čítač instrukcí programu. Po vykonání každé instrukce programu zvyšuje svůj stav o jedničku, a tak ukazuje na další instrukci programu, která se má vykonat. Výjimkou jsou 10

11 instrukce větvení, po kterých může dojít ke skokové změně stavu čítače, a tím ke skoku do jiného místa programu Instruction Decode and Control Dekódování instrukcí. Zde se každá instrukce rozepíše na podrobné pokyny pro jednotlivé bloky, jak mají instrukci provést Timing Generation Časování. Obsahuje obvody, které s pomocí vnějších součástí (R, C, krystal) mohou generovat taktovací kmitočet. Nebo lze bez použití vnějších součástí přivádět taktovací kmitočet do vstupu OSC1/CLKIN. Z vývodu OSC2/CLKOUT lze v obou případech taktovací signál odebírat Timers a) Power up Timer (PWRT) Časovač při zapnutí. Po zapnutí napájení drží po dobu 72 ms celý řadič ve stavu reset. Tím např. zabrání případnému nežádoucímu zápisu do datové paměti EEPROM. b) Oscillator Start-up Timer (OST) Po zapnutí napájení drží řadič ve stavu reset, dokud nenaběhne oscilátor. Stav reset se zruší, až když se napočítá 1024 impulsů hodinového signálu. Pokud by napájecí napětí nabíhalo velmi pomalu, nemuselo by toto stačit. V takovém případě je vhodné použít vnější RC obvod, připojený k obvodu Power-on Reset přes vstup MCLR (viz dále). c) Power-on Reset (POR) Obvod POR generuje resetovací signál vždy, když je na napájecím napětí vzestupná hrana. Připojíme-li vstup MCLR na napájecí napětí, generuje se reset při každém náběhu napájení. Pokud napájení nabíhá velmi pomalu, je vhodné doplnit na vstup MCLR následující RC obvod: Obrázek 3: RC obvod zajišťující správný start i při pomalém náběhu napájení d) Watchdog Timer (WDT) Hlídací časovač. (Watch-dog je hlídací pes.) WDT je obvod, který když je aktivován, provede po 18 ms reset řadiče, pokud není do té doby vynulován instrukcí CLRWDT. Umožní to předejít tomu, že by se řadič zaseknul a přestal pracovat. To se může stát např. tak, že program zůstane trčet v nějaké nekonečné smyčce (chyba programátora nebo rušivý impuls v napájecím napětí), nebo přestal fungovat oscilátor (chyba hardwaru). 11

12 Chceme-li WDT používat, zapneme ho nastavením konfiguračního bitu WDTE na 1. Pak programově vždy nejpozději do 18 ms provedeme instrukci CLRWDT. Pokud tato instrukce do 18 ms nepřijde, WDT provede reset řadiče. To umožní vzpamatování z nežádoucích stavů, po kterých by jinak řadič zůstával v nedefinovaném stavu. Pokud je doba 18 ms příliš krátká, můžeme před WDT programově zařadit předděličku (prescaler). WDT se tedy chová jako znovuspustitelný monostabilní obvod, který je spouštěn instrukcí CLRWDT. Není-li spuštěn včas (do 18 ms), vyvolá reset řadiče. WDT má svůj vlastní integrovaný oscilátor, jehož perioda je dána hodnotami R, C na čipu. Tím je WDT nezávislý na ostatních obvodech řadiče, především na jeho hodinovém kmitočtu. Na druhou stranu to znamená, že doba 18 ms nemusí být vždy přesně 18 ms, ale bude záviset např. na teplotě, napájecím napětí, výrobní sérii. Což ale nevadí, protože jde o to, aby se řadič vzpamatoval z havarijního stavu, a nezáleží příliš na tom, zda k tomu dojde o několik ms dříve nebo později. Příklad Mikrořadič má řídit pumpování vody do zásobníku tak, aby v zásobníku byl dostatek vody, ale zároveň aby zásobník nepřetekl. Mikrořadič může být při tom řízen např. takovýmto programem (některé jeho řádky jsou psány jazykem lidským, nikoliv tedy v asembleru): ZNOVU: Hladina dosažena? Ne, zapni čerpadlo. Ano, vypni čerpadlo. CLRWDT Jdi na ZNOVU. ; Vynuluj WDT Za normálních okolností řadič stále obíhá v této smyčce a zapíná vypíná čerpadlo tak, aby hladina byla na správné výši. Pokud dojde k takové chybě, která způsobí, že řadič tuto smyčku opustí (např. po neúplném výpadku napájení brown-out), WDT po 18 ms způsobí reset. Součástí programu po resetu může být např. i přivolání obsluhy. e) Brown-out Reset Aktivuje se a vyvolá restart při neúplném výpadku napájení Timer0 Timer2 Osmibitové časovače (timer) a čítače (counter). Mohou počítat události, třeba počet impulzů. Mohou dělit kmitočet, odměřovat časové intervaly. 1 Black-out je výpadek, který vyvolá úplnou (černou = black) tmu. Brown-out je pokles napětí, který způsobí pouze snížení jasu žárovek. Jejich vlákna jsou pak hnědá (= brown). 12

13 Obrázek 4: Blokové schéma 16F883 13

14 4.2 Rozložení vývodů 1 Vývody 16F Popis vývodů Obrázek 5: Rozložení vývodů 16F883 Většina vývodů má více funkcí. Popíšeme zde jen některé hlavní funkce Řídicí vývody OSC1/CLKIN, OSC2/CLKOUT slouží k připojení vnějších součástí, které jsou zapotřebí pro vytvoření vlastního oscilátoru. Vlastní oscilátor může podle zvoleného módu být buď krystalový, nebo RC. OSC1/CLKIN může sloužit jako vstup vnějšího hodinového signálu v případě, že řadič si nevyrábí vlastní hodinový signál, ale bere ho zvenku. OSC2/CLKOUT může sloužit jako výstup hodinového signálu, a to jak v případě vlastního oscilátoru, tak i v případě vnějšího hodinového signálu. MCLR (Master CLeaR hlavní nulování) resetuje celý řadič. Je aktivní v nule. Po resetu se začíná vykonávat program z paměti programu od jeho první instrukce. VPP Při programování obvodu slouží VPP k přivedení programovacího napětí Skupina RA Vývody RA0 RA4 jsou souhrnně označovány jako PORTA. Mohou být naprogramovány jako vstupy nebo výstupy, a to každý zvlášť. Můžeme naprogramovat libovolnou kombinaci vstupů a výstupů. Např. mohou být vývody RA0, RA2, RA4 jako vstupy, vývody RA1 a RA3 jako výstupy. RA4/T0CKI může být naprogramován také jako vstup čítače TMR0 (T0CKI = Timer ClocK Input) Skupina RB Vývody RB0 RB7 jsou souhrnně označovány jako PORTB. Také mohou být naprogramovány jako vstupy nebo výstupy, a to každý zvlášť, podobně jako vývody PORTA. Je-li některý vývod RB naprogramován jako vstup, lze mu programově přiřadit interní tzv. pull-up rezistor, který zajistí úroveň 1 na vstupu v případě, že na něj není nic připojeno (když necháme vstup ve vzduchu ). RB0/INT je možno naprogramovat jako vstup externího přerušení. 1 PDIP = Plastic Dual In line Package; SOIC = Small-Outline Integrated Circuit 14

15 RB0-RB7 je možno naprogramovat tak, že při změně stavu na kterémkoliv z nich se vyvolá přerušení. RB6 slouží při sériovém programování obsahu paměti programu jako vstup sériového programovacího hodinového signálu. RB7 slouží při sériovém programování obsahu paměti programu jako sériový vstup dat Skupina RC Vývody RC0 RC7 jsou souhrnně označovány jako PORTC. Také mohou být naprogramovány jako vstupy nebo výstupy, a to každý zvlášť, podobně jako vývody PORTA, PORTB Napájecí vývody VSS je zem pro napájení a signály. VDD je vstup pro kladné napájecí napětí. 15

16 16

17 5. Organizace datové paměti RAM 16F Rozdělení paměti RAM Datová paměť je (jakoby vodorovnou čarou) rozdělena do dvou oblastí podle účelu a použití: SFR Special Function Registers registry speciálních funkcí GPR General Purpose Registers univerzální registry Další dělicí čáry si můžeme představit svislé, a ty dělí datovou paměť na čtyři stránky (Banks): Bank 0 banka 0 Bank 1 banka 1 Bank 2 banka 2 Bank 3 banka 3 Z tabulky (Tabulka 2) je vidět, že celý adresový prostor paměti RAM je od adresy 000H do adresy 1FFH. Pro jeho adresování je tedy zapotřebí 9 bitů: když číslo 1FFH rozepíšeme do binární podoby, dostaneme , tj. 9 bitů. Ve čtrnáctibitových instrukcích je ale pro adresu paměti vyhrazeno jen 7 bitů. Instrukce pracující s pamětí tedy mohou přímo adresovat nejvýše do binární adresy , tj. 7FH. To podle tabulky (Tabulka 2) odpovídá jen rozsahu banky 0. Abychom se dostali i do bank 1, 2, 3, musíme dodat ještě další dva adresové bity, které rozhodnou o bance, se kterou se bude pracovat. Tyto další dva bity, když se nevejdou do instrukcí, musí být někde jinde. Jsou v registru STATUS, což je jeden z registrů speciálních funkcí SFR (viz dále). Bity číslo 6 a 5 registru STATUS, zvané RP1 a RP0, určují pracovní banku takto: Číslo bitu Název bitu IRP RP1 RP0 TO PD Z DC C RP1 RP0 Banka 0 0 Banka Banka Banka Banka 3 Potřebujeme-li se dostat do jiné banky, musíme předtím nastavit bity číslo 6 a 5 v registru STATUS. 17

18 Tabulka 2: Organizace datové paměti RAM 16F883 18

19 RP1 RP0 Adresa v instrukci Hex Banka 0 SFR F GPR F Banka 1 SFR F GPR A FF Banka 2 SFR F GPR F Banka 3 SFR F GPR A FF Hex2 Hex1 Hex0 Tabulka 3: Adresy paměti RAM (pro jednoduchost zde nejsou odlišeny adresy, které nejsou použité viz předchozí Tabulka 2) Rozdělení paměti RAM podle účelu a použití a) SFR Special Function Registers Registry speciálních funkcí se používají pro řízení činnosti řadiče. Změnou jejich obsahu tedy můžeme programově měnit činnost řadiče. Registry speciálních funkcí jsou na adresách 00-1FH, 80H-9FH, 100H-10FH, 180H-18FH. Do některých registrů SFR je přístup ze všech bank, např. do registru STATUS, pomocí kterého se mimo jiné přepíná mezi bankami. Příklad Obsahem registru TRISB se určí, které vývody RB budou vstupy a které výstupy. Určitý bit registru nastavený na jedničku znamená, že odpovídající vývod bude pracovat jako vstup. Nastavení bitu na nulu znamená, že odpovídající vývod bude pracovat jako výstup. Např. zapíšeme-li do registru TRISB číslo 7BH (tj binárně), bude nastavení vývodů RB následující: 19

20 Vývod RB Bit registru TRISB Hodnota bitu TRISBx Funkce vývodu RBx RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB výstup vstup vstup vstup vstup výstup vstup vstup Tabulka 4: Příklad určení typu vstupu / výstupu pro vývody portu B b) GPR General Purpose Registers Univerzální registry slouží jako paměť RAM pro krátkodobé uložení informací. U řadiče 16F883 tyto registry leží na adresách 20H-7FH, A0H-EFH, 120H-16FH. Registry na horních adresách bank 1, 2, 3 nejsou plnohodnotné, neboť tyto adresy ukazují do horní oblasti banky 0. Pokročilejší programátoři toho mohou využít, umožní jim to ušetřit přepínání mezi bankami. Začátečníci se těmto adresám raději vyhnou. Začátečníci by měli vystačit s bankou 0 a do banky 1 se přepínat, jen když je to nezbytně nutné, např. při programování vstupů výstupů pomocí registrů TRISA, TRISB, TRISC. 5.2 Význam některých registrů speciálních funkcí INDF, Indirect Address, nepřímá adresa, 00H, 80H, 100H, 180H Není to fyzický registr. Při zápisu do něj nebo čtení z něj je k operaci použit registr, jehož adresa je v registru FSR. Tím je umožněno tzv. nepřímé adresování, při kterém není nutno adresu znát už při psaní programu, ale je možno ji vypočítat až za běhu programu. Kdybychom např. chtěli vynulovat deset vzájemně sousedících registrů, bez nepřímého adresování bychom při jejich nulování museli ve svém programu postupně vyjmenovat všechny jejich adresy. S nepřímým adresováním zadáme ve svém programu adresu počátečního registru, počet nulovaných registrů, a pak necháme smyčku programu, aby postupně vypočítala adresy dalších nulovaných registrů. TMR0, Timer / Counter, Časovač / Čítač, 01H, 101H Osmibitový čítač, jehož vstup může být připojen buď na interní signál (pak se mu říká časovač), nebo na externí signál (pak se mu říká čítač). Před něj je možno zařadit programovatelnou předděličku, která může dělit v poměru 1:2 až 1:256. TMR0 je možno naprogramovat tak, že při přetečení, tj. při přechodu ze stavu FFH do stavu 00H vyvolá přerušení. Až sem byl zatím text aktualizován a doplněn o údaje 16F OPTION, Volba, 81H Nastavením jeho bitů je možno ovládat předděličku, vnější přerušení, čítač časovač, pull-up rezistory na portu PORTB. 20

21 RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 Význam některých bitů Bit 0 bit 2: Prescaler Rate Select výběr dělicího poměru předděličky. Osm možných kombinací těchto tří bitů umožňuje výběr z osmi různých dělicích poměrů předděličky (2, 4, 8, 16, 32, 64, 128, 256). Bit 3: Prescaler Assignment přiřazení předděličky. Přiřazuje předděličku buď před čítač / časovač TMR0, nebo před hlídací časovač WDT. Bit 5: TMR0 Clock Source Select výběr zdroje hodin pro časovač TMR0. Připojuje vstup časovače TMR0 buď k vývodu RA4 / T0CKI, nebo na vnitřní hodiny (CLOCKOUT). Bit 7: PORTB Pull-up Enable aktivace interních rezistorů, které připojí vstupy portu B na kladné napájecí napětí. PCL, Program Counter Low, nižší část programového čítače, 02H, 82H Nižších 8 bitů programového čítače. Jeho přepsáním je možno způsobit skok na adresu, která nebyla známa v době psaní programu, ale je výsledkem výpočtu (Computed GOTO). STATUS, Stav, 03H, 83H Tři bity registru STAUS obsahují informaci o stavu ALU, nebo jinak řečeno o výsledku minulé operace : Zda výsledek byl nulový a zda při něm došlo k přenosu / výpůjčce. Dva bity informují o činnosti instrukce SLEEP a WDT. Dva bity jsou použity pro nastavení stránky paměti IRP RP1 RP0 TO/ PD/ Z DC C Register Bank Select Time-out Powerdown Zero Digit Carry Carry Význam některých bitů Bit 0: Carry přenos. Nastaví se na 1, když při sčítání dojde k přetečení (výsledek je větší než 255), když při odčítání dojde k podtečení (výsledek je menší než 0). Tento bit se také účastní operací rotace při instrukcích RRF, RLF. Bit 2: Zero nula. Nastaví se na 1, když výsledkem aritmetické nebo logické operace je nula. Bit 5: Register Bank Select výběr banky. Je-li jeho hodnota 0, směřují operace s pamětí do banky 0. Je-li jeho hodnota 1, směřují operace s pamětí do banky 1. Bit 6: Register Bank Select výběr banky. U 16F84 není využit. Má být udržován na hodnotě 0, aby programy byly kompatibilní s vyššími verzemi mikrořadičů, které ho budou využívat. 21

22 FSR, File Select Register, registr pro výběr místa v paměti, 04H, 84H Viz výše odstavec o INDF. PORTA, Port A, 05H Pětibitový registr, spojený s příslušnými vnějšími vývody. Tři jeho bity nejsou využity. Funkce jednotlivých vývodů (vstup / výstup) se programuje nastavením bitů registru TRISA. TRISA, TRI State A, 85H Nastavením jeho bitů se nastavuje funkce vývodů PORTA. Použití obdobné jako u registru TRISB, jehož funkce byla vysvětlena v příkladu výše. PORTB, Port B, 06H TRISB. Osmibitový registr, spojený s příslušnými vnějšími vývody. Funkce jednotlivých vývodů (vstup / výstup) se programuje nastavením bitů registru TRISB, TRI State B, 86H Viz popis TRISA a příklad o programování PORTB výše. 22

23 EEDATA, EEprom DATA, 08H Před zápisem do EEPROM umístíme do tohoto registru hodnotu, která se má zapsat. Při čtení z EEPROM se v tomto registru objeví čtená hodnota. EEADR, EEprom ADdRess, 09H Před zápisem do EEPROM umístíme do tohoto registru adresu, na kterou se má zapsat. EEPROM řadiče 16F84 má kapacitu 64 bajtů s adresami 00H 3FH. Uvedené adresy nejsou součástí adresového prostoru paměti RAM. Proto mohou mít stejné hodnoty jako adresy některých registrů SFR, GPR. EECON1, EEprom CONtrol 1, 88H Registr, jehož bity se řídí zápis a čtení do/z EEPROM. Bit WREN (WRite ENable) musí být nastaven před zápisem do EEPROM. Použijeme ho tak, že před zápisem do několika buněk EEPROM ho nastavíme, zapíšeme do buněk, a po skončení zápisu do poslední buňky ho vynulujeme. Bit WR (WRite) dává povel k vykonání jednoho zápisu do jedné buňky EEPROM. Po skončení zápisu je WR automaticky hardwarově vynulován. Před zápisem do další buňky se tedy musí znovu nastavit. Aby zápis byl možný, musí být nastavený WREN (viz výše). Bit RD (ReaD) dává povel k vykonání jednoho čtení z jedné buňky EEPROM. Po skončení čtení je RD automaticky hardwarově vynulován. Před čtením z další buňky se tedy musí znovu nastavit. EECON2, EEprom CONtrol 2, 89H Před zápisem do každé buňky EEPROM je nutno zapsat do EECON2 hodnotu 55H a potom 0AAH. Zápis do EEPROM je tak jištěn několikerým způsobem, aby nedošlo k nechtěnému přepsání jejího obsahu. Příklady užití EECON1, EECON2 Čtení z EEPROM BCF STATUS, RP0 ; Bank 0 MOVLW CONFIG_ADDR ; MOVWF EEADR ; Address to read BSF STATUS, RP0 ; Bank 1 BSF EECON1, RD ; EE Read BCF STATUS, RP0 ; Bank 0 MOVF EEDATA, W ; W = EEDATA 23

24 Zápis do EEPROM ; v EEADR je připravená adresa ; v EEDATA je připravená hodnota, která se má zapsat BSF STATUS, RP0 ; Bank 1 BCF INTCON, GIE ; Disable INTs. BSF EECON1, WREN ; Enable Write MOVLW 55h ; MOVWF EECON2 ; Write 55h MOVLW AAh ; MOVWF EECON2 ; Write AAh BSF EECON1,WR ; Set WR bit ; begin write BSF INTCON, GIE ; Enable INTs. PCLATH, PC LAtch High, 0AH, 8AH Registr PCLATH je určen spíše pro budoucí použití u řadičů, které budou mít větší paměť pro program. U řadiče 16F84 tento registr použijeme jen při tvorbě pokročilých programů. INTCON, INTerrupt CONtrol, 0BH, 8BH Pět bitů povoluje / zakazuje všechny druhy přerušení, které 16F84 umožňuje. Tři bity obsahují tzv. příznaky (flags), které informují o tom, zda k určitému přerušení došlo nebo ne. Aktualizováno 14/10/16 začátek 24

25 6. Instrukční soubor 6.1 Definice asembler jazyk, ve kterém píšeme program pro mikrořadič program (překladač), který překládá zdrojový program (napsaný v asembleru jazyku) do strojového kódu instrukční doba, za kterou se vykoná většina instrukcí; má délku čtyř period signálu cyklus oscilátoru komentář text uvozený středníkem, který slouží jako nadpis nebo vysvětlivka návěští označení místa v programu, které je cílem skoku nebo volání podprogramu podprogram část programu, která se v paměti programu vyskytuje jen jednou, ale během vykonávání programu se vykonává víckrát pomocí volání instrukcí CALL nebo pomocí přerušení programátor člověk tvořící program zařízení na programování PROM, EPROM, řadičů překladač program, který překládá zdrojový program do strojového kódu přerušení přerušení vykonávaného programu a skok na program obsluhy zařízení, které si přerušení vyžádalo sklípek paměť, do které se ukládá návratová adresa při přerušení smyčka část programu, která se díky zpětné vazbě (skoku z konce na začátek) vykonává opakovaně strojový program, jehož instrukce jsou v podobě binárních čísel tak, že je řadič může kód přímo vykonávat syntaxe zdrojový program pravidla pravopisu programovacího jazyka program napsaný v asembleru 25

26 6.2 Syntaxe asembleru Aby počítač rozuměl zdrojovému programu a byl schopen přeložit ho pomocí překladače do strojového kódu, musí být zdrojový program napsán podle přesných pravidel Malá, velká písmena V programu můžeme používat velká i malá písmena. Při psaní instrukcí a čísel jsou si malá i velká písmena rovnocenná. Příklad MOVLW movlw Movlw jsou tytéž instrukce. 0xD2 0xd2 0Xd2 Při psaní návěští můžeme rovněž používat malá i velká písmena, ale překladač je v tomto případě case sensitive, tj. rozlišuje malá a velká písmena. Příklad Pokud v programu použijeme slovo znovu jako návěští na začátku smyčky, a dále pak slovo Znovu v příkazu skoku na začátek smyčky, znovu: movlw b' ' goto Znovu ohlásí překladač chybu, protože znovu a Znovu jsou pro něj dvě různá slova Číselné formáty Pro vyjádření čísla můžeme v asembleru použít tři číselné soustavy: Desítková dekadická soustava Číslo v desítkové soustavě uvedeme písmenem D a vlastní číslo uzavřeme mezi apostrofy, například D 169. Po instrukci MOVLW D 169 tedy v registru W bude hodnota 169. Dvojková binární soustava Číslo ve dvojkové soustavě uvedeme písmenem B a vlastní číslo uzavřeme mezi apostrofy, například B Po instrukci MOVLW B tedy v registru W bude binární číslo , tj. 169 dekadicky. Šestnáctková hexadecimální soustava Číslo v šestnáctkové soustavě je možno vyjádřit třemi způsoby: a) Za číslem uvedeme písmeno H. Pokud číslo nezačíná číslicí, dáme před něj nulu, např. 0A9H. b) Před číslo napíšeme 0x, např. 0xA9. Po instrukci MOVLW 0xA9 nebo MOVLW 0A9H 26

27 tedy v registru W bude hodnota A9 hexadecimálně, tj. 169 dekadicky. c) Pokud číslo obsahuje jen číslice (a žádná písmena), můžeme je napsat bez úvodního 0x nebo závěrečného H. Po instrukci MOVLW 12 tedy v registru W bude hexadecimální číslo 12, tj. 18 dekadicky. Tento způsob psaní vůbec není vhodný, protože hexadecimální číslo pak působí mylným dojmem, že je dekadické Komentáře Komentáře používáme proto, abychom program učinili čitelným a srozumitelným pro toho, kdo na něm bude pracovat po nás, ale i pro sebe, až se k němu po čase vrátíme. Pro označení komentáře používáme znak ; (středník). Text od středníku až do konce řádku je překladačem ignorován, může v něm proto být cokoliv. Komentář může začínat hned na začátku řádku, nebo může následovat za instrukcí. Příklad ; Smyčka, která určuje dobu, po kterou LED svítí MOVLW 0xB1 ; nastavení počáteční hodnoty čítače Zkratky Konstanta k f d b k konstanta Význam konstanta, se kterou instrukce pracuje registr, se kterým instrukce pracuje destination = místo určení; místo, kam se uloží výsledek operace bit; číslo bitu, se kterým instrukce pracuje Konstanta je veličina, jejíž hodnota se po celou dobu vykonávání programu nezmění. Většinou ji určí programátor už při psaní programu. Adresa v instrukci skoku GOTO a volání podprogramu CALL je také konstanta, která se během vykonávání programu nemění. Při psaní programu v asembleru ji ale neurčuje programátor, ale překladač. Příklad f registr Příklad MOVLW k ; obecný tvar instrukce pro vložení konstanty do W MOVLW D 58 ; vloží do registru W konstantu - číslo 58 (dekadické) Označuje číslo (adresu) registru, který je v instrukci použit. CLRF f ; obecný tvar instrukce pro nulování registru CLRF d destination 0x3A ; vynuluje registr na adrese 0x3A Destination je místo, kam se uloží výsledek operace, kterou instrukce provádí. Instrukce, které pracují s registrem W a zároveň s registrem v paměti RAM, ukládají výsledek do registru W (když d = 0), nebo do registru RAM (když d = 1). 27

28 V registru, do kterého se výsledek neukládá, zůstává hodnota, která v něm byla před instrukcí. Příklad ADDWF f, d ; obecný tvar instrukce pro sečtení W a registru Jsou-li v registrech hodnoty Jméno / adresa registru Obsah registru W D 12 0x3D D 6 pak po provedení instrukce ADDWF 0x3D, 0 ; sečte W a f, výsledek do W budou nové hodnoty Jméno / adresa registru Obsah registru W D 18 0x3D D 6 zatímco po provedení instrukce ADDWF 0x3D, 1 ; sečte W a f, výsledek do f budou nové hodnoty Jméno / adresa registru Obsah registru W D 12 0x3D D 18 b bit Příklad Určuje číslo bitu, se kterým instrukce pracuje. BCF f, b ; obecný tvar instrukce pro nulování jednoho bitu v ; registru Je-li obsah registru na adrese 0x05 (PORT A) Bit PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 Hodnota a port je nastavený jako výstup, pak po provedení instrukce BCF 0x05, 3 ; vynuluje bit 3 registru 0x05 bude nový obsah registru na adrese 0x05 (PORT A) Bit PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 Hodnota

29 6.3 Instrukce aritmetických a logických operací Operace s konstantou Do těchto instrukcí vstupuje konstanta, uváděná v pravé části instrukce, a obsah registru W. Výsledek se ukládá do W. Všechny instrukce této skupiny se vykonají za jeden instrukční cyklus. Slovo Literal zde znamená číslo. Zkratka Význam Činnost ADDLW k Add Literal to W Sečte W a k ANDLW k AND Literal with W Provede logický součin mezi odpovídajícími bity W a k IORLW k Inclusive OR Literal with W Provede logický součet mezi odpovídajícími bity W a k SUBLW k Subtract W from Literal Odečte W od k MOVLW k MOVe Literal to W Zapíše k do W XORLW k exclusive OR Literal with W Provede Exclusive-OR mezi odpovídajícími bity W a k: Pokud jsou odpovídající bity shodné, výsledkem je 0. Nejsou-li shodné, výsledkem je 1. Příklad Je-li v registru W hodnota D 61, pak po provedení instrukce SUBLW D 71 ; odečte W od k bude v registru W hodnota D 10. S konstantou pracuje také instrukce MOVLW k (zápis konstanty do registru W), která je popsaná dále v odstavci o instrukcích přesunů Operace s registrem RAM Do těchto instrukcí vstupuje obsah registru RAM, jehož adresa je uvedená v pravé části instrukce, a většinou také obsah registru W. Výsledek se ukládá do W nebo do registru RAM podle hodnoty d, jak bylo popsáno výše. Všechny instrukce této skupiny se vykonají za jeden instrukční cyklus. Slova File register zde znamenají jeden z registrů paměti RAM. Zkratka Význam Činnost ADDWF f, d ADD W and File register Sečte W a f ANDWF f, d AND W with File register Provede logický součin mezi odpovídajícími bity W a f COMF f, d COMplement File register Provede komplement (negaci) všech bitů f DECF f, d DECrement File register Dekrementuje f (sníží jeho hodnotu o 1) INCF f, d INCrement File register Inkrementuje f (zvýší jeho hodnotu o 1) IORWF f, d Inclusive OR W with File Provede logický součet mezi register odpovídajícími bity W a f SUBWF f, d SUBtract W from File register Odečte W od f XORWF f, d exclusive OR W with File register Provede Exclusive-OR mezi odpovídajícími bity W a f: Pokud jsou odpovídající bity shodné, výsledkem je 0. Nejsou-li shodné, výsledkem je 1. 29

30 Příklad Jsou-li v registrech hodnoty Jméno / adresa registru Obsah registru W B x3D B pak po provedení instrukce IORWF 0x3D, 0 ; logický součet W a f, výsledek do W budou nové hodnoty Jméno / adresa registru Obsah registru W B x3D B

31 6.4 Instrukce přesunů Pokud instrukce obsahuje parametr d, výsledek se ukládá do W když d = 0 do f když d = 1 Všechny instrukce této skupiny se vykonají za jeden instrukční cyklus. Zkratka Význam Činnost MOVF f, d MOVe contents of File register d = 0... f se zkopíruje do W, hodnota v f zůstává beze změny. d = 1... nic se nepohne ani nezmění, ale nastaví se příznak Z podle f. MOVLW k Viz výše Viz výše MOVWF f MOVe W to File Zkopíruje W do f, W se nezmění register RLF f, d Rotate Left File register Rotuje obsah f doleva přes bit C stavového registru. RRF f, d Rotate Right File register d = 0... výsledek rotace se objeví ve W. f zůstává původní, beze změny. d = 1... výsledek rotace je v f. W zůstává původní, beze změny. Rotuje obsah f doprava přes bit C stavového registru. SWAPF f, d Příklad SWAP nibbles in File register d = 0, 1... jako u RLF Prohodí se levý a pravý půlbajt (nibble) registru f. d = 0, 1... jako u RLF Jsou-li v registrech hodnoty Jméno / adresa registru Obsah registru W cokoliv 0x3D 0xA5 pak po provedení instrukce SWAPF 0x3D, 0 ; prohoď levou a pravou část f, výsledek do W budou nové hodnoty Jméno / adresa registru Obsah registru W 0x5A 0x3D 0xA5 31

32 6.5 Instrukce skoků Po těchto instrukcích dojde k mimořádné *) změně obsahu čítače instrukcí, a to u instrukce GOTO vždy u ostatních instrukcí když je splněná testovaná podmínka. Pokud instrukce obsahuje parametr d, výsledek se ukládá do W když d = 0 výsledek se ukládá do f když d = 1 Všechny instrukce této skupiny se vykonají za jeden instrukční cyklus, pokud ke skoku nedojde za dva instrukční cykly, pokud ke skoku dojde. Jelikož při instrukci GOTO je skok nepodmíněný, trvá tato instrukce dva cykly vždy. Zkratka Význam Popis BTFSC f, b Bit Test of File register, Skip if Clear Testuje bit b registru f, přeskočí další instrukci, když b = 0. BTFSS f, b Bit Test of File register, Skip if Testuje bit b registru f, přeskočí další Set instrukci, když b = 1. DECFSZ f, d DECrement File register, Skip if Zero GOTO k GO TO address k Skočí na adresu k. INCFSZ f, d INCrement File register, Skip if Zero Příklad Dekrementuje f, přeskočí další instrukci, když po operaci f = 0. Inkrementuje f, přeskočí další instrukci, když po operaci f = 0. Část blikacího programu, která zajistí svícení LED, dokud je program ve smyčce: SMYCKA: DECFSZ CNT, 1 GOTO SMYCKA POKRACUJ: Před instrukcí DECFSZ programový čítač PC obsahuje adresu SMYCKA. Po instrukci DECFSZ bude: CNT = CNT 1 W beze změny, protože d = 1 když CNT 0, PC = adresa SMYCKA+1, tj. ukazuje na instrukci GOTO, která provede skok zpátky na SMYCKA. Program se točí dál ve smyčce. když CNT = 0, PC = adresa POKRACUJ, tj. opuštění smyčky *) Po každé normální instrukci se obsah čítače instrukcí zvýší o 1, tj. čítač instrukcí pak ukazuje na následující instrukci. Po instrukci, která uskutečnila skok, se obsah čítače instrukcí změní mimořádně. U instrukcí obskoků se zvýší o 2, u instrukce GOTO skočí na zadanou adresu. 32

33 6.6 Instrukce nulování a nastavení Tyto instrukce nulují nebo nastavují jednotlivý bit určitého registru (BCF, BSF), nulují celý registr (CLRF, CLRW), nastavují výchozí stav hlídacího časovače (CLRWDT). Všechny instrukce této skupiny se vykonají za jeden instrukční cyklus. Zkratka Význam Popis BCF f, b Bit Clear in File register Vynuluje bit b registru f. BSF f, b Bit Set in File register Nastaví na 1 bit b registru f. CLRF f Clear File register Vynuluje registr f. CLRW CLeaR Working register Vynuluje registr W. CLRWDT Clear WatchDog Timer Vynuluje WDT = Watch Dog Timer a předděličku. Příklad Jsou-li v registrech hodnoty Jméno / adresa registru Obsah registru W B x3D B pak po provedení instrukce CLRF 0x3D ; vynulování registru 0x3D budou nové hodnoty Jméno / adresa registru Obsah registru W B x3D B a dále po provedení instrukce CLRW ; vynulování registru W budou nové hodnoty Jméno / adresa registru Obsah registru W B x3D B Aktualizováno 13/10/16 konec 6.7 Instrukce pro podprogramy a přerušení Po těchto instrukcích opět dojde k mimořádné změně obsahu čítače instrukcí. Při instrukci CALL program skočí na adresu podprogramu danou parametrem k (např. návěštím) a adresa následující instrukce (návratová adresa) se uloží do sklípku (STACK). Při instrukcích návratu (RETURN, RETFIE, RETLW) se ze sklípku vyzvedne návratová adresa a uloží se do programového čítače (PC = Program Counter). Tím dojde ke skoku (návratu) na instrukci, která následuje po té, která se jako poslední vykonala před skokem na adresu podprogramu. Pokračuje se tedy v práci, která byla předtím rozdělaná. Instrukce RETFIE kromě návratu na návratovou adresu také zajistí povolení dalších přerušení. Během obsluhy přerušení jsou totiž další přerušení zakázána. 33

34 Instrukce RETLW kromě návratu na návratovou adresu také vsadí do registru W hodnotu k. To umožňuje programu, aby si z obsluhy přerušení přinesl informaci o tom, jak obsluha přerušení proběhla. Všechny instrukce této skupiny se vykonají za dva instrukční cykly. Při všech totiž dochází k mimořádné změně obsahu čítače instrukcí. Zkratka Význam Popis CALL k CALL subroutine on address k Uloží do sklípku adresu následující instrukce (= návratovou adresu) a skočí na adresu danou parametrem k. RETURN RETURN from subroutine Vyzvedne ze sklípku návratovou adresu, dosadí ji do programového čítače, a tím vyvolá skok (návrat) na tuto adresu. RETFIE RETurn From Interrupt, Enable interrupts 34 Vyzvedne ze sklípku návratovou adresu, dosadí ji do programového čítače, a tím vyvolá skok (návrat) na tuto adresu. Nastaví bit GIE = General Interrupt Enable v registru INTCON, a tím umožní přijetí dalších přerušení. RETLW k RETurn with Literal in W Vyzvedne ze sklípku návratovou adresu, dosadí ji do programového čítače, a tím vyvolá skok (návrat) na tuto adresu. Do registru W dosadí hodnotu k. Příklad Řadič má pravidelně kontrolovat hladinu vody v nádrži. Příslušný podprogram má hladinu změřit a sdělit, zda už hladina dosáhla předepsané úrovně nebo ne. Podprogram může mít dva výstupy. Zjistí-li se, že hladina ještě nedosáhla předepsané úrovně, návrat z podprogramu se provede instrukcí RETLW 0x00 Pokud hladina už dosáhla předepsané úrovně, návrat z podprogramu se provede v jiném místě instrukcí RETLW 0x01 Pokud tedy hladina nedosáhla předepsané úrovně, najdeme v registru W po návratu z podprogramu hodnotu 0, pokud dosáhla, najdeme tam Zvláštní instrukce Všechny instrukce této skupiny se vykonají za jeden instrukční cyklus. Instrukce NOP se používá k záměrnému zpomalení chodu programu, nebo, při ručním programování, k vynechání místa v paměti pro případné vložení dalších částí programu. Zpomalení chodu programu může být zapotřebí tam, kde před odebráním stavu vstupu je třeba počkat na ustálení vstupní veličiny. Při programování časové smyčky, která má odměřovat přesný čas, lze vložením prázdných instrukcí jemně doladit délku trvání smyčky. Při ručním programování je největším problémem rozhrnutí dosavadního programu a vložení další části, protože se tím změní adresy skoků a volání. Pokud si v programu necháme prázdná místa, zaplněná jen instrukcemi NOP, můžeme pak tato místa využít ke vložení nových částí. Pokud ale pro psaní a překlad programu používáme počítač,

35 překladač tento problém řeší za nás. Po každé změně programu přepočítá adresy skoků a volání automaticky. Zkratka Význam Popis NOP NO Operation Prázdná operace SLEEP SLEEP Přechod řadiče do stavu SLEEP. Vynulování WDT a předděličky. Příklad Programujeme pravidelné blikání LED. Část programu, která určuje dobu svícení nesvícení může vypadat takto: ; svícení MOVLW D 66 ; smyčka se má proběhnout 66x MOVWF 0x0D ; registr 0x0D použijeme jako počítadlo DOKOLA: NOP ; vycpávka: prázdné instrukce NOP DECFSZ 0x0D, 1 ; dekrementuj počítadlo, výsledek nech v něm GOTO DOKOLA ; není hotovo? Jedeme dokola! MOVLW... ; hotovo, jedeme dál! Počtem instrukcí NOP můžeme měnit dobu, kterou potrvá jedno proběhnutí smyčky. Velikostí čísla v úvodní instrukci MOVLW měníme počet průchodů smyčkou. Aktualizováno 14/10/16 konec 35

36 7. Úlohy 7.1 Drát Funkce Stav jednoho vývodu (vstupu) se programově přenese na jiný vývod (výstup), jako kdyby tyto dva vývody byly propojeny drátem. HW příprava Na vývod č.1 (RA2) připojte přepínač tak, aby v jedné poloze byl vývod připojen na +5V, ve druhé poloze na zem. Na vývod č.2 (RA3) připojte LED tak, aby svítila, když na vývodu bude úroveň H. Rozbor úlohy Na začátku programu je nutno vývod č.1 (RA2) nastavit jako vstup, vývod č.2 (RA3) je nutno nastavit jako výstup. Během činnosti programu se bude stále testovat stav vývodu č.1 a zjištěná hodnota se bude posílat na vývod č.2. 36

Popis instrukční sady - procesory PIC Aritmetické a logické operace

Popis instrukční sady - procesory PIC Aritmetické a logické operace Popis instrukční sady - procesory PIC Aritmetické a logické operace ADDLW - ADD Literal and W ADDLW k (W+k) W Sečte obsah registru W s konstantou k, výsledek uloží do registru Ovlivňuje: C, DC, Z ADDWF

Více

Monolitické mikropoèítaèe II

Monolitické mikropoèítaèe II Monolitické mikropoèítaèe II zpracoval Ing. Josef Šabata Volně navazujeme na Kurs monolitických mikropočítačů a budeme se věnovat výrobkům firmy Arizona Microchip Inc., které jsou i u nás známé jako PIC

Více

MIKROKONTROLERY PIC16F84

MIKROKONTROLERY PIC16F84 Střední odborná škola a Střední odborné učiliště informatiky a spojů, Brno, Čichnova 23 Pracovní sešit MIKROKONTROLERY PIC16F84 Určeno pro obory Mechanik elektronik, Digitální telekomunikační technika

Více

Microchip. PICmicro Microcontrollers

Microchip. PICmicro Microcontrollers Microchip PICmicro Microcontrollers 8-bit 16-bit dspic Digital Signal Controllers Analog & Interface Products Serial EEPROMS Battery Management Radio Frequency Device KEELOQ Authentication Products Návrh

Více

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

Více

Organizace pam ového prostoru 1

Organizace pam ového prostoru 1 Organizace pam ového prostoru 1 1.0. Celový popis Tento popis obsahuje návod pro použití jedno ipového miropo íta e PIC 16F84A. Další informace m žete nalézt v PICmicro Mid-Range Reference Manual, (DS33023),

Více

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

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná

Více

Jiøí Hrbáèek MIKROØADIÈE PIC16CXX a vývojový kit PICSTART Kniha poskytuje ètenáøi základní informace o mikroøadièích øady PIC 16CXX, jejich vlastnostech a použití tak, aby je mohl využít pøi vlastních

Více

Programování PICAXE18M2 v Assembleru

Programování PICAXE18M2 v Assembleru Nastavení programming editoru PICAXE PROGRAMMING EDITOR 6 Programování PICAXE18M2 v Assembleru Nastavit PICAXE Type PICAXE 18M2(WJEC-ASSEMBLER, stejně tak nastavit Simulation Pokud tam není, otevřeme přes

Více

Mikroadie. Ing. Jaroslav Bernkopf

Mikroadie. Ing. Jaroslav Bernkopf Mikroadie Ing. Jaroslav Bernkopf 3. ervna 2009 OBSAH 1. Úvod... 4 2. Architektura poíta... 5 2.1 Architektura Von Neumannova... 5 2.2 Architektura Harvardská... 6 2.3 Soubory instrukcí... 6 2.3.1 CISC...

Více

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Mikrokontroléry. Doplňující text pro POS K. D. 2001 Mikrokontroléry Doplňující text pro POS K. D. 2001 Úvod Mikrokontroléry, jinak též označované jako jednočipové mikropočítače, obsahují v jediném pouzdře všechny podstatné části mikropočítače: Řadič a aritmetickou

Více

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

Architektura jednočipových mikropočítačů PIC 16F84 a PIC 16F877. Tato prezentace vznikla jako součást řešení projektu FRVŠ 2008/566.

Architektura jednočipových mikropočítačů PIC 16F84 a PIC 16F877. Tato prezentace vznikla jako součást řešení projektu FRVŠ 2008/566. Počítačové systémy Jednočipové mikropočítače II Architektura jednočipových mikropočítačů PIC 16F84 a PIC 16F877 Tato prezentace vznikla jako součást řešení projektu FRVŠ 2008/566. Miroslav Flídr Počítačové

Více

MSP 430F1611. Jiří Kašpar. Charakteristika

MSP 430F1611. Jiří Kašpar. Charakteristika MSP 430F1611 Charakteristika Mikroprocesor MSP430F1611 je 16 bitový, RISC struktura s von-neumannovou architekturou. Na mikroprocesor má neuvěřitelně velkou RAM paměť 10KB, 48KB + 256B FLASH paměť. Takže

Více

PIC krok za krokem. Komentované příklady programů pro PIC

PIC krok za krokem. Komentované příklady programů pro PIC PIC krok za krokem Komentované příklady programů pro PIC 1.Několiv slov úvodem 3 2.Mikrokontrolér PIC16F84 3 2.1Zapojení PIC16F84 do obvodu...3 2.2Obvod oscilátoru...4 2.3Obvod přerušení...4 2.4Obvod RESET...4

Více

Architektury počítačů a procesorů

Architektury počítačů a procesorů Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

Jihočeská univerzita v Českých Budějovicích

Jihočeská univerzita v Českých Budějovicích Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta Katedra fyziky Soubor úloh postavených na jednočipech PIC Bakalářská práce Vedoucí práce: Ing. Michal Šerý Autor: Zdeněk Boháč Anotace Bakalářská

Více

Komunikace modulu s procesorem SPI protokol

Komunikace modulu s procesorem SPI protokol Komunikace modulu s procesorem SPI protokol Propojení dvouřádkového LCD zobrazovače se sběrnicí SPI k procesotru (dále již jen MCU microcontroller unit) a rozložení pinů na HSES LCD modulu. Komunikace

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv

Více

Jednočipové mikropočítače (mikrokontroléry)

Jednočipové mikropočítače (mikrokontroléry) Počítačové systémy Jednočipové mikropočítače (mikrokontroléry) Miroslav Flídr Počítačové systémy LS 2006-1/17- Západočeská univerzita v Plzni Co je mikrokontrolér integrovaný obvod, který je často součástí

Více

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2 Základy informatiky 2. Přednáška HW Lenka Carr Motyčková February 22, 2011 Základy informatiky 1 February 22, 2011 Základy informatiky 2 February 22, 2011 Základy informatiky 3 February 22, 2011 Základy

Více

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer Přednáška A3B38MMP Bloky mikropočítače vestavné aplikace, dohlížecí obvody 2015, kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2015, J.Fischer, kat. měření, ČVUT - FEL Praha 1 Hlavní bloky procesoru

Více

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Í

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Í Obsah 1 Základní popis...17 2 Uspoøádání pamìti...27 3 PORTY...45 4 Pamì EEPROM a FLASH...58 5 Èasové moduly...65 6 Funkèní moduly CAPTURE/COMPARE/PWM (moduly CCP1/CCP2)...80 7 Modul synchronního sériového

Více

Nejčastěji pokládané dotazy

Nejčastěji pokládané dotazy Nejčastěji pokládané dotazy www.snailinstruments.com www.hobbyrobot.cz Co je kontrolér PICAXE? Kontrolér PICAXE je mikroprocesor z rodiny PIC, vyráběné firmou Microchip, který byl při výrobě naprogramován

Více

SEKVENČNÍ LOGICKÉ OBVODY

SEKVENČNÍ LOGICKÉ OBVODY Sekvenční logický obvod je elektronický obvod složený z logických členů. Sekvenční obvod se skládá ze dvou částí kombinační a paměťové. Abychom mohli určit hodnotu výstupní proměnné, je potřeba u sekvenčních

Více

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Vzorový příklad pro práci v prostředí MPLAB Zadání: Vytvořte program, který v intervalu 200ms točí doleva obsah registru reg, a který při stisku tlačítka RB0 nastaví bit 0 v registru reg na hodnotu 1.

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

Více

Jak do počítače. aneb. Co je vlastně uvnitř

Jak do počítače. aneb. Co je vlastně uvnitř Jak do počítače aneb Co je vlastně uvnitř Po odkrytí svrchních desek uvidíme... Von Neumannovo schéma Řadič ALU Vstupně/výstupní zař. Operační paměť Počítač je zařízení, které vstupní údaje transformuje

Více

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr. Model procesoru Jedná se o blokové schéma složené z registrů, paměti RAM, programového čítače, instrukčního registru, sčítačky a řídicí jednotky, které jsou propojeny sběrnicemi. Tento model má dva stavy:

Více

Struktura a architektura počítačů (BI-SAP) 7

Struktura a architektura počítačů (BI-SAP) 7 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 7 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Petr

Více

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051 051 Seznámení s mikropočítačem Architektura mikropočítače Instrukce Paměť Čítače Porovnání s AT89C2051 Seznámení s mikropočítačem řady 8051 Mikroprocesor řady 8051 pochází z roku 1980 a je vytvořené firmou

Více

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010 Přednášky o výpočetní technice Hardware teoreticky Adam Dominec 2010 Rozvržení Historie Procesor Paměť Základní deska přednášky o výpočetní technice Počítací stroje Mechanické počítačky se rozvíjely už

Více

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů). Strojový kód k d a asembler procesoru MIPS Použit ití simulátoru SPIM K.D. - cvičení ÚPA 1 MIPS - prostředí 32 ks 32bitových registrů ( adresa registru = 5 bitů). Registr $0 je zero čte se jako 0x0, zápis

Více

Obr. 1 - Hlavní okno prostředí MPLAB

Obr. 1 - Hlavní okno prostředí MPLAB BDOM Cvičení 1 1. Prostředí MPLAB Pro práci s obvody MICROCHIP PIC budeme používat vývojové prostředí MPLAB a programátor MPLAB ICD 2. Tento programátor je připojen k vývojové desce PICkit 2. Po spuštění

Více

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

Více

Technické prostředky počítačové techniky

Technické prostředky počítačové techniky Počítač - stroj, který podle předem připravených instrukcí zpracovává data Základní části: centrální procesorová jednotka (schopná řídit se posloupností instrukcí a ovládat další části počítače) zařízení

Více

Osmibitové mikrořadiče Microchip PIC16F887

Osmibitové mikrořadiče Microchip PIC16F887 Osmibitové mikrořadiče Microchip PIC16F887 SPŠE Dobruška, učební text, 2009 Ing Josef Hloušek Tento učební text je určen pro výuku předmětu Mikropočítačové systémy ve 4. ročníku oboru Elekrotechnika. Cílem

Více

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Téma: MEIII - 1.5 Paměti konstant Obor: Mechanik elektronik Ročník: 3. Zpracoval(a): Jiří Kolář Střední průmyslová škola Uherský Brod, 2010 Projekt je spolufinancován

Více

Principy komunikace s adaptéry periferních zařízení (PZ)

Principy komunikace s adaptéry periferních zařízení (PZ) Principy komunikace s adaptéry periferních zařízení (PZ) Několik možností kategorizace principů komunikace s externími adaptéry, např.: 1. Podle způsobu adresace registrů, které jsou součástí adaptérů.

Více

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor: Západočeská univerzita v Plzni Písemná zkouška z předmětu: Zkoušející: Katedra informatiky a výpočetní techniky Počítačová technika KIV/POT Dr. Ing. Karel Dudáček Akademický rok: 2004/05 Datum: Příjmení:

Více

Strojový kód. Instrukce počítače

Strojový kód. Instrukce počítače Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska

Více

Paměti Flash. Paměti Flash. Základní charakteristiky

Paměti Flash. Paměti Flash. Základní charakteristiky Paměti Flash K.D. - přednášky 1 Základní charakteristiky (Flash EEPROM): Přepis dat bez mazání: ne. Mazání: po blocích nebo celý čip. Zápis: po slovech nebo po blocích. Typická životnost: 100 000 1 000

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

Více

Profilová část maturitní zkoušky 2015/2016

Profilová část maturitní zkoušky 2015/2016 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2015/2016 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

Více

Architektury CISC a RISC, uplatnění v personálních počítačích

Architektury CISC a RISC, uplatnění v personálních počítačích Architektury CISC a RISC, uplatnění v personálních počítačích 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Zdůraznit, jak se typické rysy obou typů architektur

Více

INFORMAČNÍ LED DISPLEJ

INFORMAČNÍ LED DISPLEJ Středoškolská technika 2012 Setkání a prezentace prací středoškolských studentů na ČVUT INFORMAČNÍ LED DISPLEJ Martin Uhlík Střední průmyslová škola elektrotechniky a informatiky, Ostrava, příspěvková

Více

1. MIKROPROCESOR ATMEGA A/D PŘEVODNÍK MÓDY PŘEVODNÍKU Single Conversion Mode Auto Triggering Start...

1. MIKROPROCESOR ATMEGA A/D PŘEVODNÍK MÓDY PŘEVODNÍKU Single Conversion Mode Auto Triggering Start... 1. MIKROPROCESOR ATMEGA 8535... 2 1.1 A/D PŘEVODNÍK... 2 1.2 MÓDY PŘEVODNÍKU... 3 1.2.1 Single Conversion Mode... 3 1.2.2 Auto Triggering Start... 4 1.2.3 Free Running Mode... 4 1.3 VÝBĚR MĚŘENÉHO KANÁLU...

Více

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na čipu procesoru jsou používány

Více

Procesor z pohledu programátora

Procesor z pohledu programátora Procesor z pohledu programátora Terminologie Procesor (CPU) = řadič + ALU. Mikroprocesor = procesor vyrobený monolitickou technologií na čipu. Mikropočítač = počítač postavený na bázi mikroprocesoru. Mikrokontrolér

Více

Logické funkce a obvody, zobrazení výstupů

Logické funkce a obvody, zobrazení výstupů Logické funkce a obvody, zobrazení výstupů Digitální obvody (na rozdíl od analogových) využívají jen dvě napěťové úrovně, vyjádřené stavy logické nuly a logické jedničky. Je na nich založeno hodně elektronických

Více

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT Škola Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Název sady Téma Anotace Autor Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram CZ.1.07/1.5.00/34.0556

Více

Paměti a jejich organizace

Paměti a jejich organizace Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení

Více

Řízení IO přenosů DMA řadičem

Řízení IO přenosů DMA řadičem Řízení IO přenosů DMA řadičem Doplňující text pro POT K. D. 2001 DMA řadič Při přímém řízení IO operací procesorem i při použití přerušovacího systému je rychlost přenosu dat mezi IO řadičem a pamětí limitována

Více

JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH PEDAGOGICKÁ FAKULTA

JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH PEDAGOGICKÁ FAKULTA JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH PEDAGOGICKÁ FAKULTA Studijní obor: Měřící a výpočetní technika BAKALÁŘSKÁ PRÁCE KONSTRUKCE A REALIZACE PROGRAMÁTORU MIKROKRAŘADIČŮ A JEHO APLIKACE Vedoucí bakalářské

Více

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88 Mikrokontrolery Úvod do obvodů Atmega 328 a PIC16F88 Texty sestavili Petr Nejedlý a Lukáš Čížek, 4EA, 2013 Vlastnosti a funkce: Atmega 328 Flash 32Kbyte Max. Frequence 20Mhz SRAM 2Kbyte EEPROM 1024 byte

Více

Úvod do mobilní robotiky AIL028

Úvod do mobilní robotiky AIL028 md at robotika.cz http://robotika.cz/guide/umor07/cs 11. října 2007 1 Definice Historie Charakteristiky 2 MCU (microcontroller unit) ATmega8 Programování Blikání LEDkou 3 Kdo s kým Seriový port (UART)

Více

Paměť počítače. 0 (neprochází proud) 1 (prochází proud)

Paměť počítače. 0 (neprochází proud) 1 (prochází proud) Paměť počítače Paměť je nezbytnou součástí jakéhokoli počítače. Slouží k uložení základních informací počítače, operačního systému, aplikačních programů a dat uživatele. Počítače jsou vybudovány z bistabilních

Více

Struktura a architektura počítačů (BI-SAP) 10

Struktura a architektura počítačů (BI-SAP) 10 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 10 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

Úvod do mobilní robotiky NAIL028

Úvod do mobilní robotiky NAIL028 md at robotika.cz http://robotika.cz/guide/umor08/cs 6. října 2008 1 2 Kdo s kým Seriový port (UART) I2C CAN BUS Podpora jednočipu Jednočip... prostě jenom dráty, čti byte/bit, piš byte/bit moduly : podpora

Více

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

ASYNCHRONNÍ ČÍTAČE Použité zdroje: ASYNCHRONNÍ ČÍTAČE Použité zdroje: Antošová, A., Davídek, V.: Číslicová technika, KOPP, České Budějovice 2007 http://www.edunet.souepl.cz www.sse-lipniknb.cz http://www.dmaster.wz.cz www.spszl.cz http://mikroelektro.utb.cz

Více

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1 Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007 Y36SAP-control unit 1 Von Neumannova architektura (UPS1) Instrukce a data jsou uloženy v téže paměti. Paměť je organizována

Více

Systém řízení sběrnice

Systém řízení sběrnice Systém řízení sběrnice Sběrnice je komunikační cesta, která spojuje dvě či více zařízení. V určitý okamžik je možné aby pouze jedno z připojených zařízení vložilo na sběrnici data. Vložená data pak mohou

Více

Čísla, reprezentace, zjednodušené výpočty

Čísla, reprezentace, zjednodušené výpočty Čísla, reprezentace, zjednodušené výpočty Přednáška 4 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2014, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

RISC a CISC architektura

RISC a CISC architektura RISC a CISC architektura = dva rozdílné přístupy ke konstrukci CPU CISC (Complex Instruction Set Computer) vývojově starší přístup: pomoci konstrukci překladače z VPP co nejpodobnějšími instrukcemi s příkazy

Více

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Systém přerušení České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 6 Ver.1.2 J. Zděnek, 213 1 pic18f Family Interrupt

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

IMPLEMENTACE JÁDRA 8-BITOVÉHO MIKROKONTROLÉRU DO FPGA A ASIC

IMPLEMENTACE JÁDRA 8-BITOVÉHO MIKROKONTROLÉRU DO FPGA A ASIC VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV MIKROELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF

Více

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry. Paměti Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry. Klíčové pojmy: paměť, RAM, rozdělení pamětí, ROM, vnitřní paměť, vnější paměť. Úvod Operační paměť

Více

MIKROKONTROLÉRY. Jednočipový počítač nebo také angl. Microcontroller (Mikrokontrolér, MCU, µc)

MIKROKONTROLÉRY. Jednočipový počítač nebo také angl. Microcontroller (Mikrokontrolér, MCU, µc) Jednočipový počítač nebo také angl. Microcontroller (Mikrokontrolér, MCU, µc) je většinou monolitický integrovaný obvod obsahující kompletní mikropočítač. Jednočipové počítače se vyznačují velkou spolehlivostí

Více

PROCESOR. Typy procesorů

PROCESOR. Typy procesorů PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně

Více

Profilová část maturitní zkoušky 2014/2015

Profilová část maturitní zkoušky 2014/2015 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2014/2015 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni ělení pamětí Volatilní paměti Nevolatilní paměti Počítačové systémy Vnitřní paměti Miroslav Flídr Počítačové systémy LS 2006-1/11- Západočeská univerzita v Plzni ělení pamětí Volatilní paměti Nevolatilní

Více

Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )

Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů ) Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů ) Führer Ondřej, FUH002 1. AVR procesory obecně

Více

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW. p 1 Koncepce DMA Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW. Čekání na připravenost V/V Přenos paměť V/V nebo V/V paměť Posun pointeru

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

CH_SW_71 - V1.0. Program vytváří z obvodu PIC16C71 / PIC16C711 přepínač vstupů pro NF zesilovač.

CH_SW_71 - V1.0. Program vytváří z obvodu PIC16C71 / PIC16C711 přepínač vstupů pro NF zesilovač. CH_SW_71 - V1.0 Program vytváří z obvodu PIC16C71 / PIC16C711 přepínač vstupů pro NF zesilovač. Jako přepínací prvek slouží potenciometr zapojený běžcem přímo do vstupu A/D převodníku uvnitř mikroprocesoru.

Více

Návod k obsluze trenažéru

Návod k obsluze trenažéru Návod k obsluze trenažéru K ovládání trenažéru slouží kompaktní řídící systém, který je vybaven dvouřádkovým displejem a membránovou klávesnicí. Na klávesnici jsou klávesy : ENT + - - STOP nebo návrat

Více

Použití programovatelného čítače 8253

Použití programovatelného čítače 8253 Použití programovatelného čítače 8253 Zadání 1) Připojte obvod programovatelný čítač- časovač 8253 k mikropočítači 89C52. Pro čtení bude obvod mapován do prostoru vnější programové (CODE) i datové (XDATA)

Více

Monolitické mikropočítače III

Monolitické mikropočítače III Monolitické mikropočítače III zpracoval Ing. Josef Šabata Mikrořadiče PIC střední třídy jsou dalším vývojovým stupněm mikrořadičů PIC 16C5X popsaných v předchozích dílech seriálu. Repertoár vyráběných

Více

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Semestrální práce z předmětu Speciální číslicové systémy X31SCS Semestrální práce z předmětu Speciální číslicové systémy X31SCS Katedra obvodů DSP16411 ZPRACOVAL: Roman Holubec Školní rok: 2006/2007 Úvod DSP16411 patří do rodiny DSP16411 rozšiřuje DSP16410 o vyšší

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Speciální obvody a jejich programování v C 2. díl České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek, 2017 Compare Unit jiné řešení Následující

Více

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Úloha: Stmívací jednotka Obor: Elektrikář silnoproud Ročník: 2. Zpracoval: Ing. Jaromír Budín, Ing. Jiří Šima Střední odborná škola Otrokovice, 2010 Projekt je

Více

Integrovaná střední škola, Sokolnice 496

Integrovaná střední škola, Sokolnice 496 Integrovaná střední škola, Sokolnice 496 Název projektu: Moderní škola Registrační číslo: CZ.1.07/1.5.00/34.0467 Název klíčové aktivity: III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT Kód výstupu:

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Assembler pro Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Zápis instrukcí umíme už zapisovat instrukce v binárním tvaru to je silně nešikovné pro snazší vývoj

Více

8. Laboratoř: Aritmetika a řídicí struktury programu

8. Laboratoř: Aritmetika a řídicí struktury programu 8. Laboratoř: Aritmetika a řídicí struktury programu Programy v JSA aritmetika, posuvy, využití příznaků Navrhněte a simulujte v AVR studiu prográmky pro 24 bitovou (32 bitovou) aritmetiku: sčítání, odčítání,

Více

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Číselné vyjádření hodnoty. Kolik váží hrouda zlata? Čísla a logika Číselné vyjádření hodnoty Au Kolik váží hrouda zlata? Dekadické vážení Když přidám osmé závaží g, váha se převáží => závaží zase odeberu a začnu přidávat závaží x menší 7 závaží g 2 závaží

Více

Základní uspořádání pamětí MCU

Základní uspořádání pamětí MCU Základní uspořádání pamětí MCU Harwardská architektura. Oddělený adresní prostor kódové a datové. Používané u malých MCU a signálových procesorů. Von Neumannova architektura (Princetonská). Kódová i jsou

Více

Čísla, reprezentace, zjednodušené výpočty

Čísla, reprezentace, zjednodušené výpočty Čísla, reprezentace, zjednodušené výpočty Přednáška 5 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2015, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001

Více

Osmibitové mikrořadiče Microchip PIC16F1937

Osmibitové mikrořadiče Microchip PIC16F1937 Osmibitové mikrořadiče Microchip PIC16F1937 SPŠElit Dobruška, 2014 Ing Josef Hloušek Tento text může být využíván pro podporu výuky předmětu Mikroprocesorové systémy ve 3. a 4. ročníku oboru Aplikace osobních

Více

1. Programování PLC. Programovatelné automaty II - 1 -

1. Programování PLC. Programovatelné automaty II - 1 - Programovatelné automaty II - 1-1. Programování PLC Centrální jednotka Poskytuje programovatelnému automatu inteligenci. Realizuje soubor instrukcí a systémových služeb, zajišťuje i základní komunikační

Více

Pohled do nitra mikroprocesoru

Pohled do nitra mikroprocesoru Pohled do nitra mikroprocesoru Obsah 1. Pohled do nitra mikroprocesoru 2. Architektury mikroprocesorů 3. Organizace cvičného mikroprocesoru 4. Registry v mikroprocesoru 5. Aritmeticko-logická jednotka

Více

ČÍSELNÉ SOUSTAVY PŘEVODY

ČÍSELNÉ SOUSTAVY PŘEVODY ČÍSELNÉ SOUSTAVY V každodenním životě je soustava desítková (decimální, dekadická) o základu Z=10. Tato soustava používá číslice 0, 1, 2, 3, 4, 5, 6, 7, 8 a 9, není však vhodná pro počítače nebo číslicové

Více