elt043_aula_05

17
ELT043 – Microcontroladores Graduação em Engenharia Eletrônica Universidade Federal de Itajubá IESTI Prof. Rodrigo de Paula Rodrigues Introdução ao microprocessador HCS12 Aula 05

Upload: italo-pereira-guimaraes

Post on 16-Nov-2015

11 views

Category:

Documents


0 download

TRANSCRIPT

  • ELT043 MicrocontroladoresGraduao em Engenharia Eletrnica

    Universidade Federal de Itajub IESTI

    Prof. Rodrigo de Paula Rodrigues

    Introduo ao microprocessador HCS12

    Aula 05

  • HCS12 | Histrico

    Predecessores da famlia HCS12

    6801 68HC05

    6800

    6801/3

    6801

    6805

    - Instr.

    + barato

    NMOS

    68HC05 68HC11HCS12

    68HC05

    68HC08

    + Inst.

    Ling. C

    + Perif.

    HC12HCS08

    68HC08

    ELT043 - Microcontroladores Prof. Rodrigo

    6802

    6801/3

    Temporiz.

    E/S

    10 Instr.

    6805

    + Perif.

    SG CMOS

    68HC08

    + Inst.

    Ling. C

    + Perif.

    HC12

    aprimorado

    68HC11

    16 bits

  • HCS12 | Histrico

    Arquiteturas de P produzidos pelaFreescale

    16-bit

    32-bit

    HCS12

    ColdFire v1 ColdFire v2-v4i.MX

    PowerPC

    Kinetis

    HC12 ARM

    ELT043 - Microcontroladores Prof. Rodrigo

    8-bit HC05 HC08 HCS08

    baixorendimento

    altorendimento

    HC11

  • HCS12 | Arquitetura do HCS12

    Palavra de dados

    Von Neumann

    P Perifricos16 bits

    ...

    Palavra de dados

    Registrosacessveis Tipos de dados

    Modos de endereamento

    Espao de endereamento Pilha de dados

    ELT043 - Microcontroladores Prof. Rodrigo

    15 modos8 registros 8 interpretaes Linear, 16 bits Pilha l gica

    Modelo de programao

  • HCS12 | Modelo de programao

    Registros acessveis

    0707

    B07

    IX

    015

    015

    Acumuladores A e B (8 bits cada)

    Acumulador D (16 bits) (*D=A:B)

    Registro de ndice X (16 bits)

    A07

    D015

    IY

    015

    Registro de ndice Y (16 bits)

    ELT043 - Microcontroladores Prof. Rodrigo

    S X H I N Z

    07

    PC

    SP

    015

    Contador de programa (16 bits)

    Ponteiro da pilha (16 bits)

    Cdigo de condio (8 bits)V C

  • Cdigo de condio

    HCS12 | Modelo de programao

    S X H I N Z

    07

    Vai um (carry)Estouro

    Zero

    Negativo

    V C

    ELT043 - Microcontroladores Prof. Rodrigo

    Negativo

    Interrupo

    Meio vai um (bit 3)

    Habilitao da interrupo XIRQ

    Habilitao da instruo de stop

  • Tipos de dados

    HCS12 | Modelo de programao

    bit

    Inteiros sinalizados de 5 bits

    Inteiros sinalizados e no-sinalizados de 8 bits

    BCD de 2 dgitos (8bits)

    Inteiros sinalizados de 9 bits

    ELT043 - Microcontroladores Prof. Rodrigo

    Inteiros sinalizados e no-sinalizados de 16 bits

    Endereos efetivos de 16 bits

    Inteiros sinalizados e no-sinalizados de 32 bits

  • Modos de endereamento

    HCS12 | Modelo de programao

    Inerente

    COD. OPE COD. OPE OP. de 8 ou 16 bits

    Imediato

    COD. OPE END. de 8 bits

    Direto

    ELT043 - Microcontroladores Prof. Rodrigo

    OPERANDO

  • Modos de endereamento (cont.)

    HCS12 | Modelo de programao

    COD. OPE END. de 16 bits

    Estendido

    CD. OPE DESLOC. De 8 ou 16 bits

    PC+

    Relativo

    ELT043 - Microcontroladores Prof. Rodrigo

    OPERANDO

    PC+

    ENDEREO RESULTANTE

    OPERANDO

  • Modos de endereamento (cont.)

    HCS12 | Modelo de programao

    CD. OPE DES. de 3, 5, 8 ou 16 bits

    X, Y, SP ou PC+

    Indexado (9 verses)

    ELT043 - Microcontroladores Prof. Rodrigo

    ENDEREO RESULTANTE

    OPERANDO

  • Organizao de memria

    HCS12 | Modelo de programao

    ...

    8 bits, 1 byte

    ...

    Palavra de dados

    64k

    posi

    es

    FFFFh

    xx-1

    x-2

    x+3

    x+2

    x+1

    ELT043 - Microcontroladores Prof. Rodrigo

    ...

    8 bits, 1 byte64k

    0000h

    x-2

    x-3

    x-4

  • Organizao de memriavalores em mltiplas posies

    HCS12 | Modelo de programao

    valores em mltiplas posies...

    0A 0B 0C 0DMemria

    (+) peso (-)

    Registro

    Big-endian

    ...

    0A 0B 0C 0DMemria

    (+) peso (-)

    Registro

    Little-endian

    ELT043 - Microcontroladores Prof. Rodrigo

    ...

    0A0B0C0D

    x+1

    x+2X+3

    x

    ...

    0D0C0B0A

    x+1

    x+2X+3

    x

  • Cdigo de mquina

    HCS12 | Modelo de programao

    COD. OPE COD. OPE OP. de 8 bits COD. OPE OP. de 16 bits

    ELT043 - Microcontroladores Prof. Rodrigo

    8 bits, 1 byte 16 bits, 2 bytes 24 bits, 3 bytes

  • Classes de instrues

    HCS12 | Modelo de programao

    Operaes lgicase aritmticas

    Operaes de controle de fluxo

    Operaes de memria

    ELT043 - Microcontroladores Prof. Rodrigo

    Operaes especficas

    x, %, x +, lgica fuzzy, max, min e mdia

  • Fontes de interrupes

    HCS12 | Modelo de programao

    Vetor Fonte

    FFFFh FFFEh reset do sistema

    FFFCh FFFDh reset do monitor de clock

    FFFAh FFFBh reset do mdulo de COP

    FFF8h FFF9h cdigo de operao invlido

    FFF6h FFF7h Interrupo por software

    ELT043 - Microcontroladores Prof. Rodrigo

    FFF4 FFF5h sinal XIRQ

    FFF2h FFF3h sinal IRQ

    FF00h FFF1h Especfica (HCS12)

    FFC0h FFF1h Especfica (68HC12)

  • Execuo de programas

    HCS12 | Execuo de programas

    XYZW-1

    XYZW-3

    XYZW-2

    Programa a ser executado

    ...

    XYZW+2

    XYZW

    XYZW+1

    XYZW+3

    XY : ZWFFFF : FFFE

    Vetor de reset

    ELT043 - Microcontroladores Prof. Rodrigo

    XYZS+N+1 XYZS+N+2

    ...

    XYZW+N

    RESET PC

  • HCS12 | Fim

    Obrigado

    ELT043 - Microcontroladores Prof. Rodrigo