01 Microcontroladores Arquitetura Básica

December 28, 2018 | Author: Alexcya Lopes | Category: Pic Microcontroller, Assembly Language, Computer Data Storage, Random Access Memory, Microcontroller
Share Embed Donate


Short Description

microssss...

Description

Microprocessadores Prof. Arthur Braga

Tópicos n n

  Microcontroladores O PIC16F628A ¨

Caracterís Características ticas Gerais Gerais

¨

Memória de Programa Programa

¨

 Memória EEPROM

¨

 Memória RAM

¨

n

 Endereçamento Direto

n

  Endereçamento Indireto

 Linguagem de Máquina e Linguagem Montadora

1

Microcontroladores PIC PIC (Pe (Perip ripher heral al In Integ tegrat rated ed Co Contr ntrole oler) r)   são Os   PIC são uma famíl amília ia de TM Microchip Techn echnolo ology gy , que microc microcont ontrol rolado adores res fabrica fabricados dos pela pela   Microchip  processam dados de 8 e 16 bits com extensa variedade de modelos e arquitetura Harvard   e conju  periféricos internos, com   arquitetura conjunto nto de instr instruçõ uções es RISC   (set (setss de 35 ins instruç truçõe õess e de 76 inst instru ruçõ ções es), ), com recu recurs rsos os de  programação por memória FLASH, EEPROM EE PROM e OTP. OTP. microcontroladores PIC   são divididos em grupos Os   microcontroladores grupos diferenci diferenciados ados pela memória de capaci capacidad dadee de armaz armazena enamen mento to em cada cada localid localidade ade de sua sua   memória programa: 12 bits, 14 bits e 16 bits. bits . As CPUs  da família PIC trabalham em frequê frequência nciass de até 40 MHz. MHz. Há o reconhe reconhecim cimen ento to de interru interrupçõ pções es tanto exte extern rnas as como como de perif perifér éric icos os inte internos. rnos. Funci Funcio onam com tensõ tensões es de alimentação de 2 a 6V e os modelos possuem encapsulamento de 6 a 100  pinos em diversos formatos (SOT23, DIP, DIP, SOIC, TQFP T QFP,, etc).

Microcontroladores PIC Von Neumann

8-Bits Memória de Dados e Programa

Harvard

PIC 8-Bits

Memória de Dados

12/14/16-Bits Memória de Programa PIC 16F628A

2

Microcontroladores PIC Evolução da família PIC

Microcontroladores PIC Para as famílias de microcontroladores de 8 bits no barramento de dados, a MICROCHIP adota as seguintes classificações: • PIC 10:  Linha de performance básica, dispositivos de baixo custo, utilizam 33 instruções de 12 bits de tamanho, possuem oscilador  interno. • PIC 12:  Linha de performances básica e média, 33 instruções, quatro opções podem ser selecionadas para o oscilador, maior memória RAM. • PIC 14:  Linha de performances básica, o único membro desta família é o PIC14000, produzido para operar em um  range   de temperaturas compatível com o ambiente industrial. • PIC 16:  Linha de performances básica e média, nos de performance média as palavras de programa são 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 integrad o.

3

PIC 16F628A

PIC 16F628A

4

PIC 16F628A

PIC 16F628A

Arquitetura Interna do PIC 16F628A

Como funciona ?

5

Contador de Programa - PC O contador de programa (PC – Program Counter) é o responsável pelo controle da sequência de execução das instruções no PIC. O registrador aponta sempre para a  próxima instrução a ser executada pela CPU, desta forma, para alterar o fluxo do  programa, o conteúdo do PC deve ser alterado.  Nos PICs da série 16, o contador de programa possui largura de 13 bits, o que implica dizer que é possível acessar até 2 13 ou 8.192 instruções.

EXEMPLO: PC PC PC PC PC PC

Contador de Programa - PC O contador de programa (PC – Program Counter) é o responsável pelo controle da sequência de execução das instruções no PIC. O registrador aponta sempre para a  próxima instrução a ser executada pela CPU, desta forma, para alterar o fluxo do  programa, o conteúdo do PC deve ser alterado.  Nos PICs da série 16, o contador de programa possui largura de 13 bits, o que implica dizer que é possível acessar até 2 13 ou 8.192 instruções.

 No entanto, ao contrário de outros MCUs e MPUs, nos PICs não é possível ao usuário acessar diretamente o conteúdo do PC.

6

