Você está na página 1de 20

Microprocessadores

Prof. Arthur Braga

Tpicos
n

Microcontroladores

O PIC16F628A

Caractersticas Gerais

Memria de Programa

Memria EEPROM

Memria RAM

Endereamento Direto

Endereamento Indireto

Linguagem de Mquina e Linguagem Montadora

Microcontroladores PIC
Os PIC (Peripheral Integrated Controler) so uma famlia de
microcontroladores fabricados pela Microchip TechnologyTM, que
processam dados de 8 e 16 bits com extensa variedade de modelos e
perifricos internos, com arquitetura Harvard e conjunto de instrues
RISC (sets de 35 instrues e de 76 instrues), com recursos de
programao por memria FLASH, EEPROM e OTP.
Os microcontroladores PIC so divididos em grupos diferenciados pela
capacidade de armazenamento em cada localidade de sua memria de
programa: 12 bits, 14 bits e 16 bits. As CPUs da famlia PIC trabalham em
frequncias de at 40 MHz. H o reconhecimento de interrupes tanto
externas como de perifricos internos. Funcionam com tenses de
alimentao de 2 a 6V e os modelos possuem encapsulamento de 6 a 100
pinos em diversos formatos (SOT23, DIP, SOIC, TQFP, etc).

Microcontroladores PIC
Von Neumann

8-Bits
Memria de Dados
e Programa

Harvard

PIC
8-Bits

Memria de Dados

12/14/16-Bits
Memria de Programa
PIC 16F628A

Microcontroladores PIC
Evoluo da famlia
PIC

Microcontroladores PIC
Para as famlias de microcontroladores de 8 bits no barramento de dados,
a MICROCHIP adota as seguintes classificaes:
PIC 10: Linha de performance bsica, dispositivos de baixo custo,
utilizam 33 instrues de 12 bits de tamanho, possuem oscilador
interno.
PIC 12: Linha de performances bsica e mdia, 33 instrues, quatro
opes podem ser selecionadas para o oscilador, maior memria RAM.
PIC 14: Linha de performances bsica, o nico membro desta famlia
o PIC14000, produzido para operar em um range de temperaturas
compatvel com o ambiente industrial.
PIC 16: Linha de performances bsica e mdia, nos de performance
mdia as palavras de programa so de 14 bits, alguns membros
possuem USB, I2C, LCD, USART e conversores A/D.
PIC 18: Topo de Linha, utilizam palavras de programa de 16 bits,
possuem conversor A/D integrado.

PIC 16F628A

PIC 16F628A

PIC 16F628A

PIC 16F628A

Arquitetura
Interna do PIC
16F628A

Como funciona ?

Contador de Programa - PC
O contador de programa (PC Program Counter) o responsvel pelo controle da
sequncia de execuo das instrues no PIC. O registrador aponta sempre para a
prxima instruo a ser executada pela CPU, desta forma, para alterar o fluxo do
programa, o contedo do PC deve ser alterado.
Nos PICs da srie 16, o contador de programa possui largura de 13 bits, o que implica
dizer que possvel acessar at 213 ou 8.192 instrues.
EXEMPLO:
PC
PC
PC
PC
PC
PC

Contador de Programa - PC
O contador de programa (PC Program Counter) o responsvel pelo controle da
sequncia de execuo das instrues no PIC. O registrador aponta sempre para a
prxima instruo a ser executada pela CPU, desta forma, para alterar o fluxo do
programa, o contedo do PC deve ser alterado.
Nos PICs da srie 16, o contador de programa possui largura de 13 bits, o que implica
dizer que possvel acessar at 213 ou 8.192 instrues.

No entanto, ao contrrio de outros MCUs e MPUs, nos PICs no possvel ao usurio


acessar diretamente o contedo do PC.

Contador de Programa - PC

Pilha (Stack)
Outra estrutura encontrada no interior dos PICs a pilha, cuja principal funo
armazenar endereos de retorno para sub-rotinas.
Nos PICs, a pilha no est localizada na rea de memria RAM, mas em uma
regio separada (inacessvel diretamente ao usurio) que dedicada apenas a ela.

O tamanho total dessa rea de oito posies (para os PICS de 14 bits), cada uma
com 13 bits de capacidade (porque cada posio precisa ter capacidade suficiente
para armazenar o valor do PC).

No h instrues para manipular diretamente a pilha. Isto feito indiretamente por


meio de instrues como CALL, RETURN, RETLW e RETFIE, alm do evento de
interrupo (que podemos considerar como um CALL).

