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

Documentos relacionados
Microcontroladores 8051

O microcontrolador Quatro partes importantes

Microcontrolador 8051

14/3/2016. A escolha do microprocessador mais adequado depende basicamente da aplicação, e deve se levar em conta os seguintes critérios:

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

Microcontrolador 8051:

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

Prof. Adilson Gonzaga

Aula 8 Microcontrolador 8051

Aula 8 Microcontrolador 8051

CAPÍTULO II FAMÍLIA MCS-51

Organização de Memórias

Aula 10 Microcontrolador Intel 8051 Parte 2

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

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

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

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

Microprocessadores. Organização de Memória

MICROCONTROLADOR 8051

Aula 10 Microcontrolador Intel 8051 Parte 1

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

Notas de Aula Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca

SEL 337 Aplicação de Microprocessadores II

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

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

SEMINÁRIO ASSEMBLY: Arquitetura 8051

EEC2104 Microprocessadores

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

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Sistemas Embarcados:

Interrupção. Prof. Adilson Gonzaga

Prof. Adilson Gonzaga

Microprocessadores. Movimentação de Dados

Interface Serial. Prof. Adilson Gonzaga

Estrutura Básica de um Computador

programáveis por software

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

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

Prof. Adilson Gonzaga

Temporizadores e Contadores

22/3/2010. Aula 5. Engenharia de Sistemas Embarcados. O ambiente de Execução. Prof. Abel Guilhermino Tópico: Arquitetura e Ambiente de Desenvolvimento

2.4 Temporização da CPU

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

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

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

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

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

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

Temporizadores e Contadores (Timer/Counter)

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

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

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

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

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

MICROCONTROLADOR 8051

NOTAS DE AULA 06 MICROCONTROLADOR 8051

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

Microcontroladores. Interface Serial e RTC. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

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

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

EPUSP PCS2355 Laboratório Digital MICROPROCESSADORES

MICROCONTROLADORES MCS51. Hugo Vieira Neto, M.Sc.

Microprocessadores TIMER/COUNTER I

Organização Básica III

Microcontroladores PIC

Interrupções 8051 Porta Serial

Prof. Adilson Gonzaga

MICROCONTROLADOR 8051

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

INTRODUÇÃO: MICROCONTROLADORES

Comunicação Serial. Comunicação Serial

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage:

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

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

µcontroladores da Família 51

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

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

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

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

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

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

Interrupções Externas

Memória de dados interna

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

COMUNICAÇÃO SERIAL. Prof. Clayrton Henrique Microprocessadores Aula 30 Rev.02

Organização e Projeto de Computadores

MICROCONTROLADORES MCS51. Hugo Vieira Neto, M.Sc.

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

ELE Microprocessadores I

Laboratório de Microprocessadores e Microcontroladores

MINI-CURSO DE MICROCONTROLADOR

Programação de Microcontroladores I

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br

Comunicação Serial II. Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03

Sistemas Microcontrolados

Faculdade de Engenharia da Universidade do Porto Projecto Seminário Trabalho de Fim de Curso. A Memória

Transcrição:

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

8051 - Características O 8051 é membro da família MCS-51, e constitui o núcleo de todos os dispositivos MCS-51. Diversos fabricantes produzem microcontroladores da família 8051 (Intel, AMD, Atmel, Dallas, OKI, Matra, Philips, Siemens, SMC, SSI). A Intel iniciou a produção do 8051 em 1981. É um sistema de um chip único, que além do microprocessador de 8 bits pode conter: Memória de Programa (8051) e Memória de Dados Portas de I/O Comunicação Serial Contadores / Timers Lógica para Controle de Interrupção Conversor A/D (80550) Etc Prof. Carlos E. Capovilla - CECS/UFABC 2

Família MCS-51 Prof. Carlos E. Capovilla - CECS/UFABC 3

8051 Núcleo Básico CPU de 8 bits otimizado para aplicações de controle Capacidade de processamento booleano (lógica de um único bit) 64 Kbytes de espaço de memória de programa 64 Kbytes de espaço de memória de dados 4 Kbytes de espaço de memória de programa "on chip" 128 bytes de memória RAM de dados "on chip" 32 linhas de I/O 2 Contadores / Temporizadores de 16 bits cada UART full duplex (Universal Asynchronous Receiver/Transmitter ) Estrutura de interrupção com níveis de prioridade Prof. Carlos E. Capovilla - CECS/UFABC 4

Diagrama de blocos 8051 Prof. Carlos E. Capovilla - CECS/UFABC 5

Diagrama 8051 Prof. Carlos E. Capovilla - CECS/UFABC 6

