Académique Documents
Professionnel Documents
Culture Documents
PIC16F84
PIC16F84
Tempo de execuo das instrues normais:
4xTosc
Tempo de execuo das instrues de salto:
8xTosc
4 tipos de interrupes (External RB0/INT
pin, TMR0 timer overflow, PORTB<7:4>
interrupt-on-change, Data EEPROM write
complete)
13 linhas de entradas/sada digitais
1 timer
1 watch-dog
Alimentao de 2V a 6 V
Gravao de 12V a 14V
Encapsulamento DIP de 18 pernas (SOIC)
CPU
CPU
CPU
ALU
A ALU (Arithmetic
Logic Unit) o
componente mais
complexo do PIC por
conter todos os
circuitos destinados a
desenvolver as funes
de clculo e
manipulao de dados
durante a execuo de
um programa
Executa as operaes
aritmticas, de bits e
de deslocamento de
um ou dois bytes
8
ALU
ALU
Operao
Operao equivalente
Mover
Adio
Subtraco
Negao
Incremento
Adio a 1
Decremento
AND
OR
XOR
Complemento
Shift Left
Shift Right
10
Registo Status
Flags:
Zero
0
Carry (C) Fica a 1 quando o resultado
da operao maior do que 255
Digit Carry (DC) Fica a 1 quando o
nibble menos significativo maior do
que 15 aps uma operao aritmtica
(adio ou subtraco)
11
Organizao da memria
12
Endereamento de Bancos
File address
BANCO 0
BANCO 1
File address
INDF
INDF
80
TMR0
OPTION
81
PCL
PCL
82
STATUS
STATUS
83
FSR
FSR
84
PORT A
TRIS A
85
PORT B
TRIS B
86
87
EEDATA
EECON1
88
EEADR
EECON2
89
0A
PCLATH
PCLATH
8A
0B
INTCON
INTCON
8B
0C
68 registos
Mapeado
8C
de utilizao
(acesso)
geral
Banco 0
(SRAM)
4F
CF
50
D0
7F
FF
13
Program Counter
O Program Counter
(PC) um registo
especial que serve
para armazenar o
endereo da prxima
instruo a ser
executada
Tem a dimenso de 13
bits. PCL, para os bits
menos significativos e
PCH (no acessvel)
para os mais
significativos
14
Program Counter
Os 8 bits menos
significativos so
escritos no registo PCL
e os restantes no
registo PCLATH
Nas instrues de
salto (GOTO e CALL)
11 bits so usados
para armazenar o
endereo (at 2048
instrues)
15
Stack
Memria de programa
Memria de programa
Memria de dados
Memria de dados
RAM
18
Recursos auxiliares
Recursos auxiliares
Temporizadores
Watch-dog
Proteo de falha de alimentao (Brown out)
Estado de repouso e baixo consumo (Sleep
mode)
Conversor A/D
Conversor D/A
Comparador analgico
Modulador por largura de impulsos (PWM)
Portas de entradas e sadas digitais
Portas de comunicao
Interrupes
In-circuit serial programming
19
20
O Timer
O registo TMR0 um
contador, ou seja
um registo particular,
no qual o seu
contedo
incrementado com
uma cadncia regular
e programada
diretamente pelo
hardware do PIC. Na
prtica, a diferena
de outro registro,
que o TMR0 no
mantm inalterado o
seu valor,
incrementando-o
continuamente
21
22
23
24
Nos
microcontroladores
que tm estas
possibilidades podem
converter sinais
analgicos em
digitais e vice-versa
25
26
27
Todos os microcontroladores
possuem alguns pinos como
linhas de entrada e sada
digitais de dados
Normalmente estas linhas
esto agrupadas de oito em
oito formando portas
Estas linhas digitais podem
ser configuradas como sendo
de entrada ou como sendo
de sada colocando 1 ou 0 no
bit correspondente ao registo
destinado sua configurao
28
O PIC16F84 dispe de um
total de 13 linhas de I/O
organizadas em duas portas
denominadas de PORTA A
e PORTA B. A PORTA A
dispe de 5 linhas
configurveis tanto em
entrada como em sada
identificadas pelas siglas
RA0, RA1, RA2, RA3 e RA4.
A PORTA B dispe de 8
linhas tambm
configurveis seja em
entrada ou em sada
identificadas pelas siglas
RB0, RB1, RB2, RB3, RB4,
RB5, RB6 e RB7.
29
30
35
36
37
Pinagem
PIC16F84 (PDIP, SOIC)
Pinagem
1
RA2
uma linha de I/O programvel em entrada ou sada da unidade.
Corresponde ao BIT 2 da PORTA A.
RA3
uma linha de I/O programvel em entrada ou sada da unidade.
Corresponde ao BIT 3 da PORTA A.
RA4 / RTCC
um pino multi funo que pode ser programado como uma linha
normal de I/O ou como linha de clock para entrada em sentido ao
contador RTCC.
Se programada como linha de I/O corresponde ao BIT 4 da PORTA A
ao contrrio de outra linha de I/O, quando esta linha funciona como
sada, trabalha em colector aberto.
39
Pinagem
4
MCLR / VPP
Em condio normal de funcionamento desenvolve a funo de Master
CLeaR ou seja Reset estar activo a nvel 0. Pode ser conectado a um
circuito de reset externo ou simplesmente conectando-o ao positivo da
alimentao.
Quando o PIC for colocado em Program Mode ser utilizado como
entrada para a tenso de programao Vpp.
VSS
o pino que vai conectado ao negativo da tenso de alimentao.
40
Pinagem
6
RB0
uma linha de I/O programvel em entrada ou em sada.
Corresponde ao BIT 0 da PORTA B e pode ser programada para gerar
interrupo.
RB1
uma linha de I/O programvel em entrada ou em sada.
Corresponde ao BIT 1 da PORTA B.
RB2
uma linha de I/O programvel em entrada ou em sada.
Corresponde ao BIT 2 da PORTA B.
41
Pinagem
10
11
12
13
42
Pinagem
14
VDD
o terminal positivo de alimentao do PIC.
em todas as trs verses disponveis do PIC16F84 (comercial, industrial
e automotiva) a tenso pode assumir um valor que vai de um mnimo
de 2.0 volts a um mximo de 6.0 volts.
15
OSC2 / CLKOUT
um pino de ligao no caso de se utilizar um cristal de quartzo para
gerar o clock. E como sada de clock caso for aplicado um oscilador RC
externo.
16
OSC1 / CLKIN
um pino de ligao para o caso de se utilizar um cristal de quartzo ou
um circuito RC para gerar o clock. E tambm como entrada caso
utilizemos um oscilador externo.
43
Pinagem
17
RA0
uma linha de I/O programvel em entrada ou sada.
Corresponde ao BIT 0 da PORTA A.
18
RA1
uma linha de I/O programvel em entrada ou sada.
Corresponde ao BIT 1 da PORTA A
44
Oscilador
Oscilador
Frequncia
RC (Resistor/Capacitor)
HS (High Speed Crystal/Resonator)
4 MHz 20 MHz
XT (Crystal/Resonator)
0 200 KHz
45
Oscilador
Modo
XT
HS
LP
XT
HS
RC
Freq.
Osc1/C1
Osc2/C2
455 kHz
47 - 100 pF
47 - 100 pF
2.0 MHz
15 - 33 pF
15 - 33 pF
4.0 MHz
15 - 33 pF
15 - 33 pF
8.0 MHz
15 - 33 pF
15 - 33 pF
10.0 MHz
15 - 33 pF
15 - 33 pF
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
5 k Rext 100 k
46