Podobné dokumenty




D DE = = + [ + D[ [ D = - - XY = = + -


Microchip. PICmicro Microcontrollers

Monolitické mikropoèítaèe II

9. Kompenzace účiníku u spínaných zdrojů malých výkonů


M R 8 P % 8 P5 8 P& & %




červená LED 1 10k LED 2


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

8,1 [9] [9] ± ± ± ± ± ± ± ± ±


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




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








PROCESOR. Typy procesorů

Historie osmibitových mikroprocesoru a mikroradicu ZILOG.

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



Architektura počítače

MIKROKONTROLERY PIC16F84

Paměti a jejich organizace


PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10

Mikroprocesor Intel 8051


4.2 Paměti PROM NiCr. NiCr. Obr.140 Proudy v naprogramovaném stavu buňky. Obr.141 Princip PROM. ADRESOVÝ DEKODÉR n / 1 z 2 n

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.


Mikrořadiče. Ing. Jaroslav Bernkopf

Alfanumerické displeje

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

MIKROPOČÍTAČOVÉ SYSTÉMY


Procesor. Procesor FPU ALU. Řadič mikrokód

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


2.4 Cykly 2. ZÁKLADY JAZYKA C

Operační paměti počítačů PC

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

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

UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB

Osmibitové mikrořadiče Microchip PIC16F887

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

Procesor z pohledu programátora

Programování PICAXE18M2 v Assembleru

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

Operační systémy. Přednáška 8: Správa paměti II

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


David Urban Podpora předmětu APP. Blokové schéma

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat


Fakulta informačních technologií, VUT v Brně Ústav počítačových systémů Personální počítače, technická péče, cvičení. Sběrnice ISA

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


Adresace paměti. 11.přednáška

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

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

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

Struktura a architektura počítačů

Úvod do mobilní robotiky NAIL028

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

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

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

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

Snímače teploty a vlhkosti s komunikací po RS485 protokolem Modbus RTU - řada PHM

Grafické adaptéry a monitory

Ing. Michal Martin. Spojení PLC CLICK s NA-9289

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

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

Modul analogových vstupů M-AI4

Úvod do architektur personálních počítačů

Úvod. Instrukce musí obsahovat: typ operace adresu operandu (operandů) typ operandů modifikátory adresy modifikátory operace POT POT


Struktura a architektura počítačů

Princip funkce počítače

Miroslav Flídr Počítačové systémy LS /21- Západočeská univerzita v Plzni

Obvody a architektura počítačů. Jednoprocesorové počítače

Displej DT20-6. Update firmware řadiče. Simulační systémy Řídicí systémy Zpracování a přenos dat TM 2012_10_

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

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY

Transkript:

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

1 2 MIKROØADIÈ Z POHLEDU PROGRAMÁTORA Obr 12 Vnitøní blokové schéma mikroøadièe PIC16C5X a propojení registru W s TRIS a OPTION Z vnitøního blokového schématu je na první pohled patrno, jaké obvody tvoøí mikroøadiè a jaké jsou možnosti jeho využití Jiøí Hrbáèek: Mikroøadièe PIC16CXX - BEN technická literatura 19

Mikroøadièe PIC16C5X mají pouze obousmìrné digitální I/O porty, v závislosti na modifikaci buï 12 nebo 20bitové Lze využívat èítaèe/èasovaèe RTCC, který mùže pracovat s vnitøními hodinami nebo být inkrementován z vývodu RTCC lze rozšíøit o programovatelnou pøeddìlièku Mùže se využívat hlídacího èasovaèe WDT, jehož periodu lze prodloužit pøipojením programovatelné pøeddìlièky Pøeddìlièka mùže být v daný okamžik pøipojena buï pøed RTCC nebo za WDT Mikroøadiè nemá implementovaný systém pøerušení, a vlastní pouze dvouúrovòový stack (zásobník), který umožní pouze jedno vnoøení podprogramù (v podprogramu mùže být volán podprogram, ve kterém již není další volání podprogramu) Stacku nelze využívat k práci s daty Mikroøadiè má oddìlenou pamì dat a pamì programu Pro vìtší názornost je na obrázku navíc rozkresleno propojení registru W s registry TRIS a OPTION 1 2 1 Pamì programu (Program Memory) Pamì programu je složena z pøímo adresovatelných stránek Každá stránka obsahuje 512 dvanáctibitových slov Obr 13 Organizace pamìti programu 20 Jiøí Hrbáèek: Mikroøadièe PIC16CXX - BEN technická literatura

Instrukce se adresují postupnì prostøednictvím PC (program counter - èítaè programu), který je pøi provádìní programu automaticky inkrementován Program mùže provádìt zmìny funkce nìkterých èástí mikroøadièe, používat relativní adresování, provádìt test bitù a podle nich pak vìtvit program, volat podprogramy, provádìt pøímé skoky prostøednictvím instrukcí skokù nebo zápisem pøímo do registru f2 Poznámka: Nejnižších 8 bitù PC tvoøí pøímo registr f2 Adresu instrukce, která se má vykonat tvoøí bity A10 až A0 registru PC Bity A7/0 jsou plnìny instrukcemi GOTO a CALL Navíc je lze naplnit instrukcí, která použije f2 jako cílový operand (destination, cílový registr) Bit A8 se instrukcí GOTO naplní 8 bitem adresy, obsaženým v instrukci Instrukce GOTO je tedy schopná provádìt skok na libovolné místo aktuální stránky pamìti programu Instrukce volání podprogramu CALL a instrukce, kde je PC jako destination, tento bit nuluje Proto musí veškeré podprogramy a èásti programù, na které se provádí skok zápisem do PC, zaèínat pouze v dolních 256 slovech aktuální stránky pamìti programu, tedy na adresách 000H 0FFH, 200H 2FFH, 400H 4FFH nebo 600H 6FFH Bity A9 až A10 jsou naplnìny ze SWR, bity PA1 a PA0, instrukcemi GOTO, CALL a instrukcí, která používá PC jako cílový operand Tím dochází k pøepínání aktuální stánky programu podle nastavení v SWR Pøi provádìní programu je inkrementován celý registr PC, tedy všechny bity A10 až A0 Tím mùže program plynule pøecházet z jedné stránky programu na druhou Poznámka: A7/0 je totéž, jako by se napsalo A7 až A0 U modifikací mikroøadièù, kde se pøíslušný bit PA2 až PA0 registru SWR nezúèastòuje tvorby adresy, lze tento bit používat jako bit univerzálního registru Na èipu je dvouúrovòový stack, používaný pøi volání podprogramù Do tohoto stacku se ukládá vždy celá adresa z PC 1 2 2 Aritmeticko-logická jednotka ALU (Arithmetic/Logic Unit) ALU provádí aritmetické a logické operace mezi daty umístìnými v registru W a daty umístìnými v libovolném registru pole registrù Podle výsledkù nìkterých operací nastavuje pøíznakové bity C, DC a Z v registru SWR Které instrukce ovlivòují nastavení jakých pøíznakù je podrobnì popsáno v popisu instrukcí mikroøadièe Význam pøíznakù je vysvìtlen v popisu SWR registru 1 1 3 Working Register (W) - pracovní registr W registr je 8bitový registr, který podporuje vnitøní pøenosy dat a uchovává druhý operand pøi provádìní dvouoperandových instrukcí Jiøí Hrbáèek: Mikroøadièe PIC16CXX - BEN technická literatura 21

1 2 4 Pole datových registrù (Data Register File) 8bitová datová sbìrnice vzájemnì propojuje dvì základní funkèní jednotky; pole registrù, složené nejvýše z 80 adresovatelných 8bitových registrù vèetnì I/O portù a 8bitovou ALU (Aritmeticko-logickou jednotkou) Pole registrù je rozdìleno do dvou funkèních skupin na speciální registry a univerzální registry 1 2 4 1 Univerzální a speciální registry Univerzální registry jsou využívány pøi práci s daty jako pamì RAM Mikroøadièe PIC16C54/55/56 mají pole univerzálních registrù pouze na adresách 08H/1FH PIC16C57 má adresní prostor pole univerzálních registrù rozdìlen následovnì: Na adresách 08H/0FH má pole univerzálních registrù, které je aktivní vždy, bez ohledu na vybranou banku registrù Toto pole je tedy fyzicky shodné s poli na adresách 20H/2FH, 40H/4FH a 60H/6FH 10H/1FH univerzální registry banky 0 30H/3FH univerzální registry banky 1 50H/5FH univerzální registry banky 2 70H/7FH univerzální registry banky 3 Obr 14 Mapa pamìti dat 22 Jiøí Hrbáèek: Mikroøadièe PIC16CXX - BEN technická literatura

Speciálními registry jsou: registr nepøímého adresování dat (indirect data addressing), RTCC (Real Time Clock Counter - èítaè reálného èasu), PC (Program Counter - èítaè programu), SWR (Status Word Register - registr stavového slova), I/O Registers (registry vstupù/výstupù) a FSR (File Select Register - registr výbìru z pole registrù), registry TRIS, OPTION (prescaler/rtcc OPTION register - registr volby pøeddìlièky, RTCC a WDT), PRESCALER (pøeddìlièka) a WDT (Watch Dog Timer - hlídací èasovaè) 1 2 4 2 f0 Registr nepøímého adresování dat Nejde o fyzicky implementovaný registr Adresace pomocí f0 (File Select Register) probíhá následovnì Provádí-li program operaci s registrem f0 nebo s registrem, jehož adresa je 00H, mikroøadiè tuto operaci ve skuteènosti provádí s registrem, jehož adresa je uložena v registru FSR Pokud nepoužíváme v instrukcích pøímo adresu registru, se kterým chceme pracovat, ale použijeme adresu, na které se teprve nachází požadovaná adresa, provádíme takzvané nepøímé adresování registru dat Pøíklad: Obsah FSR = 06H Instrukce zápisu dat z registru W do registru f0 provede ve skuteènosti zápis tìchto dat do registru, který má adresu 06H a tím je port B Je-li f0 èten sám prostøednictvím nepøímého adresování (tedy FSR = 00H), pøeète se 00H Pokud provedeme zápis do f0 pøi nepøímém adresování (tedy FSR = 00H), bude proveden NOP nebo-li prázdná operace 1 2 4 3 f1 Real Time Clock/Counter Register (RTCC) - hodiny/èítaè reálného èasu Obr 15 Zjednodušené blokové schéma RTCC Jiøí Hrbáèek: Mikroøadièe PIC16CXX - BEN technická literatura 23

Poznámka: V novém katalogu je RTCC nazýván TMR0 (TiMeR 0 - èasovaè 0) Tento registr mùže být programem èten a zapisován jako každý jiný registr Jeho obsah však mùže být inkrementován externím signálem (z vývodu RTCC) nebo vnitøními hodinami (CLKOUT = fosc/4) Navíc mùže být pøed RTCC pøipojena programovatelná 8bitová pøeddìlièka Pøipojení a nastavení pøeddìlièky se provádí programovì pomocí bitù PS a PSA registru OPTION Je-li pøeddìlièka pøipojená k RTCC, pak zápis do f1 (napø MOVFf1, CLRF1, BSF1, 5, ) nuluje také tuto pøeddìlièku Pro aplikace, které testují RTCC bez vlivu na èítání doporuèujeme použít instrukci MOVF f1,w 1 2 4 3 1 Pravidla pøi použití RTCC s externími hodinami Je-li použit vývod RTCC ke vstupu externích hodin, je synchronizován s fází vnitøních hodin Synchronizace se uskuteèòuje za multiplexerem, který k RTCC pøipojuje pøímo vstup, nebo vstup pøes pøeddìlièku Vstup do RTCC je testován dvakrát za instrukèní cyklus Obr 16 Èasování RTCC pøi použití vnìjších hodin Parametry pulzù pøivádìných na vývod RTCC mikroøadièe byly popsány v kapitole Mikroøadiè PIC16C5X z pohledu konstruktéra elektronika Proto již zde nebudou znovu uvádìny 1 2 4 3 2 Zpoždìní hrany externích hodin Vstup do registru RTCC je synchronizován s vnitøními hodinami Existuje malé zpoždìní mezi aktivní hranou pulzu a skuteènou inkrementací registru RTCC Toto zpoždìní je vidìt na obrázku a pohybuje se mezi 3 t osc 7 t osc Interval mezi hranami bude indikován s pøesností ±4 t osc 1 2 4 3 3 OPTION registr 6bitový WRITE ONLY (lze do nìj pouze zapisovat) speciální registr (nemapovaný do datové pamìti) K nastavení tohoto registru se používá instrukce OPTION, která do nìj pøenese obsah W registru 24 Jiøí Hrbáèek: Mikroøadièe PIC16CXX - BEN technická literatura