Microcontrolador 8051_aula2

30
Aula 02 – Microcontrolador 8051 Aula 02 – Microcontrolador 8051 Sistemas Microprocessados Sistemas Microprocessados Gabriel Kovalhuk Gabriel Kovalhuk Microcontrolador 8051: Microcontrolador 8051: Fonte: CORRADI 2009

description

Aula sobre microcontrolador 8051

Transcript of Microcontrolador 8051_aula2

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Microcontrolador 8051:Microcontrolador 8051:

    Fonte: CORRADI 2009

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    O Microcontrolador 8051:Comeou a ser produzido no incio da dcada de 80,

    pela Intel;Hoje fabricado por vrias empresas e com muitas

    variaes;Atualmente, alguns modelos, possuem vrios perifricos

    integrados, como: Conversores A/D, PWM, interfaces

    seriais, IC, SPI, CAM, decodificador MP3, etc.;Possuem vrias configuraes de memria interna;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Caractersticas Bsicas (Nicolosi 2008):Palavras de 8 bits;Capacidade para enderear at 64 kbytes de ROM

    (memria de programa);Capacidade para enderear at 64 kbytes de RAM

    (memria de dados);256 bytes de memria RAM interna, das quais 128 so

    usadas para implementar os registradores do 8051.

    Assim, somente 128 bytes esto disponveis para dados

    e pilha;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Caractersticas Bsicas (continuao):Pelo menos dois timers/counters configurveis que

    podem trabalhar em 4 modos distintos;Uma porta serial (UART);Quatro portas de I/O;Seis tipos de interrupo;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Estrutura Interna:

    Fonte: CORRADI 2009

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Estrutura Interna (continuao):ALU (Unidade Lgica e Aritmtica): circuito responsvel

    pela execuo das operaes lgicas e aritmticas do

    microcontrolador;ACC (Acumulador): registrador de 8 bits usado como

    base de quase todas as operaes;Registrador B: registrador auxiliar em algumas

    operaes aritmticas;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Estrutura Interna (continuao):SP (Stack Pointer Ponteiro da Pilha): contm o

    endereo da prxima posio a ser utilizadas para

    guardar dados na pilha;PSW (Registrador de Flags Program Status Word):

    contm vrios bits que indicam o estado do

    microcontrolador;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Estrutura Interna (continuao):PC (Program Counter ou Contador de Programa):

    contm o endereo da prxima instruo a ser

    executada;DPTR (Data Pointer Ponteiro de Dados): registrador

    de 16 bits usado para acessar dados nas memrias

    externas (tanto na memria de programa quanto na

    memria de dados). formado por dois registradores de

    8 bits (DPH e DPL);

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Estrutura Interna (continuao):Ports 0,1,2 e 3: registradores de 8 bits que do acesso

    aos pinos de I/O;IE (Registro de controle de Interrupo Interrupt

    Enable): permite habilitar ou desabilitar as interrupes

    individulamente;IP (Registrador de prioridade de Interupo Interrupt

    Priority): determina o nvel de prioridade de cada

    interrupo, que pode ser alto ou baixo;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Estrutura Interna (continuao):TH0, TL0, TH1 e TL1: registradores dos timers 0 e 1.

    Cada par TH+TL formam um temporizador/contador, que

    pode trabalhar de quatro modos distintos;TMOD (Timer Mode Register): configura o modo de

    trabalho dos temporizadores/contadores;TCON (Timer Control Register): controla a operao dos

    temporizadores/contadores e das interrupes dos

    temporizadores/contadores e interrupes externas;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Estrutura Interna (continuao):SBUFF: (Serial Buffer): um registrador duplo que

    armazena o byte a ser transmitido e o byte recebido pela

    interface serial;SCON: (Serial Port Control Register): controla o modo

    de funcionamento da porta serial;PCON (Power Control Register): configura o 8051 em

    alguns modos de economia de energia;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Famlias do 8051 (Bsicas):8031 - 0KB ROM, 128B RAM, 2 T/C;

    8051 - 4KB ROM, 128B RAM, 2 T/C;

    8751 - 4KB EPROM, 128B RAM, 2 T/C;

    8032 - 0KB ROM, 256B RAM, 3 T/C;

    8052 - 8KB ROM, 256B RAM, 3 T/C;

    8752 - 8KB EPROM, 256B RAM, 3 T/C;

    80C31, C51, C32 e C52 - CMOS, Low Power;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Famlias do 8051 (Avanadas):80LV31, LV51, LV32 e LV52 - Low Voltage;

    89C51 e 89C52 - Flash EPROM, 24MHz;

    89C1051, C2051 e C4051 - 20 terminais;

    89S5x - Flash ISP, 24MHz;

    89S8252 8kB de Flash ISP, 2kB de EEPROM, Watchdog,

    interface SPI;

    80C320 - Clock Otimizado (33MHz x 3);

    C505L - 32KB ROM, 512B RAM, 10B A/D, LCD;

    P51XA-G3, H3 e S3 - Arquitetura de 16 bits;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Pinagem do 8051:Pinagem para um encapsulamento de 40 pinos:

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Pinagem do 8051 (continuao):P0.0 a P0.7: pinos de entrada e sada do Port 0. Tambm

    so usados como barramento de dados e como parte baixa

    do barramento de endereos (quando for usada memria

    externa). Estes pinos so FETs em dreno em aberto,

    necessitam de resistores de pull-up;P1.0 a P1.7: pinos de entrada e sada do Port 1;P2.0 a P2.7: pinos de entrada e sada do Port 2. Tambm

    so usados como barramento de dados e como parte alta

    do barramento de endereos (quando for usada memria

    externa);

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Pinagem do 8051 (continuao):P3.0 a P3.7: pinos de entrada e sada do Port 3. Cada bit

    deste port tambm possui as seguintes funes alternatvas:RxD: P3.0, pino de recepo de dados da porta serial;TxD: P3.1, pino de transmisso de dados da porta serial;Int0 e Int1: P3.2 e P3.3, pinos de interrupo externa;T0 e T1: P3.4 e P3.5, pinos de clock para os

    temporizadores/contadores internos;WR e RD: P3.6 e P3.7, usado para controle de escrita e leitura

    da memria externa;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Pinagem do 8051 (continuao):Xtal1 e Xtal2: pinos para o cristal do oscilador interno;RST: pino de reset do microcontrolador, ativo em 1;EA/VPP (External Address): ativo em nvel baixo, utiliza

    somente a memria de programa externa. Quando em nvel

    alto (1) utiliza a memria interna. Tambm usado no

    processo de programao da memria EPROM interna;ALE/PROG (Address Latch Enable): gera o pulso de

    armazenamento da parte baixa do endereo do port 0,

    quando for usada a memria externa;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Organizao de Memria:Abaixo est descrito a organizao de memria geral para

    a famlia 8051. Na prtica cada componente possui a sua

    prpria organizao: At 64 kbytes de Memria ROM (EPROM, FLASH); 128 bytes de memria RAM; Registradores mapeados em memria (endereos F0 a FF

    da memria RAM interna); Alguns modelos implementam memria EEPROM interna

    para dados permanentes;

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Organizao de Memria:Memria de Programa: quando o pino EA = 0, acessa a memria externa, quando EA=1, acessa a memria interna at o seu limite, depois acessa a memria externa.

    FFFF

    0000

    1FFF

    Memriade

    ProgramaInterna

    Memriade

    ProgramaExterna

    Pino EA = 1

    FFFF

    0000

    Memriade

    ProgramaExterna

    Pino EA = 0

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Organizao de Memria:Memria de Dados: dividida em trs regies: memria interna (128 bytes), registros internos (128 bytes) e memria externa, at 64 kbytes;

    FF

    0000

    7F

    Memriade

    dadosInterna

    Registrosde

    funesespeciais

    FFFF

    0000

    Memriade

    DadosExterna

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Organizao de Memria:A memria de dados interna (os primeiros 128 bytes) possui trs regies com funes especficas, mas pode ser totalmente usada como memria de dados comum:

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Organizao de Memria:A primeira regio da memria interna composta de quatro banco com 8 registradores cada um. Estes registradores so nomeados como R0, R1, R2, R3, R4, R5, R6 e R7.

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Organizao de Memria:

    A segunda regio da memria interna, cujos endereos vo de 20h a 2Fh, so tambm endereadas bit a bit. As instrues que trabalham com bits acessam estes bits diretamente e seus endereos (dos bits) vo de 00h a 7Fh.

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Organizao de Memria:A segunda parte memria de dados interna (os ltimos 128 bytes) possuem funes especiais, so os registradores do 8051:

    FF

    0000

    80

    Memriade

    dadosInterna

    Registrosde

    funesespeciais

    F0h Registro BE0h Acumulador AccD0h Program Status Word PSWB8h Interrupt Priority IPB0h Porta 3 de E/S P3A8h Interrupt Enable - IEA0h Porta 2 de E/S P299h Serial Buffer BUF98h Serial Control SCON90h Porta 1 de E/S P18Dh Timer High 1 H18Ch Timer High 0 H08Bh Timer Low 1 TL18Ah Timer Low 0 TL089h Timer Mode TMOD88h Timer Control TCON87h Power Control PCON83h Data Pointer High DPH82h Data Pointer Low DPL81h Stack Pointer SP80h Porta 0 de E/S P0

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Acesso a Memria Externa:Como o barramento de dados e a parte baixa do endereo multiplexada no port 0, necessrio um circuito externo para separar os endereos dos dados:

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Acesso a Memria Externa:O ciclo de leitura da memria de programa externa dado pelo diagrama de tempos abaixo:

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Acesso a Memria Externa:O ciclo de leitura da memria de dados externa dado pelo diagrama de tempos abaixo:

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Acesso a Memria Externa:O ciclo de escrita da memria de dados externa dado pelo diagrama de tempos abaixo:

  • Aula 02 Microcontrolador 8051Aula 02 Microcontrolador 8051

    Sistemas MicroprocessadosSistemas MicroprocessadosGabriel KovalhukGabriel Kovalhuk

    Perifricos mapeados em memria:Um perifrico mapeado em memria um perifrico que usa uma faixa de endereos de memria para ser acessado. Na figura abaixo temos um exemplo:

  • CORRADI 2009: www.corradi.junior.nom.br; acesso em 28.09.2009;

    NICOLOSI 2008: Nicolosi, Denis Emlio Campion e Bronzeri, Rodrigo Barbosa. Microcontrolador 8051 com linguagem C: prtico e didtico: famlia ATS89S8252 atmel. 2 edio. So Paulo: rica 2008.

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30