PIC 12F675

Transkript

PIC 12F675
Jednočipový mikropočítač
PIC12F629/675
Překlad originální dokumentace
Materiál vznikl v rámci projektu MŠMT - Podpora projektování elektronických systémů s
mikroprocesory v českém jazyce na středních školách, který je řešen na Střední odborné škole a
Středním odborném učilišti - COP Sezimovo Ústí. Je možné ho využít pro výuku odborných předmětů
na školách v ČR. Pro potřeby studia je možné materiál kopírovat. Jakékoli komerční využití je
zakázáno.
Autoři si práci na textu rozdělili následovně:
Ing. Bc. Jana Kadlecová dis. : překlad stran 1 - 30, 74 -116, grafické zpracování celého textu
Ing. Vladimír Čebiš : překlad stran 31 - 73, odborná korektura celého textu
Zvláštní poděkování patří firmě MICROCHIP, Arizona, Chandler, USA a přímému
mezinárodnímu zastoupení firmy Microchip pro ČR a SR - firmě MICRORISC s.r.o. Jičín za podporu
uvedeného projektu a podporu výuky mikroprocesorové techniky na škole.
Symbolika textu
V textu je pomocí rĤzného typu písma odlišen charakter terminologie.
x
Slova psaná neproporcionálním písmem, zde Courier New, znaþí, že jde o instrukci Assembleru (MOVWF)
x
Slova, která jsou vyznaþena VELKÝM písmem oznaþují typické registry nebo jde o zkratkové slovo (registr OPTION).
x
Pojmenování, která se vztahují ke konkrétnímu pĜedmČtu, jsou psána s Velkým poþáteþním písmenem (þítaþ
Watchdog, režim Sleep).
x
Adresování X <3:0> odkazuje na bity 3 až 0 registru X.
x
Jednoduchou uvozovkou je oznaþena konkrétní hodnota, napĜ. ‚0‘ – nulování bitu.
Ochrana duševního vlastnictví
Tento dokument je urþen k nekomerþnímu využití. Veškeré komerþní šíĜení, poĜizování kopií nebo pĜebírání jakékoli þásti textu je
bez pĜedchozího souhlasu zakázáno.
Informace jsou zveĜejnČny bez ohledu na patenty tĜetích osob. Nároky na odškodnČní na základČ zmČn, chyb nebo vynechání
jsou vylouþeny.
Veškeré použité registrované, obchodní a ochranné známky jsou majetkem jejich autorĤ nebo vlastníkĤ a uvedením tČchto
známek nejsou zpochybnČna autorská práva, vyplývající z vlastnictví uvedených známek.
Závaznost informací
Aktuálnost a správnost informací vychází z publikovaného katalogu spoleþnosti Microchip þ. 41190C, PIC12F629/675 Data
Sheet, vydané r. 2003 spoleþností Microchip.
V pĜípadČ nesrovnalostí uvedených dat vyhledejte aktuální katalog spoleþnosti Microchip nebo zmČnové listy – errata (informaci
najdete na konci dokumentu).
Veškeré uvedené informace mají charakter doporuþení a mohou být pozdČjšími revizemi uvedeného katalogu zmČnČny nebo
doplnČny.
© 2003 Microchip Technology Inc.
PIC12F629/675
Flash/CMOS 8bitový jednoþipový mikropoþítaþ s 8 vývody
Základní vlastnosti CPU na bázi architektury RISC
x
Pouze 35 jednoduchých instrukcí
- Všechny instrukce se vykonají bČhem jediného cyklu, vyjma instrukcí vČtvení programu (dva cykly)
x
Taktovací frekvence - DC – 20 MHz
x
Doba vykonání instrukce oo– 200 ns
x
PĜerušení
x
OsmiúrovĖový HW zásobník
x
PĜímé, nepĜímé a relativní adresování
Zvláštní vlastnosti souþástky
x
Volba vnitĜního nebo vnČjšího oscilátoru
- PĜesný vnitĜní 4 MHz oscilátor s kalibrací ± 1%
- Podpora vnČjšího krystalového oscilátoru a rezonátoru
x
PĜechod z režimu Sleep do 5 μs pĜi obvyklém napČtí 3,0 V
x
Úsporný režim Sleep
x
Široký rozsah pracovního napČtí 2,0 V – 5,5 V
x
Teplotní rozsah: s rozšíĜenou odolností souþástky a pro prĤmyslové využití
x
Reset po zapnutí napájecího napČtí (POR) pĜi nízkém napČtí
x
VnitĜní þasovaþ pro zpoždČní resetu (PWRT), vnitĜní þasovaþ pro rozbČh krystal. oscilátoru
x
Detekce poklesu napČtí >20%
x
ýasovaþ Watchdog (WDT) s vlastním nezávislým RC oscilátorem
x
x
x
x
x
Vstup MCLR s konfigurovatelným použitím
PĜerušení zmČnou na vstupu
Vlastní programovatelné slabé napČtí pull-up
Programovatelná ochrana kódu proti vyþtení
Velmi odolné buĖky FLASH/EEPROM
- 100 000 zápisových cyklĤ do pamČti Flash
- 1 000 000 zápisových cyklĤ do pamČti EEPROM
- Doba uchování dat v pamČti EEPROM: >40 let
Vlastnosti v úsporných režimech
x
SpotĜeba proudu v režimu Standby: 1 nA pĜi napájení 2, 0 V
x
Pracovní režim: - 8, 5 μA pĜi napájení 2, 0 V, 32 kHz
- 100 μA pĜi napájení 2, 0 V, 1 MHz
x
Napájení þasovaþe Watchdog: - 300 nA pĜi napájení 2, 0 V
x
Napájení þasovaþe oscilátoru: - 4 μA pĜi napájení 2, 0 V, 32 kHz
Charakteristika periferií
x
6 univerzálních vstupních/výstupních vývodĤ
x
Zvýšený mezní proud pro pĜímé pĜipojení LED
x
Modul analogového komparátoru s:
- jedním analogovým komparátorem
- regulovatelným modulem refereþního napČtí (CVREF)
- programovatelným vstupním multiplexerem
- vnČjším výstupem
x
- A/D pĜevodník (PIC12F675)
- rozlišení 10 bitĤ
- þtyĜkanálový programovatelný vstup
- vstupní referenþní napČtí
x
ýasovaþ Timer0: 8bitový þítaþ/þasovaþ s 8 bitovou programovatelnou pĜeddČliþkou
x
RozšíĜený þasovaþ Timer1:
- 16bitový þítaþ/þasovaþ s pĜeddČliþkou
- Režim vstupu vnČjší branou
- Možnost použití vývodĤ OSC1 a OSC2 pro oscilátor TIMER1, pokud je zvolen vnitĜní takovací oscilátor
x
Programování v aplikaci (ICSP™) prostĜednictvím dvou vývodĤ
ZaĜízení
PIC12F629
PIC12F675
Programová
pamČĢ
Datová pamČĢ
FLASH
(slov)
SRAM
EEPROM
1024
1024
64
64
128
128
I/O
10b. A/D
Komparátory
ýasovaþe
8/16 bitĤ
6
6
--4
1
1
1/1
1/1
8vývodová 8bitová zaĜízení jsou chránČna americkým patentem spoleþnosti Microchip þ. 5847450. Další patenty ve Spojených
státech nebo dalších státech mohou být vydány po datu publikace nebo mohou být v Ĝízení.
© 2003 Microchip Technology Inc.
PIC12F629/675
Obsah
1.0.
1.1.
1.2.
1.3.
1.3.1.
1.3.2.
1.3.2.1.
1.3.2.2.
1.3.2.3.
1.3.2.4.
1.3.2.5.
1.3.2.6.
1.3.2.7.
1.4.
1.4.1.
1.4.2.
1.5.
2.0.
2.1.
2.2.
2.2.1.
2.2.2.
2.3.
2.3.1.
2.3.2.
2.3.3.
2.3.4.
2.3.5.
2.3.6.
3.0.
3.1.
3.2.
3.3.
3.4.
3.4.1.
4.0.
4.1.
4.2.
4.3.
4.4.
4.4.1.
4.5.
4.6.
5.0.
5.1.
5.2.
5.3.
5.4.
5.5.
5.5.1.
5.5.2.
5.6.
5.7.
5.8.
5.9.
6.0.
6.1.
6.1.1.
6.1.2.
6.1.3.
6.1.4.
6.1.5.
6.1.6.
6.2.
6.3.
6.4.
7.0.
7.1.
7.2.
7.3.
7.4.
7.5.
7.5.1.
7.6.
7.7.
8.0.
8.1.
Celkový popis ........................................................................................................................................................ 6
Organizace pamČĢového prostoru ......................................................................................................................... 9
Organizace programové pamČti ............................................................................................................................ 9
Organizace datové pamČti ..................................................................................................................................... 9
Registry pro obecné použití ................................................................................................................................... 9
Speciální funkþní registry..................................................................................................................................... 10
Registr STATUS .................................................................................................................................................. 13
Registr OPTION................................................................................................................................................... 14
Registr INTCON................................................................................................................................................... 15
Registr PIE1......................................................................................................................................................... 16
Registr PIR1 ........................................................................................................................................................ 17
Registr PCON ...................................................................................................................................................... 18
Registr OSCCAL.................................................................................................................................................. 18
Registry PCL a PCLATH ..................................................................................................................................... 19
Vypoþtený skok.................................................................................................................................................... 19
Zásobník .............................................................................................................................................................. 19
NepĜímé adresování, registry INDF a FSR .......................................................................................................... 20
Vývody GPIO ....................................................................................................................................................... 21
Registry GPIO a TRISIO...................................................................................................................................... 21
Další funkce vývodĤ............................................................................................................................................. 21
Slabé odpory pull-up ............................................................................................................................................ 21
PĜerušení pĜi zmČnČ ............................................................................................................................................ 23
Popis vývodĤ a diagramy..................................................................................................................................... 24
GP0/AN0/CIN+ .................................................................................................................................................... 24
GP1/AN1/CIN-/VREF ............................................................................................................................................ 24
Vývod GP2/AN2/T0CKI/INT/COUT ..................................................................................................................... 25
Vývod GP3/MCLR/VPP ........................................................................................................................................ 25
GP4/AN3/T1G/OSC2/CLKOUT ........................................................................................................................... 26
GP5/T1CKI/OSC1/CLKIN .................................................................................................................................... 26
Modul þasovaþe Timer0....................................................................................................................................... 28
Popis þinnosti modulu Timer0.............................................................................................................................. 28
PĜerušení þasovaþem Timer0 .............................................................................................................................. 28
VnČjší taktovací signál þasovaþe Timer0............................................................................................................. 29
PĜeddČliþka .......................................................................................................................................................... 29
ZmČna pĜiĜazení pĜeddČliþky ............................................................................................................................... 30
Modul Timer1 s možností ovládání vnČjším vývodem ......................................................................................... 31
Pracovní režimy modulu Timer1 .......................................................................................................................... 31
PĜerušení pomocí modulu Timer1 ....................................................................................................................... 32
PĜeddČliþka þasovaþe Timer1.............................................................................................................................. 32
Modul Timer1 v režimu asynchronního þítaþe ..................................................................................................... 33
ýtení a zápis do registrĤ modulu Timer1 v režimu asynchronního þítaþe ........................................................... 33
VnČjší oscilátor pro Timer1 .................................................................................................................................. 34
Modul Timer1 bČhem režimu Sleep..................................................................................................................... 34
Komparátor .......................................................................................................................................................... 35
ýinnost komparátoru ........................................................................................................................................... 35
Konfigurace komparátoru .................................................................................................................................... 36
Omezení pĜi pĜipojování analogového vstupu ..................................................................................................... 38
Výstup komparátoru............................................................................................................................................. 38
NapČĢová reference komparátoru........................................................................................................................ 38
Nastavení vnitĜní napČĢové reference ................................................................................................................. 39
PĜesnost napČĢové reference .............................................................................................................................. 39
Reakþní doba komparátoru ................................................................................................................................. 39
ýinnost komparátoru v režimu Sleep................................................................................................................... 39
Úþinky resetu ....................................................................................................................................................... 40
PĜerušení od komparátoru ................................................................................................................................... 40
AnalogovČ digitální pĜevodník (pouze u modelu PIC12F675) ............................................................................. 41
Nastavení a funkce A/D pĜevodníku .................................................................................................................... 41
Vývody pro pĜipojení analogového signálu .......................................................................................................... 41
VýbČr kanálu A/D pĜevodníku .............................................................................................................................. 41
NapČĢová reference ............................................................................................................................................. 41
Taktování pĜevodu ............................................................................................................................................... 41
Zahájení A/D pĜevodu.......................................................................................................................................... 42
Výsledek pĜevodu ................................................................................................................................................ 42
Požadavky na vzorkování A/D pĜevodníku .......................................................................................................... 44
A/D pĜevod bČhem režimu Sleep......................................................................................................................... 44
Úþinek signálu Reset ........................................................................................................................................... 45
PamČĢ dat EEPROM............................................................................................................................................ 46
Registr EEADR .................................................................................................................................................... 46
Registry EECON1 a EECON2 ............................................................................................................................. 46
ýtení dat z pamČti EEPROM ............................................................................................................................... 47
Zápis dat do pamČti EEPROM............................................................................................................................. 47
OvČĜení zápisu..................................................................................................................................................... 48
Použití pamČti EEPROM ..................................................................................................................................... 48
Ochrana proti nežádoucímu pĜepsání ................................................................................................................. 48
PĜístup do EEPROM pĜi ochranČ kódu proti vyþtení............................................................................................ 48
Speciální vlastnosti mikropoþítaþe....................................................................................................................... 49
Konfiguraþní bity .................................................................................................................................................. 49
© 2003 Microchip Technology Inc.
PIC12F629/675
8.2.
8.2.1.
8.2.2.
8.2.3.
8.2.4.
8.2.5.
8.2.5.1.
8.2.6.
8.3.
8.3.1.
8.3.2.
8.3.3.
8.3.4.
8.3.5.
8.3.6.
8.3.7.
8.4.
8.4.1.
8.4.2.
8.4.3.
8.4.4.
8.4.5.
8.5.
8.6.
8.6.1.
8.6.2.
8.7.
8.7.1.
8.8.
8.9.
8.10.
8.11.
9.0.
9.1.
9.2.
10.0.
10.1.
10.2.
10.3.
10.4.
10.5.
10.6.
10.7.
10.8.
10.9.
10.10.
10.11.
10.12.
10.13.
10.14.
10.15.
10.16.
10.17.
10.18.
10.19.
10.20.
10.21.
10.22.
10.23.
11.0.
11.1.
11.2.
11.3.
11.4.
11.5.
11.6.
11.7.
11.8.
11.9.
12.0.
13.0.
13.1.
13.2.
Nastavení oscilátoru ............................................................................................................................................ 51
Typy oscilátoru..................................................................................................................................................... 51
Krystalový oscilátor/keramický rezonátor ............................................................................................................ 51
VnČjší taktovací signál ......................................................................................................................................... 52
RC oscilátor ......................................................................................................................................................... 52
VnitĜní oscilátor s frekvencí 4MHz ....................................................................................................................... 52
Kalibrace vnitĜního oscilátoru............................................................................................................................... 52
Výstupní taktovací frekvence............................................................................................................................... 53
Reset.................................................................................................................................................................... 53
Reset MCLR ........................................................................................................................................................ 53
Reset pĜi pĜipojení napájení (POR)...................................................................................................................... 54
ýasovaþ pro zpoždČní resetu (PWRT) ................................................................................................................ 54
ýasovaþ pro rozbČh oscilátoru (OST) ................................................................................................................. 54
Detekce poklesu napájení ................................................................................................................................... 54
ýasové prĤbČhy................................................................................................................................................... 55
Registr PCON ...................................................................................................................................................... 55
PĜerušení ............................................................................................................................................................. 59
PĜerušení na vývodu GP2/INT ............................................................................................................................. 60
PĜerušení pĜeteþením Timer0 .............................................................................................................................. 60
PĜerušení na bránČ GP ........................................................................................................................................ 60
PĜerušení od komparátoru ................................................................................................................................... 60
PĜerušení od A/D pĜevodníku .............................................................................................................................. 60
Uložení obsahu registrĤ bČhem pĜerušení........................................................................................................... 61
ýasovaþ Watchdog.............................................................................................................................................. 62
Doba pĜeteþení .................................................................................................................................................... 62
Kritické hodnoty pĜeteþení ................................................................................................................................... 62
Úsporný režim – Sleep ........................................................................................................................................ 63
Probuzení z režimu Sleep.................................................................................................................................... 63
Ochrana kódu proti vyþtení .................................................................................................................................. 64
UmístČní identifikátorĤ ......................................................................................................................................... 64
Programování na osazené desce ........................................................................................................................ 64
LadČní v aplikaci.................................................................................................................................................... 64
Instrukþní sada .................................................................................................................................................... 65
Sekvence þtení-zmČna-zápis............................................................................................................................... 65
Popis instrukcí ..................................................................................................................................................... 68
Podpora pro vývojáĜe........................................................................................................................................... 75
Integrované vývojové prostĜedí MPLAB .............................................................................................................. 75
MPASM Assembler.............................................................................................................................................. 75
Kompilátory MPLAB C17 a MPLAB C18C........................................................................................................... 75
Objektový spojovací program MPLINK a objektová knihovna MPLIB ................................................................. 76
Kompilátor MPLAB C30 C ................................................................................................................................... 76
Integrovaný pĜekladaþ, spojovací program a knihovna MPLAB ASM30 ............................................................. 76
Softwarový simulátor MPLAB SIM....................................................................................................................... 76
Softwarový simulátor MPLAB SIM30................................................................................................................... 76
Univerzální obvodový emulátor MPLAB ICE 2000 .............................................................................................. 77
Univerzální obvodový emulátor MPLAB ICE 4000 .............................................................................................. 77
LadČní v aplikaci MPLAB ICD 2 ........................................................................................................................ 77
Univerzální programátor PRO MATE II ............................................................................................................... 77
Programátor PICSTART Plus .............................................................................................................................. 77
Demonstraþní deska PICDEM 1.......................................................................................................................... 77
Demonstraþní deska PICDEM.net Internet/Ethernet ........................................................................................... 77
Demonstraþní deska PICDEM 2 Plus.................................................................................................................. 78
Demonstraþní deska PICDEM 3 PIC16C92X...................................................................................................... 78
Demonstraþní deska PICDEM 17........................................................................................................................ 78
Demonstraþní deska PICDEM 18R PIC18C601/801........................................................................................... 78
Demonstraþní deska PICDEM LIN PIC16C43X .................................................................................................. 78
Sada PICkit™ 1 FLASH Starter........................................................................................................................... 78
Demonstraþní deska PICDEM USB PIC16C7X5 ................................................................................................ 78
OvČĜovací a programovací nástroje..................................................................................................................... 78
Elektrocharakteristiky........................................................................................................................................... 79
DC charakteristiky: PIC12F629/675-I (prĤmyslový), PIC12F629/675-E (rozšíĜený)............................................ 81
DC charakteristiky: PIC12F639/675-I (prĤmyslový)............................................................................................. 82
DC charakteristiky: PIC12F639/675-I (prĤmyslový)............................................................................................. 83
DC charakteristiky: PIC12F629/675-E (rozšíĜený)............................................................................................... 84
DC charakteristiky: PIC12F629/675-E (rozšíĜený)............................................................................................... 85
DC charakteristiky: PIC12F629/675-I (prĤmyslový), PIC12F629/675-E (rozšíĜený)............................................ 86
DC charakteristiky: PIC12F629/675-I (prĤmyslový), PIC12F629/675-E (rozšíĜený) - pokraþování..................... 87
Symbolika þasových promČnných ....................................................................................................................... 89
AC charakteristiky: PIC12F629/675 (prĤmyslový, rozšíĜený) .............................................................................. 89
Grafický popis DC a AC charakteristik................................................................................................................. 99
Popis pouzder .................................................................................................................................................... 108
Znaþení na pouzdĜe ........................................................................................................................................... 108
Technické parametry pouzder ........................................................................................................................... 108
© 2003 Microchip Technology Inc.
PIC12F629/675
Nastavení vývodĤ
1.0. Celkový popis
V tomto textu jsou uvedeny základní technické parametry a popis mikropoþítaþe PIC 12F629/675. DoplĖující informace lze
nalézt v dokumentu PICmicro™ Mid-Range Reference Manual (DS33023) spoleþnosti Microchip, který je dostupný u prodejce
nebo na stránkách spoleþnosti. Informace o aktuálních textech najdete na konci tohoto dokumentu. ZmiĖovaná referenþní
pĜíruþka slouží jako doplĖující materiál. MĤže pĜispČt k lepšímu pochopení konstrukce a funkce mikropoþítaþe vþetnČ periferií.
Popis se vztahuje jak k mikropoþítaþi PIC12F629, tak k PIC12F675. Rozdíl mezi nimi spoþívá v 10bitovém A/D pĜevodníku u
mikropoþítaþe PIC12F675. Souþástka je k dispozici v 8vývodových pouzdrech PDIP, SOIC a MLF-S.
Na obrázku 1 – 1 je zobrazeno schéma zaĜízení PIC12F629/675 a v tabulce 1 – 1 je uveden popis vývodĤ.
© 2003 Microchip Technology Inc.
PIC12F629/675
Celkový popis
7
Obrázek 1 – 1: Blokové schéma PIC12F629/675
Poznámka:
1: Vyšší uspoĜádání bitĤ pochází z registru STATUS.
© 2003 Microchip Technology Inc.
PIC12F629/675
Celkový popis
8
Tabulka 1 – 1: Popis vývodĤ PIC12F629/675
Název
Funkce
GP0/AN0/CIN+/ICSPDAT
GP1/AN1/CIN-/VREF/ICSPCLK
GP2/AN2/T0CKI/INT/COUT
GP3/ MCLR /VPP
GP4/AN3/ T1G /OSC2/CLKOUT
GP0
AN0
CIN+
ICSPDAT
GP1
AN1
CINVREF
ICSPCLK
Typ vstupu
TTL
AN
AN
TTL
TTL
AN
AN
AN
ST
Typ
výstupu
CMOS
CMOS
CMOS
Popis
ObousmČrný vst./výst. w/ s
pull-up a
pĜerušením pĜi zmČnČ
nultý vstupní kanál A/D pĜevodníku
vstup komparátoru
vst./výst. sériového programování
ObousmČrný vst./výst. w/ s
pull-up a
pĜerušením pĜi zmČnČ
první vstupní kanál A/D pĜevodníku
vstup komparátoru
Referenþní vnČjší napČtí
Hodiny ICSP
GP2
AN2
T0CKI
INT
COUT
GP3
TTL
ObousmČrný vst./výst. w/ s
pull-up a
pĜerušením pĜi zmČnČ
druhý vstupní kanál A/D pĜevodníku
vstup þasovaþe TMR0
vnČjší pĜerušení
výstup komparátoru
Vstupní port w/ s pĜerušením pĜi zmČnČ
MCLR
VPP
ST
HV
Reset
Programovací napČtí
GP4
AN3
TTL
AN
ObousmČrný vst./výst. w/ s
pull-up a
pĜerušením pĜi zmČnČ
tĜetí vstupní kanál A/D pĜevodníku
T1G
ST
ST
AN
ST
ST
CMOS
CMOS
OSC2
CLKOUT
XTAL
CMOS
ObousmČrný vst./výst. w/ s
pull-up a
pĜerušením pĜi zmČnČ
hodinový signál TMR1
krystalový oscilátor/rezonátor
GP5
T1CKI
OSC1
TTL
ST
XTAL
CLKIN
ST
VSS
VSS
Napájení
napájecí a signálová zem
VDD
VDD
Napájení
kladné napájecí nap.
GP5/T1CKI/OSC1/CLKIN
Legenda:
CMOS
TMR1 - vstup
krystalový oscilátor/rezonátor
výstup Fosc/4
vstup vnČjšího taktovacího
signálu/pĜipojení RC oscilátoru
Šedou barvou jsou podložena pole, která se vztahují pouze k modelu PIC12F675
TTL = vstupní TTL
ST = SchmittĤv klopný obvod
© 2003 Microchip Technology Inc.
PIC12F629/675
Organizace pamČĢového prostoru
9
2.0. Organizace pamČĢového prostoru
2.1.
Organizace programové pamČti
Mikropoþítaþe PIC 12F629/675 mají tĜináctibitový programový þítaþ, který rozdČluje pamČĢový prostor na 8192 x 14 bitĤ. Fyzicky
je v pamČti PIC 12F629/675 obsaženo pouze prvních 1024 x 14 bitĤ (adresový prostor 0000h – 03FFh). Pokud dojde
k adresování mimo tento prostor, nejvyšší bity adresy jsou ignorovány.
Vektor Reset je umístČn na adrese 0000h a vektor pĜerušení má adresu 0004h (viz obrázek 2 – 1).
2.2.
Organizace datové pamČti
Datová pamČĢ (viz obrázek 2 – 2) je rozdČlena do dvou bank, které obsahují registry obecného použití a speciální funkþní
registry. Speciální funkþní registry jsou umístČny na prvních 32 pozicích každé banky. Na adresách 20h – 5Fh jsou umístČny
registry pro všeobecné použití, které mají funkci statické pamČti RAM a jsou namapovány v obou bankách. Jde o jedinou pamČĢ,
která je v souþástce implementovaná. Ostatní bity mají pĜi þtení hodnotu ‚0‘. Bit výbČru banky je na pozici RP0 (STATUS <5>).
x
RP0 = 0 – Vybírá banku 0
x
RP0 = 1 – Vybírá banku 1
Poznámka:
Bity <7:6> registru STATUS jsou blokovány a jejich nastavení by mČlo být ‚0‘.
2.2.1. Registry pro obecné použití
Registr GPR je v mikropoþítaþích PIC 12F629/675 rozdČlen na 64 x 8 bitĤ. Každá registr je pĜístupný prostĜednictvím pĜímého
nebo nepĜímého (pomocí registru FSR) adresování. Podrobnosti jsou uvedeny v kapitole 2.4.
Obrázek 2 – 1: Mapa pamČti a zásobníku mikropoþítaþe PIC 12F629/675
© 2003 Microchip Technology Inc.
PIC12F629/675
Organizace pamČĢového prostoru
10
2.2.2. Speciální funkþní registry
Speciální funkþní registry využívá procesor a periferie souþástky pro Ĝízení svých þinností (viz tabulka 2 – 1). Jde o statické
registry RAM.
Registry lze rozdČlit do dvou skupin. V první budou zaĜazeny klíþové registry, ovládající funkce procesoru, ve druhé registry Ĝídící
periferie. Klíþové registry jsou popsány v této kapitole. Ty, které se vztahují k periferiím mikropoþítaþe, budou popsány v kapitole,
vČnované periferiím.
Obrázek 2 – 2: Mapa pamČti PIC 12F629/675
Adresa
registru
Obsah
NepĜímá adr.
(1)
00h
Adresa
registru
Obsah
NepĜímá adr.
(1)
80h
TMR0
01h
OPTION
81h
PCL
02h
PCL
82h
STATUS
03h
STATUS
83h
FSR
04h
FSR
84h
05h
TRISIO
GPIO
85h
06h
86h
07h
87h
08h
88h
09h
PCLATH
89h
0Ah
PCLATH
INTCON
0Bh
INTCON
8Bh
PIR1
0Ch
PIE1
8Ch
0Dh
TMR1L
0Fh
TMR1H
10h
T1CON
11h
8Dh
PCON
8Fh
90h
OSCCAL
92h
13h
93h
94h
15h
WPU
95h
16h
IOC
96h
17h
97h
18h
ADRESH
ADCON
(2)
Registry pro
všeobecné užití
98h
19h
VRCON
99h
1Ah
EEDATA
9Ah
1Bh
EEADR
9Bh
1Ch
EECON1
9Ch
1Dh
(2)
91h
12h
14h
CMCON
8Ah
1Eh
1Fh
20h
5Fh
(1)
9Dh
(2)
9Eh
EECON2
ADRESL
(2)
ANSEL
pĜístupy 20h5Fh
60h
DFh
E0h
7Fh
banka 0
9Fh
A0h
FFh
banka 1
Ŷ – Neimplementované pamČĢové buĖky, pĜi þtení ‚0‘
Poznámky:
1: Nejedná se o fyzický registr
2: Pouze pro PIC12F675
© 2003 Microchip Technology Inc.
PIC12F629/675
Organizace pamČĢového prostoru
11
Tabulka 2 – 1: PĜehled speciálních funkþních registrĤ
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
Hodnota po
resetu POR,
BOD
bit 0
00h
INDF(1)
Adresováním tohoto registru je pĜistupováno do RWM (RAM) na adresu ve FSR
01h
TMR0
Registr þítaþe/þasovaþe
xxxx xxxx
02h
PCL
Nižších osm bitĤ programového þítaþe (PC)
0000 0000
03h
STATUS
IRP(2)
04h
FSR
Ukazatel nepĜímého adresování pamČti RWM (RAM)
05h
GPIO
06h
---
Neimplementováno
---
07h
---
Neimplementováno
---
08h
---
Neimplementováno
---
09h
---
Neimplementováno
0Ah
PCLATH
0Bh
INTCON
0Ch
PIR1
0Dh
---
Neimplementováno
0Eh
TMR1L
Záchytný registr pro nižší bajt 16bitového þítaþe Timer1
0Fh
TMR1H
Záchytný registr pro horní bajt 16bitového þítaþe Timer1
10h
T1CON
11h
---
Neimplementováno
---
12h
---
Neimplementováno
---
13h
---
Neimplementováno
---
14h
---
Neimplementováno
---
15h
---
Neimplementováno
---
16h
---
Neimplementováno
---
17h
---
Neimplementováno
---
18h
---
Neimplementováno
19h
CMCON
1Ah
---
Neimplementováno
---
1Bh
---
Neimplementováno
---
1Ch
---
Neimplementováno
---
1Dh
---
Neimplementováno
1Eh
ADRESH(3)
Horních 8 bitĤ výsledku pĜevodu vlevo nebo 2 bity pĜevodu vpravo
1Fh
ADCON(3)
ADFM
Legenda:
---
---
RP1(2)
---
RP0
GPIO5
TO
GPIO4
PD
Z
DC
0000 0000
C
0001 1xxx
xxxx xxxx
GPIO3
GPIO2
GPIO1
GPIO0
--xx xxxx
---
---
---
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
0000 0000
EEIF
ADIF
---
---
CMIF
---
---
TMR1IF
00-- 0--0
---
---
TMR1GE
COUT
VDFG
Záchytný registr pro horních 5 bitĤ PC
---0 0000
--xxxx xxxx
xxxx xxxx
T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON
-000 0000
-----
CINV
CIS
CM2
CM1
CM0
-0-0 0000
---
---
---
CHS1
--- = neimplementováno, þte se jako ‚0‘
q = hodnota závislá na podmínkách
CHS0
xxxx xxxx
GO/DONE
u = nezmČnČno
ADON
00-- 0000
x = neuvedeno
Stínovaná pole odlišují bity, které nejsou implementovány
Poznámky:
1: Nejedná se o fyzický registr
2: Blokované bity, mČly by být vždy nulovány
3: Pouze u PIC12F675
© 2003 Microchip Technology Inc.
PIC12F629/675
Organizace pamČĢového prostoru
12
Tabulka 2 – 1: PĜehled speciálních funkþních registrĤ - pokraþování
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
Hodnota
po resetu
POR, BOD
bit 0
80h
INDF(1)
Adresováním tohoto registru je pĜistupováno do RWM (RAM) na adresu ve FSR
81h
OPTION
GPPU
82h
PCL
Nižších osm bitĤ programového þítaþe (PC)
83h
STATUS
84h
FSR
85h
TRISIO
86h
---
Neimplementováno
---
87h
---
Neimplementováno
---
88h
---
Neimplementováno
---
89h
---
Neimplementováno
8Ah
PCLATH
8Bh
INTCON
8Ch
PIE1
8Dh
---
8Eh
PCON
IRP(2)
INTEDG
RP1(2)
T0CS
T0SE
PSA
PS1
0000 0000
PS0
1111 1111
0000 0000
PD
TO
RP0
PS2
Z
DC
C
0001 1xxx
Ukazatel nepĜímého adresování pamČti RWM (RAM)
---
---
---
xxxx xxxx
TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0
--11 1111
---
---
---
Záchytný registr pro horních 5 bitĤ PC
---0 0000
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
0000 0000
EEIF
ADIE
---
---
CMIE
---
---
TMR1IE
00-- 0--0
---
---
---
---
POR
BOD
---- --0x
CAL3
CAL2
CAL1
CAL0
---
Neimplementováno
---
---
---
8Fh
---
90h
OSCCAL
Neimplementováno
91h
---
Neimplementováno
---
92h
---
Neimplementováno
---
93h
---
Neimplementováno
---
94h
---
Neimplementováno
95h
WPU
96h
IOC
97h
---
Neimplementováno
98h
---
Neimplementováno
99h
VRCON
CAL5
CAL4
--1000 00--
---
---
---
WPU5
WPU4
---
WPU2
WPU1
WPU0
--11 -111
---
---
IOC5
IOC4
IOC3
IOC2
IOC1
IOC0
--00 0000
VREN
---
----VRR
---
VR3
CM2
9Ah
EEDATA
9Bh
EEADR
---
9Ch
EECON1
---
9Dh
EECON2(1)
ěídící registr 2 pamČti EEPROM
9Eh
ADRESL(3)
Horních 8 bitĤ výsledku pĜevodu vlevo nebo 2 bity pĜevodu vpravu
9Fh
ANSEL(3)
Legenda:
---
CM1
CM0
0000 0000
Pracovní registr pro uložení dat pĜi zápisu/þtení EEPROM
---
Ukazatel pro nepĜímé adresování pĜi zápisu/þtení EEPROM
---
ADCS2
---
ADCS1
---
WRERR
WREN
0-0- 0000
WR
-000 0000
RD
---- x000
---- ----
ADCS0
--- = neimplementováno, þte se jako ‚0‘
q = hodnota závislá na podmínkách
ANS3
ANS2
xxxx xxxx
ANS1
u = nezmČnČno
ANS0
-000 1111
x = neuvedeno
Stínovaná pole odlišují bity, které nejsou implementovány
Poznámky:
1: Nejedná se o fyzický registr
2: Blokované bity, mČly by být vždy nulovány
3: Pouze u PIC12F675
© 2003 Microchip Technology Inc.
PIC12F629/675
Organizace pamČĢového prostoru
2.2.2.1.
13
Registr STATUS
Registr STATUS obsahuje aritmetické pĜíznaky, pĜíznaky resetu a bity pro výbČr banky pamČti dat.
Tento registr, stejnČ jako každý jiný registr pamČti RWM (RAM), mĤže být použit jako cílový registr jakékoli operace. Jestliže je STATUS
registrem pro uložení výsledku instrukce, která má vliv na pĜíznaky Z, DC nebo C, je zakázán zápis do tČchto tĜí bitĤ registru
STATUS a jsou nastaveny až v závislosti na výsledku instrukce. PĜíznaky resetu TO a PD není možné programovČ ovlivnit.
Výsledek instrukce, jejímž operandem je STATUS, by mČl být uložen do pracovního registru.
NapĜíklad instrukce CLRF STATUS vynuluje horní tĜi bity a bit Z nastaví do log ‚1‘. Po této operaci vypadá obsah registru takto:
‚000u u1uu‘ (u oznaþuje stav beze zmČny).
ZmČny registru STATUS by mČly probíhat pouze pomocí instrukcí BCF, BSF, SWAPF nebo MOVWF, které neovlivĖují pĜíznakové
bity tohoto registru.
Další instrukce, které nemají vliv na bity registru STATUS, najdete v pĜehledu instrukcí v samostatné kapitole.
1:
Pro bity IRP a RP1 (STATUS<7:6>) nemá mikropoþítaþ využití a mČly by být vždy nulovány. Jedná se o bity,
které mají opodstatnČní pĜi pĜechodu na novČjší typy výrobkĤ a z tohoto dĤvodu není jejich nastavení žádoucí.
2:
Bity C a DC mají funkci pĜíznaku výpĤjþky nebo poloviþní výpĤjþky pĜi odeþítání. PĜíklady použití jsou uvedeny v
popisu instrukcí SUBLW a SUBWF.
Obrázek 2 – 1: Registr STATUS (Adresa 03h nebo 83h)
blokováno
IRP
bit7
blokováno
RP1
R/W – 0
RP0
R-1
R-1
R/W – x
R/W – x
R/W – x
TO
PD
Z
DC
C
bit0
bit7:
IRP: Bit výbČru banky registrĤ (používá se jen pĜi nepĜímém adresování)
Tento bit není použit a mČl by být udržován na nule.
bit 6-5:
RP1:RP0: Bity výbČru banky registrĤ (používá se pĜi pĜímém adresování)
00 = banka 0 (00h – 7Fh)
01 = banka 1 (80h – FFh)
bit 4:
TO : Time-out bit – pĜíznak pĜeteþení þítaþe Watchdog
1 = po zapnutí napájení, vykonání instrukce CLRWDT, SLEEP
0 = po Resetu zpĤsobeném pĜeteþení þítaþe Watchdog
bit 3:
PD : Power-down bit – pĜíznak režimu Sleep
1 = po zapnutí napájení, nebo vykonání instrukce CLRWDT
0 = po vykonání instrukce SLEEP
bit 2:
Z: Zero bit – pĜíznak nuly
1 = výsledek aritmetické nebo logické operace je nula
0 = výsledek aritmetické nebo logické operace není nula
bit 1:
DC: Digit carry/ borrow bit – pĜíznak poloviþního pĜenosu (pro instrukce ADDWF, ADDWL,SUBLW,SUBWF). Pro výpĤjþku
( borrow ) je bit negován.
1 = nastal pĜenos z bitu b3 do bitu b4 výsledku aritmetické operace
0 = nenastal pĜenos z bitu b3 do bitu b4 výsledku aritmetické operace
bit 0:
C: Carry/ borrow bit – pĜíznak pĜenosu (pro instrukce ADDWF, ADDLW, SUBLW, SUBWF). Pro výpĤjþku
( borrow ) je bit negován.
1 = došlo k pĜeteþení z nejvýznamnČjšího bitu výsledku
0 = nedošlo k pĜeteþení z nejvýznamnČjšího bitu (b7) výsledku
Poznámka:
Pro výpĤjþku ( borrow ) je bit negován. Odeþítání je provedeno jako pĜiþtení dvojkového
doplĖku druhého operandu. PĜi instrukcích rotace pĜes carry bit (RRF, RLF) je tento bit naþten do
nejvýznamnČjšího, resp. nejménČ významného bitu výsledku.
R = bit pro þtení
- n = hodnota po resetu (POR)
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako '0'
0 = bit je v '0'
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
PIC12F629/675
Organizace pamČĢového prostoru
2.2.2.2.
14
Registr OPTION
Do registru OPTION lze zapisovat i þíst, který obsahuje Ĝídící bity
x
pĜeddČliþky þasovaþe TMR0 a Watchdog
x
vnČjšího pĜerušovacího vstupu
x
þítaþe/þasovaþe
x
pull-up rezistorĤ brány GPIO
Poznámka:
DČlicí pomČr pĜeddČliþky þítaþe/þasovaþe TMR0 1:1 je dosažen po nastavení pĜeddČliþky þasovaþe
Watchdog (PSA = ‚1‘)
Obrázek 2 – 2: Registr OPTION
R/W – 1
R/W – 1
R/W – 1
R/W – 1
R/W – 1
T0CS
T0SE
PSA
INTEDG
GPPU
R/W – 1
R/W – 1
PS2
bit 7
PS1
R/W – 1
PS0
bit 0
bit 7
GPPU Povolení pĜipojení pull-up rezistorĤ na všechny vývody brány GPIO
1 = pull-up na GPIO jsou zakázány
0 = pull-up na GPIO jsou povoleny pro jednotlivé nastavené vývody
bit 6
INTEDG: Volba aktivní hrany signálu pro vnČjší pĜerušení
1 = pĜerušení nastane s nábČžnou hranou na vývodu GP2/INT
0 = pĜerušení nastane se sestupnou hranou na vývodu BP2/INT
bit 5
T0CS: Volba zdroje hodinového signálu pro þítaþ/þasovaþ TMR0
1 = vnČjší zdroj na vývodu GP2/T0CKI
0 = VnitĜní zdroj taktovacího signálu (CLKOUT)
bit 4
T0SE: Volba aktivní hrany pĜi vnČjším zdroji hodinového signálu pro TMR0
1 = inkrementace se sestupnou hranou na vývodu GP2/T0CKI
0 = inkrementace s nábČžnou hranou na vývodu GP2/T0CKI
bit 3
PSA: Volba použití pĜeddČliþky
1 = pĜeddČliþka je pĜedĜazena þasovaþi Watchdog (WDT)
0 = pĜeddČliþka je pĜedĜazena þítaþi/þasovaþi TMR0
bit 2 – 0
PS2:PS0: Volba dČlicího pomČru pĜeddČliþky v závislosti na volbČ použití pĜeddČliþky (PSA)
PomČr
PomČr
TMR0
WDT
kombinace
000
1:2
1:1
001
1:4
1:2
010
1:8
1:4
011
1:16
1:8
100
1:32
1:16
101
1:64
1:32
110
1:128
1:64
111
1:256
1:128
© 2003 Microchip Technology Inc.
Význam:
R = bit pro þtení
W = bit pro zápis
U = nepoužitý bit, þteno jako ‚0‘
n = Hodnota po resetu (POR)
1 = bit je nastaven
0 = bit je v '0'
x = hodnota bitu není známá
PIC12F629/675
Organizace pamČĢového prostoru
2.2.2.3.
15
Registr INTCON
Registr INTCON obsahuje bity pro práci s pĜerušovacím systémem PIC. Všechny bity lze þíst a všechny bity lze také libovolnČ
nastavit.
Poznámka: PĜíznaky pĜerušení se nastaví vždy, když jsou splnČny podmínky, které mohou vyvolat pĜerušení, bez ohledu na
nastavení bitu GIE, INTCON <7>. SoftwarovČ lze ošetĜit, aby byly pĜíznaky pĜerušení pĜed jeho povolením vynulovány.
Obrázek 2 – 3: Registr INTCON (adresa 0Bh nebo 8Bh)
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
bit 7
bit 0
bit 7
GIE: Globální povolení pĜerušení
1 = povolena všechna nemaskovaná pĜerušení
0 = zakázána všechna pĜerušení
bit 6
PEIE: Povolení pĜerušení od periferií
1 = povoleno nemaskované pĜerušení od periferií
0 = zakázáno (maskováno) pĜerušení od periferie
bit 5
T0IE: PĜerušení od pĜeteþení þítaþe/þasovaþe TMR0
1 = povoleno pĜerušení od pĜeteþení þítaþe/þasovaþe TMR0
0 = zakázáno (maskováno) pĜerušení od pĜeteþení þítaþe/þasovaþe TMR0
bit 4
INTE: PĜerušení vnČjším signálem na vývodu GP2/INT
1 = povoleno pĜerušení na vývodu GP2/INT
0 = zakázáno (maskováno) pĜerušení na vývodu GP2/INT
bit 3
GPIE: Bit povolení pĜerušení pĜi zmČnČ stavu na bránČ
1 = povoleno pĜerušení zmČnou na bránČ
0 = zakázáno (maskováno) pĜerušení zmČnou na bránČ
bit 2
T0IF: PĜíznak pĜeteþení þítaþe/þasovaþe TMR0
1 = došlo k pĜeteþení registru TMR0 (nulování pĜíznaku je nutno provést softwarovČ)
0 = nedošlo k pĜeteþení registru TMR0
bit 1
INTF: PĜíznak vnČjšího pĜerušení na vývodu GP2/INT
1 = žádost o pĜerušení z vnČjšího zdroje GP2/INT (nulování pĜíznaku je nutno provést softwarovČ)
0 = nedošlo k žádosti o pĜerušení z vnČjšího zdroje
bit 0
GPIF: pĜíznak pĜerušení zmČnou hodnoty na bránČ
1 = nejménČ jeden z bitĤ GP5:GP0 zmČnil hodnotu (nulování pĜíznaku je nutno provést softwarovČ)
0 = žádný z bitĤ GP5:GP0 nezmČnil stav
Poznámky:
1: Registr IOC (pĜerušení pĜi zmČnČ) musí být povolen, má-li dojít k pĜerušení pĜi zmČnČ brány.
2: Bit T0IF se nastavuje pĜi pĜeteþení þítaþe Timer 0. Hodnota TIMER0 se pĜi resetu nemČní a mČla by být
nastavena pĜed nulováním bitu T0IF.
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
PIC12F629/675
Organizace pamČĢového prostoru
2.2.2.4.
16
Registr PIE1
Registr PIE1 obsahuje bity povolení pĜerušení, které jsou popsány na obrázku 2 – 4.
Poznámka:
Bit PEIE (INTCON <6>) musí být nastaven tak, aby povoloval pĜerušení od periferií.
Obrázek 2 – 4: Registr PIE1 – Registr povolení pĜerušení z periferie (adresa 8Ch)
R/W – 0
R/W – 0
U–0
U–0
R/W – 0
U–0
U–0
R/W – 0
EEIE
ADIE
---
---
CMIE
---
---
TMR1IE
bit 7
bit 0
bit 7
EEIE: Bit povolení pĜerušení po skonþení zápisu do pamČti EEPROM
1 = povoleno pĜerušeni po dokonþení zápisu
0 = zakázáno pĜerušení
bit 6
ADIE: Povolení pĜerušení po dokonþení A/D pĜevodu
1 = povoleno pĜerušení A/D pĜevodníkem
0 = zakázáno (maskováno) pĜerušení A/D pĜevodníkem
bity 5 - 4
Neimplementováno, þteno jako ‚0‘
bit 3
CMIE: Bit povolení pĜerušení komparátorem
1 = povoleno pĜerušení komparátorem
0 = zakázáno (maskováno) pĜerušení komparátorem
bit 2 – 1
Neimplementováno, þteno jako ‚0‘
bit 0
TMR1IE: Bit povolení pĜerušení pĜi pĜeteþení þítaþe/þasovaþe TMR1
1 = povoleno pĜerušení pĜi pĜeteþení TMR1
0 = zakázáno (maskováno) pĜerušení pĜi pĜeteþení TMR1
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
PIC12F629/675
Organizace pamČĢového prostoru
2.2.2.5.
17
Registr PIR1
Registr PIR1 obsahuje pĜíznakové bity pĜerušení. Schématicky je obsah registru znázornČn na obrázku 2 – 5.
Poznámka:
PĜíznakové bity pĜerušení se nastavují vždy, když nastanou podmínky pĜerušení, bez ohledu na stav
pĜíslušného bitu, povolujícího pĜerušení, GIE (INTCON <7>). Pomocí softwaru lze zajistit vynulování
odpovídajícího pĜíznaku pĜed povolením pĜerušení.
Obrázek 2 – 5: Registr PIR1 – Registr pĜerušení od periferií (adresa 0Ch)
R/W – 0
R/W – 0
U–0
U–0
R/W – 0
U–0
U–0
R/W – 0
EEIF
ADIF
---
---
CMIF
---
---
TMR1IF
bit 7
bit 0
bit 7
EEIF: PĜíznakový bit pĜerušení po dokonþení zápisu do pamČti EEPROM
1 = zápis do pamČti byl dokonþen (nulování musí být provedeno softwarovČ)
0 = nebyl zahájen nebo dokonþen zápis
bit 6
ADIF: PĜíznak pĜerušení A/D pĜevodníkem
1 = AD pĜevod byl dokonþen (nutno nulovat SW)
0 = AD pĜevod nebyl dokonþen
bity 5 - 4
neimplementováno, þteno jako ‚0‘
bit 3
CMIF: PĜíznak pĜerušení komparátorem
1 = na vstupu komparátoru došlo ke zmČnČ (nutno nulovat SW)
0 = na vstupu komparátoru nedošlo ke zmČnČ
bit 2 – 1
neimplementováno, þteno jako ‚0‘
bit 0
TMR1IF: PĜíznak pĜerušení pĜi pĜeteþení þítaþe/þasovaþe TMR1
1 = došlo k pĜeteþení TMR1
0 = nedošlo k pĜeteþení TMR1
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
PIC12F629/675
Organizace pamČĢového prostoru
18
2.2.2.6. Registr PCON
Registr Ĝídí napájení a obsahuje pĜíznakové bity, pomocí kterých se rozlišuje mezi:
x
resetem pĜi zapnutí napájení (POR)
x
resetem pĜi detekci poklesu napájecího napČtí (BOD)
x
resetem pĜi pĜeteþení þasovaþe Watchdog (WDT)
x
vnČjším resetem ( MCLR )
Nastavení bitĤ v registru je popsáno na obrázku 2 – 6.
Obrázek 2 – 6: Registr PCON (adresa 8Eh)
U–0
U–0
U–0
U–0
U–0
U–0
R/W – 0
---
---
---
---
---
---
POR
bit 7
R/W – x
BOD
bit 0
bit 7 - 2
neimplementováno, þteno jako ‚0‘
bit 1
POR : pĜíznakový bit resetu pĜi zapnutí napájení
1 = nedošlo k resetu po zapnutí napájení
0 = došlo k resetu po zapnutí napájení (bit musí být po resetu nastaven softwarovČ)
bit 0
BOR : pĜíznakový bit pro detekci poklesu napájecího napČtí
1 = nedošlo k poklesu napájecího napČtí
0 = došlo k poklesu napájecího napČtí (musí být po poklesu napČtí nastaven softwarovČ)
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
W = bit pro zápis
1 = bit je nastaven
2.2.2.7. Registr OSCCAL
Kalibraþní registr oscilátoru (OSCCAL) se používá pro nastavení vnitĜního 4MHz oscilátoru. Obsahuje 6 bitĤ, kterými lze snižovat
nebo zvyšovat frekvenci pro pĜesné dosažení hodnoty 4 MHz.
Bity registru jsou zobrazeny na obrázku 2 – 7.
Obrázek 2 – 7: Registr OSCCAL (adresa 90h)
R/W – 1
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
U–0
U–0
CAL5
CAL4
CAL3
CAL2
CAL1
CAL0
---
---
bit 7
bit 0
bit 7 - 2
CAL5:CAL0: Šest kalibraþních bitĤ oscilátoru
111111 – nejvyšší frekvence
100000 – stĜední frekvence
000000 – nejnižší frekvence
bit 1 - 0
neimplementováno, þteno jako ‚0‘
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
PIC12F629/675
Organizace pamČĢového prostoru
2.3.
19
Registry PCL a PCLATH
Programový þítaþ (PC) má šíĜku 13 bitĤ. Nižší bajt je registr PCL, z nČhož lze data naþítat i do nČj zapisovat. Vyšší
bajt (PC<12:8>) nelze naþítat nebo do nČj zapisovat pĜímo, je naþítán z registru PCLATH. PĜi resetu jakéhokoli druhu se
programový þítaþ vymaže. Na obrázku 2 – 3 jsou uvedeny dva pĜíklady pĜesunu dat do programového þítaþe. V horní ukázce
jde o pĜesun dat pĜi zápisu do PCL (PCLATH<4:0> ĺ PCH). Spodní ukázka zachycuje situaci, pĜi které je obsah
programového þítaþe naþítán bČhem vykonávání instrukcí CALL nebo GOTO (PCLATH<4:3> ĺ PCH).
Obrázek 2 – 3: Nahrávání dat do programového þítaþe
2.3.1. Skok modifikací PCL
V rámci jedné stránky pamČti programu (256 instrukcí) lze provést skok modifikací obsahu PCL. Každý zápis do PCL zpĤsobí
pĜepsání záchytného registru PCLATH do PC, proto je nezbytné nastavit do PCLATH adresu pĜíslušné stránky programu. K
samotnému skoku lze využít napĜ. instrukce ADDWF PCL.
2.3.2. Zásobník
Rodina mikropoþítaþĤ PIC12F629/675 je vybavena osmiúrovĖovým tĜináctibitovým hardwarovým zásobníkem (viz obrázek 2 –
1). Prostor tohoto zásobníku není souþástí žádného datového prostoru a ukazatel zásobníku není pĜístupný pro zápis ani pro
þtení. Programový þítaþ ukládá návratovou adresu do zásobníku vždy, když je vyvoláno pĜerušení nebo pĜi instrukci CALL.
Obsah zásobníku je naopak vyzdvihnut vždy pĜi vykonání instrukce RETURN, RETLW nebo RETFIE. Obsah registru
PCLATH není operacemi uložení (PUSH) nebo vyjmutí (POP) ovlivnČn.
Zásobník pracuje jako kruhová vyrovnávací pamČĢ. Po osmém uložení dat do zásobníku, tedy pĜi pokusu o deváté uložení,
dojde k pĜepsání první adresy, uložené v zásobníku. Desáté uložení pĜepisuje data na druhé pozici zásobníku atd.
Poznámky:
1: V zásobníku nejsou stavové bity, které popisují podmínky pĜeteþení nebo podteþení zásobníku.
2: Neexistuje instrukce, která by vyvolávala ukládání nebo vyzdvihnutí obsahu zásobníku.
Tyto kroky vyplývají z vykonání instrukcí CALL, RETURN, RETLW a RETFIE, nebo obsluhy pĜerušení.
© 2003 Microchip Technology Inc.
PIC12F629/675
Organizace pamČĢového prostoru
2.4.
20
NepĜímé adresování, registry INDF a FSR
Registr INDF není skuteþným registrem. Využívá se pro nepĜímé adresování.
Jakákoli instrukce, která je adresována do registru INDF, ve skuteþnosti pracuje s daty, jejichž adresa je uložena v registru
FSR. þtením INDF dostáváme adresu 00h. NepĜímý zápis do INDF nemá žádný výsledek (pĜestože se mohou zmČnit stavové
bity). Skuteþná devítibajtová adresa vznikne až spojením osmibitové adresy registru FSR a IRP bitu (STATUS <7>), jak je
zobrazeno na obrázku 2 – 4.
Obrázek 2 – 4: NepĜímé adresování
Podrobnosti k rozdČlení datové pamČti najdete na obrázku 2 – 2.
Poznámka:
1: Bity RP1 a IRP jsou blokovány. Vždy zĤstávají nulované.
Jednoduchý program pro vynulování bunČk 20h-2Fh v RWM (RAM) pomocí nepĜímého adresování bunČk vidíte v pĜíkladu 2 - 1:
PĜíklad 2 – 1: NepĜímé adresování
NEXT
movlw
0x20
;nastavení ukazatele
movwf
FSR
;FSR na zaþátek RAM
clrf
INDF
;nuluj INDF, (RAM(FSR))
incf
FSR
;FSR = FSR+1
btfss
FSR,4
;hotovo?
goto
NEXT
;ne, nuluj další
CONTINUE
© 2003 Microchip Technology Inc.
;ano, pokraþuj
PIC12F629/675
Vývody GPIO
21
3.0. Vývody GPIO
Mikropoþítaþ je vybaven šesti univerzálními vývody. Jejich nastavení záleží na periferiích, které jsou pro zaĜízení povoleny.
ObecnČ platí, že jakmile je povoleno periferní zaĜízení, pĜiĜazený vývod již nefunguje jako univerzálnČ použitelný vývod.
Poznámka: Další informace o univerzálních vývodech najdete v dokumentu PICmicro™ Mid-Range Reference Manual
(DS33023).
3.1.
Registry GPIO a TRISIO
GPIO je oboustranný šestibitový port. Odpovídající Ĝídící registr je TRISIO. Nastavení bitu TRISIO na hodnotu 1
nastaví odpovídající vývod GPIO jako vstupní (tedy odpovídající vývod je ve stavu vysoké impedance). Nulování
bitu (=0) znamená, že odpovídající vývod GPIO je výstupem (tedy bude povolen pĜenos obsahu datového registru
na vybraný vývod). Jedinou výjimku pĜedstavuje GP3, který slouží pouze jako vstupní brána a nastavení jeho bitu v registru
TRISIO je vždy ‚1‘. V pĜíkladu 3 – 1 je uvedeno nastavení jednotlivých bitĤ GPIO.
PĜi þtení registru se naþítají informace o stavu vývodĤ, zatímco pĜi zápisu se mČní obsah záchytného registru brány.
Všechny operace probíhají v režimu þtení – zmČna- zápis. PĜi práci s registrem tedy dojde k naþtení informace o vývodu, její
zmČnČ a zápisu do záchytného registru brány. Na GP3 je þtena ‚0‘ pĜi MCLREN = 1.
Registr TRISIO Ĝídí smČr komunikace vývodĤ GP i tehdy, když jsou používány jako analogové vstupy. Uživatel tedy musí
zajistit, aby byly pĜi analogovém vstupu všechny vývody nastaveny v registru TRISIO jako vstupy. Vývody, konfigurované
jako analogové vstupy, jsou vždy þteny jako ‚0‘.
Poznámka:
Registry ANSEL (9Fh) a CMCON (19h) musí být nejprve inicializovány, aby se jejich prostĜednictvím
mohl nastavit digitální vstup na analogovém kanálu. Vývody, které jsou nastaveny jako analogové
vstupy, jsou þteny jako ‚0‘. Registr ANSEL je definován pouze pro PIC12F675.
PĜíklad 3 – 1: Inicializace GPIO
bcf
clrf
movlw
movwf
bsf
clrf
movlw
movwf
STATUS, RP0
GPIO
07h
CMCON
STATUS, RP0
ANSEL
0Ch
TRISIO
3.2.
;
;
;
;
;
;
;
;
;
Bank 0
inicializuj GPIO
nastav GP<2:0> na
digitalizaci vst./výst. brány
Bank 1
digitalizuj vst./výst. port
nastav GP<3:2> jako vstupy
a nastav GP <5:4, 1:0>
jako výstupy
Další funkce vývodĤ
Každý vývod GPIO je vybaven funkcí pĜerušení pĜi zmČnČ a kromČ GP3 mají všechny také slabé odpory pull-up. Tyto dvČ
funkce jsou popsány ve dvou následujících podkapitolách.
3.2.1. Slabé odpory pull-up
KromČ vývodu GP3 jsou všechny opatĜeny vnitĜním slabým odporem pull-up, který lze nezávisle zapojit. ěídící bity
WPUx mohu každý tento obvod povolit nebo zakázat. Grafické znázornČní je v obrázku 3 – 3. Jestliže bude vývod
nakonfigurován jako výstupní, slabý odpor pull-up je automaticky odpojen. Odpory jsou zakázány také pĜi resetu POR,
vyvolaném bitem GPPU (OPTION <7>).
Obrázek 3 – 1: Registr GPIO – Registr Ĝídící vývody GPIO (adresa 05h)
U–0
U–0
R/W – x
R/W – x
R/W – x
R/W – x
R/W – x
R/W – x
---
---
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
bit 7
bit 0
bit 7 – 6
Neimplementováno, þteno jako ‚0‘
bit 5 – 0
GPIO<5:0>: Univerzální vst./výst. vývody
1 = vývod brány > VIH
0 = vývod brány < VIL
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
PIC12F629/675
Vývody GPIO
22
Obrázek 3 – 2: Registr TRISIO – registr Ĝídící tĜístavové vývody GPIO (adresa: 85h)
U–0
U–0
R/W – x
R/W – x
R/W – x
R/W – x
R/W – x
R/W – x
---
---
TRISIO5
TRISIO4
TRISIO3
TRISIO2
TRISIO1
TRISIO0
bit 7
bit 0
bit 7 – 6:
Neimplementováno, þteno jako ‚0‘
bit 5 – 0:
TRISIO<5:0> Ĝídící bit stavu univerzálního vst./výst. vývodu
1 = GPIO je konfigurován jako vstup (stav vysoké impedance)
0 = GPIO je konfigurován jako výstup
Poznámka:
TRISIO<3> je vždy þten jako ‚1‘.
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
Obrázek 3 – 3: WPU – Registr slabého odporu pull-up (adresa 95h)
U–0
U–0
R/W – 1
R/W – 1
U-0
R/W – 1
R/W – 1
R/W – 1
---
---
WPU5
WPU4
---
WPU2
WPU1
WPU0
bit 7
bit 0
bit 7 – 6
Neimplementováno, þteno jako ‚0‘
bit 5 – 4
WPU<5:4>: Bit registru nastavení slabého odporu pull-up
1 = pull-up je povolen
0 = pull-up je zakázán
bit 3
Neimplementováno, þteno jako ‚0‘
bit 2 – 0
WPU<2:0>: Bit registru nastavení slabého odporu pull-up
1 = pull-up je povolen
0 = pull-up je zakázán
Poznámky:
1: Aby byly povoleny jednotlivé odpory pull-up, musí být povolen také globální bit GPPU .
2: Pull-up je automaticky zakázán tehdy, když jsou vývody nastaveny jako výstupní (TRISIO = 0).
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
PIC12F629/675
Vývody GPIO
23
3.2.2. PĜerušení pĜi zmČnČ
Každý z univerzálních vstupnČ výstupních vývodĤ je možné použ ít pro vyvolání pĜerušení pĜi zmČnČ signálu nezávisle
na ostatních vývodech. ěídící bity IOC povolují nebo zakazují funkci pĜerušení pro jednotlivé vývody. Srovnejte s
obrázkem 3-4. PĜi resetu POR je pĜerušení pĜi zmČnČ zakázáno.
Povoluje-li se pĜerušení na vývodech, dochází k porovnání staré hodnoty v záchytném registru pĜi posledním þtení na GPIO.
ZjištČní zmČny zpĤsobí nastavení pĜíznaku pĜerušení GPIF v registru INTCON.
Toto pĜerušení mĤže probudit zaĜízení z režimu Sleep. Uživatel obsluhuje pĜerušení pomocí rutiny pĜerušení. Je nutné
provést 2 operace:
a)
Naþítání nebo zapisování do GPIO ukonþuje stav zmČny
b)
Nulují se pĜíznakové bity GPIF
ZmČna na svtupních portech dále nastavuje pĜíznak GPIF. Teprve naþtením obsahu registru GPIO je ukonþen tento zmČnový
stav a je možné SW nulovat pĜíznak GPIF.
Poznámka:
Pokud probČhne zmČna na vst./výst. vývodu bČhem naþítání (zaþátek cyklu Q2), mĤže se stát, že
pĜíznak pĜerušení GPIF nebude nastaven.
Obrázek 3 – 4: IOC – registr pĜerušení pĜi zmČnČ GPIO (adresa 96h)
U–0
U–0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
---
---
IOC5
IOC4
IOC3
IOC2
IOC1
IOC0
bit 7
bit 0
bit 7 – 6
Neimplementováno, þteno jako ‚0‘
bit 5 - 0
IOC<5:0>: ěídící bit pĜerušení pĜi zmČnČ GPIO
1 = povoleno pĜerušení pĜi zmČnČ GPIO
0 = zakázáno (maskováno) pĜi zmČnČ GPIO
Význam:
R = bit pro þtení
- n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
PIC12F629/675
Vývody GPIO
3.3.
24
Popis vývodĤ a diagramy
Vývody GPIO jsou multiplexovány, tedy mohou sloužit k rĤzným úþelĤm. Popis vývodĤ a jejich funkce jsou zde struþnČ
uvedeny. PodrobnČjší informace, napĜíklad funkce komparátoru nebo A/D pĜevodníku, najdete v dalších kapitolách tohoto
dokumentu.
3.3.1. GP0/AN0/CIN+
Obrázek 3 – 5 obsahuje schéma tohoto vývodu. GP0 je nastavitelný vývod, který mĤže zastávat nČkterou z tČchto funkcí:
x
univerzální vst./výst. vývod
x
analogový vstup pro A/D pĜevodník (pouze u PIC12F675)
x
analogový vstup komparátoru
3.3.2. GP1/AN1/CIN-/VREF
Obrázek 3 – 5 obsahuje schéma vývodu. GP1 je nastavitelný vývod, který mĤže zastávat tyto funkce:
x
univerzální vst./výst vývod
x
analogový stup pro A/D pĜevodník (pouze u PIC12F675)
x
analogový vstup pro komparátor
x
vstup A/D pĜevodníku pro referenþní napČtí (pouze u PIC12F675)
Obrázek 3 – 5: Blokové schéma vývodĤ GP0 a GP1
pull-up
© 2003 Microchip Technology Inc.
PIC12F629/675
Vývody GPIO
25
3.3.3. Vývod GP2/AN2/T0CKI/INT/COUT
Na obrázku 3-6 je schematicky popsána struktura vývodu. GP2 lze volitelnČ konfigurovat jako vývod, který zastává jednu
z funkcí:
x
univerzální vstupní/výstupní vývod
x
analogový vstup pro A/D pĜevodník (pouze u PIC12F675)
x
vstup hodinového signálu pro þasovaþ TMR0
x
vstup pro vnČjší pĜerušení
x
digitální výstup komparátoru
3.3.4. Vývod GP3/ MCLR /VPP
Obrázek 3-7 zachycuje zapojení vývodu GP3. Podle konfigurace mohou na vývodu probíhat:
x
univerzální vstupní vývod
x
MCLR reset
Obrázek 3 - 6: Blokové schéma GP2
© 2003 Microchip Technology Inc.
Obrázek 3 – 7: Blokové schéma GP3
PIC12F629/675
Vývody GPIO
26
3.3.5. GP4/AN3 T1G /OSC2/CLKOUT
Na obrázku 3-8 je zachyceno zapojení vývodu GP4. Lze volitelnČ konfigurovat jako vývod, který zastává jednu z funkcí:
x
univerzální vstupní/výstupní vývod
x
analogový vývod pro A/D pĜevodník (pouze pro PIC12F675)
x
vstup pro þítaþ/þasovaþ TMR1
x
pĜipojení krystalového oscilátoru/rezonátoru
x
výstup taktovacího signálu
3.3.6. GP5/T1CKI/OSC1/CLKIN
Na obrázku 3-9 je zobrazeno zapojení vývodu GP5. Tento vývod lze nastavit jako vývod, který zastává jednu z funkcí:
x
univerzální vstupní/výstupní vývod
x
výstup þasovaþe TMR1
x
pĜipojení krystalového oscilátoru/rezonátoru
x
vstup taktovacího signálu
Obrázek 3 – 8: Blokové schéma GP4
Obrázek 3 – 9: Blokové schéma GP5
Poznámky k obrázku 3 - 8: 1: Režimy taktovacího oscilátoru jsou XT, HS, LP, LPTMR1 a vnČjší taktovací signál.
2: Lze pĜipojit vnČjší zdroj taktovacího signálu.
Poznámky k obrázku 3 – 9: 1: Povolen LP oscilátor pro þasovaþ Timer1.
2: PĜi použití þasovaþe Timer1 s oscilátorem LP se vyĜazuje z þinnosti SchmittĤv klopný obvod.
© 2003 Microchip Technology Inc.
PIC12F629/675
Vývody GPIO
27
Tabulka 3 – 1: PĜehled registrĤ, které mají vazbu na GPIO
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Hodnota Hodnota na
po: POR, ostatních
BOD
RESET
05h
GPIO
---
---
GP5
GP4
GP3
GP2
GP1
GP0
- - xx xxxx
- - uu uuuu
0Bh/8Bh
INTCON
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
0000 0000
0000 0000
19h
CMCON
---
COUT
---
CINV
CIS
CM2
CM1
CM0
-0 -0 0000
-0 -0 0000
81h
OPTION
GPPU
INTEDG
T0CS
T0SE
PSA
PS2
PS1
PS0
1111 1111
1111 1111
85h
TRISIO
---
---
TRISIO5
TRISIO4
TRISIO3
TRISIO2
TRISIO1
TRISIO0
- - 11 1111
- - 11 1111
95h
WPU
---
---
WPU5
WPU4
---
WPU2
WPU1
WPU0
- - 11 -111
- - 11 - 111
96h
IOC
---
---
IOC5
IOC4
IOC3
IOC2
IOC1
IOC0
- - 00 0000
- - 00 0000
9Fh
ANSEL
---
ADCS2
ADCS1
ADCS0
ANS3
ANS2
ANS1
ANS0
- 000 1111
- 000 1111
Legenda:
x – neznámá hodnota
- neimplementováno, pĜi þtení ‚0‘
BuĖky stínované šedou barvou nemají pro GPIO význam.
© 2003 Microchip Technology Inc.
u – nezmČnČno
PIC12F629/675
Periferie
28
4.0. Modul Timer0
Modul þítaþe/þasovaþe Timer0 má nČkteré jedineþné vlastnosti:
x
osmibitový pracovní registr
x
data registru lze naþítat i zapisovat
x
osmibitová softwarovČ konfigurovatelná pĜeddČliþka
x
volitelný zdroj hodinového signálu
x
pĜerušení pĜi pĜeteþení z FFh do 00h
x
volitelná aktivní hrana vnČjšího hodinového signálu
Na obrázku 4-1 je zobrazeno schéma modulu Timer0 vþetnČ pĜeddČliþky, kterou lze použít i pro þasovaþ Watchodog.
Poznámka: DoplĖující informace, týkající se modulu Timer0, mĤžete najít v dokumentu PICmicro™ Mid-Range Reference
Manual (DS33023).
Obrázek 4 – 1: Blokové schéma pĜeddČliþky pro þasovaþ Timer0 a Watchdog
4.1.
Popis þinnosti modulu Timer0
Modul Timer0 mĤže pracovat v režimu þasovaþe, inkrementovaného vnitĜním taktovacím signálem procesoru, nebo v režimu
þítání vnČjších událostí. Režim þasovaþe se volí nulováním bitu TOSC (OPTION<5>).
Jako þasovaþ je registr TMR0 inkrementován v každém instrukþním cyklu (pokud není zaĜazena pĜeddČliþka). Jestliže je
proveden zápis do TMR0, nelze bČhem dalších dvou instrukþních cyklĤ inkrementaci provést. Tento zákaz lze obejít korekcí
zapsané hodnoty do registru TMR0.
Režim þítaþe je zvolen nastavením bitu T0CS (OPTION<5>). Jako þítaþ provádí modul inkrementaci registru TMR0 s aktivní
hranou signálu na vývodu GP2/T0CKI.
Aktivní sestupnou hranu urþuje nastavení Ĝídícího bitu T0SE (OPTION<4>). Nulováním bitu je zvolena aktivní nábČžná hrana
signálu.
Poznámka:
4.2.
Režim þítaþe klade zvláštní požadavky na vnČjší hodinový signál. Další informace lze najít v dokumentaci
PICmicro™ Mid-Range Reference Manual (DS33023).
PĜerušení þasovaþem Timer0
PĜi pĜeteþení registru þítaþe/þasovaþe TMR0 z FFh do 00h je vyvolána žádost o pĜerušení. Toto pĜeteþení nastavuje bit T0IF.
PĜerušení lze maskovat pomocí bitu T0IE (INTCON<5>), a to jeho nulováním. Bit T0IF registru INTCON (INTCON<2>) musí
být nulován pomocí rutiny obsuhy pĜerušení þasovaþe Timer0 ještČ pĜedtím, než je toto pĜerušení znovu povoleno. PĜerušení,
vyvolané þasovaþem Timer0 ale nemĤže probudit procesor z režimu spánku, protože je v tomto režimu odpojen.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
29
Použití þítaþe/þasovaþe Timer0 s vnČjším hodinovým signálem.
4.3.
Ve stavu, kdy není použita pĜeddČliþka, je vnČjší hodinový signál shodný s výstupem pĜeddČliþky. Synchronizace taktovacího
kmitoþtu oscilátoru a kmitoþtu na T0CKI je zajištČna vzorkováním signálu na výstupu pĜeddČliþky ve druhém (Q2) nebo
þtvrtém (Q4) taktu. Z tohoto dĤvodu je dĤležité, aby stav log1 T0CKI trval alespoĖ 2Tosc (a zpoždČní oscilátoru RC bylo 20 ns)
a stejnČ tak stav log0 trval alespoĖ 2Tosc (a zpoždČní bylo 20 ns). Detaily je možno nalézt v popisu pĜíslušného zaĜízení.
Poznámka:
PĜed nastavením analogového kanálu pro digitální vstup je nutné inicializovat registry ANSEL (9Fh) a
CMOS (19h). Vývody, které jsou konfigurovány pro analogový vstup, jsou þteny ‚0‘. Registr ANSEL je
dostupný pouze v PIC12F675.
Obrázek 4 – 1:
OPTION - Registr OPTION (adresa 81h)
R/W – 1
R/W – 1
R/W – 1
INTEDG
GPPU
T0CS
R/W – 1
T0SE
R/W – 1
R/W – 1
R/W – 1
R/W – 1
PS2
PS1
PS0
PSA
bit 7
bit 0
bit 7
GPPU : bit povolení pĜipojení pull-up rezistorĤ brány GPIO
1 – pull-up je zakázán na všech vývodech
2 – pull-up je na vývodu možno individuálnČ povolit
bit 6
INTEDG: bit výbČru aktivní hrany pro pĜerušení
1 – nábČžná hrana signálu vývodu GP2/INT je aktivní
0 – sestupná hrana signálu vývodu GP2/INT je aktivní
bit 5
T0CS: Volba zdroje hodinového signálu pro TMR0
1 = vnČjší zdroj na vývodu GP2/T0CKI
0 = vnitĜní zdroj v závislosti na vnitĜním taktovacím signálu
bit 4
T0SE: Volba aktivní hrany pĜi vnČjším zdroji taktovacího signálu pro TMR0
1 = inkrementace se sestupnou hranou na vývodu GP2/T0CKI
0 = inkrementace s nábČžnou hranou na vývodu GP2/T0CKI
bit 3
PSA: bit pĜiĜazení pĜeddČliþky
1 – pĜiĜazuje pĜeddČliþku þasovaþi Watchdog
0 – pĜiĜazuje pĜeddČliþku þasovaþi Timer0
bit 2 – 0
PS2:PS0: bity pro výbČr dČlicího pomČru pĜeddČliþky
4.4.
nastavení
bitu
PomČr
PomČr
TMR0
WDT
000
1:2
1:1
001
1:4
1:2
010
1:8
1:4
011
1:16
1:8
100
1:32
1:16
101
1:64
1:32
110
1:128
1:64
111
1:256
1:128
Význam:
R = bit pro þtení
W = bit pro zápis
U = nepoužitý bit, þteno jako ‚0‘
n = Hodnota po resetu (POR)
1 = bit je nastaven
0 = bit je v '0'
x = hodnota bitu je neznámá
PĜeddČliþka
PĜeddČliþka je tvoĜena osmibitovým þítaþem, který mĤže být zaĜazen pĜed þítaþ/þasovaþ Timer0 nebo za þasovaþ Watchdog.
Pro snadnČjší orientaci je tento prvek v tomto dokumentu vždy oznaþován jako pĜeddČliþka. PĜiĜazení pĜeddČliþky je Ĝízeno
softwarovČ, pomocí bitu PSA (OPTION <3>). Nulováním bitu PSA je pĜeddČliþka pĜiĜazena modulu Timer0. Hodnoty dČlicího
pomČru lze volit v bitech PS2:PS0 (OPTION<2:0>). Popis registru najdete na jiném místČ dokumentu.
Obsah pĜeddČliþky nelze naþítat ani mČnit zápisem. PĜi jejím pĜiĜazení modulu Timer0 se zápisem instrukce do registru TMR0
(napĜíklad CLRF 1, MOVWF 1, BSF 1, x…. a další) vynuluje obsah pĜeddČliþky a naopak pĜi zaĜazení za þasovaþ
Watchdog instrukce CLRWDT nuluje obsah pĜeddČliþky spoleþnČ s registrem þasovaþe Watchdog.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
30
4.4.1. ZmČna pĜiĜazení pĜeddČliþky
PĜiĜazování pĜeddČliþky je Ĝízeno þistČ softwarovČ (nastavení mĤže být tedy zmČnČno i pĜi bČhu programu). MĤže se však stát,
že pĜi zmČnČ pĜidČlení pĜeddČliþky od modulu Timer0 k þasovaþi Watchdog dojde k neoþekávanému resetu zaĜízení, proto je
potĜeba nejprve vykonat instrukci, která je popsána v pĜíkladu 4-1.
PĜíklad 4 – 1: ZmČna pĜiĜazení pĜedddČliþky (Timer0 ĺ þasovaþ Watchdog)
bcf
STATUS, RP0
; Banka 0
clrf
TMR0
; nuluj TMR0 a
; pĜeddČliþku
bsf
STATUS, RP0
; Banka 1
movlw
b‘00101111‘
; požadováno pouze volitelnČ
movwf
OPTION_REG
; PS2:PS0 jsou
; 000 nebo 001
;
movlw
b‘00101xxx‘
; nastav pĜeddČliþku na
movwf
OPTION_REG
; požadovaný pomČr WDT
bcf
STATUS, RP0
; Banka 0
clrwdt
; nuluj WDT
ZmČna pĜiĜazení pĜeddČliþky od WDT k TMR0 probíhá podle instrukce, která je popsána v pĜíkladu 4-2. Tento požadavek je
nutno splnit i tehdy, když je þasovaþ Watdchog vyĜazen.
PĜíklad 4 – 2: ZmČna pĜiĜazení pĜeddČliþky (þasovaþ Watchdog ĺ Timer 0)
clrwdt
; nuluj WDT
; a pĜeddČliþku
bsf
STATUS, RP0
; Banka 1
movlw
b’xxx0xxx‘
; vyber TMR0,
; dČlicí pomČr a
; zdroj taktovacího signálu
movwf
OPTION_REG
;
bcf
STATUS, RP0
; Banka 0
Tabulka 4 – 1: PĜehled registrĤ, které mají vazbu na TIMER0
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Hodnota Hodnota po
po: POR, ostatních
RESET
BOD
01h
TMR0
xxxx xxxx
uuuu uuuu
0Bh/8Bh
INTCON
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
0000 0000
0000 000u
81h
OPTION
GPPU
INTEDG
T0CS
T0SE
PSA
PS2
PS1
PS0
1111 1111
1111 1111
85h
TRISIO
---
---
TRISIO5
TRISIO4
TRISIO3
TRISIO2
TRISIO1
TRISIO0
- - 11 1111
- - 11 1111
Legenda:
Registr modulu Timer0
x – neznámá hodnota
- neimplementováno, pĜi þtení ‚0‘
BuĖky stínované šedou barvou nemají pro Timer0 význam.
© 2003 Microchip Technology Inc.
u – nezmČnČno
PIC12F629/675
Periferie
31
5.0. Modul Timer1 s možností ovládání vnČjším vývodem
Mikropoþítaþ PIC12F629 má implementován vnitĜní þítaþ/þasovaþ Timer1. Na obrázku 5-1 je znázornČno blokové zapojení
tohoto þítaþe. Modul Timer1 má následující vlastnosti:
x
16bitový þítaþ/þasovaþ tvoĜí registry TMR1H a TMR1
x
do obou registrĤ lze zapisovat nebo lze þíst jejich obsah
x
Je možné volit vnČjší nebo vnitĜní zdroj hodinového signálu
x
þítaþ/þasovaþ mĤže pracovat buć v synchronním nebo v asynchronním režimu
x
žádost o pĜerušení lze vyvolat pĜeteþením þítaþe/þasovaþe z hodnoty 0xFFFF na 0x0000
x
v asynchronním režimu lze pĜeteþením þítaþe/þasovaþe vyvolat probuzení ze stavu Sleep
x
þítaþ/þasovaþ je možné ovládat pomocí vnČjšího vývodu T1G
x
Zdrojem hodinového signálu pro þítaþ/þasovaþ mĤže být LP oscilátor mikropoþítaþe
ěídící registr þítaþe/þasovaþe T1CON je popsán na obrázku 5-3. V tomto registru lze povolit nebo zakázat þinnost
þítaþe/þasovaþe Timer1 a nastavit jeho vlastnosti.
Poznámka:
TM
Další informace o þítaþi/þasovaþi lze nalézt v dokumentu PICmicro
(DS33023).
Mid-Range Reference Manual
Obrázek 5 – 1: Blokové schéma modulu Timer1
5.1.
Pracovní režimy modulu Timer1
ýítaþ/þasovaþ Timer1 mĤže pracovat ve tĜech rĤzných režimech:
x
16bitový þasovaþ s pĜeddČliþkou
x
16bitový synchronní þítaþ
x
16bitový asynchronní þítaþ
V režimu þasovaþe je Timer1 inkrementován v každém instrukþním cyklu. V režimu þítaþe je Timer1 inkrementován s každou
nábČžnou hranou na vnČjším hodinovém vstupu T1CKI. Tato inkrementace je v režimu þítaþe bućto synchronizována
s instrukþními cykly mikropoþítaþe nebo probíhá nezávisle na vnitĜním hodinovém signálu.
V režimu þasovaþe i v obou režimech þítaþe lze inkrementaci Timer1 ovládat hradlem pomocí vnČjšího signálu na vstupu
T1G .
Pokud je potĜeba využít pro þítaþ/þasovaþ vnČjší zdroj hodinového signálu, mĤže jím být taktovací oscilátor mikropoþítaþe
konfigurovaný pro LP oscilátor. Jde o variantu, jejíž uplatnČní pĜipadá v úvahu jestliže je mikropoþítaþ taktován vnitĜním
oscilátorem a jeho výstup na vývod OSC2 je zakázán.
Poznámka:
První aktivní nábČžná hrana taktovacího signálu je v režimu þítaþe považována taková hrana, pĜed níž již
þítaþ registroval hranu sestupnou.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
5.2.
32
PĜerušení pomocí modulu Timer1
Dvojice registrĤ TMR1H a TMRL zvČtšuje svĤj obsah o jedniþku až do hodnoty 0xFFFF a následnČ pĜeteþe na hodnotu
0x0000. PĜeteþením je nastaven pĜíznakový bit pĜerušení TMR1IF od þítaþe/þasovaþe Timer1 (PIR1<0>). Pro povolení
pĜerušení od þítaþe/þasovaþe Timer1 je nutné nastavit následující bity:
x
bit povolení pĜerušení od þítaþe/þasovaþe Timer1 (PIE1<0>)
x
bit povolení pĜerušení od periferií (INTCON<6>)
x
bit všeobecného povolení pĜerušení GIE (NTCON<7>)
PĜíznak pĜerušení TMR1IF je nutné softwarovČ nulovat v rutinČ obsluhy pĜerušení.
Poznámka :
5.3.
Dvojici registrĤ TMR1H a TMR1L vþetnČ pĜíznakového bitu TMR1IF je vhodné nulovat dĜíve, než dojde
k povolení pĜerušení od pĜeteþení þítaþe/þasovaþe Timer1.
PĜeddČliþka þasovaþe Timer1
PĜeddČliþka þasovaþe Timer1 má þtyĜi volitelné dČlicí pomČry. Taktovací signál mĤže být dČlen jednou, dvČmi, þtyĜmi nebo
osmi. DČlicí pomČr Ĝídí bity T1CKPS0 a T1CKPS1 (T1CON<5:4>). Obsah pĜeddČliþky nelze þíst a nelze do ní ani zapisovat.
K nulování dochází vždy pĜi zápisu do registrĤ TMR1H nebo TMR1L.
Obrázek 5 – 2: ýasový prĤbČh pĜi inkrementaci Timer1
Poznámky:
1: Šipky oznaþují okamžik inkrementace þítaþe/þasovaþe.
2: V režimu þítaþe musí být pĜed první aktivní nábČžnou hranou zaregistrována sestupná hrana
taktovacího signálu.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
33
Obrázek 5 - 3: Registr T1CON – Ĝídící registr modulu Timer1 (adresa 10h)
U–0
---
R/W – 0
R/W – 0
TMR1GE
R/W – 0
T1CKPS1
T1CKPS0
R/W – 0
R/W – 0
T1OSCEN
T1SYNC
R/W – 0
R/W – 0
TMR1CS
bit 7
TMR1ON
bit 0
bit 7
Neimplementován. ýte se jako ‚0‘
bit 6
TMR1GE: Povolení ovládat TMR1 pomocí vnČjšího vstupu
TMR1ON = 0 ĺ bit je ignorován
TMR1ON = 1
bit 5 – 4
- 1 = jenpĜi stavu log0 navnČjším vývodu T1G je spuštČn Timer1
- 0 = Timer1 je spuštČn vždy
T1CKPS1:T1CKPS0: volba dČlicího pomČru pĜeddČliþky vĤþi þasovaþi
11 = dČlicí pomČr 1:8
10 = dČlicí pomČr 1:4
01 = dČlicí pomČr 1:2
00 = dČlicí pomČr 1:1
bit 3
T1OSCEN: volba oscilátoru mikropoþítaþe typu LP jako zdroje hodin pro Timer1
mikropoþítaþ je taktován vnitĜním oscilátorem (INTOSC) bez výstupu na vývod OSC2 (zakázán CLKOUT):
1 = LP oscilátor je použit pro hodinový signál þítaþe/þasovaþe Timer1
0 = LP oscilátor je vyĜazen
pĜi jiných konfiguracích takt. osc.: bit je ignorován
bit 2
T1SYNC : Ĝídící bit synchronizace s instrukþními cykly
podmínČno nastavením bitu TMR1CS
TMR1CS = 1
1 = nesynchronizovat vnČjší hodinový signál s instrukþními cykly
0 = synchronizovat
TMR1CS = 0
Bit je ignorován a modul Timer1 je inkrementován podle vnitĜního taktovacího oscilátoru
TMR1CS: bit výbČru zdroje hodinového signálu modulu Timer1
1 = vnČjší (nábČžná hrana signálu na vývodu T1CKI)
0 = vnitĜní ( taktovací frekvence Fosc/4)
TMR1ON: zapnutí modulu Timer1
1 = Timer1 je zapnut
0 = Timer1 je vypnut
bit 1
bit 0
Význam:
R = bit pro þtení
n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
5.4.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
Modul Timer1 v režimu asynchronního þítaþe
Jestliže je nastaven bit T1SYNC (T1CON<2>), nedochází k synchronizaci vnČjšího taktovacího signálu, podle kterého probíhá
inkrementace þítaþe Timer1, s instrukþními cykly mikropoþítaþe. Inkrementace probíhá nezávisle na taktovacím kmitoþtu
mikropoþítaþe. ýítání mĤže pokraþovat i v režimu Sleep a pĜeteþení þítaþe/þasovaþe Timer1 mĤže vyvolat pĜerušení, které
zpĤsobí probuzení procesoru. PĜi tvorbČ programu pracujícího s Timer1 je nutno respektovat urþité vlastnosti tohoto þítaþe,
popsané v kapitole 5.4.1.
Poznámka:
Pokud je zapotĜebí použít pro þítaþ/þasovaþ Timer1 digitální vstup na vývodu mikropoþítaþe, musí být
nastaveny registry ANSEL (adresa 9Fh) a CMCON (adresa 19h). Po resetu jsou vývody nastaveny
jako analogové a pĜi jejich þtení je výsledný stav log ‚0‘. Registr ANSEL má význam jen pro mikropoþítaþ
PIC12F675.
5.4.1. ýtení a zápis do registrĤ modulu Timer1 v režimu asynchronního þítaþe
PĜi þtení obsahu registrĤ TMR1H nebo TMR1L je hardwarovČ zajištČno bezpeþné vyþtení jejich obsahu i v dobČ, kdy je þítaþ
v chodu. Je nutné poþítat s tím, že úplná šestnáctibitová hodnota þítaþe je sestavena pĜi postupném þtení obsahu dvou
osmibitových registrĤ. Ke þtení nedochází pochopitelnČ ve stejný okamžik a ještČ pĜed dokonþením operace mĤže dojít
k pĜeteþení nČkterého z nich. Timer1 mĤže tedy zmČnit svĤj obsah i mezi tČmito dvČma þteními.
BČhem zápisu do registrĤ TMR1H a TMR1L by mČlo být zastaveno þítání. V opaþném pĜípadČ mĤže snadno nastat konflikt dat
v registrech. Pokud by došlo k zápisu do nČkterého z registrĤ Timer1 v dobČ inkrementace þítaþe/þasovaþe, mohou se
nežádoucím zpĤsobem nastavit registry þítaþe.
ýtení 16bitového obsahu registrĤ musí být provádČno preciznČ. Správný postup þtení a zápisu do registrĤ Timer1 jsou
TM
uvedeny jako pĜíklady 12-2 a 12-3 v dokumentaci PICmicro Mid-Range MCU Family Reference Manual (DS33023).
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
34
5.5.
VnČjší oscilátor pro Timer1
VnČjší oscilátor lze pĜipojit mezi vývody OSC1 (vstup) a OSC2 (výstup). PĜed použitím oscilátoru musí být nastaven Ĝídící bit
T1OSCEN (T1CON<3>). Jedná se o oscilátor LP s nízkou spotĜebou, který pracuje do kmitoþtu 37 kHz. Oscilátor je v
þinnosti i bČhem režimu Sleep a je pĜednostnČ urþen pro kmitoþet 32 kHz. V tabulce 9-2 jsou uvedeny velikosti kondenzátorĤ,
které mohou být pĜipojeny k LP oscilátoru.
LP oscilátor lze použít buć pro Timer1 nebo jako taktovací oscilátor mikropoþítaþe. Modul Timer1 tedy mĤže spolupracovat s
tímto oscilátorem jedinČ tehdy, když je taktovací signál mikropoþítaþe odvozen z frekvence vnitĜního RC oscilátoru. StejnČ jako
v pĜípadČ taktování mikropoþítaþe prostĜednictvím LP oscilátoru musí uživatel zajistit prostĜednictvím programu þasovou
prodlevu pro bezpeþný rozbČh oscilátoru.
Ve stavu, kdy je þinnost LP oscilátoru povolena, jsou bity TRISIO4 a TRISIO5 nastaveny, bity GP4 a GP5 jsou þteny jako ‚0’ a
bity TRISIO4 a TRISIO5 jsou þteny jako ‚1’.
Pro oscilátor LP je nutno zajistit rozbČhovou a stabilizaþní prodlevu. Po nastavení Ĝ ídícího bitu T1OSCEN
je tedy nezbytné zajistit programové zpoždČní dĜíve, než dojde k zapnutí TMR1.
Poznámka:
5.6.
Modul Timer1 bČhem režimu Sleep
Modul Timer1 lze používat bČhem režimu Sleep pouze jako asynchronní þítaþ. Inkrementace Timer1 mĤže být v tomto režimu
vyvolána buć vnČjším hodinovým signálem nebo vnČjším krystalovým oscilátorem. Aby došlo pĜi pĜeteþení þítaþe/þasovaþe
Timer1 k probuzení z režimu Sleep, musí být:
x
þítaþ/þasovaþ Timer1 aktivní - nastavením bitu TMR1ON (T1CON<0>)
x
nastaven bit TMR1IE, povolující pĜerušení pĜeteþením Timer1 (PIE<1>)
x
nastaven bit PEIE, povolující pĜerušení od periferií (INTCON<6>)
Mikropoþítaþ bude probuzen z režimu Sleep pĜi pĜeteþení modulu Timer1. V pĜípadČ, ze je nastaven bit GIE, povolující
všeobecné pĜerušení (INTCON<7>), spustí se po probuzení rutina pĜerušení na adrese 0004h. V opaþném pĜípadČ je
vykonána instrukce, následující po instrukci SLEEP.
Tabulka 5 – 1: Registry, které mají vztah k modulu þítaþe/þasovaþe Timer1
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Hodnota Hodnota na
na: POR, ostatních
BOD
RESET
0Bh/8Bh
INTCON
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
0000 0000
0Ch
PIR1
EEIF
ADIF
---
---
CMIF
---
---
TMR1IF
00- - 0– 0-
00- - 0- 0-
0Eh
TMR1L
Pracovní registr pro spodních osm bitĤ registru TMR1
xxxx xxxx
uuuu uuuu
0Fh
TMR1H
Pracovní registr pro horních osm bitĤ registru TMR1
xxxx xxxx
uuuu uuuu
10h
T1CON
000 0000
- uuu uuuu
8Ch
PIE1
00- - 0- -0
00- - 0- - 0
Legenda:
---
TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
EEIE
ADIE
---
---
CMIE
---
TMR1CS TMR1ON
---
x – neznámá hodnota
- neimplementováno, pĜi þtení ‚0‘
BuĖky stínované šedou barvou nemají pro TIMER1 význam.
© 2003 Microchip Technology Inc.
TMR1IE
0000 000u
u – nezmČnČno
PIC12F629/675
Periferie
35
6.0. Komparátor
Mikropoþítaþ PIC12F629/675 je vybaven jedním analogovým komparátorem. Pro vstup komparátoru jsou vyhrazeny vývody
GP0 a GP1.
Na vstup komparátoru lze pĜipojit vnitĜní napČĢovou referenci. Vývod GP2 mĤže být konfigurován jako výstup komparátoru.
ěídící registr CMCON a Ĝídící bity komparátoru jsou popsány na obrázku 6-1.
Obrázek 6 – 1: ěídící registr komparátoru CMCON (adresa 19h)
U–0
R–0
U–0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
---
COUT
---
CINV
CIS
CM2
CM1
CM0
bit 7
bit 0
bit 7
Neimplementován, þten jako ‚0‘
bit 6
COUNT: bit výstupu komparátoru
pro CINV = 0: 1 = VIN+ > VIN0 = VIN+ < VINpro CINV = 1: 1 = VIN+ < VIN0 = VIN+ > VIN-
bit 5
Neimplementován, þten jako ‚0‘
bit 4
CINV: Ĝídící bit pro negaci výstupu
1 = výstup komparátoru je negován
0 = výstup komparátoru není negován
bit 3
CIS: Ĝídící bit pĜepínání invertujícího vstupu
v pĜípadČ, že bity CM2:CM0 jsou nastaveny jako 110 nebo 101
1 = invertující vstup komparátoru je pĜipojen na vývod GP0/CIN+
0 = invertující vstup komparátoru je pĜipojen na vývod GP1/CIN-
bit 2 – 0
CM2:CM0: bity režimu komparátoru
Na obrázku 6-3 jsou zachyceny všechny režimy komparátoru odpovídající dostupným kombinacím.
Význam:
R = bit pro þtení
n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
6.1.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
ýinnost komparátoru
Obrázek 6-2 zobrazuje schématickou znaþku komparátoru, sestávajícího z jediného operaþního zesilovaþe. Dále jsou na
obrázku znázornČny prĤbČhy signálu na analogových vstupech a digitálním výstupu. Pokud je napČtí na neinvertujícím vstupu
VIN+ menší než na invertujícím vstupu VIN- ,výstup komparátoru je v logické ‚0'. Pokud je napČtí na neinvertujícím vstupu VIN+
vČtší než na invertujícím vstupu VIN, výstup komparátoru je v logické ‚1'. K pĜeklopení výstupu nedojde v nekoneþnČ krátkém
þase. RovnČž pokud jsou si vstupní napČtí témČĜ rovna, nemusí být výstup komparátoru vždy stabilní. Stínovaná oblast grafu
pĜedstavuje dobu, po kterou nemá výstup komparátoru platnou hodnotu.
Poznámka :
Aby bylo možno použít vývody GP1/CIN- a GP0/CIN+ jako analogové vstupy, musí být nastaveny
pĜíslušné bity v registru CMCON (adresa 19h).
Výstup komparátoru mĤže být negován nastavením Ĝídícího bitu CINV (CMCON<4>). Nulování tohoto bitu nastavuje
neinvertovaný výstup. Celkový pĜehled chování výstupu komparátoru v závislosti na vstupech a nastavení Ĝídícího bitu CINV je
uveden v tabulce 6-1.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
36
Tabulka 6 – 1: Závislost výstupu komparátoru na vstupních podmínkách
Vstupní podmínky
CINV
COUT
VIN+ < VIN-
0
0
VIN+ > VIN-
0
1
VIN+ < VIN-
1
1
VIN+ > VIN-
1
0
Obrázek 6 – 2: Jednoduchý komparátor
Poznámka:
6.2.
Ĝídící bit pro negaci výstupu CINV je ‚0'
Konfigurace komparátoru
Komparátor má celkem 8 rĤzných konfigurací. Konfigurace se nastavuje Ĝídícími bity v registru CMCON. Na obrázku 6-3 je
uvedeno zapojení komparátoru pro všech osm konfigurací. Vývody, které používá komparátor v rĤzných konfiguracích, je
nutné ošetĜit rovnČž v registru TRISIO. Jde o registr, který nastavuje vstupní nebo výstupní charakter vývodu. PĜi zmČnČ
konfigurace komparátoru není po urþitou dobu zaruþena platná hodnota na výstupu komparátoru. Podrobnosti jsou uvedeny v
kapitole 12.0.
Poznámka :
PĜi zmČnČ druhu konfigurace je nezbytné zakázat pĜerušení od komparátoru. V opaþném pĜípadČ mĤže
nastat pĜi zmČnČ nežádoucí pĜerušení, zpĤsobené nedefinovanými hodnotami.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
37
Obrázek 6 – 3: Pracovní režimy komparátoru
Komparátor bez výstupu, v nitĜní referencí a pĜepínaným vstupem
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
6.3.
38
Omezení pĜi pĜipojování analogového vstupu
Obrázek 6-4 zachycuje zjednodušené schéma analogového vstupu komparátoru. Analogový vstup je opatĜen dvojicí
ochranných diod, zapojených proti napájecímu napČtí. Vstupní napČtí tedy musí být nejvýše v rozsahu napájecího napČtí.
Pokud dojde k pĜekroþení tohoto rozsahu o více než 0,6 V, odpovídající dioda se otevĜe a vstup bude zkratován proti
pĜíslušnému napájecímu vodiþi. VnitĜní odpor zdroje signálu by nemČl pĜesáhnout 10kȍ. PĜipojení jakékoli vnČjší souþástky kondenzátoru nebo Zenerovy diody - vyvolá vznik malého svodového proudu, vytékajícího z vývodu do zemČ.
Obrázek 6 – 4: Náhradní schéma analogového vstupu
Legenda:
6.4.
CPIN = parazitní kapacita vstupu
VT = tnapČtí v propustném smČru ochranné diody
ILEAKAGE = parazitní svodový proud zpĤsobený závČrným proudem rĤzných PN pĜechodĤ
RIC = celkový odpor mezi vývodem mikroprocesoru a vstupem komparátoru
Rs = vnitĜní impedance zdroje signálu
VA = napČĢový zdroj analogového signálu
Výstup komparátoru
Výstup komparátoru je tvoĜen bitem COUT v registru CMCON. Tento bit je možné pouze þíst, nikoli nastavovat. Výstup mĤže
být rovnČž, ve tĜech z osmi kombinací, pĜipojen na vývod GP2. Podrobnosti byly uvedeny dĜíve. PĜi pĜímém pĜipojení na vývod
GP2 není výstup komparátoru synchronizován s vnitĜním taktovacím signálem mikropoþítaþe. Blokové schéma výstupu
komparátoru je popsáno na obrázku 6-5. Pokud je výstup komparátoru zapojen na vývod GP2, má bit TRISIO(2) v registru TRISIO
stejný význam jako povolení/zákaz výstupu na vnČjší vývod.
Poznámky:
1: PĜi þtení registru GPIO jsou všechny bity, pĜiĜazené vývodĤm s konfigurací analogových vstupĤ, þteny
vždy ‚0'. Z vývodĤ, konfigurovaných jako digitální vstupy, je analogový signál naþten v souladu se
vstupními úrovnČmi logiky TTL.
2: Analogové napČtí, pĜivedené na kterýkoli vývod, konfigurovaný jako digitální vstup, mĤže mít za
následek zvýšení vstupního proudu nad úroveĖ odpovídající urþené úrovni logických obvodĤ.
Obrázek 6 – 5: Blokové schéma zapojení logiky výstupu komparátoru
6.5.
NapČĢová reference komparátoru
Na jeden ze vstupĤ komparátoru mĤže být pĜipojena volitelná vnitĜní napČĢová reference. Tuto referenci lze využít ve þtyĜech z
osmi možných konfigurací komparátoru. VnitĜní zapojení napČĢové reference je popsáno na obrázku 6-6 a na obrázku 6-7 je
zobrazen Ĝídící registr VRCON.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
39
6.5.1. Nastavení vnitĜní napČĢové reference
Na výstupu napČĢové reference mĤže být celkem 32 rĤzných napČĢových úrovní, z nichž je 16 v nižším a 16 ve vyšším
rozsahu. Výstupní napČtí je dáno vztahem:
pro VRR = 1 (nižší rozsah)
pro VRR = 0 (vyšší rozsah)
CVREF = VDD *(VR3:VR0)/24
CVREF = VDD/4 + VDD*(VR3:VR0)/32
6.5.2. PĜesnost napČĢové reference
VnitĜní konstrukce modulu napČĢové reference neumožĖuje dosáhnout plynulého nastavení referenþního napČtí v rozsahu
celého napájecího napČtí. Tranzistory na zaþátku a konci odporové sítČ udržují CVREF v závislosti na velikosti VDD resp. VSS.
Referenþní napČtí je odvozeno od napájecího napČtí VDD a tedy každé zakolísání nebo zvlnČní napájecího napČtí se projeví i
na napČtí referenþním. Podrobnosti jsou uvedeny v kapitole 12.0.
Obrázek 6 – 6: Blokové schéma napČĢové reference komparátoru
6.6.
Reakþní doba komparátoru
Doba reakce komparátoru je nejkratší doba, nutná k ustálení pomČrĤ po volbČ nové napČĢové reference nebo po pĜipojení
nového zdroje signálu. Teprve po jejím uplynutí je výstup komparátoru považován za platný. Po zmČnČ nastavení napČĢové
reference je nezbytné softwarovČ zajistit zpoždČní mezi touto zmČnou a použitím výstupu komparátoru. Minimální prodleva
musí trvat alespoĖ po dobu reakce komparátoru, uvedenou v tabulce 12-7.
6.7.
ýinnost komparátoru v režimu Sleep
Komparátor i modul napČĢové reference mohou bČhem režimu Sleep pracovat pouze za pĜedpokladu, že jsou pĜed uvedením
do režimu Sleep povoleny. Vedlejším úþinkem þinnosti obou modulĤ je vyšší odbČr v režimu Sleep než odpovídá specifikaci.
Zvýšení odbČru je popsáno samostatnČ. Minimalizaci spotĜeby v režimu Sleep ovlivĖuje komparátor a
napČĢová reference, které lze vypnout bity CM2:CM0 = 111 (komparátor) a nulováním bitu VREN (VRCON<7>).
Pokud je komparátor zapnut bČhem režimu Sleep, pĜerušení pĜi zmČnČ jeho výstupu mikropoþítaþ probudí. PĜi probuzení z režimu
Sleep se obsah registrĤ CMCON a VRCON nezmČní.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
40
6.8.
DĤsledky signálu reset pro komparátor
Signál Reset nastavuje obsah registrĤ CMCON a VRCON do jejich inicializaþních hodnot po resetu. Modul komparátoru bude
nastaven do stavu CM2:CM0 = 000 a modul napČĢové reference bude vypnut. Všechny vstupy mají charakter analogových
vstupĤ. Oba moduly v tomto stavu odebírají nejmenší možný proud.
Obrázek 6 – 7: ěídící registr napČĢové reference – VRCON (adresa 99h)
R/W – 0
U–0
VREN
R/W – 0
---
VRR
R/W – 0
R/W – 0
---
R/W – 0
VR3
R/W – 0
VR2
R/W – 0
VR1
VR0
bit 7
bit 0
bit 7
VREN: bit povolení napČĢové reference
1 = napČĢová reference zapnuta
0 = napČĢová reference vypnuta (proud není odebírán)
bit 6
Neimplementován. ýten jako ‚0‘
bit 5
VRR: bit volby rozsahu napČĢové reference CVREF
1 = nižší rozsah
0 = vyšší rozsah
bit 4
bit 3 - 0
Neimplementováno. PĜi þtení ‚0‘
VR3:VR0: bit výbČru referenþního napČtí (0”VR”15)
VRR = 1: CVREF = VDD*(VR3:VR0/24)
VRR = 0: CVREF = VDD/4 + VDD*(VR3:VR0/32)
Význam:
R = bit pro þtení
n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
6.9.
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
W = bit pro zápis
1 = bit je nastaven
PĜerušení od komparátoru
PĜíznak pĜerušení od komparátoru CMIF je hardwarovČ nastaven vždy, když dojde ke zmČnČ na výstupu komparátoru. PĜed
povolením pĜerušení od komparátoru je nezbytné softwarovČ zjistit aktuální hodnoty bitu COUT (CMCON<6>), které urþují, zda
pĜi vyvolaném pĜerušení od komparátoru došlo ke zmČnČ na výstupu COUT z log ‚1‘ do log ‚0‘ nebo naopak. PĜíznakem
pĜerušení je bit CMIF(PIR1<3>). PĜed povolením pĜerušení je nezbytné tento bit softwarovČ nulovat, stejnČ jako bČhem rutiny
obsluhy pĜerušení. Nastavením tohoto bitu do log ‚1' mĤžeme simulovat pĜerušení od komparátoru.
PĜerušení je povoleno až po nastavení maskovacího bitu pĜerušení od komparátoru CMIE (PIE1<3>) a bitu pĜerušení od
periferií PEIE (INTCON<6>). NáslednČ je nutné povolit všeobecné pĜerušení nastavením bitu GIE. PĜerušení od komparátoru
nemĤže probČhnout v pĜípadČ, že je kterýkoli bit nulován. Bez ohledu na povolení nebo zákaz pĜerušení dojde k nastavení bitu
CMIF vždy, když jsou splnČny podmínky pĜerušení.
Uživatel mĤže pomocí rutiny obsluhy pĜerušení obslou žit žádost o pĜerušení následujícím zpĤsobem:
a)
libovolným þtením nebo zápisem do registru CMCON ukonþí žádost o pĜerušení od komparátoru
b)
nulováním bitu CMIF ukonþí pĜíznak pĜerušení
Žádost o pĜerušení trvá po zmČnČ na výstupu komparátoru do té doby, dokud nedojde ke þtení nebo zápisu do registru
CMCON. Po celou tuto dobu je také neustále nastavován pĜíznak pĜerušení od komparátoru CMIF. Teprve po zapsání (þtení)
do registru CMCON je hardwarovČ umožnČno nulování pĜíznaku CMIF.
Pokud zmČna bitu COUT v registru CMCON nastane bČhem instrukce þtení (poþínaje zaþátkem druhého
taktu instrukþního cyklu Q2), nemusí dojít k nastavení pĜíznaku pĜerušení od komparátoru CMIF
(PIR1<3>).
Poznámka :
Tabulka 6 – 2> Registry, které mají vztah k modulu komparátoru
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Hodnota Hodnota po
po: POR, ostatních
RESET
BOD
0Bh/8Bh
INTCON
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
0000 0000
0Ch
PIR1
EEIF
ADIF
---
---
CMIF
---
---
TMR1IF
00- - 0– 0-
0000 000u
00- - 0- 0-
19h
CMCON
---
COUT
---
CINV
CIS
CM2
CM1
CM0
- 0- 0 0000
- 0- 0 0000
8Ch
PIE1
EEIE
ADIE
---
---
CMIE
---
---
TMR1IE
00- - 0- -0
00- - 0- - 0
85h
TRISIO
---
---
TRISIO5
TRISIO4
TRISIO3
TRISIO2
TRISIO1
TRISIO0
- - 11 1111
- - 11 1111
99h
VRCON
VREN
---
VRR
---
VR3
VR2
VR1
VR0
0- 0- 0000
0- 0- 0000
Legenda:
x – neznámá hodnota
- neimplementováno, pĜi þtení ‚0‘
BuĖky stínované šedou barvou nemají pro komparátor význam.
© 2003 Microchip Technology Inc.
u – nezmČnČno
PIC12F629/675
Periferie
41
7.0. AnalogovČ digitální pĜevodník (pouze u PIC12F675)
AnalogovČ digitální pĜevodník (dále v textu jako A/D pĜevodník) pĜevádí analogový vstupní signál na binární þíslo o šíĜce 10
bitĤ. Mikropoþítaþ PIC 12F675 má celkem þtyĜi analogové vstupy na þtyĜech rĤzných vývodech, které lze pĜepínat pomocí
analogového multiplexeru na vstupní vzorkovací kondenzátor A/D pĜevodníku. NapČtí na vzorkovacím kondenzátoru sleduje
vstupní napČtí. PĜi zahájení A/D pĜevodu je vzorkovací kondenzátor odpojen od vstupu a pĜipojen na vstup A/D pĜevodníku.
PĜevod probíhá metodou postupné aproximace, pĜi které je v každém kroku zjištČna hodnota jednoho bitu poþínaje nejvyšším
bitem. Zdrojem referenþního napČtí pro A/D pĜevod mĤže být buć napájecí napČtí VDD nebo vnČjší referenþní napČtí pĜivedené
na vývod VREF. Blokové schéma A/D pĜevodníku je uvedeno na obrázku 7-1.
Obrázek 7 – 1: Blokové schéma A/D pĜevodníku
7.1.
Nastavení a funkce A/D pĜevodníku
A/D pĜevodník je ovládán prostĜednictvím dvou registrĤ:
x
ADCON0 (popsán na obrázku 7–3)
x
ANSEL (popsán na obrázku 7-4)
7.1.1. Vývody pro pĜipojení analogového signálu
Analogové vývody jsou ovládány bity ANS3:ANS0 (ANSEL<3:0>) a pĜíslu š nými bity v registru TRISIO. Nastavení Ĝídícího bitu
registru TRISIO do log ‚1‘ pĜiĜazuje vývodu funkci vstupu (režim vysoké impedance). ObdobnČ se nastavuje odpovídající bit v
registru ANSEL do log ‚1' a tím se zajišĢuje vývodu funkce analogového vstupu.
Poznámka :
Analogové napČtí, pĜivedené na kterýkoli vývod, konfigurovaný jako digitální vstup, mĤže vyvolat jiné
proudové pomČry oproti specifikaci.
7.1.2. VýbČr kanálu A/D pĜevodníku
Mikropoþítaþ PIC12F675 má pro A/D pĜevodník k dispozici þtyĜi analogové vstupy, znaþené AN0, AN1, AN2, AN3. Volba
jednoho z nich se provádí bity CHS1:CHS0 (ADCON0<3:2>). Zvolený vstupní vývod je následnČ pĜipojen na vzorkovací
kondenzátor A/D pĜevodníku.
7.1.3. NapČĢová reference
NapČĢovou referencí mĤže být napájecí napČtí VDD nebo vnČjší analogové napČtí, pĜivedené na vývod VREF. Volba zdroje
referenþního napČtí se provádí nastaveném bitu VCFG (ADCON0<6>). Pokud je tento bit nastaven, je zdrojem referenþního
signálu napČtí na vývodu VREF, v opaþném pĜípadČ je referencí napájecí napČtí.
7.1.4. ýasování AD pĜevodu
Kompletní A/D pĜevod vyžaduje celkem jedenáct þasových cyklĤ oznaþených jako TAD. Doba tohoto cyklu mĤže být odvozena
od taktovacího oscilátoru nebo od vnitĜního RC oscilátoru. Nastavením bitĤ ADCS2:ADCS0 (ANSEL<6:4>) je zvolen jeden ze
sedmi druhĤþasování A/D pĜevodu:
x
Fosc / 2
x
Fosc / 4
x
Fosc / 8
x
Fosc / 16
x
Fosc / 32
x
Fosc / 64
x
FRC (odvozeno od vnitĜního RC oscilátoru A/D pĜevodníku)
PĜevod probČhne správnČ tehdy, když zvolená doba pĜevodu zajišĢuje trvání TAD alespoĖ 1,6 μs. V tabulce 7-1 je popsán
výpoþet doby TAD pro nejþastČjší taktovací frekvence.
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
Tabulka 7-1:
42
Závislost doby TAD na taktovací frekvenci
ýasování A/D pĜevodu
Cyklus
2 Tosc
Taktovací frekvence mikropoþítaþe
DČlicí pomČr
20 MHz
000
4 Tosc
100
8 Tosc
001
100 ns
(2)
200 ns
(2)
400 ns
(2)
(2)
5 MHz
400 ns
(2)
800 ns
(2)
1,6 μs
1,6 μs
2,0 μs
6,4 μs
3,2 μs
4,0 μs
12,8 μs
(3)
25,6 μs
(3)
51,2 μs
(3)
800 ns
32 Tosc
010
1,6 μs
6,4 μs
64 Tosc
110
3,2 μs
12,8 μs
A/D RC
x11
VysvČtlivky:
Poznámky:
1,25 MHz
3,2 μs
101
(1, 4)
500 ns
(2)
1,0 μs
16 Tosc
2 – 6 μs
4 MHz
2 – 6 μs
(3)
(1, 4)
8,0 μs
(3)
16,0 μs
2 – 6 μs
(3)
(1, 4)
2 – 6 μs
(1, 4)
Stínované pole obsahují hodnoty mimo doporuþený rozsah.
1: PĜi použití vnitĜního RC oscilátoru je obvyklá doba TAD = 4 μs (VDD vČtší než 3,0 V)
2: Tyto hodnoty jsou menší než nejmenší požadovaná doba TAD
3: Hodnoty TAD jsou pĜíliš velké, je vhodné použít jiný dČlicí pomČr nebo RC oscilátor
4: Pro taktovací oscilátor s frekvencí vyšší než 1 MHz se doporuþuje použít zdroj þasování A/D pĜevodu z
vnitĜního RC oscilátoru pouze pro A/D pĜevod bČhem režimu Sleep.
7.1.5. Zahájení A/D pĜevodu
A/D pĜevod se spouští nastavením bitu GO/ DONE (ADCON<1>). Po dokonþení A/D pĜevodu dojde k:
x
x
x
nulování bitu GO/ DONE
nastavení pĜíznakového bitu pĜerušení od A/D pĜevodu ADIF (PIR<6>)
aktivaci pĜerušení (pokud je povoleno)
Probíhající A/D pĜevod lze pĜerušit programovČ nulováním bitu GO/ DONE . NáslednČ nedojde k aktualizaci registrĤ
ADRESH a ADRESL, obsahujících výsledek A/D pĜevodu. Nadále v nich tedy zĤstane uložen výsledek pĜedchozího A/D pĜevodu.
pĜerušeném A/D pĜevodu je pĜed aktivací dalšího vzorkování vyžadováno zpoždČní nejménČ 2 TAD. Po uplynutí této doby je
vzorkovací kondenzátor automaticky pĜipojen na pĤvodnČ zvolený analogový vývod.
Poznámka :
Bit GO/ DONE v registru ADCON0 nesmí být nastaven stejnou instrukcí, která v tomto registru bitem
ADON zapíná A/D pĜevodník.
7.1.6. Výsledek pĜevodu
Výstup A/D pĜevodníku je 10bitové binární þíslo a mĤže být ve dvou výstupních registrech zapsáno ve dvou formátech. Buć je
nejvýznamnČjší bit zapsán na krajní levou pozici registru ADRESH (tzv. Ĝazení zleva) nebo je nejménČ významný bit zapsán na
krajní pravou pozici registru ADRESL (tzv. Ĝazení zprava). Volba formátu se nastavuje bitem ADFM (ADCON0<7>). Oba
formáty jsou znázornČny na obrázku 7-2.
Obrázek 7 – 2: Formát výstupu A/D pĜevodu
© 2003 Microchip Technology Inc.
PIC12F629/675
Periferie
43
Obrázek 7 – 3: ěídící registr A/D pĜevodníku ADCON0 (adresa 1Fh)
R/W – 0
R/W – 0
U–0
U–0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
ADFM
VCFG
---
---
CHS1
CHS0
GO/ DONE
ADON
bit 7
bit 0
bit 7
ADFM: volba formátu výstupu A/D pĜevodu
1 = Ĝazení zprava
0 = Ĝazení zleva
bit 6
VCFG: volba zdroje referenþního napČtí
1 = vnČjší reference – na vnČjším vývodu VREF
0 = vnitĜní reference – napájecí napČtí VDD
bit 5 - 4
Neimplementován. PĜi þtení ‚0‘
bit 3 - 2
CHS1:CHS0: volba analogového vstupu
00 = 1. vstup A/D pĜevodníku na vývodu AN0
01 = 2. vstup A/D pĜevodníku na vývodu AN1
10 = 3. vstup A/D pĜevodníku na vývodu AN2
11 = 4. vstup A/D pĜevodníku na vývodu AN3
bit 1
GO/ DONE : Ĝídící bit A/D pĜevodníku
1 = probíhá pĜevod. Nastavením tohoto bitu do log ‚1' je pĜevod spuštČn. Bit je po dokonþení pĜevodu
automaticky nulován.
0 = pĜevod neprobíhá/byl dokonþen
bit 0
ADON: zapnutí A/D pĜevodníku
1 = pĜevodník je zapnutý
0 = pĜevodník vypnutý (bez odbČru proudu)
Obrázek 7 – 4: Registr volby analogových vstupĤ ANSEL (adresa 9Fh)
U–0
R/W – 0
R/W – 0
R/W – 0
R/W – 1
R/W – 1
R/W – 1
R/W – 1
---
ADCS2
ADCS1
ADCS0
ANS3
ANS2
ANS1
ANS0
bit 7
bit 0
bit 7
Neimplementován. PĜi þtení ‚0‘
bit 6 – 4
ADCS 2:ADCS0: volba zdroje þasování AD pĜevodu
000 = Fosc/2
001 = Fosc/8
010 = Fosc/32
x11 = FRC (þasování odvozeno od vnitĜního oscilátoru, max. 500 kHz)
100 = Fosc/4
101 = Fosc/16
110 = Fosc/64
bit 3 – 0
ANS3:ANS0: volba analogového režimu na vstupech pĜíslušných vývodĤ
1 = vývod je nastaven jako analogový vstup
0 = vývod je nastaven jako digitální vstup/výstup
Poznámka:
1: Nastavením vývodu jako analogového vstupu jsou souþasnČ automaticky zakázány režim digitálního
vstupu, použití pull-up rezistorĤ a pĜerušení zmČnou na vývodu. Odpovídající Ĝídící bit v registru TRISIO
musí být nastaven do vstupního režimu, aby napČtí na vývodu nebylo kromČ vnČjšího analogového
obvodu již niþím ovlivnČno.
Význam:
R = bit pro þtení
n = Hodnota po resetu (POR)
x = hodnota bitu je neznámá
© 2003 Microchip Technology Inc.
W = bit pro zápis
1 = bit je nastaven
U = nepoužitý bit, þteno jako ‚0‘
0 = bit je v '0'
PIC12F629/675
Periferie
7.2.
44
Požadavky na vzorkování A/D pĜevodníku
Maximální pĜesnosti dosahuje A/D pĜevodník v situaci, kdy je vzorkovací kondenzátor CHOLD nabit na skuteþnou úroveĖ
vstupního napČtí. Náhradní zapojení vstupního obvodu A/D pĜevodníku je uvedeno na obrázku 7-3. Impedance zdroje signálu
Rs a velikost vzorkovacího kondenzátoru CHOLD pĜímo ovlivĖují þasovou konstantu nabíjení vzorkovacího kondenzátoru
CHOLD. Odpor vzorkovacího spínaþe Rss je závislý na napájecím napČtí VDD, jak je uvedeno na obrázku 7-3. Nejvyšší
doporuþená impedance zdroje signálu je 10 kȍ. Pokud je tato impedance nižší, je kratší i RC konstanta vstupního
vzorkovacího obvodu. Po pĜipojení analogového vstupu na vzorkovací kondenzátor musí být dodržen þas jeho nabití na
hodnotu vstupního napČtí. Teprve po uplynutí vzorkovací doby dojde k ustálení napČtí na vzorkovacím kondenzátoru a je
zahájen A/D pĜevod.
Výpoþet nejkratší doby, nutné pro ustálení napČtí, lze provést podle rovnice 7-1. Vzorec pĜedpokládá maximální dovolenou
chybu 1/2 LSB. PĜi 10bitovém pĜevodu mĤžeme získat 1 hodnotu z 1024. Pro zajištČní pĜedepsaného rozlišení A/D pĜevodníku
je maximální povolená chyba právČ v rámci jedné poloviny nejnižšího bitu výsledku.
Výpoþet minimální vzorkovací doby je popsán také v dokumentu PICmicro™ Mid-Range Reference Manual (DS33023).
Rovnice 7 – 1: Vzorkovací doba
TACQ
TC
TACQ
Poznámky:
=
Doba ustálení zesilovaþe + Doba nabíjení kondenzátoru + Teplotní koeficient
=
TAMP + TC + TCOFF
=
2μs + TC + [(teplota -25°C)(0,05μs/°C)]
=
CHOLD (RIC + RSS + RS) ln(1/2047)
=
-120pF (1kȍ + 7kȍ + 10kȍ) ln(0,0004885)
=
2μs + 16,47 μs + [(50°C – 25°C)(0,05 μs/°C)]
=
19,72μs
1: Velikost referenþního napČtí nemá vliv na vzorkovací dobu.
2: Vzorkovací kondenzátor není vybíjen po ukonþení pĜevodu.
3: Nejvyšší doporuþená impedance zdroje vstupního signálu je 10kȍ. Pro tuto hodnotu jsou uvádČny
elektrické charakteristiky souþástky (zejména svodový proud vstupu).
Obrázek 7 – 3: Náhradní schéma analogového vstupu
=
Legenda:
7.3.
CPIN - parazitní kapacita vstupních vývodĤ
VT - napČtí v propustném smČru ochranné diody
ILEAKAGE - parazitní svodový proud zpĤsobený závČrným proudem rĤzných PN pĜechodĤ
RIC - celkový odpor mezi vývodem mikropoþítaþe a vstupem pĜevodníku
RS - vnitĜní impedance zdroje signálu
SS - vzorkovací spínaþ
CHOLD - vzorkovací kondenzátor
A/D pĜevod bČhem režimu Sleep
Modul A/D pĜevodníku mĤže pracovat i v režimu Sleep. PĜedpokladem je použití vnitĜního jednoúþelového RC oscilátoru pro
þasování pĜevodu. Po volbČ RC oscilátoru pĜevodník þeká na zahájení pĜevodu jeden instrukþní cyklus. BČhem této doby se
provede instrukce SLEEP a omezí vliv šumu, vzniklého rychlým pĜepínáním zátČží. Po dokonþení pĜevodu je nulován bit GO/ DONE
a výsledek je umístČn do registrĤ ADRESH a ADRESL. Je-li povoleno pĜerušení, dojde vzápČtí k probuzení z režimu Sleep.
Pokud pĜerušení povoleno není, modul A/D pĜevodníku se odpojí a mikropoþítaþ zĤstane v režimu Sleep i pĜes to, ž e je nastaven
ovládací bit ADON.
© 2003 Microchip Technology Inc.
PIC12F629/675
PamČĢ
45
Pokud je zdroj þasovacího signálu jiný než RC oscilátor, zpĤsobí instrukce SLEEP pĜerušení probíhajícího pĜevodu a vypnutí A/D
pĜevodníku. Ovládací bit ADON zĤstane nastaven.
7.4.
DĤsledek signálu Reset
Signál Reset vyvolá nastavení všech registrĤ do jejich inicializaþního stavu, vypnutí A/D pĜevodníku a pĜerušení pĜípadného
probíhajícího pĜevodu. Obsahy výsledkových registrĤ ADRESH a ADRESL se nemČní.
Tabulka 7 – 2: PĜehled registrĤ A/D pĜevodníku
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Hodnota Hodnota na
na: POR, ostatních
RESET
BOD
05h
GPIO
---
---
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
- - xx xxxx
- - uu uuuu
0Bh, 8Bh
INTCON
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
0000 0000
0000 000u
0Ch
PIR1
EEIF
ADIF
---
---
CMIF
---
---
TMR1IF
00- - 0- 0-
00- - 0- -0
1Eh
ADRESH
xxxx xxxx
uuuu uuuu
1Fh
ADCON0
85h
TRISIO
8Ch
PIE1
9Eh
ADRESL
9Fh
ANSEL
Legenda:
8 významnČjších bitĤ výsledku pĜi levém Ĝazení nebo 2 významnČjší bity pĜi pravém Ĝazení
ADFM
VCFG
---
---
CHS1
CHS0
GO
ADON
00- - 0000
00- - 0000
---
---
TRISIO5
TRISIO4
TRISIO3
TRISIO2
TRISIO1
TRISIO0
- - 11 1111
- - 11 1111
EEIE
ADIE
---
---
CMIE
---
---
TMR1IE
00- - 0- - 0
00- - 0- - 0
xxxx xxxx
uuuu uuuu
ANS0
- 000 1111
- 000 1111
2 MénČ významné bity výsledku pĜi levém Ĝazení nebo 8 pĜi pravém Ĝazení
---
ADCS2
ADCS1
ADCS0
ANS3
ANS2
ANS1
x – neznámá hodnota
- neimplementováno, pĜi þtení ‚0‘
BuĖky stínované šedou barvou nejsou použity.
© 2003 Microchip Technology Inc.
u – nezmČnČno
PIC12F629/675
PamČĢ
46
8.0. PamČĢ dat EEPROM
EEPROM je pamČĢ, která je pĜi bČžném provozu (v plném rozsahu napájecího napČtí) pĜístupná jak pro zápis, tak pro þtení.
Neexistuje pro ni pĜímé adresování, pĜístup je zajištČn prostĜednictvím speciálních funkþních registrĤ:
EECON1
EECON2 (není fyzicky implementován)
EEDATA
EEADR
EEDATA je pracovní registr, který obsahuje 8bitová data pro þtení a zápis. Registr EEADR funguje jako ukazatel pamČti
EEPROM. PamČĢ EEPROM mikropoþítaþe PIC12F629/675 má délku 128 bajtĤ a její adresovací rozsah je 0h – 7Fh.
Práce s pamČtí EEPROM probíhá po jednotlivých bajtech. PĜi zápisu bajtu dojde automaticky k vymazání dĜíve uloženého obsahu.
PamČĢ EEPROM je navržena pro velké množství opakovaných zápisĤ. Doba zápisu je odmČĜována vnitĜním þasovaþem a závisí na
napájecím napČtí, teplotČ a u jednotlivých þipĤ se liší. Bližší údaje jsou uvedeny v specifikaci v zadní þásti dokumentu.
Ochrana kódu proti vyþtení brání vnČjšímu programátoru v zápisu a þtení dat. Software mikropoþítaþe mĤže tyto þinnosti provádČt
bez omezení.
PodrobnČjší informace o pamČti EEPROM obsahuje dokument PICmicro™ Mid-Range Reference Manual s kódovým oznaþením
DS33023.
Obrázek 8 – 1: Datový registr EEDATA (adresa 9Ah)
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
EEDAT7
EEDAT6
EEDAT5
EEDAT4
EEDAT3
EEDAT2
EEDAT1
EEDAT0
bit 7
bit 7 – 0
bit 0
EEDATn: Bajtová pro þtení nebo zápis do EEPROM
Obrázek 8 – 2: Adresový registr EEADR (adresa 9Bh)
U–0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
R/W – 0
---
EADR6
EADR5
EADR4
EADR3
EADR2
EADR1
EADR0
bit 7
bit 7
Neimplementován. PĜi þtení 0.
bit 6 – 0
EEADR: Urþuje pro operaci þtení nebo zápisu jednu ze 128 pozic v EEPROM
bit 0
Význam:
R = bit pro þtení
W = bit pro zápis U = nepoužitý bit, þteno jako ‚0‘
n = Hodnota po resetu (POR) 1 = bit je nastaven 0 = bit je v '0'
x = hodnota bitu je neznámá
8.1.
Registr EEADR
EEADR je registr, který ur þuje jednu ze 128 bunČk pamČti EEPROM. Pro adresování využívá registr pouze sedm bitĤ (EEADR
<6:0>). Osmý, nejvyšší bit, zĤstává neimplementován.
Nulování horního bitu zaruþuje kompatibilitu s vyššími typy, které jsou vybaveny vČ tší datovou pamČtí EEPROM.
8.2.
Registry EECON1 a EECON2
ěídící registr EECON1 má fyzicky implementovány þtyĜi nižší bity, zatímco vyšší bity implementovány nejsou a pĜi þtení mají
hodnotu ‚0‘.
Bity RD a WR zahajují operaci þtení nebo zápisu. Nelze je nulovat, mohou být pouze softwarovČ nastaveny. Nulování probíhá na
hardwarové úrovni po dokonþení zápisu nebo þtení.
Zákaz softwarového nulování má zabránit nechtČnému nebo pĜedþasnému ukonþení zápisu do pamČti.
© 2003 Microchip Technology Inc.
PIC12F629/675
PamČĢ
47
Obrázek 8 – 3: ěídící registr EECON1 (adresa 9Ch)
U–0
U–0
U–0
R/W – 0
R/W – x
R/W – 0
R/S – 0
R/S – 0
---
----
---
---
WRERR
WREN
WR
RD
bit 7
bit 0
bit 7 – 4
Nepoužito, pĜi þtení ‚0‘
bit 3
WRERR: PĜíznak chyby pĜi zápisu do pamČti dat typu EEPROM
1 = zápis byl pĜedþasnČ ukonþen (jakýkoli reset MCLR nebo WDT ukonþil zápis)
0 = zápis byl ukonþen ĜádnČ
bit 2
WREN: Povolení zápisu do pamČti typu EEPROM
1 = zápis povolen
0 = zápis zakázán
bit 1
WR: ěídící bit pro zápis dat
1 = zahájení zápisu do EEPROM. Bit je hardwarovČ vynulován okamžitČ po skonþení zápisu. Bit WR mĤže být
pouze softwarovČ nastaven, nikoli vynulován.
0 = zápis do pamČti dat typu EEPROM byl dokonþen
bit 0
RD: ěídící bit pro þtení
1 = zahájení þtení z EEPROM. Bit je po ukonþení þtení hardwarovČ vynulován. Bit RD mĤže být pouze
softwarovČ nastaven, nikoli vynulován.
0 = nebylo aktivováno þtení z datové pamČti EEPROM
Význam:
R = bit pro þtení
W = bit pro zápis U = nepoužitý bit, þteno jako ‚0‘
n = Hodnota po resetu (POR) 1 = bit je nastaven 0 = bit je v '0'
x = hodnota bitu je neznámá
ýtení dat z pamČti EEPROM
8.3.
Data jsou naþtena z pamČti EEPROM až poté, co probČhne zápis adresy do adresového registru EEADR a nastavení Ĝídícího bitu
RD (EECON<0>). Celý postup je zachycen v pĜíkladu 8-1.
BČhem dalšího cyklu jsou již nové hodnoty k dispozici v registru EEDATA, takže je lze v následující instrukci naþítat. Obsah registru
EEDATA se do dalšího þtení nemČní, pokud nedojde k pĜepisu hodnoty (dalším zápisem do registru).
PĜíklad 8 – 1: ýtení dat z EEPROM
bsf
movlw
movwf
bsf
movf
STATUS, RP0
CONFIG_ADDR
EEADR
EECON1, RD
EEDATA, W
8.4.
;
;
;
;
;
Bank 0
adresa, ze které se má þítat
þti z EEPROM
naþti data do W
Zápis dat do pamČti EEPROM
Zápis na danou pozici pamČti EEPROM probČhne až po nastavení adresy v registru EEADR a uložení dat do registru EEDATA.
Dále je tĜeba provést následující proceduru:
PĜíklad 8 – 2: Zápis dat do EEPROM
bsf
bsf
bcf
movlw
movwf
movlw
movwf
bsf
bsf
STATUS, RP0
EECON1, WREN
INTCON, GIE
55h
EECON2
AAh
EECON2
EECON1,WR
INTCON,GIE
;
;
;
;
;
;
;
;
;
Bank 1
Povolení zápisu
zákaz pĜerušení
povol zápis
do EECON2
Zahájení zápisu
Povol pĜerušení
Pole, podložená šedou barvou, odlišují nezbytnČ nutnou instrukþní sekvenci, kterou je nutno dodržet. Chybí-li, operaci zápisu do
pamČti neprobČ hne. BČhem zápisu je nutné zakázat pĜerušení.
Bit povolení zápisu WREN chrání pĜed nežádoucím zápisem do pamČti, ke kterému mĤže dojít pĜi zabloudČní programu nebo
vykonání chybné instrukce. Mimo proces zápisu do EEPROM má mít bit nulovou hodnotu, ale její nastavení neprobíhá automaticky.
Jakmile došlo ke spuštČní zápisu, nulování bitu WREN již nemĤže ovlivnit probíhající operaci. Bit WR je až do nastavení bitu WREN
nepĜístupný.
Bit WR se nuluje hardwarovČ po dokonþení zápisu a místo nČj je nastaven pĜíznakový bit dokonþení zápisu EEIF. Pokud uživatel
nepovolí pĜerušení po dokonþení zápisu, mĤže stav zjišĢovat dotazem na pĜíznakový bit EEIF (PIR<7>). Bit EEIF se nuluje
softwarovČ.
© 2003 Microchip Technology Inc.
PIC12F629/675
PamČĢ
48
8.5.
OvČĜení zápisu
V nČkterých aplikacích bývá úþelné ovČĜit, zda skuteþnČ došlo k zápisu správných hodnot do pamČti EEPROM. Rutina ovČĜení je
popsána v pĜíkladu 8-3.
PĜíklad 8 – 3: OvČĜení zápisu
bcf
:
bsf
movwf
bsf
xorwf
btfss
goto
:
STATUS, RP0
;
;
;
;
;
;
;
;
;
;
STATUS, RP0
EEDATA, W
EECON1, RD
EEDATA, W
STATUS, Z
WRITE_ERR
Bank 0
libovolná þást programu
Bank 1.
þtení:
EEDATA se nemČní
proti minulému þtení
naþti do EEDATA zapsanou hodnotu
bajty jsou stejné?
ne, chyba zápisu
ano, pokraþuj
8.5.1. Použití pamČti EEPROM
Datová pamČĢ EEPROM je bajtovČ adresovatelný systém, navržený s ohledem na ukládání þasto mČnČných informací (programové
promČnné nebo jiné informace, které podléhají þasté zmČnČ). Naopak, jestliže nedochází k þasté zmČnČ obsahu pamČti, je nutné
provádČt obnovování dat. Proto jsou trvalé informace (konstanty, identifikátory, kalibrace apod.) uloženy v programové pamČti FLASH.
8.6.
Ochrana proti nežádoucímu pĜepsání
V nČkterých pĜípadech potĜebuje uživatel zabezpeþit datovou pamČĢ proti zápisu. Tuto ochranu zabezpeþuje nČkolik integrovaných
ochranných systémĤ. PĜi spuštČní dojde k nulování bitu WREN. Zápis není povolen ani bČhem prodlevy þasovaþe po spuštČní (trvá
72 ms).
ZavádČcí sekvence zápisu spoleþnČ s bitem WREN chrání pamČĢ proti nechtČnému zápisu v prĤbČhu:
x
poklesu napČtí
x
výpadku napájení
x
chyby programu
8.7.
PĜístup do EEPROM pĜi ochranČ kódu proti vyþtení
Ochrana datové pamČti probíhá prostĜednictvím bitu CPD, který je ve stavu aktivní ochrany nulován.
Procesor mĤže bez omezení þíst i zapisovat data do EEPROM i tehdy, pokud je nastavena ochrana proti vy þtení. Proto je vhodné
chránit proti vyþtení i pamČĢ programu. NemĤže potom dojít k nulování stávajícího kódu (který se potom vykoná jako prázdná
operace) a vytvoĜení rutiny v nevyužité programové pamČti, která následnČ pĜepíše obsah datové pamČti.
Nulování prázdných adres v pamČti také pomáhá chránit datovou pamČĢ pĜed narušením.
Tabulka 8 – 1: Registry a bity, které mají vztah k pamČti EEPROM
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
EEIF
ADIF
---
---
CMIF
---
---
TMR1IF
0Ch
PIR1
9Ah
EEDATA
9Bh
EEADR
---
9Ch
EECON1
---
9Dh
EECON2(1)
Datový registr pamČti EEPROM
Adresovací registr pamČti EEPROM
---
---
---
WRERR
WREN
WR
ěídící registr pamČti EEPROM
Legenda:
x – neznámá hodnota
- neimplementováno, pĜi þtení ‚0‘
BuĖky stínované šedou barvou nemají vztah k EEPROM.
Poznámky:
1: EECON2 není fyzický registr
© 2003 Microchip Technology Inc.
RD
Hodnota Hodnota na
na: POR, ostatních
BOD
RESET
00- - 0- 0-
00- - 0- -0
0000 0000
0000 0000
- 000 0000
- 000 0000
- - - - x000
- - - - q000
---- ----
---- ----
u – nezmČnČno
PIC12F629/675
Speciální vlastnosti
49
9.0. Speciální vlastnosti mikropoþítaþe
Mikropoþítaþ obsahuje prvky, které jsou navrženy s ohledem na þinnost zaĜízení v reálném þase. Tyto prvky pracují spolehlivČ i
v zapojení s minimálním množstvím periferií a zároveĖ minimalizují energetickou spotĜebu. Jedná se o funkce:
x
volba typu oscilátoru
x
reset
- automatický po zapnutí napájecího napČtí (POR)
- þasovaþ pro zpoždČní resetu pĜi zapnutí nap. napČtí. (PWRT)
- þasovaþ pro rozbČh krystalového oscilátoru (OST)
- detekce poklesu napČtí (BOD)
x
pĜerušení
x
hlídací þasovaþ pro pĜípad zabloudČní programu (WDT)
x
režim Sleep s minimální spotĜebou
x
ochrana pamČti programu a dat proti vyþtení
x
identifikaþní kód souþástky (ID)
x
programování osazené souþástky (ICSP™)
Mikropoþítaþ PIC12F629/675 obsahuje þasovaþ Watchdog, který kze povolit nebo zakázat v konfiguraþním slovČ. Je þasován
vlastním, nezávislým RC
oscilátorem. Další dva þasovaþe zajišĢují zpoždČní pĜi spuštČní souþástky. ýasovaþ OST je zaĜazen vždy pĜed krystalový oscilátor a
pozdrží spuštČní programu do doby, než se ustálí frekvence taktovacího oscilátoru.
ýasovaþ PWRT zadržuje signál Reset po dobu 72 ms (typická hodnota) po nábČhu napájecího napČtí. Jeho úkolem je vyþkat se
spuštČním programu do doby, než se ustálí napájecí napČtí. KromČ toho zde existuje reset, spouštČný pĜi poklesu napČtí. Díky
tČmto tĜem funkcím je možné u Ĝady aplikací nenavrhovat vnČjší Reset.
Sleep je režim s nejnižší spotĜebou. Program je v neþinnosti a nemČní se obsahy registrĤ. Ukonþení režimu Sleep probíhá
prostĜednictvím signálu Reset, pĜeteþením þasovaþe Watchdog nebo po pĜerušení. Možnost volby taktovacího oscilátoru napomáhá
optimalizovat aplikaci. Levné typy mohou využít RC oscilátor, aplikace s malým odbČrem oscilátor LP.
PĜehled konfiguraþních bitĤ volby oscilátoru je uvedeno na obrázku 9 – 1.
9.1.
Konfiguraþní bity
Konfiguraþní bity na adrese 2007h lze naprogramovat (pĜi þtení ‚0‘) nebo ponechat neprogramované (pĜi þtení ‚1‘). Výsledná
konfigurace záleží na konkrétních hodnotách bitĤ, popsaných na obrázku 9 – 1.
Poznámka: Adresa 2007h leží v bČžnČ nepĜístupném adresovém prostoru (2000h - 3FFFh) a je možné s ní pracovat výhradnČ
bČhem zavádČní programu. Další podrobnosti obsahuje také kapitola o programové specifikaci.
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
50
Obrázek 9 – 1: Konfiguraþní slovo (adresa 2007h)
R/P–1
R/P–1 U-0
U-0
U-0
R/P–1
BG1
BG0
---
---
CPD
---
R/P–1
CP
R/P–1
R/P–1
BODEN
MCLRE
R/P–1
PWRTE
R/P–1
WDTE
R/P–1
R/P–1
R/P–1
FOSC2
FOSC1
FOSC0
bit13
bit0
(1)
bit 13 – 12
BG1:BG0: kalibraþní bity pro mezní napČtí restĤ BOD a POR
00 – nejnižší napČĢová mez
11 – nejvyšší mez
bit 11 – 9
Neimplementovány. PĜi þtení ‚0‘
bit 8
CPD : bit ochrany pamČti(2) dat typu EEPROM
1 – ochrana pamČti je vypnuta
0 – pamČĢ je chránČna proti vyþtení
bit 7
CP : bit ochrany pamČti programu proti vyþtení
1 – ochrana pamČti je vypnuta
0 – pamČĢ je chránČna proti vyþtení
bit 6
BODEN: bit detekce poklesu napájecího napČtí (4)
1 – detekce poklesu povolena
0 – detekce zakázána
bit 5
MCLRE: bit výbČru funkce vývodu GP3/ MCLR
(3)
(5)
1 – funkce MCLR
0 – funkce digitálního vstupu, MCLR je pĜipojen na napájecí napČtí VDD
bit 4
PWRTE : bit výbČru þasovaþe pro zpoždČní resetu pĜi zapnutí napájecího napČtí
1 – þasovaþ zakázán
0 – þasovaþ povolen
bit 3
WDTE: povolení þasovaþe Watchdog
1 – povolen
0 – zakázán
bit 2 – 0
FOSC1:FOSC0: bity pro výbČr oscilátoru
111 – RC oscilátor; na vývodu GP4 je výstup taktovacího oscilátoru, oscilátor RC na vývodu GP5/OSC1/CLKIN
110 – RC oscilátor; je univerzální vstup/výstup vývod GP4, RC na GP5/OSC1/CLKIN
101 – oscilátor INTOSC; na GP4/OSC2/CLKOUT je výstup takt. oscil. GP5 je univerzální vstup/výstup
100 – oscilátor INTOSC; GP 4 a GP5 jsou univerzální vstupy/výstupy.
011 – EC; GP4/OSC2/CLKOUT je univerzální vstup/výstup; GP5/OSC1/CLKIN je vstup takt. kmitoþtu
010 – HS oscilátor; vysokofrekvenþní krystalový osc./rezonátor na vývodech GP4 a GP5
001 – XT oscilátor; krystalový osc./rezonátor na vývodech GP4 a GP5
000 – LP oscilátor; krystal. oscilátor na vývodech GP4 a GP5
Poznámky:
1: Programování kalibraþních bitĤ probíhá již ve výrobČ. Jejich hodnota je nutné naþíst a uložit ještČ pĜed smazáním
celého obsahu. Vývojové nástroje spoleþnosti Microchip obsah tČchto bitĤ nemČní. Programování a dalším
detailĤm je vČnována samostatná kapitola. Tyto bity jsou obsaženy v konfiguraþním slovČ pĜi jeho vyþtení ze souþástky.
2: Po vypnutí ochrany kódu mĤže být smazán celý datový obsah pamČti EEPROM.
3: Po vypnutí ochrany kódu mĤže být smazán celý obsah programové pamČti, vþetnČ hodnoty pro nastavení OSCAL.
4: Povolení detekce BOD nemá vliv na povolení þasovaþe PWRT.
5: Aktivace MCLR v RC nebo INTOSC režimu oscilátoru zakazuje taktování vnitĜním oscilátorem.
Význam:
R = bit pro þtení
W = bit pro zápis U = nepoužitý bit, þteno jako ‚0‘
n = Hodnota po resetu (POR) 1 = bit je nastaven 0 = bit je v '0'
x = hodnota je neznámá
P = programování ICSP
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
9.2.
51
Nastavení oscilátoru
9.2.1. Konfigurace oscilátoru
Pro mikropoþítaþ PIC12F629/675 existuje osm volitelných režimĤ oscilátoru. VýbČr jednoho z nich probíhá naprogramováním
konfiguraþních bitĤ FOSC2:FOSC0.
x
LP
krystalový oscilátor s nízkou spotĜebou
x
XT
krystalový oscilátor/rezonátor
x
HS
vysokofrekvenþní krystalový oscilátor/rezonátor
x
RC
vnČjší oscilátor s RC þlánkem (obsahuje rezistor a kondenzátor), pracuje ve dvou režimech
x
INTOSC vnitĜní oscilátor, pracuje ve dvou režimech
x
EC
vstup vnČjšího taktovací signálu
Poznámka: PodrobnČjší popis problematiky lze nalézt v dokumentu PICmicro™ Mid-Range Reference Manual (DS33023).
9.2.2. Krystalový oscilátor/keramický rezonátor
V režimech oscilátorĤ XT, LP a HS se oscilátor nebo rezonátor pĜipojuje na vývody OSC1 a OSC2 (viz obrázek 9 – 2).
Obrázek 9 – 1: Oscilátor v konfiguraci HS, XT nebo LP
Poznámky:
1: V tabulkách 9-1 a 9-2 najdete doporuþené hodnoty pro C1 a C2
2: Pro krystal s Ĝezem v rovinČ AT mĤže být nutné zapojit sériový rezistor Rs
3: RF se liší podle režimu oscilátoru (pĜibližnČ 10Mȍ)
Obrázek 9 – 2: VnČjší taktovací kmitoþet pro konfigurace HS, XT, EC a LP
Poznámka:
1: Použití vývodu GP4 jako univerzálního vstupu/výstupu.
Tabulka 9 – 1: VýbČr kondenzátoru pro keramický rezonátor
Typ
XT
HS
Kmitoþet
OSC1/C1
OSC2/C2
455 kHz
47 - 100 pF
47 - 100 pF
2 MHz
15 – 33 pF
15 – 33 pF
4 MHz
15 – 33 pF
15 – 33 pF
8 MHz
15 – 33 pF
15 – 33 pF
10 MHz
15 – 33 pF
15 – 33 pF
Poznámka:
Vyšší hodnoty kondenzátorĤ zlepšují stabilitu oscilátoru, zároveĖ se však prodlužuje doba ustálení oscilací po
zapnutí. Každý druh rezonátoru má své vlastní charakteristiky, udávané výrobcem. Pro precizní návrh
doporuþujeme prostudovat parametry, deklarované výrobcem krystalu.
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
52
Tabulka 9 – 2: VýbČr kondenzátoru pro krystalový oscilátor
Typ
Kmitoþet
OSC1/C1
OSC2/C2
LP
32 kHz
68 – 100 pF
68 – 100 pF
200 kHz
15 – 33 pF
15 – 33 pF
100 kHz
100 – 150 pF
100 – 150 pF
2 MHz
15 – 33 pF
15 – 33 pF
4 MHz
15 – 33 pF
15 – 33 pF
4 MHz
15 – 33 pF
15 – 33 pF
20 MHz
15 – 33 pF
15 – 33 pF
XT
HS
Poznámka: Vyšší hodnoty kondenzátoru zvyšují stabilitu oscilátoru, zároveĖ se však prodlužuje doba ustálení oscilací po zapnutí.
Uvedené hodnoty nejsou kritické, jedná se o doporuþení pro návrháĜe. Odpor Rs mĤže zatlumit amplitudu oscilací jak u
HS, tak u XT oscilátoru. Každý druh krystalu má své vlastní charakteristiky, udávané výrobcem. Pro precizní návrh
doporuþujeme bedlivé prostudování parametrĤ udávaných výrobcem krystalu.
Pro napájecí napČtí VDD vyšší než 4,5 V doporuþujeme použít C1=C2=30 pF.
9.2.3. VnČjší taktovací signál
Tam, kde je taktovací signál dostupný z jiného zdroje, mĤže být þinnost mikropoþítaþe Ĝízena pĜímo tímto zdrojem. VnČjší zdroj musí
splĖovat parametry napájecích charakteristik v kapitole 12. Na obrázku 9 – 2 je zapojení vnČjšího taktovacího zdroje.
9.2.4. RC oscilátor
RC oscilátor se uplatní v aplikacích, které nejsou nároþné na pĜesnost taktovacího oscilátoru. Jde o zaĜízení, sestavené z vnČjšího
rezistoru a kondenzátoru. Výsledný kmitoþet je závislý na nČkolika parametrech:
x
napájecím napČtí
x
odporu rezistoru (REXT) a kapacitČ kondenzátoru (CEXT)
x
teplotČ
Kmitoþet oscilátoru vykazuje u každého mikropoþítaþe odchylky vlivem výrobních tolerancí. NávrháĜ musí poþítat i s rozptylem
parametrĤ u vnČjších souþástek (REXT a CEXT). Zejména pĜi použití malých kondenzátorĤ (CEXT) se mĤže významnČ uplatĖovat
parazitní kapacita pouzdra, pĜípadnČ kapacita plošného spoje. Schéma zapojení vnČjšího RC oscilátoru je uvedeno na obrázku 6-3.
obrázek 6 – 3: Režim RC oscilátoru
9.2.5. VnitĜní oscilátor s frekvencí 4MHz
VnitĜní oscilátor má po kalibraci základní vnitĜní taktovací frekvenci 4MHz. ZmČny frekvence v závislosti na teplotČ a napČtí jsou
uvedeny v kapitole 12.
Uvedený oscilátor pracuje ve dvou režimech. V prvním je vývod GP4 použit jako univerzální V/V vývod a ve druhém je
výstupem s Fosc/4.
9.2.5.1. Kalibrace vnitĜního oscilátoru
Na posledním místČ programové pamČti je uložena kalibraþní konstanta ve tvaru instrukce RETLW XX. Konstanta XX je kalibraþní
hodnota, je nutné ji programovČ uložit do registru OSCCAL a urþuje kmito þ et vnitĜního oscilátoru. Postup operace je zachycen
v pĜíkladu 9-1. Nejlepšího výsledku dosáhnete, pokud umístíte blokovací kondenzátory co nejblíže pouzdra mikropoþítaþe.
Poznámka:
PĜi mazání pamČti dojde zároveĖ ke smazání kalibraþní hodnoty oscilátoru. Proto ji musíte nejprve uložit podle
návodu v kapitole, vČnované programování. Vývojové nástroje firmy Microchip tovární nastavení kalibraþních
bitĤ nemČní.
PĜíklad 9 – 1: Kalibrace vnitĜního oscilátoru
bsf
call
movwf
bcf
STATUS, RP0
3FFh
OSCCAL
STATUS, RP0
© 2003 Microchip Technology Inc.
;
;
;
;
Bank 1
naþti kalibraþní hodnotu
ulož do registru OSCCAL
Bank 0
PIC12F629/675
Speciální vlastnosti
53
9.2.6. Výstupní taktovací frekvence
V režimech oscilátoru INTOSC a RC mĤže mikropoþítaþ pracovat také jako zdroj taktovacího signálu. Na vývod
GP4/OSC2/CLKOUT je v tom pĜípadČ pĜivedena þtvrtina frekvence oscilátoru, Fosc/4. Tento signál mĤže být použit pĜi testování
nebo pro synchronizaci dalších obvodĤ.
9.3.
Reset
Mikropoþítaþ PIC12F629/675 rozeznává nČkolik typĤ resetu:
a)
b)
c)
d)
e)
f)
Reset pĜi zapnutí napájecího napČtí POR (Power-on Reset)
Reset pĜi poklesu napájecího napČtí (BOD)
VnČjší reset na vstupu MCLR bČhem výkonu programu
VnČjší reset na vstupu MCLR v režimu Sleep
Reset zpĤsobený ochranným þítaþem Watchdog bČhem výkonu programu
Probuzení z režimu Sleep prostĜednictvím pĜeteþení þasovaþe Watchdog
Reset má na registry rĤzný vliv. NČkteré z nich nejsou podmínkami resetu ovlivnČny vĤbec, po resetu POR je jejich obsah náhodný
a po ostatních druzích se nemČní. Další registry jsou ale po urþitých druzích resetu (v pĜehledu oznaþené jako a), b), c), e) a f))
nastaveny do poþáteþního stavu. Pouze reset pĜi probuzení z režimu Sleep, vyvolaný pĜeteþením þasovaþe Watchdog, nemČní za
žádných okolností obsahy registrĤ. Tento druh resetu je totiž považován za pĜirozené pokraþování bČhu programu po ukonþení
režimu Sleep.
Nastavování a nulování bitĤ TO a PD probíhá odlišnČ pĜi rĤzných typech resetu. PĜehled je uveden v tabulce 9-4. Proto je lze
využít k softwarovému rozpoznání typu resetu. Tabulka 9-7 popisuje stav všech registrĤ pĜi resetu.
VnČjší vstup MCLR je opatĜen vstupním ochranným obvodem, který odstraĖuje pĜípadné nežádoucí krátkodobé pulzní rušení.
PodrobnČji o signálu MCLR vþetnČ þasových prĤbČhĤ najdete v tabulce 12-4 v kapitole Elektrické charakteristiky.
Obrázek 9 – 4: Zjednodušené blokové schéma resetovacího systému
Poznámky:
1:Tento oscilátor není závislý na taktovací frekvenci na vývodu OSC1
2: Bližší podmínky þasování jsou uvedeny v tabulce 9-3.
9.3.1. Reset MCLR
Mikropoþítaþe PIC12F629/675 mají na vnČjším vstupu MCLR ochranný obvod, který odstraĖuje pulzní rušení.
UpozorĖujeme, že reset, vyvolaný þasovaþem Watchdog, nemČní stav vývodu MCLR .
Ochrana na vývodu se, v porovnání s pĜedchĤdci popisovaného mikropoþítaþe, zmČnila. NapČtí na vývodu, které pĜesahuje
stanovenou mez, mĤže vyvolat jak reset MCLR , tak zvýšení proudu vývodem nad stanovené meze po celou dobu této události.
Microchip z toho dĤvodu doporuþuje, aby se napájecí napČtí VDD nadále pĜipojovalo na vývod MCLR pĜes rezistor, viz obrázek 9-5.
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
54
Obrázek 9 – 5: Návrh zapojení vývodu MCLR
9.3.2. Reset pĜi zapnutí napájení (POR)
ěídící obvod signálu Reset udržuje systém ve stavu reset až do doby, kdy napájecí napČtí VDD dosáhne provozní úrovnČ. Chcete-li
využívat funkci resetu POR, pĜipojte vývod MCLR pĜímo nebo pomocí rezistoru k napájecímu napČtí VDD. UšetĜíte tím obvykle
používaný vnČjší RC þlánek, který má za úkol vyvolat zpožČní signálu Reset. Kritické doby nábČhu napájecího napČtí pro správnou
þinnost resetu POR jsou uvedeny v charakteristikách v zadní þásti tohoto dokumentu. Maximální doba nábČhu má význam
pouze v pĜípadČ, že není aktivní detekce poklesu napČtí. Obvody detekce poklesu napČtí udržují stav resetu až do doby, kdy napČtí
VDD dosáhne hodnoty VBOD (viz kapitola 9.3.5.).
Po ukonþení signálu Reset zaþne mikropoþítaþ vykonávat první instrukci v pamČti programu. V této dobČ již musí být dosaženo
pĜedepsaných hodnot napájecího napČtí, taktovací frekvence, teploty a dalších parametrĤ. Pokud tyto podmínky nejsou splnČny, je
nezbytné prodloužit signál Reset do doby, než dojde k jejich splnČní. V opaþném pĜípadČ by nebyla zaruþena správná funkce
mikropoþítaþe. Typickým jevem pĜi zapnutí napájecího napČtí je jeho nelineární nábČh a kolísání, související s odezníváním
pĜechodových jevĤ celého napájeného obvodu.
PodrobnČji je o problémech s napájecím napČtím pojednáno v aplikaþní pĜíruþce Power-up TroubleShooting (AN607).
9.3.3. ýasovaþ pro zpoždČní resetu (PWRT)
ýasovaþ pro zpoždČní signálu Reset zabezpeþí pevnou prodlevu 72 ms (typická hodnota) od okamžiku, kdy je obvod POR
schopen reset generovat nebo od okamžiku detekce poklesu napájení. ýasovaþ je Ĝízen nezávislým RC oscilátorem umístČným
pĜímo na þipu mikropoþítaþe.Tato prodleva slouží k nábČhu napájecího napČtí až na provozní hodnotu. ýasovaþ je povolen nebo
zakázán v bitu PWRTE , nejlépe souhlasnČ s detekcí poklesu napájecího napČ tí (BOD).
Hodnota zpoždČní þasovaþe je závislá þip od þ ipu a závisí na:
x
kolísání napájecího napČtí
x
teplota pouzdra
PĜesné hodnoty jsou uvedeny v kapitole 12.
9.3.4. ýasovaþ pro rozbČh oscilátoru (OST)
ýasovaþ pro rozbČh oscilátoru zajišĢuje zpoždČní 1024 cyklĤ taktovacího oscilátoru (na vstupu OSC1) po skonþení prodlevy PWRT.
BČhem zpoždČní dochází k nábČhu a stabilizaci krystalového oscilátoru nebo rezonátoru.
ZaĜazení þasovaþe pro rozbČh oscilátoru pĜipadá v úvahu pro oscilátor v konfiguraci XT, LP a HS a pouze po POR nebo po probuzení
z režimu Sleep.
9.3.5. Detekce poklesu napájení
V mikropoþítaþích popisované Ĝady jsou integrovány obvody, detekující pokles napájecího napČtí. Funkci povoluje (je-li nastaven)
bit BODEN. PĜi poklesu napČtí VDD pod úroveĖ VBOD po urþenou dobu (tabulka 12-4, TBOD) dojde k resetu.
Popsaný reset není ovlivnČn poklesem napČtí VDD po dobu kratší, než je urþená hodnota.
PĜi každém resetu zĤstává systém ve stavu Reset až do doby, kdy napČtí vystoupí nad úroveĖ BVDD (obrázek 9-6). ýasovaþ pro
zpoždČní resetu potom vykoná zpoždČní o 72 ms, pokud je povolen.
Poznámka:
Detekce poklesu napájecího napČtí mĤže aktivovat þasovaþ PWRT jedinČ v pĜípadČ, že bit PWRTE je
nastaven v konfiguraþním slovČ.
Pokud se stane, že bČhem prodlevy pĜi spuštČní poklesne napČtí VDD pod mez BVDD, spustí se reset znovu a celý proces je
zopakován. Po návratu VDD nad úroveĖ BVDD probČhne 72 ms trvající zpoždČní.
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
55
Obrázek 9 – 6: RĤzné možnosti výpadku napájecího napČtí
1: ZpoždČní 72 ms nastává pouze tehdy, když je bit PWRTE nulován.
Poznámka:
9.3.6. ýasové prĤbČhy
Po zapnutí napájecího napČtí dojde postupnČ k následujícímu: Nejprve, po splnČní podmínek POR, dojde k taktování þasovaþe
PWRT. NáslednČ dojde k aktivaci oscilátoru OST. Doba celkové prodlevy se mĤže lišit podle typu osiclátoru a nastavení bitu
PWRTE . NapĜíklad v režimu EC, pokud je bit PWRTE nulován (zákaz PWRT) je celkové zpožd. nulové.
ýasové prĤbČhy pĜi jednotlivých konfiguracích zachycují obrázky 9-7, 9-8 a 9-9.
Pokud pĜi zapnutí napájecího napČtí zĤstane signál MCLR aktivní po dobu delší, než odpovídá prodlevám dle konfigurace, jeho
uvedení do stavu log ‚1‘ zahájí výkon programu. Situace je znázornČna na obrázku 6 -7. Tento reset lze použít napĜíklad pro
synchronizaci více souþasnČ pracujících mikropoþítaþĤ PIC.
Tabulka 9-6 obsahuje podmínky resetu u speciálních registrĤ, v tabulce 9-7 jsou uvedeny podmínky pro všechny registry.
9.3.7. Registr PCON
ěídící a stavový registr napájení leží na adrese 8Eh a má dva bity. Nultý bit má význam BOD. Hodnota tohoto bitu je po resetu POR
neznámá. Uživatel jej musí nastavit a pĜi dalším resetu zkontrolovat, zda je BOD = 0 a došlo tedy k resetu vyvolaném BOD.
Stavový bit BOD nemá význam pokud je BOD zakázán (nulováním bitu BODEN v konfiguraþním slovČ). Jeho hodnota je v tomto
pĜípadČ nedefinovaná.
První bit, POR , má pĜi resetu POR hodnotu ‚0‘ a jeho obsah se dále nemČní. Uživatel musí po resetu POR bit nastavit. Pokud má
bit po následujícím resetu hodnotu ‚0‘ znamená to, že probČhl reset POR (tedy že napájecí napČtí kleslo pod dolní mez pracovní úrovnČ).
Tabulka 9 – 3: Délka prodlevy pĜi rĤzných konfiguracích
Typ oscilátoru
Zapnutí napájecího napČtí
PWRTE = 0
ýasovaþ povolen
XT, HS, LP
Detekce poklesu nap. (BOD)
PWRTE = 1
ýasovaþ zakázán
PWRTE = 0
ýasovaþ povolen
PWRTE = 1
ýasovaþ zakázán
Probuzení z
režimu Sleep
TPWRT + 1024Tosc
1024 Tosc
TPWRT +1024TOSC
1024 Tosc
1024 Tosc
TPWRT
---
TPWRT
---
---
RC, EC, INTOSC
Tabulka 9 – 4: Bity registru STATUS/PCON a jejich význam
POR
BOD
TO
PD
0
u
1
u
u
u
u
0
u
u
u
u
1
1
0
0
u
1
1
1
u
0
u
0
Význam: x = neznámý
význam
Došlo k resetu po zapnutí napájecího napČtí (POR)
Došlo k resetu po poklesu napájecího napČtí (BOD)
Reset pĜeteþením þasovaþe Watchdog
Probuzení z režimu Sleep þasovaþem Watchdog
Reset aktivací vývodu MCLR bČhem výkonu programu
Probuzení z režimu Sleep aktivací vývodu MCLR
u = nezmČnČný
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
56
Tabulka 9 – 5: PĜehled registrĤ, které jsou ovlivnČny funkcí detekce poklesu napČtí (BOD)
Adresa
Název
03h
STATUS
8Eh
PCON
Legenda:
Poznámky:
Hodnota Hodnota po
po: POR, ostatních
(1)
BOD
RESET
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
IRP
RP1
RP0
TO
PD
Z
DC
C
0001 1xxx
000q quuu
---
---
---
---
---
---
POR
BOD
- - - - - - 0x
- - - - - -uq
x – neznámá hodnota
- neimplementováno, pĜi þtení ‚0‘
u – nezmČnČno
q – hodnota závisí na podmínkách
BuĖky stínované šedou barvou nejsou použity.
1: Ostatní druhy resetu zahrnují MCLR reset, reset pĜi poklesu napájecího napČtí, reset WDT pĜi bČžné þinnosti.
Tabulka 9 – 6: Podmínky pro reset u speciálních registrĤ
Program.
þítaþ (PC)
Druh resetu
Stavový
registr
(STATUS)
Registr
PCON
Reset pĜi zapnutí napájecího napČtí (Power-on Reset (POR))
000h
0001 1xxx
- - - - - -0x
VnČjší reset na vstupu MCLR bČhem výkonu programu
000h
000u uuuu
- - - - - -uu
VnČjší reset na vstupu MCLR v režimu Sleep
000h
0001 0uuu
- - - - - -uu
Reset zpĤsobený ochranným þítaþem Watchdog bČhem výkonu programu
000h
0000 uuuu
- - - - - -uu
Probuzení z režimu Sleep prostĜednictvím pĜeteþení þasovaþe Watchdog
PC + 1
uuu0 0uuu
- - - - - -uu
00h
0001 1uuu
- - - - -10
uuu1 0uuu
- - - - - -uu
Reset po poklesu napČtí
Probuzení z režimu Sleep pomocí pĜerušení
PC + 1
(1)
- neimplementováno, pĜi þtení ‚0‘
Legenda:
x – neznámá hodnota
Poznámka:
1: Po probuzení z režimu Sleep pomocí pĜerušení pĜi povolení pĜerušení (GIE = 1) dojde nejprve k vykonání
instrukce na adrese PC+1 a teprve následnČ k naþtení vektoru pĜerušení.
© 2003 Microchip Technology Inc.
u – nezmČnČno
PIC12F629/675
Speciální vlastnosti
57
Tabulka 9 – 7: Podmínky resetu na všech registrech
Funkþní
registr
W
INDF
TMR0
PCL
STATUS
FSR
GPIO
PCLATH
INTCON
PIR1
T1CON
INTCON
INDF
OPTION
PCL
STATUS
FSR
TRISA
TRISB
EECON1
EECON2
PCLATH
INTCON
Adresa v
pamČti
RWM
Reset po
zapojení
napájecího
napČtí (POR)
Reset na MCLR pĜi bČžné
þinnosti nebo v režimu
Sleep; WDT reset; reset pĜi
poklesu napájecího napČtí
Probuzení pĜeteþením þítaþe
WDT nebo pĜerušením
00h/80h
01h
02h/82h
03h/83h
04h/84h
05h
0Ah/8Ah
0Bh/8Bh
0Ch
10h
0Bh
80h
81h
82h
83h
84h
85h
86h
88h
89h
8Ah
8Bh
xxxx xxxx
--- ---xxxx xxxx
0000 0000
0001 1xxx
xxxx xxxx
--xx xxxx
---0 000
0000 0000
00- - 0- - 0
-000 0000
0000 000x
---- ---1111 1111
0000 0000
0001 1xxx
xxxx xxxx
---1 1111
1111 1111
---0 x000
---- ------0 0000
0000 000x
uuuu uuuu
---- ---uuuu uuuu
0000 0000
(4)
000q quuu
uuuu uuuu
--uu uuuu
---0 0000
0000 000u
00- - 0- - 0
-uuu uuuu
0000 000u
---- ---1111 1111
0000 0000
000q quuu(3)
uuuu uuuu
---1 1111
1111 1111
---0 q000
---- ------0 0000
0000 000u
uuuu uuuu
---- ---uuuu uuuu
(3)
PC + 1
(4)
uuuq quuu
uuuu uuuu
--uu uuuu
---u uuuu
(2)
uuuu uuqq
(2, 5)
qq- - q- - q
---u uuuu
(1)
uuuu uuuu
---- ---uuuu uuuu
(2)
PC + 1
(3)
uuuq quuu
uuuu uuuu
---u uuuu
uuuu uuuu
---0 uuuu
---- --- ---u uuuu
(1)
uuuu uuuu
Význam: x = neznámý
Poznámky:
u = nezmČnČný
- = nepoužito, pĜi þtení ‚0‘
q – hodnota podle podmínek resetu
1: jestliže pĜíliš klesne napájecí napČtí, vyvolá reset POR a nastavení registrĤ neodpovídá tČmto hodnotám.
2: zmČní se jeden nebo více bitĤ v registrech INTCON a/nebo POR1 (dojde k probuzení)
3: pokud je bit GIE je probuzení pĜerušením nastaven, do programového þítaþe se na þte vektor pĜerušení (0004h)
4: hodnoty pro reset u speciálních registrĤ jsou uvedeny v tabulce 9-6
5: po probuzení pĜi skonþení zápisu do EEPROM je nastaven bit 7=1; A/D pĜevod je dokonþen, bit 6=1; vstup
na komparátoru se mČní, bit 3=1; dojde k pĜeteþení þasovaþe Timer1, bit0=1. Všechna další pĜerušení, po
kterých následuje probuzení, nemČní hodnotu jmenovaných bitĤ.
6: bČhem resetu pĜi poklesu napájecího napČtí je bit 0 nulován. Další resety jej nemČní.
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
58
Obrázek 6 – 7: ýasový prĤbČh pĜi zapnutí (na MCLR není pĜipojeno napájecí napČtí), pĜípad 1
(POR)
od þasovaþe OST
Obrázek 9 – 8: ýasový prĤbČh pĜi zapnutí (na MCLR není pĜipojeno napájecí napČtí), pĜípad 2
(POR)
od þasovaþe OST
Obrázek 9 – 9: ýasový prĤbČh pĜi zapnutí (napájecí napČtí pĜipojeno na MCLR )
(POR)
od þasovaþe OST
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
9.4.
59
PĜerušení
U mikropoþítaþe PIC12F629/675 pĜichází v úvahu 7 zdrojĤ pĜerušení:
x
vnČjší na vývodu GP2/INT
x
pĜeteþením þasovaþe TMR0
x
pĜi zmČnČ na GPIO
x
od komparátoru
x
A/D (pouze u PIC12F675)
x
pĜeteþením þasovaþe TMR1
x
pĜi dokonþení zápisu dat do EEPROM
Registr INTCON, Ĝídící pĜerušení, a PIR1, registr pĜerušení od periferie, zaznamenávají jednotlivé žádosti o pĜerušení nastavením
pĜíznaku. INTCON kromČ toho obsahuje i bity pro maskování jednotlivých pĜerušení nebo globální povolení.
GIE je bitem, který povoluje globální pĜerušení (INTCON<7>). Když je nastaven, povoluje bit GIE všechna nemaskovaná pĜerušení,
jeho nulováním jsou zakázána. Dílþí zákazy (masky) se nastavují v odpovídajících bitech registru INTCON a PIE. PĜi resetu se
bit GIE nuluje.
Instrukce RETFIE ukonþ uje podprogram obsluhy pĜerušení a nastavuje bit GIE, který znovu povolí nemaskovaná pĜerušení.
Registr INTCON obsahuje tĜi pĜíznakové bity):
x
pĜerušení na vývodu INT
x
pĜerušení pĜi zmČnČ na bránČ GP
x
pĜerušení pĜi pĜeteþení þasovaþe TMR0
V registru PIR1 jsou obsaženy další pĜíznakové bity, které souvisí z žádostí o pĜerušení z periferií. PĜíslušné maskovací bity jsou umístČny
v registru PIE1. Obsluha pĜerušení spoþívá v následujícím:
x
pĜerušení pĜi dokonþení zápisu do pamČti EEPROM
x
pĜerušení dokonþením AD pĜevodu
x
pĜerušení od komparátoru
x
pĜerušení pĜeteþením þasovaþe TMR0
Obsluha pĜerušení spo þívá v následujícím: Prvním z nich je nulování bitu GIE. Tím zabrání dalšímu pĜerušení. V dalším kroku
naþítá zásobník návratovou adresu z programového þítaþe. Do programového þítaþe se následnČ uloží vektor pĜerušení (0004h).
U vnČjšího zdroje pĜerušení, napĜíklad na vývodu INT nebo pĜi zmČnČ na bránČ GP, mĤže prodleva trvat tĜi nebo þtyĜi instrukþní
cykly. P Ĝ esná doba závisí na tom, v jakém okamžiku strojového taktu došlo k žádosti o pĜerušení (viz obrázek 9-11). Tato
doba nezávisí na tom, zda k žádosti došlo bČ hem jednocyklové nebo dvoucyklové instrukce. V pĜípadČ, že pĜ ipadá v úvahu více
než jeden zdroj pĜerušení, lze jej urþit testováním
pĜíznakových bitĤ registru INTCON. PĜíznakové bity musí být softwarovČ nulovány ještČ pĜedtím, než je povoleno další pĜerušení.
V opaþném pĜípadČ nedojde k ukonþení žádosti o pĜerušení.
Poznámky:
1: Jednotlivé pĜíznakové bity jsou pĜi splnČní podmínek pĜerušení nastaveny vždy, bez ohledu na stav
maskovacích bitĤ nebo globálního povolení v bitu GIE.
2: Vykonáním instrukce, která nuluje GIE, se ignorují všechny žádosti o pĜerušení, které nebyly obslouženy, a
to až do doby, než dojde opČt k nastavení bitu GIE.
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
60
Obrázek 9 – 10: Logika pĜerušení
procesoru
9.4.1. PĜerušení na vývodu GP2/INT
VnČjší pĜerušení na vývodu GP2/INT Ĝídí aktivní hrana signálu, podle stavu bitu INTEDG (OPTION<6>) bućto nábČžná – bit je nastaven,
nebo sestupná – bit je nulován. V okamžiku, kdy vývod GP2/INT registruje platnou hranu, nastavuje bit INTF (INTCON<1>).
Nulováním Ĝídícího bitu INTE je pĜerušení zakázáno. Další povolení pĜerušení na vývodu mĤže nastat až poté, co je obsluhou
pĜerušení vynulován bit INTF. PĜerušení na vývodu mĤže probudit zaĜízení z režimu Sleep. Podmínkou je, aby byl bit INTE nastaven
ještČ pĜed uvedením do režimu Sleep.
ýinnost, následující po probuzení mikropoþítaþe z režimu Sleep, závisí na hodnotČ bitu GIE. PĜi GIE=1 dojde ke spuštČní obsluhy
pĜerušení na adrese 0004h. Ve stavu GIE=0 pokraþuje mikropoþítaþ ve výkonu instrukce, následující po instrukci SLEEP.
Podrobnosti jsou popsány v kapitole 9-7 a þasový prĤbČh probuzení pĜi pĜerušení na GP2/INT zachycuje obrázek 9-13.
Poznámka:
Konfigurace analogového kanálu na funkci digitálního vstupu se provádí nulováním pĜíslušných bitĤ registrĤ
ANSEL a CMCON. Tyto registry - ANSEL (adresa 9Fh) a CMCON (adresa 19h) - je nutné nejprve inicializovat.
9.4.2. PĜerušení pĜeteþením Timer0
PĜeteþení þítaþe/þasovaþe TMR0 (FFh – 00h) nastavuje pĜíznakový bit T0IF (INTCON <2>). Nastavením Ĝídícího bitu T0IE
(INTCON <5>) do log ‚1’ je pĜerušení povoleno, nebo maskováno (zakázáno) nulováním tohoto bitu. PodrobnČjší popis þinnosti
modulu Timer0 obsahuje kapitola 4.0.
9.4.3. PĜerušení na bránČ GPIO
ZmČna na vstupních bitech bran GP (GPIO) nastavuje pĜíznakový bit GPIF (INTCON<0>) do log ‚1‘. PĜerušení Ĝídí bit GPIE
(INTCON<3>), pĜi GPIE=0 je pĜerušení zakázáno, GPIE=1 je povoluje. Konfigurace jednotlivých bitĤ bran GP se provádí v registru
IOC.
Poznámka:
Pokud se mČní nastavení bitu GPIF bČhem operace þtení (na zaþátku taktu Q2), pravdČpodobnČ nedojde
k uložení zmČny nastavení bitu. ZmČna musí trvat alespoĖ po dobu jednoho instrukþního cyklu.
9.4.4. PĜerušení od komparátoru
Popis pĜerušení od komparátoru hledejte v kapitole 6.9.
9.4.5. PĜerušení od A/D pĜevodníku
Ukonþení A/D pĜevodu nastavuje bit ADIF (PIR<6>). Povolení nebo zákaz pĜerušení od komparátoru Ĝídí bit ADIE (PIE<6>), bit v log
‚1‘ pĜerušení povoluje, log ‚0‘ znamená, že pĜerušení je zakázáno.
PodrobnČjší popis pĜerušení od komparátoru obsahuje kapitola 7.0.
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
61
Obrázek 9 – 11: ýasový prĤbČh pĜerušení na vývodu INT
Poznámky:
1: na zaþátku každého instrukþního cyklu se zjišĢuje hodnota bit INTF
2: prodleva pĜi asynchronním pĜerušení 3 – 4 Tcy, pĜi synchronním pĜerušení 3 Tcy. Tcy je délka instrukþního
cyklu. Prodleva je stejná pro instrukce trvající jeden nebo dva cykly.
3: VnČjší taktovací frekvence platí jenom pro režim oscilátoru RC.
4: Nejmenší délka cyklu INT je uvedena v AC specifikaci.
5: Bit INTF mĤže být nastaven kdykoli bČhem cyklu Q1 – Q4
Tabulka 9 – 8: PĜehled registrĤ pĜerušení
Adresa
Název
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Hodnota Hodnota po
po: POR, ostatních
BOD
RESET
GIE
PEIE
T0IE
INTE
GPIE
T0IF
INTF
GPIF
0000 0000
0Bh, 8Bh
INTCON
0Ch
PIR1
EEIF
ADIF
---
---
CMIF
---
---
TMR1IF
00- - 0- - 0
00- - 0- - 0
8Ch
PIE1
EEIE
ADIE
---
---
CMIE
---
---
TMR1IE
00- - 0- - 0
00- - 0- - 0
x – neznámá hodnota
- neimplementováno, pĜi þtení ‚0‘
q – hodnota závisí na podmínkách
BuĖky stínované šedou barvou nejsou pro pĜerušení využity.
Legenda:
9.5.
0000 0000
u – nezmČnČno
Uložení obsahu registrĤ bČhem pĜerušení
BČhem obsluhy pĜerušení se do zásobníku ukládá pouze návratová adresa z programového þítaþe. Uživatel þasto potĜebuje uložit
také obsah nČkterých registrĤ, nejþastČji pracovního registru (W) nebo stavového registru (STATUS). Takové uložení a obnovení
dat musí uživatel nastavit jako souþást rutiny obsluhy pĜerušení. Hodnoty registrĤ se pochopitelnČ neukládají do zásobníku, ale do
urþené oblasti pamČti RWM.
V pĜíkladu 9-2 je popsána situace, kdy si uživatel bČhem pĜerušení ukládá obsah registrĤ W a STATUS do záložních registrĤ
W_TEMP a STATUS_TEMP, které pĜedtím definoval v pamČti RWM. Záložní registry musí být definovány na odpovídajících
adresách v obou pamČĢových bankách.
Instrukce v pĜíkladu 9-2:
x
ukládá obsah registru W
x
ukládá obsah registru STATUS do banky 0
x
provádí rutinu pĜerušení
x
obnovuje obsah registru STATUS vþetnČ bitu výbČru banky registrĤ)
x
obnovuje obsah registru W
PĜíklad 9 – 2: Uložení obsahu registrĤ W a STATUS v pamČti
MOVWF
W TEMP
SWAPF
STATUS, W
BCF
STATUS, RP0
MOVWF
STATUS, TEMP
:
: vykonává se obsluha
:
SWAPF
STATUS, TEMP
MOVWF
STATUS
SWAPF
W_TEMP, F
SWAPF
W_TEMP, W
© 2003 Microchip Technology Inc.
;
;
;
;
kopíruj registr W do doþasného registru v nČkteré z bank
pĜesuĖ obsah registru STATUS do registru W
pĜepni do banky 0 bez ohledu na stávající stav
ulož obsah reg. STATUS do registru v bance 0
pĜerušení
;
;
;
;
pĜesuĖ
pĜesuĖ
pĜepni
pĜesuĖ
doþasný registr STATUS do reg. W, nastav pĤvodní banku
obsah W do registru STATUS
do doþasného registru W
obsah doþasného registru W do registru W
PIC12F629/675
Speciální vlastnosti
62
ýasovaþ Watchdog (WDT)
9.6.
ýasovaþ Watchdog je samostatný integrovaný RC oscilátor, který nevyžaduje pĜipojení dalších souþástek. Pracuje oddČlenČ od
vnitĜního taktovacího oscilátoru a vnČjšího oscilátoru na vývodu CLKIN. ýasovaþ Watchdog tedy pracuje i tehdy, když je taktovací
signál na vývodech OSC1 a OSC2 odpojen (napĜíklad v režimu Sleep). PĜeteþení þasovaþe Watchdog pĜi normální þinnosti zaĜízení
vyvolá reset. PĜeteþení v režimu Sleep vyvolá probuzení a mikropoþítaþ pokraþuje v bČžné þinnosti.
Trvalý zákaz þasovaþe se provádí nulováním konfiguraþního bitu WDTE. Toto nulování je možno provést pouze pĜi zavádČní
programu. Další podrobnosti obsahuje kapitola 9-1.
9.6.1. Doba pĜeteþení
Základní doba pĜeteþení þasovaþe bez zapojené pĜeddČliþky je 18 ms. Podle teploty, napájecího napČtí a výrobní tolerance
jednotlivých kusĤ se mĤže mČnit. Jednotlivé parametry výrobku jsou uvedeny ve specifikaci výrobku.
Programovatelná pĜeddČliþka umožĖuje násobit dobu pĜeteþení až do pomČru 1:128. Maximální doba pĜeteþení je tedy 2,3 sekundy.
Nastavení dČlicího pomČru bylo popsáno na obrázku 2-2 – registr OPTION.
Pokud je pĜeddČliþka pĜipojena pĜed þasovaþ WDT, nulují ji instrukce CLRWDT a SLEEP souþasnČ s þasovaþem. První pĜeteþení a
reset zaĜízení mĤže nastat nejdĜíve po 18 ms od probuzení z režimu Sleep.
PĜeteþením þasovaþe Watchdog dojde zároveĖ k nulování bitu TO v registru STATUS.
Kritické podmínky pĜeteþení
PĜi kombinaci více faktorĤ, které mají vliv na dobu pĜeteþení þasovaþe Watchdog, zejména pĜi nejnižším možném napájecím napČtí,
pĜi nejvyšší dovolení teplotČ pouzdra souþástky a pĜi použití pĜeddČliþky s nejvyšším dČlicím pomČrem mĤže být celková doba
pĜeteþení i nČkolik sekund.
9.6.2. Kritické hodnoty pĜeteþení
PĜi mezní kombinaci více faktorĤ, které mají vliv na dobu pĜeteþení þasovaþe Watchdog, (pĜi nejnižším možném napájecím napČtí,
nejvyšší dovolení teplotČ pouzdra souþástky a nastavení nejvyššího dČlicího pomČru pĜeddČliþky) mĤže být celková doba pĜeteþení
i nČkolik sekund.
Obrázek 9 – 12: Blokové schéma þasovaþe Watchdog
Poznámka:
1: T0SE, T0SC, PSA a PS0 – PS2 jsou bity registru STATUS
Tabulka 9 – 9: PĜehled registrĤ s vazbou na modul Watchdog
Adresa
Název
81h
OPTION
2007h
konfigur. bity
Legenda:
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Hodnota Hodnota na
na: POR, ostatních
RESET
BOD
GPPU
INTEDG
T0CS
T0SE
PSA
PS2
PS1
PS0
1111 1111
1111 1111
CP
BODEN
MCLRE
PWRTE
WDTE
F0SC2
F0SC1
F0SC0
uuuu uuuu
uuuu uuuu
u – nezmČnČno
Stínované buĖky þasovaþ nevyužívá
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
9.7.
63
Úsporný režim – Sleep
Po vykonání instrukce SLEEP je mikropoþítaþ uveden od úsporného režimu. Pokud je modul Watchdog povolen, odrazí se režim
Sleep na stavu dalších þástí zaĜízení takto:
x
þasovaþ Watchdog stále pracuje, ale jeho obsah je vykonáním instrukce SLEEP nulován
x
nuluje se bit PD v registru STATUS
x
nastavuje se bit TO
x
odpojuje se taktovací oscilátor
x
vstupní a výstupní brány poþítaþe zĤstávají v nezmČnČném stavu (log ‚1‘, log ‚0‘ nebo stav vysoké impedance).
Nejnižší spotĜeby dosáhne mikropoþítaþ v situaci, kdy na vstupních a výstupních vývodech nejsou pĜipojeny žádné další obvody,
které by z nich odebíraly proud. Odpojuje se komparátor a referenþní napČtí. Vstupní vývody musí být pĜipojeny na log ‚1‘ nebo log
‚0‘, aby nedocházelo ke ztrátám pĜi náhodném pĜeklápČní. Také T0CKI musí být pĜipojen na napájení VDD nebo Vss. Je nutné
poþ ítat se spot Ĝ ebou vnitĜních pull-up rezistorĤ brány GPIO nelze zcela eliminovat.
Vývod MCLR musí být ve stavu log ‚1‘ (VIHMC).
Poznámka: Reset, vyvolaný pĜeteþením þasovaþe Watchdog, nemČní stav na vývodu MCLR na log ‚0‘.
9.7.1. Probuzení z režimu Sleep
Mikropoþítaþ mĤže být probuzen z režimu Sleep jedním z následujících zpĤsobĤ:
x
vnČjším resetem na vstupu MCLR
x
pĜeteþením þasovaþe Watchdog (pokud je þasovaþ Watchdog povolen)
x
vnČjším pĜerušení na vývodu GP2/INT nebo pĜerušením zmČnou na bitech GPIO nebo pĜerušením od periferií.
První jmenované probuzení vyvolá reset mikropoþítaþe. V dalších dvou pĜípadech po probuzení pokraþuje program výkonem
instrukce, následující za instrukcí SLEEP. ZpĤsob probuzení z režimu Sleep lze urþit podle nastavení bitĤ PD a TO . Bit PD , který
je nastaven pĜi zapnutí napájecího napČtí do log ‚1’, se nuluje pĜi vykonání instrukce SLEEP. Bit TO se nuluje, pokud dojde
k probuzení þasovaþem Watchdog.
BČhem výkonu instrukce SLEEP je pĜipravována následující instrukce, která leží na adrese PC+1. Probuzení z režimu Sleep
pĜerušením probČhne nezávisle na tom, zda je globální pĜerušení povoleno þi zakázáno. Pokud je zakázáno (GIE = ‚0‘), pokraþuje
zaĜízení ve vykonávání instrukcí, následujících za instrukcí SLEEP. Pokud je povoleno (GIE = ‚1‘), dojde po vykonání první následující
instrukce k uložení vektoru pĜerušení do programového þítaþe. Místo dalších instrukcí probČhne nejprve obsluha pĜerušení.
Pokud si uživatel nepĜeje aby byla vykonána instrukce následující za instr. SLEEP , zaĜadí místo ní instrukci NOP.
Poznámka:
V pĜípadech, kdy je zakázáno globální pĜerušení (GIE = ‚0‘), ale zdroj pĜerušení je povolen individuálními
pĜíznakovými a Ĝídícími bity, mikropoþítaþ se po signálu ze zdroje probudí. Instrukce SLEEP se kompletnČ
provede.
K nulování modulu Watchdog dojde vždy pĜi probuzení z režimu Sleep, bez ohledu na zdroj probuzení.
Obrázek 9 – 13: Probuzení z režimu Sleep pĜerušením
Poznámky:
1: situace odpovídá zapojení oscilátoru v konfiguraci XT, HS nebo LP
2: doba TOST je rovna 1024TOSC (v grafu není nakresleno v mČĜítku), toto zpoždČní neplatí pro oscilátor typu
RC
3: pĜedpokládáme, že pĜerušení je globálnČ povoleno (GIE=‚1‘), mikropoþítaþ tedy po probuzení vykoná rutinu
obsluhy pĜerušení (pokud GIE = ‚0‘, vykonává se následující instrukce)
4: signál není pro oscilátory v konfiguraci XT, HS, LP a EC dostupný. Zde je uveden pro porovnání
© 2003 Microchip Technology Inc.
PIC12F629/675
Speciální vlastnosti
9.8.
64
Ochrana kódu proti vyþtení
Pokud není v konfiguraþním slovČ (viz výše) nastavena ochrana kódu proti vyþtení, je možné vyþíst pamČĢ programu pro úþely
porovnání jejího obsahu s referenþním obsahem.
Poznámka:
9.9.
PĜi vypnutí ochrany kódu mĤže ohrozit obsah datové pamČti EEPROM a programové pamČti FLASH a také
kalibraþní hodnoty vnitĜního oscilátoru. Více informací obsahuje kapitola vČnovaná programování.
UmístČní identifikátorĤ
Pro uložení identifikaþních údajĤ a kontrolních souþtĤ jsou vyhrazeny buĖky na adresách 2000h-2003h. Tyto buĖky nejsou bČhem
zpracování programu pĜístupné, lze do nich zapisovat nebo je þíst pouze bČhem zavádČní programu do souþástky. Uživatel má
v každé buĖce pĜístup pouze do dolních þtyĜ bitĤ.
9.10.
Programování na osazené desce - ICSP
Do mikropoþítaþe 12F675 a 12F629 mĤže být zaveden program pomocí sériového rozhraní pĜímo v koncové aplikaci. Toto sériové
synchronní programování se provádí prostĜednictvím dvou univerzálních vývodĤ pro data a taktovací signál. Další tĜi vodiþe slouží
pro napájecí napČtí VDD, VSS a pro programovací napČtí. Uživatel tak mĤže na desku plošných spojĤ osadit mikropoþítaþ bez
programu, ten potom zavést až pĜed použitím aplikace. Tato technologie umožĖuje obmČĖovat firmware v již používaném zaĜízení,
nebo používat vlastní program.
Vývody GP0 a GP1 se nastaví do log ‚0‘ a zaĜízení pĜejde do režimu programování/ovČĜování. Pokud je na vývod MCLR pĜivedeno
programové nap Čtí VPP. Vývod GP0 pĜijímá programovací data a vývod GP1 programovací hodinový signál. Oba vývody pracují
v režimu vstupu jako SchmittĤv klopný obvod. PĜechod do režimu programování/ovČĜování mĤže nastat po resetu. Programový
þítaþ je nastaven na adresu 00h. ZaĜízení pĜijímá 6bitové povely a v závislosti na typu instrukce (ukládání nebo þtení) pĜijímá
nebo vysílá programovací data ve 14bitovém formátu. PodrobnČjší informace obsahuje kapitola, vČnovaná programování.
Typický pĜíklad pĜipojení popisuje obrázek 9-14.
Obrázek 9 – 14: PĜipojení pĜi sériovém programování
ICSP
9.11.
LadČní v aplikaci (ICD-2)
LadČní programu pĜímo v aplikaci využívá tytéž vývody, na které je pĜipojen hodinový signál, data a MCLRv režimu ICSP. Pro
souþástky, které mají pouze 8 vývodĤ se tedy nástroj MPLAB® ICD2 nehodí, ale existuje mikropoþítaþ PIC12F375-ICD, která je
opatĜen 14 vývody. Všechny vývody, které uživatel v bČžném provozu potĜebuje, jsou volné a pro vývojové úþely existují oddČlené vývody.
Souþ ástka je umístČna na držáku a vývody jsou svedeny do konektoru pro MPLAB ICD 2. Na spodní stranČ souþástky je 8vývodová
patice, která se propojí prostĜednictvím konektoru pĜímo na desku.
ýinnost je povolena, pokud je vývod ICD na souþástce v log ‚0‘. Potom lze používat ladící funkce MPLAB ICD 2. PĜi ladČní dochází
k blokaci nČkterých þástí mikropoþítaþe. Jejich seznam je uveden v tabulce 9-10.
Tabulka 9 – 10: zdroje ladČní
vstup/výstupní vývody
taktování ICD, datový tok do ICD
zásobník
1 úroveĖ
programová pamČĢ
Na adrese 1h je prázdná operace; 300h-3FEh
Více informací o MPLAB ICD 2 je uvedeno v dokumentu 8-pin MPLAB ICD 2 Header Information Sheet (DS51292) na
stránkách výrobce.
© 2003 Microchip Technology Inc.
PIC12F629/675
Instrukþní sada
65
10.0. Instrukþní sada
Instrukþní soubor je logicky rozdČlen do tĜí skupin:
x
BajtovČ orientované instrukce
x
BitovČ orientované instrukce
x
ěídící instrukce
Každý mikropoþítaþ z Ĝady PIC12F629/675 má instrukþní kód o délce 14 bitĤ. Toto 14bitové slovo obsahuje operaþní kód instrukce
(Opcode), který urþuje o jakou instrukci se jedná, a dále obsahuje jeden nebo dva operandy, napĜíklad pro urþení cílového registru.
PĜehled všech instrukcí je uveden v tabulce 10-2, kde jsou instrukce rozdČleny do tĜí skupin. Operandem bajtovČ orientovaných
instrukcí je celý registr, operandem bitovČ orientovaných instrukcí je urþený bit libovolného registru v pamČti RWM (RAM). TĜetí
skupina instrukcí pracuje s konstantami (Literal) nebo se jedná o instrukce Ĝídící. V tabulce 10-1 jsou vysvČtlena používaná
oznaþení v pĜehledu instrukcí.
BajtovČ orientované instrukce používají pro urþení operandu zápis ‚f‘, když se jedná o adresu registru v pamČti RWM (RAM).
Výsledek operace bude uložen do cílového registru, který je urþen ukazatelem ‚d‘ ve formátu instrukce.
Pokud je ukazatel ‚d‘ ve formátu instrukce roven ‚0‘, je výsledek uložen do stĜadaþe (W). Pokud je tento ukazatel roven ‚1‘, je
výsledek uložen do registru, se kterým instrukce pracuje, tedy s operandem instrukce urþeným pomocí zápisu ‚f‘.
BitovČ orientované instrukce používají pro urþení operandu ukazatel ‚b‘, který urþuje poĜadí bitu v registru, který je urþen pomocí
zápisu ‚f‘. Krajní pravý bit má hodnotu ‚b‘ rovnu ‚0‘, krajní levý bit má hodnotu ‚b‘ rovnu ‚7‘. BitovČ orientovaná instrukce pracuje
pouze s jediným adresovaným bitem.
ěídící instrukce používají zápis ‚k‘ pro urþení 8bitové nebo 11bitové konstanty.
Všechny instrukce se vykonávají v jediném instrukþním cyklu vyjma instrukcí, kdy je splnČna podmínka instrukcí podmíneþného
vČtvení programu nebo v pĜípadech, kdy dojde k zápisu do þítaþe instrukcí PC. V tČchto pĜípadech trvá vykonání instrukce dva
instrukþní cykly, pĜiþemž druhý instrukþní cyklus odpovídá vykonání instrukce NOP. Jeden instrukþní cyklus obsahuje þtyĜi takty
oscilátoru mikropoþítaþe. PĜi frekvenci taktovacího oscilátoru 4 MHz trvá vykonání jedné instrukce právČ 1 us. Pokud dojde ke
splnČní podmínky instrukce podmíneþného vČtvení nebo bude výsledkem instrukce zápis do programového þítaþe PC, bude tato
instrukce trvat pĜesnČ 2 us.
Poznámka:
Pro zabezpeþení kompatibility s dalšími mikropoþítaþi Ĝady PIC12F629/675 nepoužívejte zastaralé instrukce
OPTION a TRIS.
Všechny uvádČné pĜíklady používají pro zápis hexadecimálního þísla formát 0xhh, kde h je hexadecimální þíslice v rozsahu 0 – F.
10.1. Sekvence þtení-zmČna-zápis
Jakákoli instrukce, jejíž souþástí je práce s registrem, provádí sekvenci þtení – zmČna – zápis (R-M-W). Znamená to, že po naþtení
registru jsou provedeny zmČny a nový obsah je uložen podle urþení v instrukci nebo podle urþení na pozici ‚d‘. ýtení probíhá i tam,
kde se do registru pouze zapisuje.
NapĜíklad pĜi vykonání instrukce CLRF GPIO se naþte obsah registru GPIO, vynulují se datové bity, výsledek se zapíše zpČt do
registru GPIO. Mimoto dochází k odstranČní podmínky, mČnící stav pĜíznakového bitu GPIF.
Tabulka 10 – 1: Oznaþení používaná v pĜehledu instrukcí
Oznaþení
f
w
b
k
x
d
PC
TO
PD
Popis
Adresa v registru pamČti RWM v rozsahu od 0x00 do 0x7f
StĜadaþ (pracovní registr)
Bitová adresa v rozsahu od 0 do 7 urþující bit registru
Datová konstanta nebo návČští (adresa v pamČti programu)
Nemá vliv, mĤže nabývat hodnot ‚0‘ nebo ‚1‘. PĜekladaþ generuje na místo x
vždy ‚0‘. Jedná se o doporuþený postup pro zajištČní kompatibility se všemi
vývojovými nástroji Microchip.
Urþení cílového registru. Pro d=0 je výsledek operace uložen do stĜadaþe (W).
pro d=1 je výsledek uložen do registru, se kterým instrukce pracuje (f). Implicitní
nastavení je d=1
Programový þítaþ (Program Counter)
PĜíznak pĜeteþení þasovaþe Watchdog
PĜíznak režimu Sleep
© 2003 Microchip Technology
PIC12F629/675
Instrukþní sada
66
Obrázek 10 – 1: Obecný formát instrukcí
Popis všech instrukcí je k dispozici v dokumentaci DS33023 s názvem PICmicro™ Mid-Range Reference Manual.
BajtovČ orientované operace:
13
8
7
6
Operaþní kód
0
d
f(adresa v RWM)
d = 0 pro uložení výsledku do stĜadaþe
d = 1 pro uložení výsledku do registru f
f = 7bitová adresa v pamČti RWM
BitovČ orientované operace
13
10
9
Operaþní kód
7
b(adresa bitu)
6
0
f(adresa v RWM)
b = 3bitová adresa bitu v rámci registru
f = 7bitová adresa v RWM
ěídící instrukce
Obecné Ĝídící instrukce
13
8
Operaþní kód
7
0
k(konstanta)
k = 8bitová hodnota
Instrukce CALL a GOTO
13
11
Operaþní kód
10
0
k(konstanta)
k = 11bitová hodnota
© 2003 Microchip Technology
PIC12F629/675
Instrukþní sada
67
Tabulka 7 – 2: Instrukþní soubor mikropoþítaþe PIC12F629/675
Instrukce,
operandy
Instruk
þní
cykly
Popis
Instrukþní kód
MSb
LSb
OvlivĖované
pĜíznaky
Pozn.
BAJTOVċ ORIENTOVANÉ INSTRUKCE
ADDWF
f, d
ADD W and F
PĜiþtení registru ke stĜadaþi
ANDWF
f, d
AND W with F
Logický souþin stĜadaþe a
registru
1
00
0101
dfff
ffff
Z
1,2
2
1
00
0111
dfff
ffff
C. DC, Z
1, 2
CLRF
f
CLeaR F
Nulování registru
1
00
0001
1fff
ffff
z
CLRW
-
CLeaR W
Nulování stĜadaþe
1
00
0001
0xxx
xxxx
Z
COMF
f, d
COMplement F
Negace registru
1
00
1001
dfff
ffff
Z
1, 2
DECF
f, d
DECrement F
Snížení obsahu registru o
jedniþku
1
00
0011
dfff
ffff
Z
1, 2
DECFSZ
f, d
DECrement F Skip if Zero
Dekrementace registru, skok
pĜi 0
1 (2)
00
1011
dfff
ffff
INCF
f, d
INCrement F
Zvýšení obsahu registru o
jedniþku
1
00
1010
dfff
ffff
INCFSZ
f, d
INCrement F Skip if Zero
Inkrementace registru, skok
pĜi 0
1 (2)
00
1111
dfff
ffff
IORWF
f, d
Inclusive OR W with F
Logický souþet stĜadaþe a
registru
1
00
0100
dfff
ffff
Z
1, 2
MOVF
f, d
MOVe F to W
Naþtení registru do stĜadaþe
1
00
1000
dfff
ffff
Z
1, 2
MOVWF
f
MOVe W to F
PĜesun stĜadaþe do registru
1
00
0000
1fff
ffff
NOP
-
No OPeration
Prázdná instrukce
1
00
0000
0xx0
0000
RLF
f, d
Rotate Left through carry
Rotace registru doleva pĜes
pĜíznak C
1
00
1101
dfff
fff
C
1, 2
RRF
f, d
Rotate Right through carry
Rotace registru doprava pĜes
pĜíznak C
1
00
1100
dfff
ffff
C
1, 2
SUBWF
f, d
SUBtract W form F
Odeþtení stĜadaþe od
registru
1
00
0010
dfff
ffff
C, DC, Z
1, 2
SWAPF
f, d
SWAP nibbles in F
ZámČna horního a dolního
pĤlbajtu
1
00
1110
dfff
ffff
XORWF
f, d
eXclusive OR W with F
nonekvivalence stĜadaþe a
registru
1
00
0110
dfff
ffff
BCF
f, b
Bit Clear F
Nulování bitu registru
1
01
00bb
bfff
ffff
1, 2
BSF
f, b
Bit Set F
Nastavení bitu registru
1
01
01bb
bfff
ffff
1, 2
BTFSC
f, b
Bit Test F Skip if Clear
Skok pĜi nulovém bitu
registru
1 (2)
01
10bb
bfff
ffff
3
BTFSS
f, b
Bit test F Skip if Set
Skok pĜi nastaveném bitu
registru
1 (2)
01
11bb
bfff
ffff
3
1, 2, 3
Z
1, 2
1, 2, 3
1, 2
Z
1, 2
BITOVċ ORIENTOVANÉ INSTRUKCE
© 2003 Microchip Technology
PIC12F629/675
Instrukþní sada
68
ěÍDÍCÍ INSTRUKCE
ADDLW
k
ADD Literal and W
PĜiþtení konstanty ke
stĜadaþi
ANDLW
k
AND Literal with W
Logický souþin stĜadaþe a
konstanty
1
11
1001
kkkk
kkkk
CALL
k
CALL subroutine
Volání podprogramu
2
10
0kkk
kkkk
kkkk
CLRWDT
-
CleaR WatchDog Timer
Nulování þasovaþe Watchdog
1
00
0000
0110
0100
GOTO
k
GO TO adress
Skok na náveští
2
10
1kkk
kkkk
kkkk
IORLW
k
Inclusive OR LIteral with W
Logický souþet stĜadaþe a
konstanty
1
11
1000
kkkk
kkkk
MOVLW
k
MOVe Literal to W
1
11
00xx
kkkk
kkkk
RETFIE
-
RETurn From Interrupt En.
Návrat z podprogramu
s povolením pĜerušení
2
00
0000
0000
1001
RETLW
k
RETurn with LIteral in W
Návrat z podprogramu s
konstantou
2
11
01xx
kkkk
kkkk
RETURN
-
RETURN from subroutine
Návrat z podprogramu
2
00
0000
0000
1000
SLEEP
-
go into standby mode SLEEP
zahájení režimu Sleep
1
00
0000
0110
0011
TO , PD
SUBLW
k
SUBtract W from Literal
Odeþtení stĜadaþe od
konstanty
1
11
110x
kkkk
kkkk
C, DC, Z
XORLW
k
eXclusive OR Literal with W
nonekvivalence stĜadaþe a
konstanty
1
11
1010
kkkk
kkkk
u
1
11
111x
kkkk
kkkk
C, DC, Z
Z
TO , PD
Z
Poznámky:
1: Pokud bude záchytný registr zmČnČn vlastní funkcí (napĜíklad instrukcí MOVF GPIO,1), bude do nČj
zapsána hodnota na vnČjších vývodech souþástky. Pokud bude napĜíklad v záchytném registru vývodu
konfigurovaném jako vstup hodnota log.‘1‘ a tento vývod bude vnČjším obvodem udržován ve stavu log.‘0‘,
bude po provedení instrukce modifikující pĜíslušný záchytný registr zapsána na odpovídající bit log.‘0‘.
2: Pokud je operandem této instrukce (a pĜípadnČ i cílovým registrem pĜi d=1) registr TMR0, dojde pĜi vykonání
této instrukce rovnČž k vynulování pĜeddČliþky, pokud je tato v této dobČ pĜipojena k þítaþi Timer0.
3: Pokud dojde k zápisu do programového þítaþe PC nebo pokud je splnČna podmínka instrukce podmínČného
vČtvení programu, trvá vykonání této instrukce dva instrukþní cykly. Druhý instrukþní cyklus odpovídá vykonání
NOP.
Poznámka:
Další informace o instrukþním souboru jsou k dispozici v dokumentaci DS33023 s názvem : PICmicro™ MidRange MCU Family Reference Manual.
© 2003 Microchip Technology
PIC12F629/675
Instrukþní sada
69
10.1. Popis instrukcí (v abecedním poĜádku)
ADDLW
ADD Literal and W
BCF
pĜiþtení konstanty ke stĜadaþi
nulování bitu registru
Syntaxe:
Operandy:
návČští ADDLW k; komentáĜ
k = (0-225)
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
(W) = (W) + k
C. DC, Z
Operace:
OvlivĖované
pĜíznaky:
Popis:
ADDWF
Obsah stĜadaþe je seþten s osmi
bitovou konstantou a výsledek je
umístČn do stĜadaþe.
ADD W and F
BSF
pĜiþtení registru ke stĜadaþi
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
ANDLW
návČští ADDWF f, d; komentáĜ
f = (0-127)
d=(0,1)
(W) + k ĺ (cílový registr)
C. DC, Z
Obsah registru W se pĜiþte k obsahu
registru f. Je-li hodnota ‚d‘ = 0, pak se
výsledek zapíše do registru W. Je-li
hodnota ‚d‘ = 1, zapíše se výsledek zpČt
od registru f.
AND Literal with W
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
BTFSS
Je vynulován bit s adresou ‚b‘ v registru
s adresou ‚f‘
Bit Set F
návČští BSF f, b; komentáĜ
f = (0-127)
b=(0-7)
f(b)=1
žádné
Je nastaven bit s adresou ‚b‘ v registru s
adresou ‚f‘
Bit Test F Skip if Set
skok pĜi nastaveném bitu registru
Syntaxe:
Operandy:
návČští ANDLW k; komentáĜ
k = (0-255)
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
(W) = (W).AND.(k)
Z
Operace:
OvlivĖované
pĜíznaky:
Popis:
ANDWF
návČští BCF f, b; komentáĜ
f = (0-127)
b=(0-7)
f(b)=0
žádné
nastavení bitu registru
logický souþin stĜadaþe a konstanty
Je provedena operace logického
souþinu mezi obsahem stĜadaþe a osmi
bitovou konstantou. Výsledek je
umístČn do stĜadaþe.
Bit Clear F
návČští BTFSS f, b; komentáĜ
f = (0-127)
b=(0-7)
skok za podmínky f(b)=1
žádné
Pokud je bit s adresou ‚b‘ v registru
s adresou ‚f‘ roven ‚0‘, je následující
instrukce vykonána. Pokud je tento bit
roven ‚1‘, je místo následující instrukce
vykonána vždy instrukce NOP. Doba
vykonání instrukce je v tomto pĜípadČ 2
instrukþní cykly.
AND W with F
logický souþin stĜadaþe a registru
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
návČští ANDWF f, d; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = (W).AND.(f)
Z
Je provedena operace logického
souþinu mezi obsahem stĜadaþe a
obsahem registru. Výsledek je umístČn
do stĜadaþe pro d=0 nebo do registru
pro d=1.
© 2003 Microchip Technology
PIC12F629/675
Instrukþní sada
BTFSC
Bit Test F Skip if Clear
70
CLRWDT
nulování þasovaþe Watchdog
skok pĜi nulovém bitu registru
Syntaxe:
Operandy:
Operace:
návČští BTFSC f, b; komentáĜ
f = (0-127)
b=(0-7)
skok za podmínky f(b)=0
CLeaR WatchDog Timer
Syntaxe:
Operandy:
návČští CLWDT; komentáĜ
žádné
Operace:
WDT = 0x00
pĜeddČliþka Watchdog = 0
pĜíznak TO = 1
pĜíznak PD = 1
OvlivĖované
pĜíznaky:
Popis:
CALL
žádné
Pokud je bit s adresou ‚b‘ v registru
s adresou ‚f‘ roven ‚1‘, je následující
instrukce vykonána. Pokud je tento bit roven
‘0‘ je místo následující instrukce vykonána
vždy instrukce NOP. Doba vykonání
instrukce je v tomto pĜípadČ 2 instrukþní
cykly.
CALL subroutine
OvlivĖované
pĜíznaky:
Popis:
TO , PD
Je vynulován þítaþ Watchdog a jeho
pĜeddČliþka. Jsou nastaveny pĜíznakové
bity TO a PD .
COMF
vyvolání podprogramu
Komplement F
negace registru
Syntaxe:
Operandy:
návČští CALL k; komentáĜ
k= (0-2047)
Syntaxe:
Operandy:
návČští COMF f, d; komentáĜ
f = (0-127)
d=(0,1)
Operace:
STACK = (PC)+1
PC(b10-b0) = k
PC(b12,b11) = PCLATH (b4,b3)
žádné
Operace:
(cílový registr) = (f)
OvlivĖované
pĜíznaky:
Popis:
Z
OvlivĖované
pĜíznaky:
Popis:
CLRF
Je volán podprogram ležící v pamČti
programu na adrese ‚k‘. Do zásobníku je
uložena návratová adresa. Adresa
podprogramu v rozsahu (0-2047) je vložena
do programového þítaþe PC. Horní dva bity
programového þítaþe jsou souþasnČ
doplnČny ze záchytného registru PCLATH.
TĜi nižší bity PCLATH jsou v tomto pĜípadČ
ignorovány. Instrukce trvá dva instrukþní
cykly.
CLeaR F
DECF
nulování registru
návČští CLRF f; komentáĜ
f = (0-127)
Syntaxe:
Operandy:
Operace:
f = 0x00
Z=1
Z
Operace:
CLRW
Je vynulován obsah registru f a je nastaven
pĜíznak nuly Z.
DECrement F
snížení obsahu registru o jedniþku
Syntaxe:
Operandy:
OvlivĖované
pĜíznaky:
Popis:
Obsah registru je negován a výsledek je
umístČn do stĜadaþe pro d=0 nebo do
registru pro d=1
OvlivĖované
pĜíznaky:
Popis:
návČští DECF f, d; komentáĜ
f = (0-127)
d=(0,1)
(f) - 1 ĺ (cílový registr)
Z
Od obsahu registru je odeþtena jedniþka
a výsledek je uložen do stĜadaþe pro d=0
nebo do registru pro d=1.
CLeaR W
nulování stĜadaþe
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
návČští ; komentáĜ
žádné (implicitnČ je nastaven stĜadaþ)
(W) = 0x00
Z=1
Z
Je vynulován obsah stĜadaþe a je nastaven
pĜíznak nuly Z.
© 2003 Microchip Technology
PIC12F629/675
Instrukþní sada
DECFSZ
DECrement F Skip if Zero
71
INCFSZ
Dekrementace registru, skok pĜi 0
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
GOTO
návČští DECFSZ f, d; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = (f) - 1
Skok pĜi výsledku rovném ‚0’
žádné
Od obsahu registru je odeþtena jedniþka a
výsledek je umístČn do stĜadaþe pro d=0
nebo do registru pro d=1. Pokud není
výsledek roven ‚0‘, je následující instrukce
vykonána. Pokud je výsledek roven ‚0‘, je
místo následující instrukce vykonána vždy
instrukce NOP. Doba vykonání instrukce
je v tomto pĜípadČ dva instrukþní cykly
GO TO address
inkrementace registru, skok pĜi 0
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
IORLW
Skok na návČští
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
INCF
návČští GOTO k; komentáĜ
k= (0-2047)
PC(b10-b0) = k
PC(b12,b11) = PCLATH (b4,b3)
žádné
Je proveden nepodmínČný skok na
urþenou adresu. Adresa v rozsahu (02047) je vložena do programového þítaþe
PC. Horní dva bity programového þítaþe
jsou souþasnČ doplnČny ze záchytného
registru PCLATH. TĜi nižší bity PCLATH
jsou v tomto pĜípadČ ignorovány. Instrukce
trvá dva instrukþní cykly.
INCrement F
Operace:
OvlivĖované
pĜíznaky:
Popis:
návČští INCF f, d; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = (f) + 1
Z
K obsahu registru je pĜiþtena jedniþka a
výsledek je uložen do stĜadaþe pro d=0
nebo do registru pro d=1.
© 2003 Microchip Technology
návČští INCFSZ f, d; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = (f) + 1
Skok pĜi výsledku rovném ‚0‘
žádné
K obsahu registru je pĜiþtena jedniþka a
výsledek je umístČn do stĜadaþe pro d=0
nebo do registru pro d=1. Pokud není
výsledek roven ‚0‘, je následující instrukce
vykonána. Pokud je výsledek roven ‚0‘, je
místo následující instrukce vykonána vždy
instrukce NOP. Doba vykonání instrukce je
v tomto pĜípadČ 2 instrukþní cykly.
Inclusive OR Literal with W
logický souþet stĜadaþe a konstanty
Syntaxe:
Operandy:
Operace:
návČští IORLW k; komentáĜ
k = (0-255)
(W) = (W) OR k
OvlivĖované
pĜíznaky:
Popis:
Z
IORWF
zvýšení obsahu registru o jedniþku
Syntaxe:
Operandy:
INCrement F Skip if Zero
Je provedena operace logického souþtu
mezi obsahem stĜadaþe a osmi bitovou
konstantou. Výsledek je umístČn do
stĜadaþe.
Inclusive OR W with F
logický souþet stĜadaþe a registru
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
návČští IORWF f, d; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = (W) OR (f)
Z
Je provedena operace logického souþtu
mezi obsahem stĜadaþe a obsahem
registru. Výsledek je umístČn do stĜadaþe
pro d=0 nebo do registru pro d=1.
PIC12F629/675
Instrukþní sada
MOVF
MOVe F to W
72
RETFIE
naþtení registru do stĜadaþe
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
MOVLW
návČští MOVF f, d; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = (f)
Z
Obsah registru je umístČn do
stĜadaþe pro d=0. Operand d=1 je
vhodné použít pĜi testování obsahu
registru na nulu, protože instrukce
ovlivĖuje pĜíznak nuly Z.
MOVe Literal to W
návrat s povolením pĜerušení
Syntaxe:
Operandy:
návČští RETFIE; komentáĜ
žádné
Operace:
(PC) = STACK
GIE = 1
žádné
OvlivĖované
pĜíznaky:
Popis:
RETLW
naþtení konstanty do stĜadaþe
návČští MOVLW k; komentáĜ
k = (0-225)
(W) = k
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
žádné
OvlivĖované
pĜíznaky:
Popis:
MOVWF
MOVe W to F
RETURN
pĜesuĖ stĜadaþ do registru
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
NOP
návČští MOVWF f; komentáĜ
f = (0-127)
(f) = (W)
žádné
Obsah stĜadaþe je pĜesunut do
registru.
Do programového þítaþe je umístČna
návratová adresa z vrcholu zásobníku a
souþasnČ je povoleno pĜerušení
nastavením bitu GIE. Instrukce trvá dva
instrukþní cykly.
RETurn with Literal in W
návrat z podprogramu s konstantou
Syntaxe:
Operandy:
Operace:
Do stĜadaþe je naþtena osmibitová
konstanta. Bity v operaþním kódu,
který nemají žádný význam budou
pĜeloženy jako ‚0‘.
RETurn From Interrupt
návČští RETLW k; komentáĜ
k = (0-225)
(PC) = STACK
(W) = k
žádné
Do programového þítaþe je umístČna
návratová adresa z vrcholu zásobníku a
souþasnČ je do stĜadaþe naþtena
osmibitová konstanta, která je souþástí
instrukþního kódu. Instrukce trvá dva
instrukþní cykly.
RETURN from subroutine
návrat z podprogramu
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
návČští RETURN; komentáĜ
žádné
(PC) = STACK
žádné
Je proveden návrat z podprogramu tím,
že do programového þítaþe je umístČna
návratová adresa z vrcholu zásobníku.
Instrukce trvá dva instrukþní cykly.
No OPeration
prázdná instrukce
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
návČští NOP; komentáĜ
žádné
žádná operace
žádné
BČhem jednoho instrukþního cyklu
nedochází k žádné operaci
© 2003 Microchip Technology
PIC12F629/675
Instrukþní sada
RLF
Rotate Left F
73
SUBLW
rotace registru doleva pĜes C
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
RRF
návČští ; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = rotace (f) doleva
C
Obsah registru je posunut o jeden
bit doleva pĜes C – pĜíznak pĜenosu
CARRY (rotace probíhá pĜes devČt
bitĤ). Výsledek je umístČn do
stĜadaþe pro d=0 nebo do registru
pro d=1.
C
Registr f
Rotate Right F
odeþtení stĜadaþe od konstanty
Syntaxe:
Operandy:
návČští SUBLW k; komentáĜ
k = (0-255)
Operace:
OvlivĖované
pĜíznaky:
Popis:
(W) = k – (W)
C, DC, Z
SUBWF
rotace registru doprava pĜes C
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
SLEEP
návČští RRF f, d; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = rotace (f) doprava
C
Obsah registru je posunut o jeden
bit doprava pĜes C – pĜíznak
pĜenosu CARRY (rotace probíhá
pĜes devČt bitĤ). Výsledek je
umístČn do stĜadaþe pro d=0 nebo
do registru pro d=1.
C
Registr f
go into mode SLEEP
SUBtract W from Literal
Obsah stĜadaþe je odeþten (metodou
dvojkového doplĖku) od obsahu registru
a výsledek je uložen do stĜadaþe pro
d=0 nebo do registru pro d=1.
SUBtract W from F
odeþtení stĜadaþe od registru
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
SWAPF
zahájení režimu Sleep
návČští SUBWF f, d; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = (f) – (W)
C, DC, Z
Obsah stĜadaþe je odeþten (metodou
dvojkového doplĖku) od obsahu registru
a výsledek je umístČn do stĜadaþe pro
d=0 nebo do registru pro d=1.
SWAP nibbles in F
zámČna dolního a horního pĤlbajtu
Syntaxe:
Operandy:
návČští SLEEP; komentáĜ
žádné
Syntaxe:
Operandy:
Operace:
WDT = 0x00h
pĜeddČliþka Watchdog = 0
Operace:
návČští SWAPF f, d; komentáĜ
f = (0-127)
d=(0,1)
f(b3-b0) = f(b7-b4)
f(b7-b4) = f(b3-b0)
pĜíznak TO = 1
pĜíznak PD = 0
OvlivĖované
pĜíznaky:
Popis:
TO , PD
Vynuluje se bit PD , nastaví se bit
OvlivĖované
pĜíznaky:
Popis:
TO . ýasovaþ Watchdog a jeho
pĜeddČliþka se nulují. Procesor
poþítaþe je uveden do režimu Sleep
ve kterém je zastaven taktovací
oscilátor.
XORLW
eXclusive OR Lit. With W
XORWF
nonekvivalence stĜadaþe a konst.
návČští XORLW k; komentáĜ
k = (0-225)
Syntaxe:
Operandy:
Operace:
OvlivĖované
pĜíznaky:
Popis:
(W) = (W) XOR k
Z
Operace:
OvlivĖované
pĜíznaky:
Popis:
© 2003 Microchip Technology
Jsou vzájemnČ zamČnČny þtyĜi nižší a
þtyĜi vyšší bity registru, když je
zachováno jejich poĜadí. Výsledek je
umístČn do stĜadaþe pro d=0 nebo do
registru pro d=1.
eXclusive OR W with F
nonekvivalence stĜadaþe a registru
Syntaxe:
Operandy:
Je provedena logická operace
nonekvivalence mezi obsahem
stĜadaþe a osmi bitovou konstantou.
Výsledek je umístČn do stĜadaþe.
C, DC, Z
návČští XORLF k; komentáĜ
f = (0-127)
d=(0,1)
(cílový registr) = (W) XOR (f)
Z
Je provedena logická operace
nonekvivalence mezi obsahem stĜadaþe
a obsahem registru. Výsledek je umístČn
do stĜadaþe pro d=0 nebo do registru pro
d=1.
PIC12F629/675
Vývojové prostĜedky
74
11.0. Vývojové prostĜedky
Pro mikropoþítaþe PICmicro® je k dispozici široká škála hardwarových a softwarových vývojových prostĜedkĤ:
x
Integrované vývojové prostĜedí: -program MPLAB® IDE
x
PĜekladaþe, kompilátory a spojovací programy: MPASM™ Assembler, kompilátory MPLAB C17 a MPLAB C18 C,
objektový spojovací program MPLINK™ a objektové knihovny MPLIB™, kompilátor MPLAB C30 C, kombinovaný
pĜekladaþ, spojovací program a knihovna MPLAB ASM30
x
Simulátory: softwarové simulátory MPLAB SIM a MPLAB dsPIC30
x
Emulátory: obvodové emulátory MPLAB ICE 2000 a MPLAB ICE 4000
x
Obvodová ladiþka: MPLAB ICD 2
x
Programátory zaĜízení: Univerzální programátor PRO MATE ® II, programátor PICSTART® PLUS
x
Levné demonstraþní desky: PICDEM™ 1, PICDEM.net™, PICDEM 2 Plus, PICDEM 3, PICDEM 17, PICDEM 18R,
PICDEM LIN, PICDEM USB
x
OvČĜovací nástroje: KEELOQ®, PICDEM MSC, microID, CAN, PowerSmart®, Analog
11.1. Vývojové prostĜedí MPLAB® IDE
Program má na trhu s 8/16bitovými mikropoþítaþi dosud nepĜekonané snadné ovládání. MPLAB IDE je program na platformČ
Windows®, který obsahuje:
x
Rozhraní pro ladící nástroje: simulátory, programátory (prodávané samostatnČ), emulátory (prodávané samostatnČ),
obvodový ladící program (prodávaný samostatnČ)
x
PlnČ funkþní editor
x
Správce projektĤ
x
Uživatelsky pružné nástrojové lišty a pĜiĜazení kláves
x
Stavová lišta
x
Aktivní nápovČda
Program MPLAB IDE umožĖuje:
x
Upravovat zdrojové soubory (napsané v programovacím jazyce C nebo Assembler)
x
Jedním stiskem klávesy skládat a stahovat emulaþní a simulaþní nástroje (pĜi automatické aktualizaci všech
informací o úloze)
x
Ladit program pomocí zdrojového souboru, absolutního seznamu nebo strojového kódu.
Uživatel programu MPLAB IDE ocení zejména množství ladících funkcí. Bez rozsáhlého zaškolování se adaptuje z použití
nákladného simulátoru na plnČ funkþní emulátor.
11.2. MPASM Assembler
Program MPASM je univerzální nástroj na vytváĜení maker pro všechny mikropoþítaþe z rodiny PICmicro®.
MPASM je vybaven pĜíkazovým Ĝádkem a prostĜedím Windows. MĤžete jej provozovat jako samostatnou aplikaci v systémech
Windows 3.x a vyšších, nebo v prostĜedí MPLAB IDE. Asembler vytváĜí pĜemístitelné objektové soubory pro spojovací program
MPLINK, soubory HEX obsahující strojový kód ve formátu INTEX-HEX, soubory MAP pro uspoĜádání pamČti a symboliku,
soubory LST, které obsahují výpis pĜekladaþe, zdrojové Ĝádky a vytvoĜené strojní kódy a soubory COD pro ladČní.
Mezi funkce programu MPASM patĜí:
x
Integrace do projektĤ MPLAB IDE
x
Uživatelsky nastavitelné rutiny - MAKRA
x
PodmínČné skládání víceúþelových zdrojových souborĤ
x
ěídící funkce, které kontrolují proces pĜekladu instrukcí
11.3. Kompilátory MPLAB C17 a MPLAB C18 C
MPLAB C17 a MPLAB C18 jsou programy pro práci ve standardu ANSI C pro mikropoþítaþe Microchip z rodiny PIC17CXXX a
PIC18CXXX (v uvedeném poĜadí). Tyto kompilátory se velmi dobĜe obsluhují a jsou snadno integrovatelné.
Pro snadnČjší ladČní na vstupní úrovni program používá symboliku kompatibilní s MPLAB IDE.
© 2003 Microchip Technology
PIC12F629/675
Vývojové prostĜedky
75
11.4. Objektový spojovací program MPLINK/objektová knihovna
MPLIB
Spojovací program spojuje pĜemístitelné objekty, vytvoĜené v programu MPASM a kompilátory MPLAB C17 a MPLAB C18 C.
MĤže také propojovat objekty, pĜipravené v knihovnách, a pĜíkazy spojovacího skriptu.
Objektové knihovny MPLIB obsahují pĜipravené rutiny, které lze použít programem MPLINK. Zavolá-li se z jiného zdrojového
souboru rutina, která je uložena v knihovnČ, bude s aplikací spojen jen takový modul, který požadovanou rutinu obsahuje.
Tímto zpĤsobem lze efektivnČ používat i rozsáhlé knihovny v mnoha rĤzných aplikacích. Knihovny MPLIB lze upravovat a
rozšiĜovat.
Mezi funkce programu MPLINK patĜí:
x
Integrace programĤ MPASM a MPLAB C17 a C18 C
x
Všechny pamČĢové oblasti mohou být oznaþeny jako sekce, aby byla zaruþena þasová pružnost
Mezi funkce knihoven MPLIB patĜí:
x
Snadné spojování mezi jednotlivými knihovnami namísto spojování mnoha malých souborĤ
x
Snadná správa kódĤ pomocí seskupování pĜíbuzných rutin
x
VytváĜení knihoven, pĜidávání, Ĝazení, nahrazování a výmaz rutin
11.5. Kompilátor MPLAB C30 C
Kompilátor MPLAB C30 C je plnČ funkþní program, sluþitelný se standardem ANSI, který pĜekládá programy z ANSI C do
zdrojového jazyka dsPIC30F. Podporuje také rĤzné volby Ĝádkových pĜíkazĤ a jazykové rozšíĜení, které dovolují plnČ využít
všechny hardwarové prostĜedky jazyka dsPIC30F a preciznČ Ĝídit generátor kódu.
Dodávka produktu MPLAB C30 C obsahuje také úplnou základní verzi knihovny ANSI C. Všechny její funkce byly ovČĜeny a
odpovídají standardu ANSI C. Mimo jiné je vybaveny prvky dynamického pĜiĜazování pamČti, konverze dat, kontroly þasové
osy a matematickými funkcemi (trigonometrické, hyperbolické a exponenciální). Kompilátor obsahuje také symboliku pro ladČní
s nástroji MPLAB IDE.
11.6. Integrovaný pĜekladaþ, spojovací program a knihovna
MPLAB ASM30
Program MPLAB ASM30 vytváĜí pĜenosný strojní kód pro zaĜízení dsPIC30F. PĜi vytváĜení objektových souborĤ využívá
funkce asembleru. Asembler vytváĜí pĜemístitelné soubory, které lze následnČ archivovat nebo vázat na další pĜenosné
soubory a archivy. Všechny tyto kroky vedou k sestavení spustitelného souboru. Mimo jiné je tento asembler schopen:
x
podporovat instrukþní sadu dsPIC30F v celé šíĜi
x
podporovat hodnoty s pevnou i plovoucí desetinnou þárkou
x
vytvoĜit rozhraní pro pĜíkazový Ĝádek
x
nabídnout bohatou sadu pĜíkazĤ
x
pracovat s pružným jazykem maker
x
podporovat ladČní programem MPLAB IDE
11.7. Softwarový simulátor MPLAB SIM
Programový simulátor MPLAB SIM umožĖuje vytváĜet kódy v hostitelském prostĜedí poþítaþe pomocí simulace na úrovni
instrukþního kódu mikropoþítaþe Ĝady PICmicro. Programátor mĤže kontrolovat datové oblasti jakékoli instrukce, mĤže také
pĜidávat instrukce pro jednotlivé vývody pouhým stiskem uživatelsky nastavených kláves. Provedení instrukce probíhá
v jediném kroku až do pĜerušení nebo v trasovacím režimu.
Simulátor MPLAB SIM plnČ podporuje symbolické ladČní, které je vlastní kompilátoru MPLAB C 17 a MPLAB C18 C a
assembleru MPASM. Simulátor umožĖuje vytvoĜit ladČný kód mimo laboratorní prostĜedí. Tím se mČní ve víceúþelový
vývojáĜský nástroj.
11.8. Softwarový simulátor MPLAB SIM30
Simulátor MPLAB SIM30 obsahuje vývojové nástroje pro tvorbu kódu v hostitelském prostĜedí poþítaþe. Návrh a simulace
probíhá na instrukþní úrovni. PĜi zadání instrukce dojde k otestování nebo zmČnČ datové oblasti a na pĜíslušný vývod odchází
ze souboru, nebo po stisku urþené klávesové zkratky, impuls. Výkon instrukce mĤže probíhat v jednom kroku, ve smyþce až do
pĜerušení nebo ve sledovacím režimu.
Simulátor plnČ podporuje symbolické ladČní z kompilátoru MPLAB C30 C a asembleru MPLAB ASM30. Zpracování
automatizovaných úkol probíhá v režimu pĜíkazové Ĝádky nebo jsou instrukce naþítány z prostĜedí MPLAB IDE.
Vysokorychlostní simulátor lze využít pĜi ladČní, analýze a optimalizaci þasovČ nároþných DSP rutin.
11.8. Univerzální obvodový emulátor MPLAB ICE 2000
Obvodový emulátor MPLAB ICE by mČl poskytnout vývojáĜi všechny dostupné nástroje na obsluhu mikropoþítaþe PICmicro.
© 2003 Microchip Technology
PIC12F629/675
Vývojové prostĜedky
76
Programové Ĝízení obvodového emulátoru MPLAB ICE je zajištČna prostĜednictvím integrovaného vývojového prostĜedí
MPLAB IDE, které umožĖuje upravovat, tvoĜit, pĜemisĢovat a ladit zdrojové soubory z jednotlivých prostĜedí.
Program MPLAB ICE 2000 je plnČ funkþní obvodový emulátor s integrovanými funkcemi editování, tvorby a ladČní kódu.
ZamČnitelné procesorové moduly umožĖují snadno nastavit prostĜedí pro emulaci þinnosti rĤzných procesorĤ. Emulátor má
univerzální stavbu a díky tomu mĤže být použit i pro práci s novými typy mikropoþítaþĤ PICmicro.
Systém obvodového emulátoru MPLAB ICE byl navržen tak, aby mohl pracovat v reálném þase a využívat rozsáhlé funkce,
které jsou obvykle dostupné spíše u dražších vývojových nástrojĤ. ProstĜedí Microsoft® Windows® a platforma, využívající
osobní poþítaþ byly vybrány tak, aby maximálnČ vycházeli vstĜíc koneþnému uživateli.
11.9. Univerzální obvodový emulátor MPLAB ICE 4000
Obvodový emulátor MPLAB ICE by mČl poskytnout vývojáĜi všechny dostupné nástroje na obsluhu vyšších tĜíd mikropoþítaþĤ
PICmicro. Softwarové Ĝízení obvodového emulátoru MPLAB ICE je zajištČna prostĜednictvím integrovaného vývojového
prostĜedí MPLAB IDE, které umožĖuje upravovat, tvoĜit, stahovat a ladit zdrojové soubory z jednotlivých prostĜedí.
MPLAB ICE 4000 je špiþkový emulátor, který mimo funkcí emulátoru MPLAB ICE 2000 disponuje také širší emulaþní pamČtí a
vysokým výkonem v zaĜízeních dsPIC30F a PIC18XXXX. Mezi vlastnosti emulátoru patĜí globální taktování a spouštČní, až 2
Mb emulaþní pamČti a zobrazování promČnných v reálném þase.
Systém obvodového emulátoru MPLAB ICE 4000 byl navržen tak, aby mohl pracovat v reálném þase a využívat rozsáhlé
funkce, které jsou obvykle dostupné spíše u dražších vývojových nástrojĤ. ProstĜedí Microsoft® Windows® a platforma,
využívající osobní poþítaþ byly vybrány tak, aby maximálnČ vycházeli vstĜíc koneþnému uživateli.
11.11. LadČní v aplikaci MPLAB ICD 2
Systém MPLAB ICD 2 spoleþnosti Microchip je výkonný a provoznČ nenároþný vývojový nástroj. PĜipojení k hostitelskému
poþítaþi probíhá pĜes rozhraní RS-232 nebo vysokorychlostní USB. Tento nástroj je navržen pro systémy mikroprocesorĤ
FLASH PICmicro a mĤže být použit pro vyvíjení aplikací pro tyto a další mikropoþítaþe. MPLAB ICD 2 používá ladČní,
integrované v zaĜízeních FLASH. Jde o vlastnost, která spoleþnČ s protokolem In-Circuit Serial Programming™ (ICSP™)
spoleþnosti Microchip, zajišĢuje nízkorozpoþtové ladČní s využitím grafického uživatelského rozhraní prostĜedí MPLAB IDE.
Díky tomu mĤže programátor vytváĜet a ladit zdrojový kód sledováním promČnných, stavu procesoru, vnČjších obvodĤ,
krokováním a vkládáním pĜerušení. Práce za plného provozu umožĖuje testovat zaĜízení v reálném þase. MPLAB ICD 2 slouží
také jako vývojový programátor pro nČkteré zaĜízení PICmicro.
11.12.
Univerzální programátor souþástky PRO MATE II
Programátor souþástky PRO MATE II je univerzální, plnČ funkþní programátor, který mĤže pracovat samostatnČ nebo na
platformČ osobního poþítaþe. Programátor zaĜízení PRO MATE II je CE kompatibilní.
PRO MATE II je schopen zajistit vyšší spolehlivost ovČĜením naprogramované pamČti pro minimální a maximální VDD. PĜíkazy
k použití kláves, instrukce, pĜipojení odnímatelných modulĤ pro odlišné typy sad a chybová hlášení se zobrazují na LCD
displeji. PĜi samostatném použití programátoru lze do zaĜízení PICmicro zapisovat, ovČĜovat instrukce a programovat, stejnČ
tak je v tomto režimu možno nastavovat ochranu kódu.
11.13.
Programátor PICSTART Plus
VývojáĜský programátor PICSTART Plus je snadno použitelný prototypový programátor. PĜipojuje se k poþítaþi pĜes
komunikaþní port RS 232. Velmi snadno a pohodlnČ se s programátorem pracuje v prostĜedí MPLAB IDE.
VývojáĜský programátor PICSTART Plus podporuje všechny zaĜízení PICmicro s alespoĖ 40 vývody. ZaĜízení o více vývodech,
napĜíklad PIC 16C92X a PIC17C76X mohou být pĜipojeny pĜes adapter. Také vývojáĜský programátor PICSTART Plus je CE
kompatibilní.
11.14.
Demonstraþní deska PICDEM 1
Demonstraþní deska PICDEM 1 je jednoduché zaĜízení, na kterém lze demonstrovat funkce nČkterých mikropoþítaþĤ
Microchip. Mezi podporované modely patĜí: PIC16C5X (PIC16C54 až PIC16C58A). PIC16C61, PIC16C62X, PIC16C71,
PIC16C8X, PIC17C42, PIC 17C43 a PIC17C44. Základní demonstraþní programy mĤžete díky dodávanému softwaru a
hardwaru okamžitČ používat. MĤžete také snadno ovČĜovat firmware nebo zaþít programovat jednoduché mikropoþítaþe
programátorem PRO MATE II nebo vývojáĜským programátorem PICSTART Plus. PĜedvádČcí desku je možno pĜipojit
k obvodovému emulátoru MPLAB ICE. V tomto prototypovém prostĜedí si mĤže uživatel sestavit vlastní hardware a pĜipojit jej
k vývodĤm mikropoþítaþe. Mezi nČkteré z funkcí patĜí komunikaþní rozhraní pro RS 232, potenciometr pro simulaci
analogového vstupu, vypínaþe a osm LED, pĜipojených k bránČ B.
11.15. Demonstraþní deska PICDEM.net Internet/Ethernet
PICDEM.net je demonstraþní deska pro mikropoþítaþ PIC18F452, urþená pro síĢové prostĜedí, ve kterém komunikuje pĜes protokol
TCP/IP. Deska podporuje všechny typy DIP mikropoþítaþĤ se 40 vývody, které mají stejné nastavení jako PIC16F877 nebo
PIC18C452. Sada obsahuje snadno ovladatelný vložený TCP/IP modul, síĢový server s protokolem HTML, sériovou pamČĢ
EEPROM pro ukládání síĢového obsahu do pamČti, konektor rozhraní ICSP/MPLAB ICD 2, rozhraní Ethernet, rozhraní RS-232 a
LCD displej o rozmČru 16x2 znaky. KromČ toho obsahuje balení také knihu a CD-ROM Jeremyho Benthama: TCP/IP Lean, Web
Servers for Embedded Systems.
© 2003 Microchip Technology
PIC12F629/675
Vývojové prostĜedky
77
11.16. Demonstraþní deska PICDEM 2 Plus
Demonstraþní deska PICDEM 2 Plus je jednoduché zaĜízení, které podporuje vČtšinu mikropoþítaþĤ s 18, 28 a 40 vývody, vþetnČ
PIC16F84X a PIC18FXX2. Veškerý nezbytný hardware a software, který je potĜeba pro provádČní základních programĤ, je zahrnut
v dodávce. Vzorky mikropoþítaþĤ, které obsahuje základní sada, lze programovat pomocí programátoru PRO MATE II nebo
PICSTART Plus, pĜípadnČ pomocí MPLAB ICD 2 s pĜipojeným programovacím adapterem. Ladiþku MPLAB ICD 2 a také obvodový
emulátor MPLAB ICE mĤžete využit i pĜi testování firmware. V prototypovém prostĜedí si mĤže uživatel pĜidat další hardware a
pĜipojit jej k vývodĤm mikropoþítaþe. Mezi funkce desky patĜí komunikaþní rozhraní pro RS 232, LCD o rozmČru 16 x 2, integrovaný
snímaþ teploty, þtyĜi LED, vzorky PIC18F452, PIC18F452 FLASH a piezoreproduktor.
11.17. Demonstraþní deska PICDEM 3 PIC16C92X
Demonstraþní deska PICDEM 3 je jednoduchá deska, podporující zaĜízení PIC 16C923 a PIC 16C924. Veškeré softwarové a
hardwarové vybavení, které je potĜeba ke spuštČní základních aplikací, je dodáno spoleþnČ s deskou.
11.18. Demonstraþní deska PICDEM 17
Deska PICDEM 17 je ovČĜovací demonstraþní deska, která podporuje mikropoþítaþe PIC17C752, PIC17C756A, PIC17C762 a
PIC17C766. Dodávka obsahuje také soubor demonstraþních verzí programĤ, které lze na desce provozovat. Veškerý potĜebný
hardware je v dodávce také obsažen. Naprogramovaný software lze vymazat a vytvoĜit vlastní kód pomocí programátoru PRO
MATE II nebo PICSTART Plus. Deska také podporuje stahování programĤ a jejich spuštČní mimo vnČjší pamČĢ FLASH. Pro
uživatele je k dispozici široká prototypová hardwarová základna.
11.19. Demonstraþní deska PICDEM 18R PIC18C601/801
Demonstraþní deska PICDEM 18R slouží k programování mikropoþítaþĤ rodiny PIC18C601/801. UmožĖuje fyzicky pĜipojit rĤzné
pamČĢové moduly jak k 8bitové multiplexované/nemultiplexované, tak 16bitové sbČrnici. Na desce je zároveĖ integrována 2MB
vnČjší FLASH pamČĢ a 128 Kb pamČĢ SRAM. PĜes sériovou EEPROM je možné využít další typy pamČti, které mikropoþítaþe
PIC18C601/801 podporují.
11.20. Demonstraþní deska PICDEM LIN PIC16C43X
Sada výkonného hardware a software LIN obsahuje Ĝadu desek a tĜi mikropoþítaþe. Dva z nich, mikroformátové PIC16C432 a
PIC16C433, fungují v LIN komunikaci jako závislé a nahrazují pĜijímaþ/vysílaþ. ěídící funkce má PIC16F874 FLASH. Do všech tĜí
mikropoþítaþĤ je zaveden program s podporou LIN sbČrnicové komunikace.
11.21. Sada PICkit™ 1 FLASH Starter
PICkit je kompletní „vývojový systém v jedné krabiþce“. Obsahuje multisekþní desku, na které lze programovat, ovČĜovat a vyvíjet
systémy, založené na 8/14vývodových mikropoþítaþích. Napájení je zajištČno pĜes USB port, a celá deska pracuje v jednoduchém
prostĜedí Windows GUI.
Dodávka obsahuje uživatelskou pĜíruþku na CD-ROM, pĜíruþku s užiteþnými tipy, instrukþní program, rozhraní MPLAB® IDE, USB
propojovací kabel a kódy pro nČkteré aplikace. Sada podporuje všechny dosud vyrobené 8 a 14vývodové mikropoþítaþe a mnoho
budoucích výrobkĤ.
11.22. Demonstraþní deska PICDEM USB PIC16C7X5
Deska je urþena pro mikropoþítaþe PIC16C745 a PIC16C765 USB. PĜedpokládá se, že bude také sloužit jako základ pro mnoho
budoucích výrobkĤ.
11.23. OvČĜovací a programovací nástroje
KromČ velkého množství hardwarového vybavení nabízí Microchip pro své výrobky také softwarové ovČĜovací a
demonstraþní softwarové nástroje.
x
x
x
x
x
x
x
x
nástroje Ĝady KEELOQ podporují výrobky se zabezpeþením dat Microchip HCS.
vývojová sada CAN pro síĢové aplikace v automobilovém prĤmyslu.
analogové návrhové desky a programy
nabíjecí sady PowerSmart s kalibrací a ovČĜením stavu baterie
vývojová sada pro infraþervenou komunikaci IrDA®
návrhový software microID a rfLab™
návrháĜská sada SEEVAL®, pro optimalizaci pamČti a výpoþty odolnosti
demonstraþní desky PICDEM MSC s pĜepínatelným napájecím zdrojem, ovladaþem IR, A/D pĜevodníkem delta-sigma a
senzorem rychlosti proudČní vzduchu
Detaily o jednotlivých funkcích i celých výrobcích najdete na internetových stránkách výrobce.
© 2003 Microchip Technology
PIC12F629/675
Vývojové prostĜedky
11.15.
78
Nízkorozpoþtová demonstraþní deska PICDEM 3 pro PIC16CXXX
Demonstraþní deska PICDEM 3 je jednoduchá deska, podporující zaĜízení PIC 16C923 a PIC 16C924 v patici PLCC.
S deskou je také možno použít mikropoþítaþe PLCC se 44 vývody nebo LCD moduly. Veškeré softwarové a hardwarové
vybavení, které je potĜeba ke spuštČní základních aplikací, je dodáno spoleþnČ s deskou. Programování jednoduchých
mikropoþítaþĤ lze provádČt pomocí programátoru PRO MATE II nebo PICSTART Plus s adaptérem. MĤžete také jednoduše
zkoušet firmware. K testování firmware mĤžete spoleþnČ s deskou také využít obvodový emulátor MPLAB ICE. Na
univerzálním motivu plošného spoje je možné k mikropoþítaþi pĜipojovat nejrĤznČjší zaĜízení. Mezi nČkteré vlastnosti desky
patĜí rozhraní RS 232, tlaþítkové vypínaþe, potenciometr pro simulovaný analogový vstup, termistor a samostatné držáky pro
pĜipojení LCD displeje a klávesnice.
Na desce PICDEM 3 jsou také k dispozici LCD panel se þtyĜmi obecnými segmenty a 12 segmenty pro zobrazování þasu,
teploty a dne v týdnu, pĜídavné rozhraní RS 232 a Windows kompatibilní software, který podporuje zobrazení LCD na PC.
Jednoduchý hardwarový demultiplexer si mĤže sestavit uživatel prostĜednictvím jednoduchého sériového rozhraní.
11.16.
Demonstraþní deska PICDEM 17
Deska PICDEM 17 je plnohodnotná pĜedvádČcí deska, která podporuje mikropoþítaþe PIC17C752, PIC17C756A, PIC17C762
a PIC17C766. Na disketČ 3,5’ je dodáván soubor demonstraþních verzí programĤ, které lze na desce provozovat. Veškerý
potĜebný hardware je v dodávce také obsažen. Naprogramovaný software lze vymazat a vytvoĜit vlastní kód pomocí
programátoru PRO MATE II nebo PICSTART Plus a tento vytvoĜený vzorek lze také odladit a testovat. Deska také podporuje
stahování programĤ a jejich spuštČní mimo externí pamČĢ FLASH. Desku mĤžete také používat s obvodovým emulátorem
MPLAB ICE nebo emulátorem PICMASTER. Každý ze vzorových programĤ mĤžete spouštČt upravovat pomocí kteréhokoli
z nich. Pro uživatele je k dispozici široká prototypová hardwarová základna.
11.17.
Programovací a ovČĜovací nástroje KEELOQ
Nástroje Ĝady KEELOQ podporují výrobky se zabezpeþením dat Microchip HCS. OvČĜovací sada OCS obsahuje LCD displej,
který zobrazuje zmČnu kódĤ, dekodér k rozkódování pĜenosu dat a programovací rozhraní pro programování testovacích
vysílaþĤ.
© 2003 Microchip Technology
PIC12F629/675
Elektrické charakteristiky
79
12.0. Elektrocharakteristiky
Maximální mezní parametry †
Okolní teplota, je-li pĜístroj pod napČtím ............................................................................................. -40°C až + 125°C
Skladovací teplota.................................................................................................................................... -65 až + 150°C
NapČtí VDD vĤþi VSS ...................................................................................................................................-0,3 až +6,5V
NapČtí na MCLR vĤþi VSS .......................................................................................................................-0,3 až +13,5V
NapČtí na dalších vývodech vĤþi VSS........................................................................................................................................................ -0,3 až (VDD + 0,3V)
(1)
Celkový pĜíkon .................................................................................................................................................. 800 mW
Maximální proud z vývodu VSS ............................................................................................................................ 300 mA
Maximální proud do vývodu VDD.......................................................................................................................... 250 mA
Vstupní proud omezovacími diodami IIK (VI< 0 nebo VI> VDD)........................................................................... ± 20 mA
Výstupní proud omezovacími diodami IOK (VO< 0 nebo VO > VDD) ................................................................... ± 20 mA
Maximální proud vstupující do jakéhokoli vst./výst. vývodu................................................................................... 25 mA
Maximální proud vycházející z jakéhokoli vst./výst. vývodu .................................................................................. 25 mA
Maximální vstupní proud jakéhokoli univerzálního vst./výst. vývodu ................................................................... 125 mA
Maximální výstupní proud jakéhokoli univerzálního vst./výst. vývodu ................................................................. 125 mA
Poznámky:
1: Celková výkonová ztráta je vypoþtena: PZTR = VDD x (IDD - ™IOH) + ™{(VDD – VOH) x IOH} + ™(VOL x IOL)
UpozornČní:
Hodnoty vyšší, než v pĜehledu uvedené jako absolutní maxima, mohou vyvolat trvalé poškození
souþástky. Jedná se o hodnoty maximální za uvedených podmínek, nikoli o parametry pracovní. PĜi
delším pĤsobení uvedených extrémních úrovní jednotlivých faktorĤ mĤže být snížena spolehlivost
sou þ ástky.
Poznámka:
NapČĢové špiþky pod úrovní VSS na vývodu MCLR , spoleþnČ s proudem nad 80 mA, mohou
zablokovat þinnost mikropoþítaþe. Proto by mČl být namísto pĜímého pĜipojení VSS vždy zaĜazen sériový
rezistor 50 – 100ȍ.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
80
Obrázek 12 – 1: Použitelný rozsah nap. napČtí pĜi rĤzné frekvenci, A/D pĜevodník odpojen; PIC12F629/675, -40°C ” TA ” +125°C
Poznámka:
1: Stínovaná plocha pĜedstavuje oblast pĜípustných kombinací napČtí a frekvence
Obrázek 12 – 2: Roužitelný rozsah nap. napČtí pĜi rĤzné frekvenci, A/D pĜevodník aktivní, PIC12F675, -40°C ” TA ” +125°C
Poznámka:
1: Stínovaná plocha pĜedstavuje oblast pĜípustných kombinací napČtí a frekvence
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
81
Obrázek 12 – 3:Použitelný rozsah napájecí napČtí pĜi rĤzné frekvenci, A/D pĜevodník aktivní, PIC12F675, 0°C ” TA ” +125°C
1: Stínovaná plocha pĜedstavuje oblast pĜípustných kombinací napČtí a frekvence
Poznámka:
12.1.
DC charakteristiky: PIC12F629/675-I (prĤmyslový),
PIC12F629/675-E (rozšíĜený)
BČžné pracovní podmínky (pokud není uvedeno jinak)
DC charakteristiky
Pracovní teplota
-40°C ” TA ” +85°C – prĤmyslový
-40°C ” TA ” +125°C - rozšíĜený
Parametr
Symbol
VDD
Charakteristika
Napájecí napČtí
D001
D001A
D001B
D001C
D001D
Min.
Typ. †
Max.
Jednotky
Podmínka
Fosc ” 4 MHz
PIC12F629/675, A/D pĜevodník odpojen
PIC12F675, A/D pĜev. aktivní, 0 – +125°C
PIC12F675, A/D pĜev. aktivní, -40 - +125°C
4MHz < Fosc < 10 MHz
2,0
2,2
2,5
3,0
4,5
-----------
5,5
5,5
5,5
5,5
5,5
V
V
V
V
V
1,5*
---
---
V
ZaĜízení v úsporném režimu
D002
VDR
NapČtí pro zachování
(1)
dat v pamČti RAM
D003
VPOR
Mezní napČtí VDD
pro zajištČní
resetu POR
---
Vss
---
V
Podrobnosti v kapitole o resetu POR
D004
SVDD
Rychlost nábČhu
napájecího napČtí
0,05*
---
---
V/ms
Podrobnosti v kapitole o resetu POR
---
2,1
---
V
D005
VBOD
*
tyto hodnoty jsou uvedeny, ale nejsou testovány
†
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
Poznámky:
1: Mez, na jakou lze snížit napájecí napČtí v úsporném režimu, aniž by došlo ke ztrátČ dat v pamČti
RAM.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
12.2.
82
DC charakteristiky: PIC12F639/675-I (prĤmyslový)
BČžné pracovní podmínky (pokud není uvedeno jinak)
DC charakteristiky
Pracovní teplota
-40°C ” TA ” +85°C – prĤmyslový
-40°C ” TA ” +125°C - rozšíĜený
Parametr
D010
Charakteristika
Napájecí proud (IDD)
Min.
-------
Typ. †
9
18
35
Max.
16
28
54
Jednotky
μA
μA
μA
VDD
---
110
150
μA
2,0
---
190
280
μA
3,0
2,0
3,0
Podmínka; pĜi daném napČtí
Fosc = 32 kHz
Oscilátor v režimu LP
5,0
D011
D012
D013
D014
D015
---
330
450
μA
5,0
---
220
280
μA
2,0
Fosc = 4 MHz
---
370
650
μA
3,0
Oscilátor v režimu XT
---
0,6
1,4
mA
5,0
---
70
110
μA
2,0
Fosc = 1 MHz
---
140
250
μA
3,0
Oscilátor v režimu EC
---
260
390
μA
5,0
---
180
250
μA
2,0
Fosc = 4 MHz
---
320
470
μA
3,0
Oscilátor v režimu EC
---
580
850
μA
5,0
---
340
450
μA
2,0
Fosc = 4 MHz
700
μA
3,0
Oscilátor v režimu INTOSC
--D016
D017
†
Poznámky:
Fosc = 1 MHz
Oscilátor v režimu XT
500
---
0,8
1,1
mA
5,0
---
180
250
μA
2,0
Fosc = 4 MHz
---
320
450
μA
3,0
Oscilátor v režimu EXTRC
---
580
800
μA
5,0
---
2,1
2,95
mA
4,5
Fosc = 20 MHz
---
2,4
3,0
mA
5,0
Oscilátor v režimu HS
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
1: Testovací podmínky za bČžného provozu pro všechna napájecí napČtí jsou: vnČjší taktování na OSC1,
všechny vývody pĜipojeny k VDD, všechny I/O ve tĜetím stavu
MCLR pĜipojeno k VDD; odpojen modul Watchdog.
2: Napájecí proud závisí zejména na pracovním napČtí a frekvenci. Ostatní parametry, napĜíklad
nastavení vstupních a výstupních vývodĤ, typ oscilátoru, režim pĜepínání, vnitĜní režim vykonání kódĤ a
teplota mají také vliv na spotĜebu proudu.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
12.3.
83
DC charakteristiky: PIC12F639/675-I (prĤmyslový)
BČžné pracovní podmínky (pokud není uvedeno jinak)
DC charakteristiky
Pracovní teplota
Parametr
Charakteristika
D020
Proud pĜi snížením napájení (IPD)
D021
D022
D023
D024
D025
D026
†
Poznámky:
-40°C ” TA ” +85°C – prĤmyslový
Min.
Typ. †
Max.
Jednotky
---
0,99
700
nA
VDD
2,0
---
1,2
770
nA
3,0
---
2,9
995
nA
5,0
modul Watchdog, detekce poklesu
napČtí, komparátory, referenþní
napČtí a vnČjší oscilátor pro Timer1
jsou odpojeny
---
0,3
1,5
μA
2,0
proud WDT
---
1,8
3,5
μA
3,0
---
8,4
18
μA
5,0
---
58
70
μA
3,0
---
109
130
μA
5,0
---
3,3
6,5
μA
2,0
---
6,1
8,5
μA
3,0
---
11,5
16
μA
5,0
---
58
70
μA
2,0
---
85
100
μA
3,0
---
138
160
μA
5,0
---
4,0
6,5
μA
2,0
---
4,6
7,0
μA
3,0
---
6,0
10,5
μA
5,0
---
1,2
775
nA
3,0
---
0,0022
1,0
μA
5,0
Podmínka; pĜi daném napČtí
proud pro detekci poklesu napČtí
proud komparátoru
proud referenþního napČtí
proud vnČjšího oscilátoru,
pĜipojeného k modulu Timer1
proud A/D pĜevodníku
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
1: Proud na periferiích je souþet základního napájecího proudu IDD nebo IPD a dodateþného proudu,
který spotĜebují periferie v dobČ, kdy jsou vyĜazeny z þinnosti. Diferenciální proud pro periferie mĤže být
urþen jako rozdíl napájecího proudu IDD nebo IPD a stanovené meze.
2: Proud pĜi snížením napájení v úsporném režimu nezávisí na typu oscilátoru. MČĜení probíhá na
souþástce v úsporném režimu, všechny vst./výst. vývody ve stavu vysoké impedance, pĜipojeny k VDD.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
12.4.
84
DC charakteristiky: PIC12F629/675-E (rozšíĜený)
BČžné pracovní podmínky (pokud není uvedeno jinak)
DC charakteristiky
Pracovní teplota
Parametr
Charakteristika
D010E
Napájecí proud (IDD)
D011E
D012E
D013E
D014E
D015E
D016E
D017E
†
Poznámky:
-40°C ” TA ” +125°C – rozšíĜený
Min.
Typ. †
Max.
Jednotky
---
9
16
μA
VDD
2,0
Podmínka; pĜi daném napČtí
Fosc = 32 kHz
---
18
28
μA
3,0
Oscilátor v režimu LP
---
35
54
μA
5,0
---
110
150
μA
2,0
---
190
280
μA
3,0
---
330
450
μA
5,0
---
220
280
μA
2,0
Fosc = 4 MHz
---
370
650
μA
3,0
Oscilátor v režimu XT
---
0,6
1,4
mA
5,0
---
70
110
μA
2,0
Fosc = 1 MHz
---
140
250
μA
3,0
Oscilátor v režimu EC
---
260
390
μA
5,0
---
180
250
μA
2,0
Fosc = 4 MHz
---
320
470
μA
3,0
Oscilátor v režimu EC
---
580
850
μA
5,0
---
340
450
μA
2,0
Fosc = 4 MHz
---
500
780
μA
3,0
Oscilátor v režimu INTOSC
---
0,8
1,1
mA
5,0
---
180
250
μA
2,0
Fosc = 4 MHz
---
320
450
μA
3,0
Oscilátor v režimu EXTRC
---
580
800
μA
5,0
---
2,1
2,95
mA
4,5
Fosc = 20 MHz
---
2,4
3,0
mA
5,0
Oscilátor v režimu HS
Fosc = 1MHz
Oscilátor v režimu XT
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
1: Testovací podmínky v bČžném provozu jsou pro všechna mČĜení IDD nastaveny takto: taktování vnČjšího
OSC1, vst./výst. vývody ve tĜetím stavu pĜipojeny na napájecí napČtí VDD, vývod MCLR pĜipojen naVDD,
þasovaþ Watchdog odpojen.
2: Napájecí proud závisí zejména na pracovním napČtí a frekvenci. Ostatní parametry, napĜíklad nastavení
vstupních a výstupních vývodĤ, typ oscilátoru, režim pĜepínání, vnitĜní režim vykonání kódĤ a teplota
mají také vliv na spotĜebu proudu.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
12.5.
DC charakteristiky: PIC12F629/675-E (rozšíĜený)
BČžné pracovní podmínky (pokud není uvedeno jinak)
DC charakteristiky
Parametr
Charakteristika
D020E
Proud v režimu Sleep (IPD)
D021E
D022E
D023E
D024E
D025E
D026E
†
Poznámky:
85
Pracovní teplota
-40°C ” TA ” +125°C – rozšíĜený
Min.
Max.
Jednotky
Typ. †
VDD
Podmínka; pĜi daném napČtí
---
0,00099
3,5
μA
2,0
---
0,0012
4,0
μA
3,0
---
0,0029
8,0
μA
5,0
modul Watchdog, detekce poklesu
napČtí, komparátory, referenþní
napČtí a vnČjší oscilátor pro Timer1
jsou odpojeny
---
0,3
6,0
μA
2,0
proud WDT
---
1,8
9,0
μA
3,0
---
8,4
20
μA
5,0
---
58
70
μA
3,0
---
109
130
μA
5,0
---
3,3
10
μA
2,0
---
6,1
13
μA
3,0
---
11,5
24
μA
5,0
---
58
70
μA
2,0
---
85
100
μA
3,0
---
138
160
μA
5,0
---
4,0
10
μA
2,0
---
4,6
12
μA
3,0
---
6,0
20
μA
5,0
---
0,0012
6,0
μA
3,0
---
0,0022
8,5
μA
5,0
(1)
(1)
proud pro detekci poklesu napČtí
proud komparátoru(1)
proud referenþního napČtí
(1)
proud vnČjšího oscilátoru,
(1)
pĜipojeného k modulu Timer1
proud A/D pĜevodníku
(1)
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
1: : Proud na periferiích je souþet základního napájecího proudu IDD nebo IPD a dodateþného proudu,
který spotĜebují periferie v dobČ, kdy jsou vyĜazeny z þinnosti. Diferenciální proud pro periferie mĤže být
urþen jako rozdíl napájecího proudu IDD nebo IPD a stanovené meze.
2: Proud pĜi snížením napájení v úsporném režimu nezávisí na typu oscilátoru. MČĜení probíhá na
souþástce v úsporném režimu, všechny vst./výst. vývody ve stavu vysoké impedance, pĜipojeny k VDD.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
86
12.6.
DC charakteristiky: PIC12F629/675-I (prĤmyslový),
PIC12F629/675-E (rozšíĜený)
BČžné pracovní podmínky (pokud není uvedeno jinak)
DC charakteristiky
-40°C ” TA ” +85°C – prĤmyslový
Pracovní teplota
-40°C ” TA ” +125°C - rozšíĜený
Parametr
Symbol
Charakteristika
Min.
Typ. †
Max.
Jednotky
Podmínka
Nízké vstupní napČtí
VIL
vst./výst. brány s:
- obvodem TTL
D030
D030A
VSS
---
0,8
V
4,5 V ” VDD ” 5,5 V
VSS
---
0,15 VDD
V
v ostatních pĜípadech
v celém rozsahu
- Schmittovým obvodem
VSS
---
0,2 VDD
V
D032
MCLR , OSC1 (RC osc)
VSS
---
0,2 VDD
V
D033
OSC1 (XT a LP osc)
VSS
---
0,3
V
poznámka 1
OSC1 (HS osc)
VSS
---
0,3 VDD
V
poznámka 1
2,0
---
VDD
V
4,5 V ” VDD ” 5,5 V
0,25 VDD+0,8
---
VDD
V
v ostatních pĜípadech
v celém rozsahu
D031
D033A
Vysoké vstupní napČtí
VIH
vst./výst. brány s:
- obvodem TTL
D040
D040A
D042
-Schmittovým obvodem
MCLR
D043
OSC1 (XT a LP osc)
D043A
OSC1 (HS osc)
D043B
OSC1 (RC osc)
0,9 VDD
D041
D070
IPUR
Proud na slabých pullup obvodech brány
GP
0,8 VDD
---
VDD
V
0,8 VDD
---
VDD
V
1,6
---
VDD
V
poznámka 1
0,7 VDD
---
VDD
V
poznámka 1
---
VDD
V
50*
250
400*
μA
VDD = 5,0 V; VPIN = VSS
---
±0,1
±1
μA
VSS ” VPIN ” VDD, vysoká
impedance
---
±0,1
±1
μA
VSS ” VPIN ” VDD
Svodový proud
vstupu
IIL
D060
vst./výst. brány
D060A
D060B
---
±0,1
±1
μA
VSS ” VPIN ” VDD
D061
---
±0,1
±5
μA
VSS ” VPIN ” VDD
D063
---
±0,1
±5
μA
VSS ” VPIN ” VDD, oscilátor typu
XT, HS a LP
vst./výst. brány (log0)
---
---
0,6
V
IOL = 8,5 mA, VDD = 4,5 V (prĤm.)
OSC2/CLKOUT (osc.
RC)
---
---
0,6
V
IOL = 1,6 mA, VDD = 4,5 V (prĤm.)
Nízké výstupní napČtí
D080
VOL
IOL = 1,2 mA, VDD = 4,5 V (rozš.)
Vysoké výstupní napČtí
D090
VOH
D092
vst./výst. brány (log1)
VDD – 0,7
---
---
V
IOH = -3,0 mA, VDD = 4,5 V (prĤm.)
OSC2/CLKOUT (osc.
RC)
VDD – 0,7
---
---
V
IOH = -1,3 mA, VDD = 4,5 V (prĤm.)
IOH = -1,0 mA, VDD = 4,5 V (rozš.)
*
tyto hodnoty jsou uvedeny, ale nejsou testovány
†
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
Poznámky:
1: V konfiguraci s RC oscilátorem pracuje vývod OSC1/CLKIN jako SchmittĤv klopný obvod. VnČjší
signál se pro RC oscilátor nedoporuþuje.
2: Ztráty proudu na vývodu MCLR závisí na úrovni použitého napájecího napČtí. Uvedené hodnoty se
používají pĜi bČžných pracovních podmínkách. Na vyšší úrovni napájecího napČtí mĤže dojít k vČtší
proudové ztrátČ.
3: Záporný proud je výstupní proud na vývodu.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
87
12.7.
DC charakteristiky: PIC12F629/675-I (prĤmyslový),
PIC12F629/675-E (rozšíĜený) - pokraþování
BČžné pracovní podmínky (pokud není uvedeno jinak)
DC charakteristiky
-40°C ” TA ” +85°C – prĤmyslový
Pracovní teplota
-40°C ” TA ” +125°C - rozšíĜený
Parametr
Symbol
Charakteristika
Min.
Typ. †
Max.
Jednotky
Podmínka
Kapacitní zatížení na
výstupních vývodech
D100
COSC2
D101
vývod OSC2
---
---
15*
pF
všechny vst./výst.
vývody
---
---
50*
pF
pro oscilátory typu XT, HS, LP,
OSC1 s vnČjším taktováním
Datová pamČĢ
EEPROM
D120
ED
Odolnost prostoru
100 tis.
10 mil.
---
cyklĤ
-40°C ” TA ” +85°C
D120A
ED
pro zápis
10 tis.
100 tis
---
cyklĤ
-40°C ” TA ” +125°C
D121
VDRW
NapČtí pro þtení/zápis
VMIN
---
5,5
V
D122
TDEW
Délka cyklu výmaz/zápis
---
5
6
ms
D123
TRETD
Doba udržení dat
v pamČti
40
---
---
rok
Ostatní omezení jsou dodržena
D124
TREF
Poþet cyklĤ zápis/výmaz
pĜed obnovou (1)
1 mil.
10 mil.
---
cyklĤ
-40°C ” TA ” +85°C
---
cyklĤ
-40°C ” TA ” +85°C
-40°C ” TA ” +125°C
Zápis/þtení pĜes registr EECON,
VMIN = minimální prac. napČtí
Programová pamČĢ
FLASH
Odolnost buĖky
10 tis
100 tis
ED
Odolnost buĖky
1 tis
10 tis
---
cyklĤ
VPR
NapČtí pro þtení
VMIN
---
5,5
V
VPEW
NapČtí pro zápis/þtení
4,5
---
5,5
V
TPEW
Délka cyklu zápis/výmaz
---
2
2,5
ms
TREDT
Doba udržení dat
v pamČti
40
---
---
rok
D130
EP
D130A
D131
D132
D133
D134
VMIN = minimální prac. napČtí
Ostatní omezení jsou dodržena
*
Hodnoty jsou uvedeny, netestovány
†
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
1: PodrobnČjší informace v kapitole 8.5.1.
Poznámky:
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
12.8.
88
Symbolika þasových promČnných
Symboly þasových parametrĤ byly vytvoĜeny nČkolika zpĤsoby:
1. TppS2ppS
2. TppS
Význam symbolĤ na jednotlivých pozicích:
T
T
þas
osc
rd
rw
sc
ss
t0
t1
wdt
OSC1
RD
RD nebo WR
SCK
SS
T0CKI
T1CKI
þasovaþ Watchdog
pokles
P
perioda
H
vysoký
R
vzestup
I
neplatný (vysoká impedance)
V
platný
L
nízký
Z
vysoká impedance
F
frekvence
Znaky psané malým písmem a jejich význam
pp
cc
CCP1
ck
CLKOUT
CS
cs
di
SDI
do
SDO
dt
io
vstup dat
vst./výst. brána
mc
MCLR
Znaky psané velkým písmem a jejich význam
S
F
Obrázek 12 – 4: Podmínky zatížení
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
89
12.9.
AC charakteristiky: PIC12F629/675 (prĤmyslový,
rozšíĜený)
Obrázek 12 - 5: PrĤbČh vnČjšího taktování
Tabulka 12 – 1: Požadavky vnČjšího taktování
Param.
Symbol
Fosc
Charakteristika
(1)
VnČjší frekvence CKLIN
(1)
Frekvence oscilátoru
1
Tosc
(1)
Perioda CLKIN
(1)
Perioda oscilátoru
(1)
Min
Typ†
Max
Jedn
Podmínky
DC
DC
DC
DC
---------
37
4
20
20
kHz
MHz
MHz
MHz
oscilátor LP
oscilátor XT
oscilátor HS
Oscilátor EC
5
--DC
0,1
1
--4
-------
37
--4
4
20
kHz
MHz
MHz
MHz
MHz
oscilátor LP
oscilátor INTOSC
oscilátor RC
oscilátor XT
oscilátor HS
27
50
50
250
---------
’
’
’
’
μs
μs
μs
μs
oscilátor LP
oscilátor HS
oscilátor EC
oscilátor XT
27
--250
250
50
--250
-------
200
----10000
1000
μs
ns
ns
ns
ns
oscilátor LP
oscilátor INTOSC
oscilátor RC
oscilátor XT
oscilátor HS
2
Tcy
Doba vykonání instrukce
200
TCY
DC
ns
3
TosL,
TosH
Taktování oscilátoru
(OSC1 v nastavení
log0/log1)
2*
20*
-----
-----
μs
ns
100
---
---
ns
oscilátor LP, Tosc L/H pov.
oscilátor HS, Tosc L/H
povinný cyklus
oscilátor XT, Tosc L/H pov.
-------
-------
50*
25*
15*
ns
ns
ns
oscilátor LP
oscilátor XT
oscilátor HS
4
TosR,
OSF
Taktování oscilátoru
(OSC1- nábČžná a
sestupná hrana signál
*
Hodnoty jsou uvedeny, netestovány
†
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
Poznámky:
1: Doba trvání instrukþního cyklu (TCY) odpovídá þtyĜnásobku základní periody taktovacího oscilátoru.
Všechny podmínČné hodnoty v tabulce jsou upraveny tak, aby vyhovovaly pracovnímu kódu jednotlivých
typĤ oscilátoru pĜi provozu v bČžných podmínkách. Pokud dojde ke zvýšení nČkterého parametru nad
stanovenou úroveĖ, mĤže být omezena stabilita oscilátoru a/nebo dojde ke zvýšení odbČru proudu.
Všechna zaĜízení byla testována s vnČjším zdrojem taktování na OSC1 pĜi minimálních hodnotách
jednotlivých parametrĤ. Maximální hodnota pro délku instrukþního cyklu pĜi vnČjším taktování je pro
všechna zaĜízení ‚DC‘ – bez signálu.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
90
Tabulka 12 – 2: PĜesné pracovní parametry vnitĜního oscilátoru
Param.
Symbol
Charakteristika
F10
Fosc
Kalibrovaná
frekvence vnitĜního
oscilátoru – INTOSC
F14
TIOSTST
Probuzení oscilátoru
z režimu Sleep – doba
nábČhu
Frek.
toleran
ce
Min.
Typ†
Max
Jedn
Podmínky
±1
±5
3,96
3,92
4,0
4,0
4,04
4,08
MHz
MHz
±5
3,8
4,0
4,2
MHz
VDD = 3,5V; 25°C
2,5V ” VDD ” 5,5V
0°C ” TA ” +85°C
2,0V ” VDD ” 5,5V
-40°C ” TA ” +85°C (prĤm.)
-40°C ” TA ” +125°C (rozš)
-------
-------
6
4
3
8
6
5
μs
μs
μs
VDD =2,0 V; -40°C - + 85°C
VDD =3,0 V; -40°C - + 85°C
VDD =5,0 V; -40°C - + 85°C
*
Hodnoty jsou uvedeny, netestovány
†
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
91
Obrázek 12 – 6: Vztah vnČjšího taktování a vst./výst. vývodĤ
Tabulka 12 – 3: Požadavky na vnČjší taktování na vst./výst. vývodech
Param. Symbol
Charakteristika
Min
Typ†
Max
Jedn.
Podmínky
10
TOSH2CKL
OSC1Ĺ až CLKOUT Ļ
---
75
200
ns
poznámka 1
11
TOSH2CKH OSC1Ĺ až CLKOUT Ĺ
---
75
200
ns
poznámka 1
12
TCKR
---
35
100
ns
poznámka 1
13
TCKF
Doba sestupu CLKOUT
---
35
100
ns
poznámka 1
14
TCKH2IOV
Signál CLKOUT v log 0 - výstupní brána
---
---
20
ns
poznámka 1
15
TIOV2CKH
Signál CLKOUT v log 0 – vstupní brána
Tosc+20 ns
---
---
ns
poznámka 1
16
TCKH2IOI
NábČh signálu CLKOUT, brána pasivní
0
---
---
ns
poznámka 1
17
TOSH2IOV
Signál osc. v log 1 (cyklus Q1), - výstupní
brána
-----
50
---
150*
300
ns
ns
18
TOSH2IOI
Signál osc. v log 1 (cyklus Q2) – brána
pasivní
100
---
---
ns
19
TIOV2OSH
Vstup na portu platný až do OSC1Ĺ (vst/výst
porty se nastavují)
0
---
---
ns
20
TIOR
Doba nábČhu signálu na výst. bránČ
---
10
40
ns
21
TIOF
Doba sestupu signálu na výst. bránČ
---
10
40
ns
25
---
---
ns
Tcy
---
---
ns
22
TINP
23
TRBP
*
†
Poznámky:
Doba nábČhu CLKOUT
Vývod INT v log1 nebo log 0
Doba trvání zmČny na GPIO pro vyvolání
pĜerušení
Hodnoty jsou uvedeny, netestovány
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
1: MČĜení s oscilátorem v konfiguraci RC, výstup CLKOUT = 4Tosc.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
92
Obrázek 12 – 7: ýasové pomČry pĜi nábČhu napájecího napČtí, resetu, zpoždČní modulu Watchdog, zpoždČní oscilátoru a
zpoždČní
Obrázek 12 – 8: ýasové rozložení detekce poklesu napájecího napČtí
Poznámka:
1: ZpoždČní 72 ms pouze v pĜípadČ, že je bit PWRTE v konfiguraþním slovČ nulován.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrocharakteristiky
93
Tabulka 12 – 4: Požadavky na signál Reset, modul Watchdog, þasovaþe spuštČní oscilátoru, þasovaþe napájení a
detekce poklesu napČtí
Param. Symbol
Charakteristika
30
TMCL
ŠíĜka impulsu MCLR (log 0)
31
TWDT
Prodleva modulu Watchdog (bez
pĜeddČliþky)
32
TOST
Perioda þasovaþe oscilátoru pĜi zapnutí
33*
TPWRT
Perioda þasovaþe oscilátoru pĜi spuštČní
napájení
34
TIOZ
Vysoká impedance vst./výst od MCLR
v log 0. nebo pĜi resetu
DVDD
Mezní napČtí pro detekci poklesu
35
TBOD
Min
Typ†
Max
Jedn.
Podmínky
2
TBD
--TBD
--TBD
μs
ms
VDD = 5,0 V
-40°C až +
85°C, rozš.
10
10
17
17
25
30
ms
ms
VDD = 5,0 V
-40°C až +
85°C, rozš.
ms
TOSC = 1
perioda
OSC1
VDD = 5,0 V
-40°C až +
85°C, rozš.
1024 Tosc
28*
TBD
72
TBD
132*
TBD
ms
ms
---
---
2,0
μs
2,025
---
2,175
V
Hystereze detekce poklesu napČtí
TBD
---
---
---
ŠíĜka pulzu detekce poklesu napČtí
100*
---
---
μs
VDD ” BVDD
(D005)
*
Hodnoty jsou uvedeny, netestovány
†
Hodnoty v poli Typ. platí pĜi 0,5V a 25°C,. není-li uvedeno jinak. Jsou urþeny pouze pro úþely návrhu a
nejsou testovány
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrocharakteristiky
94
Obrázek 12 – 9: VnČjší taktování modulĤ Timer1 a Timer0
Tabulka 12 – 5: Vlastnosti vnČjšího taktování modulĤ Timer0 a Timer1
Param. Symbol
40*
41*
42*
Tt0H
Tt0L
Tt0P
Charakteristika
T0CKI log 1
T0CKI log 0
bez pĜeddČliþky
Min
0,5TCY + 20
Typ†
Max Jedn.
---
---
ns
---
---
ns
s pĜeddČliþkou
10
bez pĜeddČliþky
0,5TCY + 20
---
---
ns
s pĜeddČliþkou
10
---
---
ns
VČtší než 20
nebo
---
---
ns
Perioda T0CKI
TCY 40
N
45*
46*
47*
Tt1H
Tt1L
Tt1P
T1CKI log 1
T1CKI log 0
Vstupní perioda
T1CKI
Synchron., bez
pĜeddČliþky
0,5 TCY + 20
---
---
ns
Synchron.,
s pĜeddČliþkou
15
---
---
ns
Asynchronní
30
---
---
ns
Synchron., bez
pĜeddČliþky
0,5 TCY + 20
---
---
ns
Synchron.,
s pĜeddČliþkou
15
---
---
ns
Asynchronní
30
---
---
ns
Synchronní
VČtší než 30
nebo
---
---
ns
60
---
---
ns
DC
---
200
*
kHz
2Tosc*
---
7
Tosc*
TCY 40
N
Asynchronní
48
Ft1
Frekvenþní rozsah oscilátoru þasovaþe
Timer1 (nastaven bit T1OSCEN)
TCKE
Ztmr1
ZpoždČní mezi hranou vnČjšího þas. signálu
a inkrementací þasovaþe
Legenda:
Podmínky
N = hodnota
pĜeddČliþky
(2, 4,….256)
N = hodnota
pĜeddČliþky
(1, 2, 4, 8)
---
*
uvedené hodnoty nejsou testovány
†
Pokud není uvedeno jinak, platí typické hodnoty (pole Typ) pĜi napČtí 5,0 V a teplotČ 25°C.
Hodnoty slouží pouze jako orientaþní pro usnadnČní návrhu a nejsou testovány.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrocharakteristiky
95
Tabulka 12 – 6: Vlastnosti komparátoru
Komparátor
Symbol
BČžné pracovní podmínky
-40°C až +125°C (pokud není uvedeno jinak)
Charakteristika
Min
Typ†
Max
Jedn.
VOS
PĜesah vstupního napČtí
---
± 5,0
± 10
mV
VCM
Vstupní napČtí v bČžném režimu
0
---
VDD – 1,5
V
CMRR
PomČr potlaþení v bČžném provozu
+55*
---
---
db
---
150
400*
ns
---
---
10*
μs
(1)
TRT
ýas odezvy
TMC2COV
Režim zmČny komparátoru na platný výstup
*
Poznámka:
Poznámky
Stanovené hodnoty nejsou testovány
1: ýas odezvy mČĜen na komparátoru, jehož jeden vstup byl (VDD-1,5)/2 a na druhém vstupu došlo ke
zmČnČ VSS na VDD - 1,5V.
Tabulka 12 – 7: Vlastnosti referenþního napČtí komparátoru
Komparátor
Symbol
Charakteristika
BČžné pracovní podmínky
-40°C až +125°C (pokud není uvedeno jinak)
Min
Typ†
Max
Jedn.
Rozlišení
-----
VDD/24*
VDD/32
-----
LSb
LSb
Rozsah v VRR = 1
Rozsah v VRR = 0
Absolutní pĜesnost
-----
-----
±1/2
±1/2
LSb
LSb
Rozsah v VRR = 1
Rozsah v VRR = 0
Hodnota rezistoru (R)
---
2k*
---
ȍ
---
---
10*
μs
Doba ustálení
(1)
Legenda :
*
Poznámky:
1: Doba ustálení je mČĜena pĜi VRR = 1 a pĜevodu VR <3:0> z 0000 na 1111.
Poznámky
Uvedené parametry nejsou testovány
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrocharakteristiky
96
Tabulka 12 – 8: PIC12F675 - vlastnosti A/D pĜevodníku
Param. Symbol
Charakteristika
Min
Typ†
Max
Jedn.
Rozlišení
---
---
10 bitĤ
bit
Podmínka
A01
NR
A02
EABS
Celková absolutní chyba
---
---
±1
LSb
VREF = 5,0 V
A03
EIL
Integrální chyba
---
---
±1
LSb
VREF = 5,0 V
A04
EDL
Diferenciální chyba
---
---
±1
LSb
Ve výsledném þísle
jsou všechny bity
urþeny.
VREF = 5,0 V
A05
EFS
Rozsah vzorkování
2,2*
---
5,5*
V
A06
EOFF
Chyba zpĤsobená pĜekroþením meze
---
---
±1
LSb
VREF = 5,0 V
A07
EGN
Chyba vzorkování
---
---
±1
LSb
VREF = 5,0 V
A10
---
Monotónnost
---
---
---
A20
A20A
VREF
Referenþní napČtí
2,0
2,5
---
--VDD+0,3
V
A21
VREF
ÚroveĖ referenþního napČtí (VDD nebo
VREF)
VSS
---
VDD
V
A25
VAIN
NapČtí na analogovém vstupu
VSS
---
VREF
V
A30
ZAIN
Doporuþená impedance zdroje an. napČtí
---
---
10
kȍ
A50
IREF
Proud na vstupu ref. napČtí
10
---
1000
μA
---
---
10
μA
(3)
zaruþena
VSS ” VAIN ” VREF+
Nejnižší napČtí, pĜi
kterém je zajištČn
pĜesnost výsledku
BČhem urþování VAIN
ěídí se rozdílem
VHOLD a VAIN.
BČhem A/D pĜevodu.
Legenda:
*
uvedené hodnoty nejsou testovány
†
Pokud není uvedeno jinak, platí typické hodnoty (pole Typ) pĜi napČtí 5,0 V a teplotČ 25°C.
Hodnoty slouží pouze jako orientaþní pro usnadnČní návrhu a nejsou testovány.
Poznámky:
1: vypnutý pĜevodník neodebírá proud, kromČ svodového. Parametry napájení v úsporném režimu s
touto ztrátou na A/D pĜevodníku poþítají.
2: NapČtí VREF pĜichází z vývodu VREF nebo VDD, podle toho, který z nich je vybrán jako vstup
referenþního napČtí.
3: Výsledek pĜevodu se v závislosti na vstupním napČtí nemČní a je vždy úplný.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
97
Obrázek 12 – 10: ýasování A/D pĜevodu u PIC 12F675 (bČžný režim)
Poznámka:
1: Jestliže je zdrojem þasování pĜevodníku oscilátor RC, spouští se þasování pĜevodníku až po Tcy, za
níž se dokonþuje instrukce SLEEP.
Tabulka 12 – 9: Vlastnosti A/D pĜevodu u PIC 12F675
Param. Symbol
Charakteristika
130
TAD
Perioda A/D pĜevodu, vlastní þasování
130
TAD
Perioda A/D pĜevodu, þasování podle
vnitĜního oscilátoru RC
Min
Typ†
Max
Jedn.
1,6
3,0*
-----
-----
μs
μs
3,0*
2,0*
6,0
4,0
9,0*
6,0*
μs
μs
Dle Tosc, VREF • 3,0 V
Dle Tosc, plný rozsah
VREF
ADCS<1:0> = 11(RC)
PĜi VDD = 2,5 V
PĜi VDD = 5,0 V
Lze zahájit nový pĜevod
131
TCNV
Doba pĜevodu (nezahrnuje dobu
nastavení)
---
11
---
TAD
132
TACQ
Doba nastavení
p. 2
5*
11,5
---
-----
μs
μs
---
TOSC/2
---
---
134
TGO
Doba od Q/4 do nábČhu taktování A/D
Podmínka
NejménČ doba ustálení
zesilovaþe. Lze ji
použít, pokud není
zmČna vstupního
napČtí od minulého
vzorkování (uloženého
v CHOLD) vČtší než 1
LSb (napĜ. 4,1 mV na
0,096 V)
Pokud je RC oscilátor
zdrojem signálu A/D
pĜevodníku, TCY
pĜedchází nábČhu
þasování pĜevodníku.
BČhem této doby se
vykoná instrukce
SLEEP.
Legenda:
*
uvedené hodnoty nejsou testovány
†
Pokud není uvedeno jinak, platí typické hodnoty (pole Typ) pĜi napČtí 5,0 V a teplotČ 25°C.
Hodnoty slouží pouze jako orientaþní pro usnadnČní návrhu a nejsou testovány.
Poznámky:
1: Naþítání registru ADRES probČhne pĜi dalším cyklu TCY.
2: Podrobnosti o minimálních hodnotách najdete v kapitole 7.1.
© 2003 Microchip Technology Inc.
PIC12F629/675
Elektrické charakteristiky
98
Obrázek 12 – 11: ýasování pĜevodu u PIC 12F675 (režim Sleep)
Tabulka 12 – 10: Vlastnosti A/D pĜevodu u PIC 12F675 – režim Sleep
Param. Symbol
Charakteristika
Min
Typ†
Max
Jedn.
130
TAD
Perioda A/D pĜevodu, vlastní þasování
1,6
3,0*
-----
-----
μs
μs
130
TAD
Perioda A/D pĜevodu, þasování podle
vnitĜního oscilátoru RC
3,0*
2,0*
6,0
4,0
9,0*
6,0*
μs
μs
131
TCNV
Doba pĜevodu (nezahrnuje dobu
nastavení)
---
11
---
TAD
132
TACQ
Doba nastavení
p. 2
5*
11,5
---
-----
μs
μs
---
TOSC/2
---
---
134
TGO
Doba od Q/4 do nábČhu þasování A/D
Podmínka
VREF • 3,0 V
plný rozsah VREF
ADCS<1:0> = 11(RC)
PĜi VDD = 2,5 V
PĜi VDD = 5,0 V
NejménČ doba ustálení
zesilovaþe. Lze ji
použít, pokud není
zmČna vstupního
napČtí od minulého
vzorkování (uloženého
v CHOLD) vČtší než 1
LSb (napĜ. 4,1 mV na
0,096 V)
Pokud je RC oscilátor
zdrojem signálu A/D
pĜevodníku, TCY
pĜedchází nábČhu
taktování pĜevodníku.
BČhem této doby se
vykoná instrukce
SLEEP.
Legenda:
*
uvedené hodnoty nejsou testovány
†
Pokud není uvedeno jinak, platí typické hodnoty (pole Typ) pĜi napČtí 5,0 V a teplotČ 25°C.
Hodnoty slouží pouze jako orientaþní pro usnadnČní návrhu a nejsou testovány.
Poznámky:
1: Naþítání registru ADRES probČhne pĜi dalším cyklu TCY.
2: Podrobnosti o minimálních hodnotách najdete v kapitole 7.1.
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
99
13.0. Grafický popis statických a dynamických charakteristik
Hodnoty v grafech, které jsou uvedeny v tomto oddíle, nebyly testovány a slouží pouze pro úþely návrhu.
NČkteré hodnoty v pĜedkládaných grafech leží mimo pĜípustné meze zaĜízení (napĜíklad mimo pĜípustné meze napČtí VDD).
Grafické prĤbČhy jsou v takovém pĜípadČ þistČ informativní a zaĜízení mĤže pracovat správnČ pouze ve stanovených mezích
dané charakteristiky.
Údaje v této kapitole vycházejí ze statistického šetĜení, provedeného z mČĜení rĤzných zaĜízení v rozdílných skupinách,
bČhem daného þasového úseku a na základČ pĜedem daného schématu. Typické hodnoty jsou stĜední hodnotou
z výsledného rozdČlení pĜi teplotČ 25°C. Hodnoty maxima a minima pĜedstavují stĜední hodnotu ± 3ı, kde ı znaþí
smČrodatnou odchylku celé použité teplotní škály.
Obrázek 13 – 1: Typický prĤbČh proudu v závislosti na napČtí pĜi bČžných teplotách (-40°C - + 25°C)
Obrázek 13 – 2: Typický prĤbČh proudu v závislosti na napČtí pĜi vysokých teplotách (+85°C)
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
100
Obrázek 13 – 3: Typický prĤbČh proudu v závislosti na napČtí pĜi extrémních teplotách
Obrázek 13 – 4: Nejvyšší prĤbČh proudu v závislosti na napČtí pĜi bČžných teplotách
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
101
Obrázek 13 – 5: Nejvyšší prĤbČh proudu v závislosti na napČtí pĜi vysokých teplotách
Obrázek 13 – 6: Nejvyšší prĤbČh proudu v závislosti na napČtí pĜi extremních teplotách
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
102
Obrázek 13 – 7: Typický prĤbČh proudu v závislosti na napČtí pĜi rĤzných teplotách, detekce poklesu napČtí aktivní
Obrázek 13 – 8: Typický prĤbČh proudu v závislosti na napČtí pĜi rĤzných teplotách, komparátor aktivní
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
103
Obrázek 13 – 9: Typický prĤbČh proudu v závislosti na napČtí, A/D pĜevodník aktivní, bČžné teploty
Obrázek 13 – 10: Typický prĤbČh proudu v závislosti na napČtí, A/D pĜevodník aktivní, vysoké teploty
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
104
Obrázek 13 – 11: Typický prĤbČh proudu v závislosti na napČtí, A/D pĜevodník aktivní, extrémní teploty
Obrázek 13 – 12: Typický prĤbČh proudu v závislosti na napČtí, oscilátor modulu Timer1 aktivní, 32 kHz, C1 a C2 =
50 pF (teplota -40°C až +125°C)
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
105
Obrázek 13 – 13: Typický prĤbČh proudu v závislosti na napČtí, referenþní napČtí pĜipojeno (teploty -40°C až +125°C)
Obrázek 13 – 14: Typický prĤbČh proudu v závislosti na napČtí, modul Watchdog aktivní (teplota -40°C až +125°C)
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
106
Obrázek 13 – 15: Nejnižší a nejvyšší frekvence vnitĜního taktovacího oscilátoru v závislosti na teplotČ, VDD = 3,5 V,
blokovací kondenzátor 0,1 a 0,01 μF
Obrázek 13 – 16: Nejnižší a nejvyšší frekvence vnitĜního oscilátoru v závislosti na napČtí, teplota +25°C, blokovací
kondenzátor oscilátoru 0,1 a 0,01 μF
© 2003 Microchip Technology Inc.
PIC12F629/675
Grafy
107
Obrázek 13 – 17: Doba trvání jednoho cyklu modulu Watchdog v závislosti na napájecím napČtí (teplota -40°C až
+125°C)
© 2003 Microchip Technology Inc.
PIC12F629/675
Znaþení pouzder
108
14.0. Popis pouzder
14.1.
Znaþení na pouzdĜe
Typ pouzdra:
PĜíklad:
PDIP (skinny DIP) s 8 vývody
SOIC s 8 vývody
DFN-S s 8 vývody
Legenda:
XX….:X
Y
YY
WW
NNN
Zákaznické znaþení výrobku*
Rok výroby (poslední þíslo kalendáĜního roku výroby)
Rok výroby (poslední þíslo kalendáĜního roku výroby)
Týden výroby (První týden v lednu je znaþen jako týden ‚01‘)
Alfanumerický identifikaþní kód
Poznámka:
V pĜípadČ, že oznaþení výrobku není uvedeno na jednom Ĝádku, pĜenáší se na následující Ĝádek, aby
nedošlo k omezení prostoru pro kód.
* bČžná zaĜízení PICmicro jsou znaþena sériovým þíslem spoleþnosti Microchip, kódem týdne a roku výroby a jedineþným
kódem výrobku. Na nČkterá zaĜízení PICmicro jsou ještČ pĜidávány cenové dodatky. Tyto informace jsou
uvedeny u prodejce spoleþnosti Microchip. U zaĜízení typu QTP jsou cenové dodatky obsaženy v QTP
cenČ.
14.2.
Technické parametry pouzder
Následující kapitola je vČnována kompletnímu popisu dostupných typĤ pouzder.
© 2003 Microchip Technology Inc.
PIC12F629/675
Znaþení pouzder
109
DvouĜadé plastové pouzdro PDIP (300 mil.) s osmi vývody
Jednotky
Hranice rozmČrĤ
Palce
minimální
Poþet vývodĤ
Délková rozteþ vývodĤ
Výška osazeného pouzdra
ýistá výška pouzdra
Vzdálenost sedla vývodu ode dna
ŠíĜka osazeného pouzdra
ýistá šíĜka pouzdra
Celková délka pouzdra
n
p
A
A2
A1
E
E1
D
0,140
0,115
0,015
0,300
0,240
0,360
Délka pájecí plochy vývodu
TloušĢka vývodu
Celková šíĜka vývodu
ŠíĜka pájecí plochy vývodu
ŠíĜková rozteþ vývodĤ (§)
ýelní zkosení pouzdra
L
c
B1
B
eB
Į
ȕ
Boþní zkosení pouzdra
základní
Milimetry
maximální
minimální
základní
maximální
8
2,54
3,94
3,30
4,32
3,68
7,94
6,35
9,46
8,26
6,60
9,78
3,18
0,20
1,14
0,36
7,87
5
3,30
0,29
1,46
0,46
9,40
10
3,43
0,38
1,78
0,56
10,92
15
5
10
15
8
0,100
0,155
0,130
0,170
0,145
0,313
0,250
0,373
0,325
0,260
0,385
3,56
2,92
0,38
7,62
6,10
9,14
0,125
0,008
0,045
0,014
0,310
5
0,130
0,12
0,058
0,018
0,370
10
0,135
0,015
0,070
0,022
0,430
15
5
10
15
*
§
Kontrolní údaj
Významná hodnota
Poznámky:
RozmČry D a E1 neobsahují otĜepy a nálisky. Nálisky a otĜepy nemají pĜesáhnout 0,01’ (0,245 mm) na
každé stranČ. Odpovídá JEDEC MS-001
Výkres þ. C04-018
© 2003 Microchip Technology Inc.
PIC12F629/675
Znaþení pouzder
110
Široké plastové pouzdro SOIC (300 mil.) s 8 vývody
Jednotky
Hranice rozmČrĤ
Palce
minimální
základní
Milimetry
maximální
minimální
základní
maximální
0,069
0,061
0,010
0,244
0,157
0,197
0,020
1,35
1,32
0,10
5,79
3,71
4,80
0,25
8
1,27
1,55
1,42
0,18
6,02
3,91
4,90
0,38
1,75
1,55
0,25
6,20
3,99
5,00
0,51
Poþet vývodĤ
Délková rozteþ vývodĤ
Výška osazeného pouzdra
ýistá výška pouzdra
Vzdálenost sedla vývodu ode dna
ŠíĜka osazeného pouzdra
ýistá šíĜka pouzdra
Celková délka
Délka úkosu
n
p
A
A2
A1
E
E1
D
h
0,053
0,052
0,004
0,228
0,146
0,189
0,010
8
0,050
0,061
0,056
0,007
0,237
0,154
0,193
0,015
Délka pájecí plochy vývodu
Úhel pájecí plochy vývodu
TloušĢka vývodu
ŠíĜka vývodu
Horní boþní zkosení pouzdra
L
ij
c
B
Į
0,019
0
0,008
0,013
0
0,025
4
0,009
0,017
12
0,030
8
0,010
0,020
15
0,48
0
0,20
0,33
0
0,62
4
0,23
0,42
12
0,76
8
0,25
0,51
15
Dolní boþní zkosení pouzdra
ȕ
0
12
15
0
12
15
*
§
Kontrolní údaj
Významná hodnota
Poznámky:
RozmČry D a E1 neobsahují otĜepy a nálisky. Nálisky a otĜepy nemají pĜesáhnout 0,01’ (0,245 mm) na
každé stranČ. Odpovídá JEDEC MS-012
Výkres þ. C04-057
© 2003 Microchip Technology Inc.
PIC12F629/675
Znaþení pouzder
111
DvouĜadé plastové pouzdro s 8 integrovanými vývody (MF), velikost tČla 6x5 mm (DFN-S)
Jednotky
Hranice rozmČrĤ
Poþet vývodĤ
Rozteþ vývodĤ
Celková výška
ýistá hloubka pouzdra
Vzdálenost sedla vývodu ode dna
Hloubka základny
Celková šíĜka
ýistá šíĜka pouzdra
Délka nechránČné desky
Celková délka
ýistá délka pouzdra
ŠíĜka nechránČné desky
ŠíĜka vývodu
Délka vývodu
n
p
A
A2
A1
A3
E
E1
E2
D
D1
D2
B
L
ŠíĜka kotvicích patek
R
Horní zkosení pouzdra
Į
Palce
minimální
0,000
0,152
0,085
0,014
0,020
základní
8
0,05 BSC
0,033
0,026
0,0004
0,008 REF
0,194 BSC
0,184 BSC
0,158
0,236 BSC
0,226 BSC
0,091
0,016
0,024
Milimetry
maximální
minimální
0,039
0,031
0,002
0,00
0,163
3,85
0,97
0,019
0,030
2,16
0,35
0,50
0,014
základní
8
1,27 BSC
0,85
0,65
0,01
0,20 REF
4,92 BSC
4,67 BSC
4,00
5,99 BSC
5,74 BSC
2,31
0,40
0,60
maximální
1,00
0,80
0,05
4,15
2,46
0,47
0,75
0,350
12°
12°
*
Kontrolní údaj
Poznámky:
RozmČry D a E1 neobsahují otĜepy a nálisky. Nálisky a otĜepy nemají pĜesáhnout 0,01’ (0,245 mm) na
každé stranČ. JEDEC ekvivalent nebyl stanoven.
Výkres þ. C04-113
© 2003 Microchip Technology Inc.
PIC12F629/675
PĜílohy
112
PĜíloha A: ZmČny údajĤ
Tento materiál vychází z aktualizované 2. revize popisu mikropoþítaþe PIC12F675.
ZmČny se týkají technických parametrĤ, novČ pĜidávaných grafických charakteristik. V novČ zaĜazených poznámkách je
zdĤraznČno, že programátoĜi spoleþnosti Microchip zachovávají tovární nastavení kalibraþních bitĤ. U mikropoþítaþe
PIC12F675 musí být inicializován registr ANSEL, jinak nedojde k nastavení vývodĤ jako digitálních vstupĤ/výstupĤ.
Nový název pouzdra MLF-S je nyní DFN-S.
© 2003 Microchip Technology Inc.
PIC12F629/675
PĜílohy
113
PĜíloha B: Typové odlišnosti
Mezi popisovanými výrobky existují rozdíly, které shrnuje tabulka B – 1.
Tabulka B – 1:
Vlastnost
PIC12F629
PIC12F675
PĜevodník A/D
Neobsahuje
Obsahuje
© 2003 Microchip Technology Inc.
PIC12F629/675
PĜílohy
114
PĜíloha C: PĜechod mezi funkþnČ pĜíbuznými typy
Kapitola je zamČĜena na popis funkþních a technických odlišností mezi souþástkami, které jsou vzájemnČ nahraditelné
(napĜíklad pĜi pĜechodu z PIC16C74A na PIC16C74B). Kapitola dosud není k dispozici.
© 2003 Microchip Technology Inc.
PIC12F629/675
PĜílohy
115
PĜíloha D: PĜechod z jiných mikropoþítaþĤ PICmicro®
Zde je popsán typický pĜípad pĜechodu z jiných typĤ mikropoþítaþĤ PICmicro® na souþástky rodiny PIC12F6XX.
D.1: PĜechod z PIC12C67X na PIC12F6XX
Tabulka 1: Srovnání vlastností
Vlastnost
PIC12C67X
PIC12F6XX
Nejvyšší pracovní rychlost
10MHz
20MHz
Velikost pamČti
2048 bajtĤ
1024 bajtĤ
Rozlišení pĜevodníku
8 bitĤ
10 bitĤ
Datová pamČĢ EEPROM
16 bajtĤ
64 bajtĤ
Režimy oscilátoru
5
8
Detekce poklesu napČtí
Ne
Ano
VnitĜní pull-up rezistory
GP0/1/3
GP0/1/2/4/5
PĜerušení pĜi zmČnČ
GP0/1/3
GP0/1/2/3/4/5
Komparátor
Ne
Ano
Poznámka:
Souþástka je navržena tak, aby funkþnČ odpovídala údajĤm, uvedeným v tomto dokumentu.
Deklarované elektrické vlastnosti byly navrženy a otestovány tak, aby byla tato funkþnost dodržena.
Díky zmČnám technologického procesu mĤže být zmČnČn výkon souþástky oproti jejím pĜedchĤdcĤm.
NávaznČ se také mĤže zmČnit chování souþástky v navrhované aplikaci.
© 2003 Microchip Technology Inc.
PIC12F629/675
RejstĜík
116
RejstĜík
A/D pĜevodník
registry .................................................................... 39
schéma .................................................................... 35
výpoþet vzorkovací doby ........................................ 38
blokové schéma ............................................................ 1
þasovaþ Watchdog ...................................................... 43
blokové schéma....................................................... 56
doba pĜeteþení ......................................................... 56
dynamické charakteristiky .......................................... 83
elektrocharakteristiky ................................................. 73
GOTO......................................................................... 13
instrukce
bajtovČ orientovaná ................................................. 59
bitovČ orientovaná................................................... 59
obecný formát ......................................................... 60
soubor...................................................................... 61
komparátor.................................................................. 29
konfigurace ............................................................. 30
napČĢová reference.................................................. 33
ochranné diody........................................................ 32
pracovní režim......................................................... 31
výstup...................................................................... 29
konfiguraþní slovo ...................................................... 44
oscilátor
režimy ..................................................................... 45
pamČĢ
þtení dat................................................................... 40
datová........................................................................ 2
mapa.......................................................................... 4
ovČĜení zápisu ......................................................... 41
programová ............................................................... 2
registry .................................................................... 39
zápis dat .................................................................. 41
podpora..................................................................... 108
pokles napČtí............................................................... 48
prodleva OST.............................................................. 48
prodleva PWRT .......................................................... 48
programový þítaþ ........................................................ 13
pĜeddČliþka
funkce...................................................................... 23
pĜiĜazení .................................................................. 24
pĜerušení
vnČjší....................................................................... 54
pulzní rušení na vývodu .......................................... 47
registr
ADCON0 ................................................................ 37
ANSEL.................................................................... 37
CMCON.................................................................. 29
© 2003 Microchip Technology Inc.
EEADR....................................................................39
EEDAT ....................................................................39
INTCON ....................................................................9
obecného užití............................................................3
OPTION ....................................................................8
OSCCAL .................................................................12
PCL a PCLATH.......................................................13
PCON ......................................................................12
PIE1 .........................................................................10
PIR1.........................................................................11
speciální funkþní........................................................4
STATUS ....................................................................7
VREN ......................................................................34
reset
podmínky ...........................................................50, 51
režim Sleep................................................................43
rozmČry pouzdra
DFN-S....................................................................111
PDIP ......................................................................109
SOIC ......................................................................110
signál Reset .................................................................44
statické charakteristiky................................................75
synchronizace vice souþástek......................................49
Timer0.........................................................................22
Timer1.........................................................................25
pracovní režimy .......................................................25
pĜerušení ..................................................................26
vnČjší oscilátor.........................................................28
vektor
pĜerušení ....................................................................2
reset ...........................................................................2
vývod
GP0 ..........................................................................18
GP1 ..........................................................................18
GP2 ..........................................................................19
GP3 ..........................................................................19
GP4 ..........................................................................20
GP5 ..........................................................................20
vývody
nastavení ....................................................................6
popis ..........................................................................2
vývojové prostĜedí.......................................................69
zásobník ......................................................................13
znaþení pouzder
DFN-S....................................................................108
PDIP ......................................................................108
SOIC ......................................................................108
znaþení výrobkĤ ........................................................118
PIC12F629/675
Firemní podpora
117
Online podpora
Spoleþnost Microchip poskytuje podporu na svých internetových stránkách.
Tyto stránky jsou prostĜedkem, který Microchip používá k usnadnČní dostupnosti informací o svých výrobcích. K prohlížení
stránky je nutné mít nainstalovány internetové prohlížeþe, napĜíklad Netscape® nebo Microsoft® Explorer®. Soubory,
urþené ke stažení, lze získat z ftp serveru spoleþnosti.
PĜipojení k internetové podpoĜe spoleþnosti Microchip
Stránky spoleþnosti Microchip jsou dostupné na adrese
www.microchip.com
PĜenos souborĤ prostĜednictvím ftp serveru je možný na adrese
ftp://ftp.microchip.com
Na internetových stránkách a prostĜednictvím síĢového protokolu pro pĜenos souborĤ mĤžete získat velkou škálu
podpĤrných služeb od stahování souborĤ nejnovČjších vývojových nástrojĤ, technických pĜíruþek, aplikaþních instrukcí pĜes
uživatelské pĜíruþky, vzorové programy po komentáĜe a þlánky. KromČ toho je zde k dispozici mnoho obchodních informací,
seznamy prodejcĤ, dealerĤ a výrobcĤ.
Za upozornČní stojí také další informaþní zdroje:
x
nejnovČjší tiskové zprávy spoleþnosti Microchip
x
sekce technické podpory a þasto kladených dotazĤ
x
návrháĜské tipy
x
opravy
x
Ĝešení úkolĤ
x
seznamy konzultantĤ spoleþnosti Microchip
x
odkazy na další zajímavé stránky
x
konference o výrobcích
x
seznamy kurzĤ a školení
Systémové informace a upgrade
Pro uživatele je v provozu telefonní linka, která poskytuje informace o nejnovČjších dostupných verzích vývojových
systémových nástrojĤ. Tyto linky také poskytují informace o dostupnosti balíþkĤ upgrade. PodrobnČjší informace o hotline
v dané oblasti hledejte na stránkách spoleþnosti.
© 2003 Microchip Technology Inc.
PIC12F629/675
Firemní podpora
118
Systém znaþení výrobkĤ
Informace o cenách nebo dodacích podmínkách dostanete u výrobce nebo pĜíslušného distributora zaĜízení.
DÍL ý.
X
/XX
zaĜízení
teplota
pouzdro vzor
ZaĜízení
PIC12F6XX: BČžný rozsah napČtí VDD
PIC12F6XXT: (páska a cívka)
Teplota
I
E
Pouzdro
P =
SN =
150 mil)
MF =
Vzor
XXX
=
=
PĜíklady:
a)
PIC12F629 – E/P 301 = rozšíĜená
teplotní odolnost, pouzdro PDIP, 20
MHz, QTP vzor þ. 301
b)
PIC12F675 –I/SO = prĤmyslové využití,
pouzdro SOIC, 20 MHz
- 40 °C až +85°C
- 40 °C až +125°C
PDIP
SOIC s tvarovanými vývody (tČlo
MLF-S
tĜímístné oznaþený vzoru pro QTP (jinak prázdné)
Souþástky JW lze vymazat pomocí UV paprsku a poté pĜeprogramovat. Tyto souþástky vyhovují požadavkĤm všech režimĤ
oscilátoru.
© 2003 Microchip Technology Inc.
PIC12F629/675

Podobné dokumenty

mini

mini PamČĢ dat je rozdČlena do dvou þástí. První tvoĜí speciální funkþní registry (SFR), druhou pamČĢ pro všeobecné použití. Pomocí SFR lze Ĝídit veškerou þinnost zaĜízení. PamČĢ je rozdČlena do dvou ba...

Více

PIC16F87/88 - Tlg.estranky.sk

PIC16F87/88 - Tlg.estranky.sk Materiál vznikl v rámci projektu MŠMT – Podpora projektování elektronických systémů s mikroprocesory v českém jazyce na středních školách, který je řešen na Střední odborné škole a Středním odborné...

Více

Elektronické hodiny - SPŠ sdělovací techniky

Elektronické hodiny - SPŠ sdělovací techniky - zachytávač je 16-bit, max. rozlišení je 12,ns - porovnání je 16-bit, max rozlišení je 200ns - PWM max. rozlišení je 10-bit • Univerzální synchroní/14synchronní příjmač/vysílač USART/SCI • 16bytů ...

Více

Alternativní paliva – možnosti výroby syntetických

Alternativní paliva – možnosti výroby syntetických Jedním z možných Ĝešení by mohla být koncepce zplyĖování tzv. „biobĜeþky“ (bioslurry gasification). V jejím rámci by se provádČla rychlá pyrolýza suché ligno-celulozóvé biomasy v lokálních pyrolýzn...

Více

Pneumatické produkty

Pneumatické produkty NPT 1/8” NPT 1/4” NPT 3/8”

Více

Dotykový spínač osvetlenia s časovačom

Dotykový spínač osvetlenia s časovačom PC827 IO2 PC817 IO3 PIC12F629 IO4 78L05 relé1 NY24W-K svorkovnice MV253/5,08 - 2 ks svorkovnice MV252/5,08 - 1 ks skøíò Modulbox H53-2M deska s plošnými spoji HF3v1

Více

STEDNÍ PRMYSLOVÁ ŠKOLA ELEKTROTECHNIKY

STEDNÍ PRMYSLOVÁ ŠKOLA ELEKTROTECHNIKY elektroniky. Celek funkþního modelu výtahu je tedy tvoĜen propojením konstrukþní, elektronické a softwarové þásti. BČžnČ používané osobní výtahy musejí být navíc vybaveny rĤznými mechanickými bezpe...

Více

CL timer V7LED - popis a návod k použití - jyrry

CL timer V7LED - popis a návod k použití - jyrry rozběh a doběh, vypnutí po uplynutí uživatelsky nastavitelné doby. Výkon elektromotoru je uživatelsky nastavitelný v rozmezí 33-100%. Vysocesvítivá LED informuje o aktuálním stavu časovače blikáním...

Více