Memória de dados interna

Documentos relacionados
Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

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

Aula 10 Microcontrolador Intel 8051 Parte 2

CONJUNTO DE INSTRUÇÕES

EEC2104 Microprocessadores

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

Microcontroladores. Conjunto de Instruções do Prof. Guilherme Peron Prof. Heitor Lopes Prof. Ronnier Rohrich Prof. Rubão

Microprocessadores. Organização de Memória

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

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

Conjunto de Instruções do 8051

Microcontroladores 8051

Prof. Adilson Gonzaga

Aula 8 Microcontrolador 8051

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

Aula 8 Microcontrolador 8051

O microcontrolador Quatro partes importantes

Prof. Adilson Gonzaga

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

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

Microcontrolador 8051

Aula 4. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura de um 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:

Acetatos de apoio às aulas teóricas

EXERCÍCIOS RESOLVIDOS

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

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

Interrupções por hardware

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

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

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

NOTAS DE AULA 06 MICROCONTROLADOR 8051

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

Microcontroladores (µcs) e microprocessadores (µps) A família 80C51. 80C51: Arquitectura do núcleo de base. Os µcs da família 80C51

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

MICROCONTROLADOR 8051

Os temporizadores / contadores (T/C) do 80C51

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Arquitectura de Computadores

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

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUÇÃO POSSÍVEL. Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!!

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

Laboratório de Microprocessadores e Microcontroladores

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga

Barramentos: interface e temporização

Laboratório de Microprocessadores e Microcontroladores

EEC2104 Microprocessadores

Símbolos e abreviaturas utilizadas na descrição das instruções

MICROCONTROLADOR 8051

COMPUTADOR 2. Professor Adão de Melo Neto

1. Instruções de Desvio

Exemplo de projecto. Esquema de ligações

Microcontrolador 8051:

Estrutura Básica de um Computador

Laboratório de Microprocessadores e Microcontroladores

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

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: Introdução a Arquitetura do Microcontrolador 8051

CAPÍTULO II FAMÍLIA MCS-51

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

Laboratório de Microprocessadores e Microcontroladores

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 3

Interrupção. Prof. Adilson Gonzaga

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

Organização Funcional

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

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

Conjunto de Instruções (ISA) I

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Organização de Memórias

Laboratório de Microprocessadores e Microcontroladores

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

Porta Série SÉRIE x PARALELO PORTA SÉRIE. Comunicação série SÉRIE PARALELA

Arquitectura de Computadores

Porta série no dscope...

Laboratório de Microprocessadores e Microcontroladores

CAPÍTULO 4 CONJUNTO DE INSTRUÇÕES

Dispositivos de I/O (teclado matricial, LCD, motores)

EEC2104 Microprocessadores

Introdução à Organização de Computadores. Aula 8

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

Arquitectura de Computadores

Estrutura e Funcionamento da CPU. Adriano Maranhão

Arquitetura de Um Processador I

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Prof. Adilson Gonzaga. Técnicas de Interface

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

MICROPROCESSADORES 2º TESTE - A

Escola Secundária de Emídio Navarro

SEL 337 Aplicação de Microprocessadores II

Escola Secundária de Emídio Navarro

Microprocessadores. Movimentação de Dados

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

Apêndice A Placa Experimental do 8051

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) Resposta Esperada

Transcrição:

Memória de dados interna A MD interna na família 51 proporciona 128 bytes ou 256 bytes de MD interna (conforme a versão do componente) Os endereços 0 a 7FH incluem os bancos de registos R0 a R7, posições endereçáveis ao bit (endereços 20H a 2FH) e posições para armazenamento genérico Os SFR (incluem diversos registos internos, como A, B, etc. e periféricos) situam-se nos endereços 80H a FFH e distinguem-se das posições de memória genérica no mesmo espaço através do modo de endereçamento EEC2104 Microprocessadores - FEUP / DEEC / JMF - 1 Distinção entre SFR e memória de uso genérico Os 128 bytes superiores de memória genérica (quando existem) estão acessíveis por endereçamento indirecto Os SFR, por sua vez, estão acessíveis através de endereçamento directo Todos os registos, excepto o PC e R0-R7, residem no espaço dos SFR EEC2104 Microprocessadores - FEUP / DEEC / JMF - 2

