Escolar Documentos
Profissional Documentos
Cultura Documentos
Nikolas Libert
Aula 11
Eletrnica Digital ET52C
Tecnologia em Automao Industrial
Memrias
Memrias
Memria
de dados
Ncleo
do C
Memria
de cdigo
Memrias
Memria de dados
Tipos:
Ncleo
do C
DAELT Nikolas Libert
Memria
de cdigo
3
ADDR
DATA
ADDR
Memria
de dados
Ncleo
do C
DATA
Memria
de cdigo
ADDR
DATA
Memria
de cdigo
Von Neumman
Harvard
Microcontrolador Genrico
Microcontrolador Genrico
Tudo num nico CI:
Memrias.
Pinos disponveis
para o usurio.
Perifricos.
Circuito de Clock.
Famlias de Microcontroladores
Famlias de Microcontroladores
Famlia 1
Ncleo A Memria
Perifricos
Ncleo A
Perifricos
Memria
Ncleo A Memria
Perifricos
Famlia 2
Ncleo Memria
B
Perifricos
Ncleo
B
Memria
Perifricos
Famlia 3
Ncleo C
Memria Perifricos
Ncleo C
Memria Perifricos
Ncleo C
Ncleo
B
Memria
Perifricos
Memria Perifricos
6
Famlias de Microcontroladores
PIC - Peripheral Interface Controller
Exemplos
de modelos
10F200, 12F508,
16F57
12F675, 16F84A
16F631, 16F873A
High
18F242,
Performance 18F2420
Tamanho das
instrues
Tamanho
da pilha
Nmero de
instrues
Vetores de
interrupo
12 bits
33
nenhum
14 bits
35
16 bits
32
75
2, com
prioridade
PIC12F675
O PIC12F675
8 pinos
2 para alimentao.
PIC12F675
O PIC12F675
Memria de programa:
Memria de dados:
PIC12F675
Parte da tabela de instrues.
10
PIC12F675
Registrador W:
Exemplo de Instruo
Memria de Cdigo
Posio
Contedo
(...)
(...)
0b11 0000 1010 1010
Word N
Word N+1 0b11 1001 0000 1111
(...)
(...)
Operao
(...)
W = 0b1010 1010
W = W . 0b0000 1111
(...)
Estado de W
(aps instruo)
0b???? ????
0b1010 1010
0b0000 1010
(...)
11
PIC12F675
Status Register
12
PIC12F675
Estrutura Interna
13
PIC12F675
Memria
14
PIC12F675
Cada perifrico est associado a um endereo na
memria de dados.
15
MikroC
O Compilador MikroC
Na prtica, no precisamos aprender as 35 instrues
do PIC12F675.
Podemos escrever o programa em linguagem C e um
compilador faz a converso para assembly (linguagem
de mquina).
Mas ainda precisamos conhecer os registradores do PIC
que afetam os perifricos que sero utilizados.
16
17
18
19
20
21
Flip-Flop T
Programa que simula Flip-Flop T.
void main() {
unsigned char EstadoBTO;
ANSEL = ANSEL & 0b11110000; // Desabilita pinos analgicos
CMCON = CMCON | 0b00000111; // Desabilita comparador
TRISIO = TRISIO & 0b11111011; // GP2->sada
TRISIO = TRISIO | 0b00000010; // GP1->entrada
EstadoBTO = GPIO & 0b00000010; // Grava o estado inicial de GP1.
while(1){
if(EstadoBTO != (GPIO & 0b00000010)){ // Houve mudana no pino?
EstadoBTO = EstadoBTO ^ 0b00000010; // Atualiza varivel.
if(EstadoBTO == 0){ // Foi borda de descida?
GPIO = GPIO ^ 0b00000100; // Comuta GP2
Delay_ms(3); // Debounce em Firmware!
}
}
}
}
DAELT Nikolas Libert
22
g
c
e
d
6
5
4
3
2
1
15
16
10
14
11
12
13
8
Vcc
MR
DS
SHCP
STCP
OE
Gnd
5V
Vcc
1
GP5
2
GP4
3
MCLR
4
12F675
Q6
Q5
Q4
Q3
Q2
Q1
Q0
74HC595
a
b
c
d
e
f
g
10k
5V
8
7
6
5
Gnd
GP0
GP1
GP2
23
24
25
26
12F675
10k
5V
8
7
6
5
Gnd
GP0
GP1
GP2
DAELT Nikolas Libert
27
Firmware:
28
29
Referncias
WILMSHURST, TIM Designing Embedded Systems
with PIC Microcontrollers, 2nd ed., Newnes, Oxford.
MICROCHIP Datasheet PIC 12F675.
30