Microcontrolador 8051

Documentos relacionados
Microcontrolador 8051:

Microcontroladores 8051

8051 Estudo de Caso. Prof. Carlos E. Capovilla - CECS/UFABC 1

Aula 4. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura de um microcontrolador 8051

O microcontrolador Quatro partes importantes

9/3/2009. Aula 4. Engenharia de Sistemas Embarcados. Cenário: Sistema de Controle de LEDs

MICROCONTROLADOR 8051

Organização de Memórias

Disc.: Sistemas Microprocessados Curso Técnico em Eletrônica

Memória de Dados Interna. Memória de Dados Interna

Microprocessadores. Organização de Memória

Prof. Adilson Gonzaga

Aula 8 Microcontrolador 8051

Aula 8 Microcontrolador 8051

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga

MICROCONTROLADORES MCS51. Hugo Vieira Neto, M.Sc.

Prof. Adilson Gonzaga

Sistemas Embarcados:

Família 8051 (introdução) 2011/1

SEL 337 Aplicação de Microprocessadores II

SEMINÁRIO ASSEMBLY: Arquitetura 8051

Aula 10 Microcontrolador Intel 8051 Parte 2

Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

MICROCONTROLADORES MCS51. Hugo Vieira Neto, M.Sc.

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

Aula 5. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura e Ambiente de Desenvolvimento

UCP 8051 (parte 02) Professor Adão de Melo Neto

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização

Organização Básica III

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

Temporizadores e Contadores (Timer/Counter)

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Temporizadores e Contadores

Apontamentos sobre o 8051 Prof. Eng Luiz Antonio Vargas Pinto Versão revista e ampliada em 01/07/2009 Revisada em 28/02/2006 Revisada em 18/11/2007

Microprocessadores. Movimentação de Dados

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Microcontroladores. Interrupções no Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Arquitetura do Disciplina de Microcontroladores. Prof. Ronnier Prof. Rubão

Aula 10 Microcontrolador Intel 8051 Parte 1

EEC2104 Microprocessadores

EPAC Microcontroladores Organização do curso 30/8/2007

Estrutura Básica de um Computador

Interface Serial. Prof. Adilson Gonzaga

2.4 Temporização da CPU

Jadsonlee da Silva Sá

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

µcontroladores da Família 51

EPUSP PCS2355 Laboratório Digital MICROPROCESSADORES

MICROCONTROLADOR 8051

17/04/2017. Comunicação Serial. Comunicação Serial. Comunicação de Dados em Microprocessadores. . Comunicação Paralela. Comunicação Serial

NOTAS DE AULA 06 MICROCONTROLADOR 8051

Interrupção. Prof. Adilson Gonzaga

Prof. Adilson Gonzaga

Microprocessadores TIMER/COUNTER I

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

Interface com Teclas, Leds e Teclados Matriciais. Prof. Adilson Gonzaga

ORGANIZAÇÃO DE MEMÓRIA NO 8051: Microcontroladores - Prof: Demantova 1

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

Prof. Adilson Gonzaga. Técnicas de Interface

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Curso de Microcontroladores PIC 16F84A

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

14/3/2016. Prof. Evandro L. L. Rodrigues

Prof. Adilson Gonzaga

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

MINI-CURSO DE MICROCONTROLADOR

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

ELE Microprocessadores I

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

Comunicação Serial. Comunicação Serial

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

MICRO CONTROLADORES MCS-51

Aula 5: Introdução a Arquitetura do Microcontrolador 8051

LISTA 01 DE EXERCÍCIOS DO 4º BIMESTRE PARA ESTUDO NOME: NOME:

KIT DE DESENVOLVIMENTO 8051 BASEADO NO AT89S8252 MANUAL DO UTILIZADOR. Rui Marcelino (Nov. 2005)

Laboratório de Microprocessadores e Microcontroladores

Interrupções 8051 Porta Serial

Transcrição:

Microcontrolador 8051

Inicialmente fabricado pela INTEL, atualmente fabricado por várias empresas; Possui uma grande variedade de dispositivos, com diversas características, porém compatíveis em software; São a base para diversos dispositivos, como tocadores MP3, interfaces USB, Ethernet, etc. Possui uma arquitetura simples, sendo de fácil aprendizado;

Figura 1. Diagrama em blocos do microcontrolador 89S52. Fonte ATMEL2008.