8051 Características DC Prof. Carlos E. Capovilla - CECS/UFABC 7

Pinos de Controle do 8051 ALE (Address Latch Enable) Copia a Informação de endereço para o latch (Port0 multiplexa dados e o byte menos significativo do endereço O Port0 multiplexa dados e endereços para economizar 8 pinos (totalizando 40) PSEN (Program Store Enable ) Aciona ROM externa EA (ExternalAccess) Determina se irá se utilizar a ROM interna ou somente a ROM externa (inativando a interna) RST (Reset) (Necessita de 2 ciclos de clock em estado 1 para acionamento) - Deve ser implementado através de circuito externo para realizar o reset toda vez que o circuito for energizado e também através de chave para acionamento quando necessário. Prof. Carlos E. Capovilla - CECS/UFABC 8

Port0 Multiplexado Prof. Carlos E. Capovilla - CECS/UFABC 9

Funções secundárias da Port3 (Implementadas via software) RxD (P3.0) Receive Data (Receptor de dados seriais) TxD (P3.1) Transmit Data (Transmissor de dados seriais) INT0 (P3.2) - External Interrupt 0 (Usado para interrupção externa) INT1 (P3.3) - External Interrupt 1 (Usado para interrupção externa) T0 (P3.4) Timer / Counter 0 (Usado para o timer se tornar contador de eventos externos) T1 (P3.5) Timer / Counter 1 (Usado para o timer se tornar contador de eventos externos) WR (P3.6) External Memory write strobe (Sinaliza a RAM externa que o dado será escrito) RD (P3.7) External Memory read strobe (Sinaliza a RAM externa que o dado será lido) Prof. Carlos E. Capovilla - CECS/UFABC 10

Memórias Endereçamento Endereços das memórias de programa interna e externa : Se EA = Gnd toda a memória de programa é externa : 0000h a FFFFh Prof. Carlos E. Capovilla - CECS/UFABC 11

Endereço das interrupções Cada interrupção causa um salto para um endereço fixo na memória de programa (ROM, EPROM,...) a partir do endereço 0003 Prof. Carlos E. Capovilla - CECS/UFABC 12

Memória de dados interna Prof. Carlos E. Capovilla - CECS/UFABC 13

Memória de dados interna Faixa de endereço endereçável diretamente: 00 a FF hexadecimal. Faixa de endereço endereçável indiretamente: 00 a 7F hexadecimal. Espaço endereçável por bit: 20 a 2F hexadecimal. Quatro bancos de 8 registradores: 00 a 1F hexadecimal. Prof. Carlos E. Capovilla - CECS/UFABC 14

Bancos de Registradores Gerais Cada banco é formado pelos registradores R0 a R7. A seleção entre os Bancos de registradores é feita pelos bits 3 e 4 do byte PSW (program status word) Prof. Carlos E. Capovilla - CECS/UFABC 15

Registradores de Funções Especiais ACC: Acumulador; P0, P1, P2 e P3: Registradores espelhos dos Ports de comunicação; B: Registrador para operações de Multiplicar e dividir (MUL AB e DIV AB); PSW (Program Status Word): Registrador de status do acumulador; IP e IE (Interrupt Priority e Interrupt Enable): Utilizados na programação das interrupções; DPH e DPL (Data Pointer High e Data Pointer Low): Os dois juntos formam o DPTR (Data Pointer) que permite apontar endereços da memória de programa e da memória RAM externa; SP (Stack Pointer): Apontador da pilha de endereços de retornos das subrotinas e interrupções; PCON (Power Control Register): Utilizado para alternar os modos de funcionamento em relação ao consumo de potência. Prof. Carlos E. Capovilla - CECS/UFABC 16

Registradores F.E. (Periféricos) SBUF (Serial Buffer): Interface Mc com a saída / entrada serial; SCON (Serial Port Control Register): Permite programar e controlar o periférico serial; TH0, TL0, TH1 e TL1 (Timer High e Timer Low, 0 e 1): Registradorers de 8 bits que em conjunto formam os dois timers de 16 bits cada; TCON (Timer Control Register): Permite controlar os timers; TMOD (Timer Mode Register): Permite programar os modos de atuação dos timers. Prof. Carlos E. Capovilla - CECS/UFABC 17

Memória de dados interna O endereçamento é feito com 8 bits. Chips com 128 bytes de RAM não possuem a área I (Apenas Endereçamento Indireto) Área A: 128 bytes inferiores (00h a 7Fh), acessíveis por endereçamento direto e indireto (existe em toda a família MCS-51) Área D : SFR (special function register) acessível por endereçamento direto (80h a FFh) também existe em todos os membros da família MCS-51 Área I : 128 bytes superiores (80h a FFh acessível somente por endereçamento indireto, só existe nos chips de 256 bytes de RAM interna (8032,8052,...)). Prof. Carlos E. Capovilla - CECS/UFABC 18

Memória de dados interna Exemplos: Escrever AAh na Porta 0 (P0 = 80h ----- área D) mov 80h,#0AAh Escrever AAh no endereço 80h da RAM (área I de um microcontrolador com 256 bytes de RAM interna) mov R0,#80h mov @R0,#0AAh Prof. Carlos E. Capovilla - CECS/UFABC 19

Utilização de outros bancos Ao se resetar a CPU, RS1 e RS0 são 0, portanto o banco de registradores 'default' é o Banco 0. O reset inicializa o Stack Pointer (SP) na posição 07h, e é incrementando a cada vez que é usado. Para que se possa usar mais que um banco de registradores, o SP deve ser inicializado no programa em uma outra posição da RAM (por exemplo 2Fh). Prof. Carlos E. Capovilla - CECS/UFABC 20

Exemplos de Endereçamento Cada uma dessas posições de memória pode também ser acessada direta ou indiretamente por byte. Exemplo: a) Endereçamento Direto mov 2Fh, 0BAh b) Endereçamento Indireto mov R0,#2Fh mov @R0,0BAh Prof. Carlos E. Capovilla - CECS/UFABC 21