Memória de dados externa Quando a RAM interna não é suficiente, podemos acrescentar MD externa até um máximo de 64 KB (o barramento de endereços tem 16 bits) O acesso à MD externa tem lugar através das instruções MOVX A leitura é feita através de MOVX A, (activa /RD) A escrita é feita através de MOVX,A (activa /WR) EEC2104 Microprocessadores - FEUP / DEEC / JMF - 3 Organização da MD interna 80H-FFH (end. dir. / ind.) Directo: SFR portas paralelas e série, timers / counters, registos (A, B, SP, DPTR, etc.) Indirecto: memória genérica 0-7FH R0-R7 (0-7, 8-15, 16-23, 24-31) End. ao bit, ex. SETB 0 coloca em 1 o bit 0 do endereço 20H Posições de uso genérico 80H-FFH: Espaço partilhado uso genérico (@R0/1) e SFRs (end. dir.) 0 a 7FH: Espaço não partilhado (R0-R7, posições endereçáveis ao bit, uso genérico) EEC2104 Microprocessadores - FEUP / DEEC / JMF - 4

Memória endereçável ao bit Os endereços de bit 0 a 7FH correspondem aos 128 bits entre 20H e 2FH Os endereços de bit 80H a FFH permitem o acesso a bits seleccionados dos SFR (nem todos estes registos são acessíveis ao bit) EEC2104 Microprocessadores - FEUP / DEEC / JMF - 5 Estas posições são acessíveis das duas maneiras: ao byte (ex. MOV A,20H) ou ao bit (ex. CLR 20H) (Re)Inicialização do µc A entrada de reset da família 51 é activa ao nível lógico 1 Ao ligarmos V CC forçamos o estado de reset (a tensão aos terminais do condensador C não pode variar bruscamente) O díodo permite a descarga rápida de C R1 e R2 devem permitir a aplicação de uma tensão próxima de V CC quando se fecha SW R1 e C garantem um tempo de reset suficiente EEC2104 Microprocessadores - FEUP / DEEC / JMF - 6

Geração do sinal de relógio XTAL2 é a saída de um amplificador interno (XTAL1 é a entrada) Um cristal colocado entre XTAL1 e XTAL2 permite a geração interna do sinal de relógio Se XTAL1 for alimentado por um gerador de sinal de relógio externo, XTAL2 deve ser deixado no ar Os condensadores (dezenas de pf) melhoram a estabilidade e facilitam o arranque EEC2104 Microprocessadores - FEUP / DEEC / JMF - 7 Sumário das instruções O 8051 tem 111 instruções que se dividem por cinco grupos: Aritméticas (24), ex. ADD, ADDC, SUBB, INC, DEC, Lógicas (25), ex. ANL, ORL, XRL, CLR, CPL, RL, Transferência de dados (28), MOV, MOVX, MOVC, Booleanas (17), ex. CLR, SETB, JC, JNB, JBC, Salto (17), ex. ACALL, LCALL, RET, RETI, EEC2104 Microprocessadores - FEUP / DEEC / JMF - 8

Modos de endereçamento São os seguintes os modos de endereçamento suportados pela família 51: Directo (é dado o endereço) Ao registo (o opcode codifica qual o registo a usar) Indirecto (usa-se outro registo como apontador) Imediato (para passar uma constante) Específico (instruções específicas de alguns registos) Indexado (um registo como apontador a indicar o endereço de base e outro registo como índice) EEC2104 Microprocessadores - FEUP / DEEC / JMF - 9 Endereçamento directo Apesar de existirem apenas 111 instruções, o número de códigos de instrução é muito superior (MOV A,50H é diferente de MOV A,#50H) No endereçamento directo o endereço do operando é indicado explicitamente (MOV A,50H) O assembler da KEIL substitui o nome dos registos pelo seu endereço, o que possibilita a escrita de instruções como MOV B,#50 MOV A,50H e MOV ACC,50H serão diferentes? EEC2104 Microprocessadores - FEUP / DEEC / JMF - 10

Endereçamento ao registo Existem códigos de instrução que usam três bits para indicar qual o registo envolvido: MOV R0,#50 tem por opcode Recorde-se que há quatro bancos de registos na memória de dados interna (0-7, 8-15, ) A definição do banco a usar é feita através de dois bits no PSW (program status word) A instrução MOV R0,#50 escreve o decimal 50 (32H) em que posição de memória? EEC2104 Microprocessadores - FEUP / DEEC / JMF - 11 Endereçamento indirecto O endereçamento indirecto usa um registo como apontador para o operando, ex. MOV A,@R1 O e-book recomendado refere quatro tipos de endereçamento indirecto: Via R0 e R1 (só estes, R2 a R7 não) Via DPTR (Data Pointer) DPTR + ACC ou PC + ACC (base, index) A instrução XCHD A,@R i Este é na verdade o modo indexado EEC2104 Microprocessadores - FEUP / DEEC / JMF - 12 (descrito adiante)

Endereçamento imediato Este modo de endereçamento é usado quando queremos transferir uma constante (MOV 50,#50) Uma única instrução pode (e frequentemente assim acontece) usar mais do que um modo de endereçamento No caso de MOV 50,#50 quais são os modos usados? Existirão também MOV #50H,50 e MOV 50H,#50H? E o caso de MOV A,#R0? EEC2104 Microprocessadores - FEUP / DEEC / JMF - 13 Endereçamento específico Há instruções que são específicas de alguns registos (CPL A) O e-book recomendado usa a expressão zeroaddress instructions (no sentido em que não contêm um endereço explícito) ou ainda implied addressing Este e-book também usa as expressões oneaddress instruction and two-address instruction EEC2104 Microprocessadores - FEUP / DEEC / JMF - 14

Endereçamento indexado Neste modo de endereçamento usa-se um registo para indicar o endereço de base e o acumulador para indicar um offset (distância em relação ao endereço de base), ex. MOVC A,@A+DPTR Este modo de endereçamento é útil para aceder a tabelas (o registo que contém o endereço de base aponta para o início da tabela) EEC2104 Microprocessadores - FEUP / DEEC / JMF - 15 Ciclo de desenvolvimento de código Escrever o código em assembly (mnemómicas) e guardar como um ficheiro de texto Realizar a análise sintáctica e compilar para código objecto (µvision da KEIL) Correr o código no sistema-alvo final (produzir e instalar o firmware final) Validar o código desenvolvido por simulação e depois execução (dscope da KEIL) EEC2104 Microprocessadores - FEUP / DEEC / JMF - 16

Desenvolvimento de software Ferramentas principais ICE: In-circuit emulators ( emuladores em-circuito, que servem para realizar a integração de hardwaresoftware) substituem o micro no sistema-alvo e permitem a execução controlada do programa ROM emulators Usam uma RAM para substituir a ROM que conterá o código-objecto final Pequenos dispositivos (ex. LED, buzzer, etc.) que servem para observar os efeitos da execução do programa EEC2104 Microprocessadores - FEUP / DEEC / JMF - 17 Desenvolvimento de hardware Existem ferramentas activas e passivas: As passivas permitem apenas observar o funcionamento do sistema (ex. osciloscópio, voltímetro, analisador lógico, etc.) As activas podem assumir um carácter intrusivo e permitem ao projectista controlar o funcionamento do sistema (o host contêm as ferramentas de desenvolvimento e o target corresponde ao hardware onde correrá o código desenvolvido o sistema-alvo ) Os ICE são também um exemplo deste segundo tipo EEC2104 Microprocessadores - FEUP / DEEC / JMF - 18