Contador de Programa - PC

Pilha (Stack) Outra estrutura encontrada no interior dos PICs é a pilha, cuja principal função é armazenar endereços de retorno para sub-rotinas.  Nos PICs, a pilha não está localizada na área de memória RAM, mas em uma região separada (inacessível diretamente ao usuário) que é dedicada apenas a ela.

O tamanho total dessa área é de oito posições (para os PICS de 14 bits), cada uma com 13 bits de capacidade (porque cada posição precisa ter capacidade suficiente  para armazenar o valor do PC).

 Não há instruções para manipular diretamente a pilha. Isto é feito indiretamente por  meio de instruções como  CALL, RETURN, RETLW e RETFIE, além do evento de interrupção (que podemos considerar como um  CALL).

7

PIC 16F628A

Arquitetura Interna do PIC 16F628A

Registrador W

8

PIC 16F628A

Arquitetura Interna do PIC 16F628A

PIC 16F628A

Arquitetura Interna do PIC 16F628A

Como funciona ?

9

Memórias no PIC (Programa, EEPROM, RAM)

10

Memória EEPROM O PIC16F628A possui 128 posições de memória EEPROM, com capacidade de armazenamento de 1  byte em cada posição. A faixa de endereços usada para acesso a essa memória é 00h – 7Fh. Esta é uma memória não-volátil, o que significa que os dados continuam armazenados em suas localidades mesmo sem alimentação. O acesso a essa memória é feito por meio de alguns registradores especiais:

• EECON1 • EECON2 • EEDATA • EEADR 

Memória RAM A memória RAM é dividida em quatro bancos, e é compartilhada  pelos Registradores de Propósito Geral   (GPRs)   e pelos Registradores com Finalidades Específicas (SFRs). Registradores de Propósito Geral   (GPRs)   – são utilizados  para o armazenamento temporário d e dad os e i nfor ma çõ es do  programa do usuário. Registradores com Finalidades são Específicas   (SFRs)   – utilizados para controlar os  periféricos e dispositivos internos,  flags   de estado do processador, entre outras funções.

11

Endereçamento Direto

Utilização dos Registradores GPR O PIC implementa um conjunto de 128 registradores GPR (Registradores de Propósito Geral) na memória RAM disponível para o usuário. A utilização 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 Endereço na RAM. No caso dos registradores GPR, é possível atribuir nomes a cada um deles de forma a facilitar a escrita e entendimento do programa. Uma forma de realizar a atribuição de nomes a um registrador é através da diretiva EQU. EXEMPLO TESTE

EQU

0x20

Valor que s eráassoc iado ao nom e TESTE (pode ser usad o c om o Ender eço na RAM) 

12

Utilização dos Registradores GPR O PIC implementa um conjunto de 128 registradores GPR (Registradores de Propósito Geral) na memória RAM disponível para o usuário. A utilização 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 Endereço na RAM. No caso dos registradores GPR, é possível atribuir nomes a cada um deles de forma a facilitar a escrita e entendimento do programa. Uma forma de realizar a atribuição de nomes a um registrador é através da diretiva EQU. EXEMPLO

TESTE

E os Registradore s com Finalidades Específicas (SFR) ?

13

Registradores SFR

A grande maioria dos registradores SFR estão associados a módulos (periféricos) 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 serão detalhados conforme a apresentação dos módulos do PI C16F628A !

15

Endereçamento Indireto

Endereçamento Indireto Até o momento os registradores utili zados foram acessados por   Endereçamento Direto – o endereço do registrador na memória RAM aparece na instrução (ou como o endereço propriamente dito, ou como um rótulo que o montador associa especificamentecom um endereço).

Porém, é possível no PIC16F628A passar indiretamente um dado para um endereço (REGISTRADOR) !

16

Endereçamento Indireto O acesso a um REGISTRADOR via Endereçamento Indireto é feito por  meio dos registradores FSR e INDF. O conteúdo do registrador  FSR   aponta para o endereço de memória desejado. O valor contido em INDF é o valor armazenado no endereço apontado por  FSR.

Linguagem de Máquina e Linguagem Montadora

17

Linguagem de Máquina 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 Básica n

n

Zanco, Wagner da Silva.  Microcontroladores PIC

16F628A/648A – uma abordagem prática e objetiva, Editora Érica, 2005.   Datasheet  do PIC16F628A/648A

Material da Disciplina Plataforma SIGAA/UFC

20

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF