Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Poˇcítaˇcové systémy Jednoˇcipové mikropoˇcítaˇce II Architektura jednoˇcipových mikropoˇcítaˇcu˚ PIC 16F84 a PIC 16F877
Tato prezentace vznikla jako souˇcást ˇrešení projektu FRVŠ 2008/566.
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-1/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Struktura a vlastnosti mikrokontroléru PIC 16F84
Charakteristika MCU PIC PIC16F84 â 8-bit MCU s RISC architekturou â pamˇet’ programu realizována Flash pamˇetí (1024 slov po 14bitech) â 2 pamˇeti dat 64B RAM pro data vykonávaného programu ve dvou bankách (rozsah 0CH–4FH resp. 8CH–CFH) 64B EEPROM uchovávající d˚uležitá data (nepˇrímé adresování) â sada registr˚u speciálních funkcí (adresy 00H–0BH resp. 80H–8BH) â osmi úrovˇnový 13-ti bitový hardwarový zásobník â komunikace s okolím pˇres PORTA (5 bit˚u) a PORTB (8 bit˚u) â 8mi bitový cˇ asovaˇc (inkrementován v každém 4 cyklu) â cˇ tyˇri zdroje pˇrerušení ukonˇcení zápisu dat do EEPROM pˇrerušení TMR0 vyvolané pˇreteˇcením cˇ ítaˇce pˇrerušení pˇri zmˇenˇe pin˚u RB4, RB5, RB6 a RB7 na PORTB vnˇejší pˇrerušení na pinech MCU RB0/INT Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-2/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Struktura a vlastnosti mikrokontroléru PIC 16F84
Zjednodušené schéma architektury PIC16F84 Vdd
5
PIC16F84
Program store
14
Vss
Flash ROM 1K x 14 Program data bus
14
Program address bus
F 02h
Program Counter 13
EEPROM data memory F 08h
File data bus
EEPROM data 8
8
PLATH F 0Ah
RAM Register file 68 x 8
Pipeline Instruction reg 1
8-level stack
Instruction reg 2
EEPROM data memory 64 x 8
Data store
F 09h
File address bus
8
EEPROM address
Address mux 7 Direct address
Timer
Indirect address F 04h
8
File select reg. 8 Literal data
Data mux
F 03h
RP0 Z DC C Status register
ALU
Fetc h Unit
F 81h
Q1 Q2 Q3 Q4
F 01h
Instruction decoder & control
Timer counter
4
7
Prescale:OPTION
op-code
MCLR
I/O port A RA4/TOCKI
OSC1 16
OSC2 15
Oscillator and timing generation
3
Working reg.
RA3
SLEEP
2
RA2
F 06h Port B
18
RA0 17
13
RB7
11
12
RB6
RB5
9
10
RB4
8
RB3
RB2
6
7
Poˇcítaˇcové systémy LS 2008
RB1
RB0/INT
Miroslav Flídr
F 05h
F 86h TRISB
Watchdog timer
1
RA1
I/O port B
Oscillator start-up Power-on Reset
F 85h
Int control
TRISA
Power-up timer
Port A
Exec ute Unit F 0Bh
-3/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Funkce Centrální procesorové jednotky mikropoˇcítaˇce
Stavový registr IRP
IRP RP1∗ ,RP0 TO
PD
Z DC C
RP1
RP0
T0
PD
DC
Z
C
výbˇer banky registr˚u pˇri nepˇrímém adresování∗ (Register bank select) výbˇer banky registr˚u (Time-out) d˚uvod time-outu 0 . . . pˇreteˇcení WDT 1 . . . reset, CLRWDT, SLEEP (Power-down) indikuje d˚uvod startu 0 . . . instrukce SLEEP 1 . . . reset, CLRWDT (Zero bit) indikuje nulový výsledek operace (Digit Carry) indikuje pˇrenos z bitu 3 nebo borrow (Carry, Borrow) pˇrí sˇcítání indikuje pˇrenos z nejvyššího bitu výsledku operace pˇri odeˇcítání indikuje, že nebylo podteˇcení pod 0 použit pˇrí bitové rotace pro pˇrenos z bitu 7 resp. 0
* nevyužit v PIC16F84
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-4/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Mapa pamˇeti, práce s pamˇetí a registry speciálních funkcí
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-5/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Mapa pamˇeti, práce s pamˇetí a registry speciálních funkcí
Pamˇet programu Charakteristika programové pamˇeti â implementována FLASH pamˇetí (1000 cykl˚u) â 13-ti bitový cˇ ítaˇc instrukcí â PIC16F84 fyzicky implementuje pouze adresní rozsah 0000h-03FFh â vyhrazené pamˇet’ové buˇnky 0000h RESET vektor 0004h Peripheral Interrupt vektor 2007h Configuration word specifikuje základní funkce mikrokontroléru (není pˇrístupná programu) bity 13-4 Code protection bit 3 Power-up Timer Enable bit 2 Watchdog Timer(WDT) Enable bity 1,0 Oscillator Selection Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-6/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Mapa pamˇeti, práce s pamˇetí a registry speciálních funkcí
Direct addressing
Datová pamˇet’ - SFR + obecné registry d0
INDF d6 RP0 File address 00h 01h
File address 80h
IND
IND
TMR0
OPTION
81h
02h
PCL
PCL
82h
03h
STATUS
STATUS
83h
04h
FSR
FSR
84h
05h
PORTA
TRISA
85h
06h
PORTB
TRISB
86h
07h
Unimplemented
Unimplemented
87h
08h
EEDATA
EECON1
88h
09h
EEADR
EECON2
89h
0Ah
PCLATH
PCLATH
8Ah
0Bh
INTCON
INTCON
8Bh
0Ch
Images of the 68 68 General Purpose General Purpose register files register files
4Fh
CFh
50h
D0h Unimplemented
Access File 0 (IND) 7Fh
8Ch
Unimplemented
FFh
File Select Register
Indirect addressing
File 4
Miroslav Flídr
d0
d7
Poˇcítaˇcové systémy LS 2008
TMR0 PCL STATUS FSR PORTA PORTB EEDATA EEADR PCLATH INTCON OPTION TRISA TRIEB EECON1 EECON2
Obsah pamˇeti pˇri nepˇrímém adresování cˇ ítaˇc cˇ asovaˇce Dolních 8 bit˚u PC Stavový registr Ukazatel pro nepˇrímé adresování V/V port PORTA V/V port PORTB Data pro EEPROM Adresace EEPROM bufer pro horních 5 bit˚u PC ˇ Rízení pˇrerušení Nastavení mód˚u cˇ innosti Nastavení módu portu PORTA Nastavení módu portu PORTB ˇ Rídicí registr EEPROM pamˇeti Povolení zápisu do EEPROM -7/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Mapa pamˇeti, práce s pamˇetí a registry speciálních funkcí
Datová pamˇet’ - pamˇet’ EEPROM â umožˇnuje až 10000 cykl˚u a uchová data více než 40let â pˇredevším k uchování konfigurace programu â nepˇrímo adresovatelní pamˇet’ s kapacitou 64 B Práce s pamˇetí EEPROM â data cˇ tena/zapisována pˇres registr EEDATA â adresace pomocí registru EEADR -
-
-
EEIF WRERR WREN WR
RD
â ˇrídicí registr EECON1 EEIF EEPROM Write Operation Interrupt Flag (indikuje ukonˇcení zápisu) WRERR Write Error Flag (detekce pˇrerušení od MCLR nebo WDT) WREN Write Enable (hodnota 1 povolí zápis) WR Write (nastavení hodnoty 1 do bitu zahájí zápis) RD Read (nastavení hodnoty 1 do bitu zahájí cˇ tení) â postupným zápisem hodnot 55h a 0AAh do EECON2 se povolí zápis Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-8/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Instrukˇcní sada mikroprocesoru a adresní módy
Instrukˇcní sada â 14ti bitové instrukce â pouze 35 instrukcí â všechny až na rˇídicí instrukce trvají pouze jeden cyklus â sedm dolních sedm bit˚u použito pro urˇcení adresu registru â zdrojem dat vˇetšiny operací je registr W â výsledek operací m˚uže být zapsán do registru W nebo zpˇet do zdrojového registru â tˇri typy instrukcí í bytovˇe orientované í bitovˇe orientované í literálové a ˇrídicí â tˇri typy adresních mód˚u í s pˇrímým operandem í pˇrímé adresování í nepˇrímé adresování Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-9/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Instrukˇcní sada mikroprocesoru a adresní módy
Typy instrukcí Bytovˇe orientované 13
8
OPCODE
7
6
d
0
adresa registru
d=0 výsledek bude uložen v registru W d=1 výsledek bude uložen do zdrojového registru urˇceného adresou Bitovˇe orientované 13
10
OPCODE
9
7
výběr bitu
6
0
adresa registru
Literálové a ˇrídicí 13
8
OPCODE
13
7
0
literál (konstanta)
bˇ ežná literálová instrukce 11 10
OPCODE
0
literál (11ti- bitová adresa)
ˇrídicí instrukce (GOTO, CALL) Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-10/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Instrukˇcní sada mikroprocesoru a adresní módy
Adresní režimy S pˇrímým operandem Operandem je literál, který je pˇrímo souˇcástí instrukce. Pˇrímé a nepˇrímé adresování Ne přím é adre sování
Přím é adre sování RP1 RP0
6
0
IRP
0 Výběr banky
7
(FSR)
0
0 Výběr banky
Výběr umístění
00
Výběr umístění
01
00h
80h
0Bh 0Ch Adresy mapovány do banky 1
Datová paměť
7Fh
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
FFh
-11/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Obsluha pˇrerušení
1/2
Obsluha pˇrerušení Zdroje pˇrerušení â pˇrerušení TMR0 vyvolané pˇreteˇcením cˇ ítaˇce â vnˇejší pˇrerušení na pinech RB0/INT â pˇrerušení pˇri zmˇenˇe pin˚u RB4, RB5, RB6 a RB7 na PORTB â ukonˇcení zápisu dat do EEPROM Schéma pˇrerušovacího systému
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-12/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Obsluha pˇrerušení
2/2
Obsluha pˇrerušení Registr INTCON
GIE EEIE TOIE INTE RBIE
(Global Interrupt Enable) (EEPROM Write Complete Interrupt Enable) (TMR0 Overflow Interrupt Enable) (INT External Interrupt Enable) (RB port change Interrupt Enable)
TOIF INTF RBIF
(TMR0 Overflow Interrupt Flag) (INT External Interrupt Flag) (RB Port Change Interrupt Flag)
0 . . . zakázáno 1 . . . zakázáno
pˇri pˇreteˇcení = 1 pˇri pˇrerušení = 1 pˇri zmˇenˇe alespoˇn jednoho pinu = 1
â pˇri vyvolání pˇrerušení jsou zakázána další pˇrerušení (GIE=0) â PC je uložen do zásobníku a je nahrazen hodnotou 0004h â uživatel by mˇel uložit registr W a stavové slovo do pamˇeti Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-13/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Komunikace pˇres I/O porty
PORTA Základní charakteristika â 5-ti bitový port (RA0, RA1, RA2, RA3, RA4/T0CKI) â funkce rˇízena bity v registru TRISA (nahození bitu ⇒ vstupní pin) â RA0, RA1, RA2, RA3 pˇripojeny pˇres tˇrístavový výstup â RA4/T0CKI Schmitt˚uv klopný obvod je typu otevˇrený kolektor lze použít jako hodinový vstup pro cˇ asovaˇc TMR0 Schéma zapojení pin˚u RA0 – RA3
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
Schéma zapojení pinu RA4
-14/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Komunikace pˇres I/O porty
PORTB Základní charakteristika â 8-mi bitový obousmˇerný port â funkce rˇízena bity v registru TRISB (nahození bitu ⇒ vstupní pin) â RB0 m˚uže být nakonfigurován jako vstup pro vnˇejší pˇrerušení â možnost vyvolání pˇrerušení pˇri zmˇenˇe úrovnˇe na vstupu RB4 až RB7 Schéma zapojení pin˚u RB0 – RB3
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
Schéma zapojení pin˚u RB4 – RB7
-15/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Funkce cˇ asovaˇce
1/2
Funkce cˇ asovaˇce TIMER0 Charakteristika cˇ asovaˇce TIMER0 â 8-mi bitový s výbˇerem hodin (interní/externí) â použitelný jak jako cˇ asovaˇc, tak i cˇ ítaˇc (napˇr. cˇ ítaˇc puls˚u z RB4/T0CKI) â je možné jej cˇ íst a zapisovat do nˇej pˇres registr TMR0 â obsahuje programovatelný dˇeliˇc â vyvolává pˇrerušení pˇrí pˇreteˇcení (tj. pˇri pˇrechodu FFh → 00h) â lze vybrat, která hrana vnˇejšího hodinového signálu ovlivˇnuje cˇ ítání Schéma cˇ asovaˇce TMR0 1
Prescaler TOSE (Source edge select)
7 6 5 4 3 2 1 0
OPTION
7 6 5 4 3 2 1 0
MUX
MUX
OSC/4
TOCKI
0
TMR0 GIE
data bus
TOIE
TOCS (Clock source select)
TOIF (TMR0 interrupt)
7 6 5 4 3 2 1 0
INTCON
PS2-PS0 (Prescaler) PSA (Prescaler assignment)
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-16/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Funkce cˇ asovaˇce
2/2
Funkce cˇ asovaˇce TIMER0 Registr OPTION (bity vztahující se k cˇ asovaˇci) RBPU INTEDG T0CS T0SE
T0CS
T0SE
PSA
PS2:PS0
Miroslav Flídr
PSA
PS2
PS1
PS0
(TMR0 Clock Source Select bit) 0 . . . externí pulsy 1 . . . 1/4 pulsu interních hodin (tj. 1 µs pˇri 4 Mhz) (TMR0 Source Edge Select bit) 0 . . . vzestupná hrana externích puls˚u 1 . . . sestupná hrana externích puls˚u (Prescaler Assignment bit) 0 . . . pˇriˇrazení dˇeliˇce k cˇ asovaˇci 1 . . . pˇriˇrazení dˇeliˇce k watchdogu (Prescaler Rate Select bit) nastavení dˇeliˇce PS2:PS2 dˇeliˇc PS2:PS0 dˇeliˇc 000 1:2 100 1:32 ... 001 1:4 101 1:64 010 1:8 110 1:128 011 1:16 111 1:256 Poˇcítaˇcové systémy LS 2008
-17/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Watchdog
Funkce watchdogu Základní charakteristika â nezávislý volnˇe bˇežící cˇ asovaˇc â umožˇnuje zotavení pˇri chybˇe softwaru â cˇ asová prodleva 18 ms – 2.3 s (v závislosti na nastavení dˇeliˇce) â cˇ asovaˇc watchdogu není pˇríliš pˇresný (je napˇr. citlivý na teplotu) â bˇeží i po vyvolání instrukce SLEEP (pˇreteˇcení pak probudí MCU) Blokové schéma watchgogu From TMR0 C lock Source Postscaler WDT Timer
•
8 8 - to -1 MUX
WDT Enable Bit
PSA
•
WDT Time-out Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
PS2:PS0 To TMR0 PSA
-18/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Struktura mikrokontroléru PIC 16F877
Charakteristika MCU PIC16F877 â 8-mi bitový pracující s frekvencí 20Mhz â až 8k slov programové pamˇeti â datové pamˇeti 368 byt˚u pamˇeti RAM 256 byt˚u pamˇeti EEPROM â pˇrímý, nepˇrímý a relativní adresní mód â 3 cˇ asovaˇce/ˇcítaˇce (2x osmibitové a 1x šestnáctibitový) â univerzální synchronní asynchronní pˇrijímaˇc vysílaˇc (USART / SCI) â synchronní sériový port (SSP) operující v módech SPI a I2 C â paralelní slave port (PSP) 8-bitový, s externím signálem RD, WR a CS â 10-bitový A/D pˇrevodník â 2x záchytný, porovnávací, PWM modul â až 14 zdroj˚u pˇrerušení â detekce Brouwn-outu Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-19/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Mapa pamˇeti
Mapy pamˇeti Pamˇet’ programu
Datová pamˇet’ - SFR + obecné registry File Address
S tac k Level 2 S tac k Level 2
S tac k Level 2
PC <12:0>
RESET Vector
0000h
Interrupt Vector
0004h 0005h
Page 0 07FFh 0800h Page 1 0FFFh
Indirect addr. TMR0 PCL STATUS FSR PORTA PORTB PORTC PORTD PORTE PCLATH INTCON PIR1 PIR2 TMR1L TMR1H T1CON TMR2 T2CON SSPBUF SSPCON CCPR1L CCPR1H CCP1CON RCSTA TXREG RCREG CCPR2L CCPR2H CCP2CON ADRESH ADCON0
00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh 20h
File Address Indirect addr. OPTION_REG PCL STATUS FSR TRISA TRISB TRISC TRISD TRISE PCLATH INTCON PIE1 PIE2 PCON
SSPCON2 PR2 SSPADD SSPSTAT
TXSTA SPBRG
ADRESL ADCON1
80h 81h 82h 83h 84h 85h 86h 87h 88h 89h 8Ah 8Bh 8Ch 8Dh 8Eh 8Fh 90h 91h 92h 93h 94h 95h 96h 97h 98h 99h 9Ah 9Bh 9Ch 9Dh 9Eh 9Fh
File Address
File Address Indirect addr. TMR0 PCL STATUS FSR PORTB
PCLATH INTCON EEDATA EEADR EEDATH EEADRH
General Purpose Register 16 Bytes
A0h
100h 101h 102h 103h 104h 105h 106h 107h 108h 109h 10Ah 10Bh 10Ch 10Dh 10Eh 10Fh 110h 111h 112h 113h 114h 115h 116h 117h 118h 119h 11Ah 11Bh 11Ch 11Dh 11Eh 11Fh 120h
Indirect addr. OPTION_REG PCL STATUS FSR TRISB
PCLATH INTCON EECON1 EECON2 Reserved Reserved
General Purpose Register 16 Bytes
180h 181h 182h 183h 184h 185h 186h 187h 188h 189h 18Ah 18Bh 18Ch 18Dh 18Eh 18Fh 190h 191h 192h 193h 194h 195h 196h 197h 198h 199h 19Ah 19Bh 19Ch 19Dh 19Eh 19Fh 1A0h
1000h Page 2 17FFh Page 3
1800h 1FFFh
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
General Purpose Register 80 Bytes
General Purpose Register 96 Bytes
Bank 0
7Fh
accesses 70h-7Fh Bank 1
-20/24-
EFh F0h FFh
General Purpose Register 80 Bytes accesses 70h-7Fh Bank 2
16Fh 170h 17Fh
General Purpose Register 80 Bytes accesses 70h - 7Fh Bank 3
1EFh 1F0h 1FFh
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Mapa pamˇeti
Urˇcování adres Programová pamˇet’ PCH
PCL
12
PCH
8 7
0
PC 5
PCLATH<4:0>
8
Instruction with PCL as Destination
PCL
12 11 10
0
8 7
GOTO, CALL
PC 2
ALU
PCLATH<4:3>
11 Opcode <10:0>
PCLATH
PCLATH
Datová pamˇet’ Direct Addressing RP1:RP0
Bank Select
6
Indirect Addressing
From Opcode
0
IRP
7
Bank Select
Location Select 00
01
10
FSR register
0
Location Select
11
00h
80h
100h
180h
7Fh
FFh
17Fh
1FFh
Data Memory
Bank 0
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
Bank 1
Bank 2
Bank 3
-21/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Komunikace s okolím
Vstupnˇe/výstupní porty PORTA 6-bitový port RA4 má na vstupu Schmitt˚uv obvod je možné pˇrepnout jako vstup pro hodinový signál TMR0 ostatní vývody PORTA pˇripojeny na multiplexer A/D pˇrevodníku PORTB 8-bitový port RB0 m˚uže být nakonfigurován jako vstup pro vnˇejší pˇrerušení možnost vyvolání pˇrerušení pˇrí zmˇenˇe úrovnˇe na vstupu RB4 – RB7 PORTC 8-bitový port na vývodech PORTC 3 a 4 je vyvedena sbˇernice I2C PORTD 8-bitový port celý port má na vstupech Schmitt˚uv obvod m˚uže být nakonfigurován jako Parallel Slave Port (PSP) PORTE 3-bitový port celý port má na vstupech Schmitt˚uv obvod m˚uže sloužit jako ˇrídicí signály (RD, WR, CS) pro PSP m˚uže být pˇripojen na multiplexer A/D pˇrevodníku Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-22/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Komunikace s okolím
Funkce a obsluha AD/DA pˇrevodníku
1/2
Základní charakteristika â 10-ti bitové rozlišení â 8 vstup˚u (5 PORTA + 3 PORTE) â A/D pˇrevodník aproximativního typu â data uchována v registrech ADRESH a ADRESL â funkce pˇrevodníku rˇízena registry ADCON0 a ADCON1 Schéma zapojení A/D pˇrevodníku CHS2:CHS0
111
VAIN (Input Voltage)
110 101
A/D Converter
100
VDD
011 010
VREF+ (Reference Voltage)
001
P C FG3:P C FG0
000
RE2/AN7 RE1/AN6 RE0/AN5 RA5/AN4 RA3/AN3/VREF+ RA2/AN2/VREFRA1/AN1 RA0/AN0
VREF (Reference Voltage)
VSS PCFG3:PCFG0
Miroslav Flídr
Poˇcítaˇcové systémy LS 2008
-23/24-
Západoˇceská univerzita v Plzni
Mikrokontrolér PIC 16F84
Mikrokontrolér PIC 16F877
Komunikace s okolím
2/2
Funkce a obsluha AD/DA pˇrevodníku Registr ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0
ADCS1:ADCS0 CHS2:CHS0 GO/DONE
ADON
GO/ DONE
-
ADON
nastavení hodin pro A/D pˇrevod výbˇer analogového kanálu stav pˇrevodu 0 . . . automatický vynulováno po dokonˇcení pˇrevodu 1 . . . nastavením hodnoty 1 je spuštˇen pˇrevod zapnutí/vypnutí A/D modulu
Registr ADCON1 ADFM
ADFM
PCFG3:PCFG0 Miroslav Flídr
-
-
-
PCFG3 PCFG2 PCFG1 PCFG0
výbˇer formátu uložení výsledku pˇrevodu 0 . . . zarovnáno doprava (bity 2-7 ADRESH rovny 0) 1 . . . zarovnáno doleva (bity 0-5 ADRESL rovny 0) nastavení A/D portu
Poˇcítaˇcové systémy LS 2008
-24/24-
Západoˇceská univerzita v Plzni