Memória endereçável a Bit Endereços individuais dos Bits: Exemplo : Setar o bit 2 da posição 21h setb 0Ah ou setb 21h.2 Cada uma dessas posições de memória pode também ser acessada direta ou indiretamente por byte. Exemplo: mov 20h,0AAh mov R0,#20h mov @R0,0AAh Prof. Carlos E. Capovilla - CECS/UFABC 22

Área de dados (Scratch Pad) As posições de 30h a 7Fh da RAM interna, são disponíveis para leitura e escrita, através de endereçamento direto e indireto. Prof. Carlos E. Capovilla - CECS/UFABC 23

Geração e monitoria do clock Ck -> 3,5 à 40MHz Típico -> 12MHz O 8051 possui internamente um circuito oscilador simples (incompleto!), oferecendo duas possibilidades de clock distintas, sendo uma externa e outra interna. Para o uso de oscilador externo deve-se aterrar o pino 19 e injetar o sinal externo no pino 18 que, desta forma, não atuará no gerador interno. Para usarmos o clock gerado internamente devemos intercalar entre os pinos 18 e 19 um cristal com filtro cerâmico na freqüência desejada Prof. Carlos E. Capovilla - CECS/UFABC 24

Ciclo de Máquina / Busca / Execução Prof. Carlos E. Capovilla - CECS/UFABC 25

Ciclos de Máquina Prof. Carlos E. Capovilla - CECS/UFABC 26

Ciclos de Máquina Prof. Carlos E. Capovilla - CECS/UFABC 27

Busca e Execução Para buscar uma instrução na Memória, o microprocessador/microcontrolador gasta um determinado tempo chamado de Ciclo de Busca. Para executar a instrução buscada, o Microprocessador/microcontrolador gasta outro tempo determinado chamado de Ciclo de Execução. Prof. Carlos E. Capovilla - CECS/UFABC 28

Detalhando a Busca e Execução Ciclo de Busca: operação de leitura de uma instrução a partir da posição de memória cujo endereço é definido pelo conteúdo do PC. Nesse ciclo o conteúdo do PC é incrementado de uma, duas ou três unidades. Isso depende do tamanho da instrução; Ciclo de Execução: executa a instrução (operações de movimentação de informação, operações aritméticas e lógicas, etc.). T i M 2 M 3 Ciclo de busca M1 Ciclo de execução Ciclo de instrução Prof. Carlos E. Capovilla - CECS/UFABC 29

Referências: D. E. C. NICOLOSI, Microcontrolador 8051 Detalhado, Erica, 8a Ed., 2007. STEWART, James W; MIAO, Kai X. The 8051 microcontroller: hardware, software, and interfacing. 2 ed. Upper Saddle River, N.J: Prentice Hall, c1999. USP/SC - Material on line - Disponível em: http://iris.sel.eesc.usp.br UFG/GO Material on line - Disponível em: http://www.emc.ufg.br/~jwilson/teoria.html USP/Poli Material on line - Disponível em: http://sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf Prof. Carlos E. Capovilla - CECS/UFABC 30