PIC 16F628A

Arquitetura
Interna do PIC
16F628A

Registrador W

PIC 16F628A

Arquitetura
Interna do PIC
16F628A

PIC 16F628A

Arquitetura
Interna do PIC
16F628A

Como funciona ?

Memrias no PIC
(Programa, EEPROM, RAM)

10

Memria EEPROM
O PIC16F628A possui 128 posies de memria EEPROM, com capacidade de
armazenamento de 1 byte em cada posio. A faixa de endereos usada para acesso a
essa memria 00h 7Fh.
Esta uma memria no-voltil, o que significa que os dados continuam
armazenados em suas localidades mesmo sem alimentao.
O acesso a essa memria feito por meio de alguns registradores especiais:

EECON1
EECON2
EEDATA
EEADR

Memria RAM
A memria RAM dividida em
quatro bancos, e compartilhada
pelos Registradores de Propsito
Geral
(GPRs)
e
pelos
Registradores com Finalidades
Especficas (SFRs).
Registradores de
Propsito
Geral (GPRs) so utilizados
para o armazenamento temporrio
de dados e informaes do
programa do usurio.
Registradores com Finalidades
Especficas
(SFRs)

so
utilizados para controlar os
perifricos e dispositivos internos,
flags de estado do processador,
entre outras funes.

11

Endereamento
Direto

Utilizao dos Registradores GPR


O PIC implementa um conjunto de 128 registradores GPR (Registradores de
Propsito Geral) na memria RAM disponvel para o usurio. A utilizao
dos registradores GPR ocorre da mesma forma que os registradores SFR,
ou seja: podemos acessar um registrador tanto pelo seu nome definido no
programa, como pelo seu Endereo na RAM.
No caso dos registradores GPR, possvel atribuir nomes a cada um deles
de forma a facilitar a escrita e entendimento do programa. Uma forma de
realizar a atribuio de nomes a um registrador atravs da diretiva EQU.
EXEMPLO
TESTE EQU

0x20

Valor que ser associado ao nome TESTE


(pode ser usado como Endereo na RAM)

12

Utilizao dos Registradores GPR


O PIC implementa um conjunto de 128 registradores GPR (Registradores de
Propsito Geral) na memria RAM disponvel para o usurio. A utilizao
dos registradores GPR ocorre da mesma forma que os registradores SFR,
ou seja: podemos acessar um registrador tanto pelo seu nome definido no
programa, como pelo seu Endereo na RAM.
No caso dos registradores GPR, possvel atribuir nomes a cada um deles
de forma a facilitar a escrita e entendimento do programa. Uma forma de
realizar a atribuio de nomes a um registrador atravs da diretiva EQU.
EXEMPLO

TESTE

E os Registradores com Finalidades Especficas (SFR) ?

13

Registradores SFR

A grande maioria dos registradores SFR esto associados a mdulos


(perifricos) do PIC16F628A !
Mas alguns, como o Registrador STATUS, est relacionado ao
processador do PIC.

Registradores SFR

14

Registradores SFR

Registradores SFR

Os outros registradores SFR sero detalhados conforme a


apresentao dos mdulos do PIC16F628A !

15

Endereamento
Indireto

Endereamento Indireto
At o momento os registradores utilizados foram acessados por
Endereamento Direto o endereo do registrador na memria RAM
aparece na instruo (ou como o endereo propriamente dito, ou como
um rtulo que o montador associa especificamente com um endereo).

Porm, possvel no PIC16F628A passar indiretamente um


dado para um endereo (REGISTRADOR) !

16

Endereamento Indireto
O acesso a um REGISTRADOR via Endereamento Indireto feito por
meio dos registradores FSR e INDF.
O contedo do registrador FSR aponta para o endereo de memria
desejado.
O valor contido em INDF o valor armazenado no endereo apontado por
FSR.

Linguagem de Mquina e
Linguagem Montadora

17

Linguagem de Mquina e Linguagem Montadora


Arquivo fonte em Assembly (.ASM)

Montador (Assembler)
+
LINKER

Linguagem Montadora

Assembly e Assembler
(LINGUAGEM)

(PROGRAMA)

18

Linguagem Montadora

Linguagem Montadora

19

Bibliografia Bsica
n

Zanco, Wagner da Silva. Microcontroladores PIC


16F628A/648A uma abordagem prtica e objetiva,
Editora rica, 2005.

Datasheet do PIC16F628A/648A

Material da Disciplina
Plataforma SIGAA/UFC

20

Você também pode gostar