Figura 2. Diagrama em blocos do microcontrolador 8051 genárico. Fonte VIEIRA2002.

Figura 3. Pinagem do microcontrolador 89S52. Fonte ATMEL2008.

Descrição dos pinos: Pino Nome E/S Função 32 a 39 P0.0 a P0.7 E/S O Port 0 é uma interface de E/S bidirecional com 8 bits individualmente endereçáveis em dreno aberto. Terminais que estejam no estado lógico 1 podem ser utilizados como entradas de alta impedância. O Port 0 também atua como barramento de dados e gera de maneira multiplexada a parte menos significativa dos endereços durante acessos às memórias externas de programa ou dados. 1 a 8 P1.0 a P1.7 E/S O Port 1 é uma interface de E/S bidirecional com 8 bits individualmente endereçáveis e resistores de pull-up internos. Terminais que estejam no estado lógico 1 podem ser utilizados como entradas. No 89S52, alguns pinos deste port possuem funções alternativas.

Descrição dos pinos: Pino Nome E/S Função 21 a 28 P2.0 a P2.7 E/S O Port 2 é uma interface de E/S bidirecional com 8 bits individualmente endereçáveis e resistores de pull-up internos. Terminais que estejam no estado lógico 1 podem ser utilizados como entradas. O Port 2 também gera a parte mais significativa dos endereços durante acessos às memórias externas de programa ou dados. 10 a 17 P3.0 a P3.7 E/S O Port 3 é uma interface de E/S bidirecional com 8 bits individualmente endereçáveis e resistores de pull-up internos. Terminais que estejam no estado lógico 1 podem ser utilizados como entradas. O Port 3 também funções alternativas em todos os pinos.

Descrição dos pinos: Pino Nome E/S Função 40 VCC Potencial de alimentação (+5v) 20 VSS Potencial de referência (terra). 9 RST E Quando aplicado nível lógico 1 a este terminal durante 2 ciclos de máquina (com o oscilador operando) ocorre o reset do microcontrolador. Um resistor interno conectado a VSS permite o power-onreset com apenas um capacitor externo conectado a VCC. 19 XTAL1 Entrada do amplificador inversor do oscilador e entrada do gerador de clock interno. 18 XTAL2 Saída do amplificador inversor do oscilador.

Descrição dos pinos: Pino Nome E/S Função 29 PSEN S PROGRAM STORE ENABLE: Habilita o acesso à memória de programa externa durante a busca de instruções. Permanece em nível lógico 1 durante o acesso da memória de programa interna. 30 ALE S ADDRESS LATCH ENABLE: Fornece o sinal para armazenamento da parte menos significativa do endereço durante acessos às memórias externas de programa ou dados. 31 EA E EXTERNAL ACCESS: Quando em nível lógico 1, as instruções da memória de programa interna são executadas. Quando em nível lógico 0, todas as instruções são buscadas na memória de programa externa. No caso do 8031 este terminal deve sempre estar em nível lógico 0.

Funções alternativas do Port 3: Pino Nome Função P3.0 RXD/ data P3.1 TXD/ clock Receptor da interface serial assíncrona ou entrada e saída de dados da interface serial síncrona. Transmissor da interface serial assíncrona ou saída de clock da interface serial síncrona. P3.2 INT0 Entrada de interrupção externa 0 ou sinal de controle para o contador 0. P3.3 INT1 Entrada de interrupção externa 1 ou sinal de controle para o contador 1. P3.4 T0 Entrada externa para o contador 0. P3.5 T1 Entrada externa para o contador 1. P3.6 WR Sinal de escrita na memória externa de dados. P3.7 RD Sinal de leitura na memória externa de dados.

Funções alternativas do Port 1: Pino Nome Função P1.0 T2 Entrada externa para o contador 2. P1.1 T2EX Sinal de trigger para captura/recarga do contador 2, controle de direção. P1.5 MISO Interface SPI (usada para programação) P1.6 MOSI Interface SPI (usada para programação) P1.7 SCK Interface SPI (usada para programação)

Organização da Memória: O 8051 possui 128 bytes de memória RAM interna, mais 128 bytes de registradores mapeados em memória (RAM); Possui 0, 4, 8, kbytes de memória ROM interna. Esta memória pode ser ROM, EPROM, FLASH; Pode endereçar até 64 kbytes de memória de programa externa (normalmente algum tipo de ROM); Pode endereçar até 64 kbytes de memória de dados externa (normalmente algum tipo de RAM);

Memória de Programa: Após o reset, o 8051 busca a primeira instrução no endereço 0000h; Este endereço poderá ser da memória de programa interna ou da memória de programa externa; Se EA for igual a 1, o 8051 busca a instrução na memória interna; Se EA for igual a 0, o 8051 busca a instrução na memória externa;

Mapa de Memória (exemplo para dispositivo com 4 kbytes de memória ROM interna): FFFFh EA = 1 EA =0 FFFFh ROM EXTERNA PSEN = 0 ROM EXTERNA PSEN = 0 1000h 0FFFh 0000h ROM INTERNA PSEN = 1 0000h

Memória de Dados: O 8051 possui 256 bytes de memória interna: Os primeiros 128 bytes (endereços de 0 a 127)são memória de uso geral, sendo usados inclusive para a pilha; Os 128 bytes superiores (endereços de 128 a 255) são os registradores internos do 8051; O 8051 pode acessar até 64 kbytes de memória de dados externa, mas esta memória não pode ser usada como pilha;

Memória de Dados: Os 128 bytes de uso geral são divididos em três regiões: Os endereços de 0 a 31 (1Fh) formam 4 bancos de oito registradores; Os endereços de 32 (20h) a 47 (2Fh) formam uma área de bits que podem ser acessados individualmente, através de instruções específicas; Os endereços de 48 (30h) a 127 (7Fh) formam a memória de dados propriamente dita. Esta região deverá incluir a pilha de dados;

Bancos de Registradores: O banco de registradores ativo é selecionado pelos bits RS1 e RS0 do registrador PSW; Estes registradores podem ser usados para dados (variáveis), ponteiros (indicam um endereço de memória) ou índice; Possem instruções específicas, reduzindo o tamanho do código: Ex: mov @R0, A; copia o conteúdo do registrador ;no endereço de memória interna indicado ; pelo registrador R0

Bancos de Registradores: R7 R6 R5 R4 R3 R2 Banco 3 Banco 2 Banco 1 RS1=1 RS0=1 RS1=1 RS0=0 RS1=0 RS0=1 Memória RAM Intrerna R1 R0 Banco 0 RS1=0 RS0=0

Bancos de Registradores - Banco 0 (RS1=0 e RS0=0): Estão localizados fisicamente nos endereços de 0h a 7h; 07h 06h 05h 04h 03h 02h 01h 00h R7 R6 R5 R4 R3 R2 R1 R0 Banco 3 Banco 2 Banco 1 Banco 0

Bancos de Registradores - Banco 1 (RS1=0 e RS0=1): Estão localizados fisicamente nos endereços de 8h a Fh; 0Fh 0Eh 0Dh 0Ch 0Bh 0Ah 09h 08h R7 R6 R5 R4 R3 R2 R1 R0 Banco 3 Banco 2 Banco 1 Banco 0

Bancos de Registradores - Banco 2 (RS1=1 e RS0=0): Estão localizados fisicamente nos endereços de 10h a 17h; 17h 16h 15h 14h 13h 12h 11h 10h R7 R6 R5 R4 R3 R2 R1 R0 Banco 3 Banco 2 Banco 1 Banco 0

Bancos de Registradores - Banco 3 (RS1=1 e RS0=1): Estão localizados fisicamente nos endereços de 18h a 1Fh; 1Fh 1Eh 1Dh 1Ch 1Bh 1Ah 19h 18h R7 R6 R5 R4 R3 R2 R1 R0 Banco 3 Banco 2 Banco 1 Banco 0

Registradores de Função Especial: São responsáveis pelo controle e execução das instruções de programa; Também são responsáveis pela configuração dos periféricos internos do 8051; Estão situados na parte alta da memória RAM interna, nos endereços de 128 (80h) a 255 (FFh);

Registradores de Função Especial: Program Counter (PC): Registrador de 16 bits, possui o endereço da memória de programa que possui a próxima instrução a ser executada pelo 8051; Program Status Word (PSW): Registrador de 8 bits, contém os flags indicando alguma ocorrência na última instrução aritmética executada e os bits de seleção do banco de registradores ativo; Stack Pointer (SP): Registrador de 8 bits, contém o endereço do topo da pilha;

Registradores de Função Especial: Stack Pointer (SP): Registrador de 8 bits, contém o endereço do topo da pilha; Acumulador (A ou ACC): Registrador de 8 bits, é o registrador usado nas operações lógicas e aritméticas; Registrador B (B): Registrador de 8 bits, usado nas operações de multiplicação e divisão. Pode ser usado como um registrador de uso geral; Data Pointer (DPTR): Registrador de 16 bits formado pela junção de dois registradores de 8 bits, DPH e DPL. Este registrador é usado para acessar a memória externa;

Registradores de Função Especial: Ports (P0, P1, P2 e P3): Registradores de 8 bits que contém o valor presente nos pinos de entrada e saída do 8051 quando estes pinos estão sendo usados como pinos de entrada e saída; Interrupt Enable(IE): Registrador de 8 bits, usado para habilitar ou desabilitar as interrupções do 8051; Interrupt Priority (IP): Registrador de 8 bits que determina o nível de prioridade (alto ou baixo) das interrupções do 8051;

Registradores de Função Especial: Power Control (PCON): Registradores de 8 bits, controla os modos de economia de energia do 8051; Timer Control (TCON): Registrador de 8 bits, usado para configurar e controlar os temporizadores/ contadores TC0 e TC1; Timer Mode (TMODE): Registrador de 8 bits, define o modo de operação dos temporizadores/ contadores TC0 e TC1; Timers (TH0, TL0, TH1 e TL1): Registradores de 8 bits que contém o valor da contagem dos temporizadores/ contadores 0 e 1;

Registradores de Função Especial: Serial Control (SCON): Registradores de 8 bits, controla o modo de operação da interface serial; Serial Buffer (SBUF): Registrador duplo de 8 bits, contém o valor sendo transmitido e recebido pela interface serial. São dois registradores acessados pelo mesmo endereço;

Acesso a memória externa: O 8051 pode acessar até 64k bytes de memória ROM e até 64k bytes de memória RAM externa; Para isso utiliza os ports 0, 2 e 3; Neste caso, estes ports não podem ser usados como interface de entrada e saída; Pode-se implementar interfaces de entrada e saída mapeadas em memória; O port 0 atua como barramento de dados e barramento de endereços (parte baixa) multiplexado.

Acesso a memória externa: Figura 4. Pinagem do microcontrolador 89S52. (Fonte própria).

Ciclo de Leitura da Memória de Programa Externa: ALE PSEN PORT 0 A0:A7 Instrução A0:A7 Instrução PORT 2 A8:A15 A8:A15 Armazena A0:A7 no latch Armazena A0:A7 no latch

Ciclo de Leitura da Memória de Dados Externa: ALE PSEN RD PORT 0 A0:A7 (DPL) DADO A0:A7 (PCL) PORT 2 A8:A15 (DPH) A8:A15 (DPH) Armazena A0:A7 no latch Lê o Dado Da memória

Ciclo de Leitura da Memória de Dados Externa: ALE PSEN WR PORT 0 A0:A7 (DPL) DADO A0:A7 (PCL) PORT 2 A8:A15 (DPH) A8:A15 (DPH) Armazena A0:A7 no latch Escreve o Dado na memória

CLOCK O 8051 possui um gerador de clock interno; Basta ligar um cristal nos pinos XTAL1 e XTAL2 e dois capacitores entre estes terminais e o GND; Pode-se usar uma fonte de clock externa. Neste caso, o pino XTAL1 é ligado ao GND e o pino XTAL2 ao gerador de clock; A frequência de clock é dividida internamente por 12, assim, um ciclo de máquina equivale a 12 ciclos de clock;

RESET O reset é ativado quando o pino de reset (pino 9) fica em nível alto por mais de dois ciclos de máquina (24 ciclos de clock); O reset zera os registradores A, B, PSW, DPTR, PC e os registradores dos temporizadores/contadores; O registrador SP (stack pointer) é carregado com o valor 07h; Os ports são inicializados com o valor FFh, para ficarem configurados como entrada; O registrador SCON é zerado e o registrador SBUF possui valor indeterminado;

RESET Os registradores são carregados com o valor XXX00000b; A memória RAM interna não é alterada; Um resistor interno ligado a GND permite que se faça um sistema POR (reset ao ligar) com apenas um capacitor de 10uF ligado entre o pino 9 (pino de reset) e o Vcc;