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

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

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

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

Prof. Adilson Gonzaga

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

Estrutura Básica de um Computador

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

CONJUNTO DE INSTRUÇÕES

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Microcontroladores 8051

O microcontrolador Quatro partes importantes

Aula 10 Microcontrolador Intel 8051 Parte 2

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

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

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

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

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

Aula 8 Microcontrolador 8051

Aula 8 Microcontrolador 8051

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

Conjunto de Instruções do 8051

Aula 10 Microcontrolador Intel 8051 Parte 1

1. Instruções de Desvio

Memória de dados interna

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

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!!!!

Prof. Adilson Gonzaga

Laboratório de Microprocessadores e Microcontroladores

MICROCONTROLADOR 8051

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

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

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

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

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

Prof. Adilson Gonzaga. Técnicas de Interface

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

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

Interrupção. Prof. Adilson Gonzaga

Laboratório de Microprocessadores e Microcontroladores

Conjunto de Instruções e Modelos de Arquiteturas

EXERCÍCIOS RESOLVIDOS

Prof. Adilson Gonzaga

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

Prof. Adilson Gonzaga

Microprocessadores. Organização de Memória

Acetatos de apoio às aulas teóricas

Laboratório de Microprocessadores e Microcontroladores

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

SISTEMAS MICROCONTROLADOS

Organização de Memórias

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

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

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

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Microcontrolador 8051

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

mov R1,10H ; Carrega o dado do endereço 10H em R1 mov R1,#10H ; Carrega 10H em R1

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

NOTAS DE AULA 06 MICROCONTROLADOR 8051

Laboratório de Microprocessadores e Microcontroladores

EEC2104 Microprocessadores

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

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

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

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

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

Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás. Experimento 7: Sensores e Transdutores

PRÁTICAS. Microcontroladores: (LT36D) Prof: DaLuz. Práticas - 2º sem Microcontroladores LT36D - 26/04/ :56 1/16

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

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

MICROCONTROLADOR 8051

Unidade de Controle. UC - Introdução

CAPÍTULO II FAMÍLIA MCS-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

Apêndice A Placa Experimental do 8051

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Laboratório de Microprocessadores e Microcontroladores

Organização e Arquitetura de Computadores INTRODUÇÃO

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA

Conjunto de Instruções e Modelos de Arquiteturas

FACULDADE LEÃO SAMPAIO

Solução Lista de Exercícios Processadores

Organização Básica III

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Prof. Leonardo Augusto Casillo

EEC2104 Microprocessadores

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

EXERCÍCIOS 2 Prof. Adilson Gonzaga

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

Instruções Assembly x Código de máquina Microprocessador Didático

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Conjunto de Instruções (ISA) I

SEL 337 Aplicação de Microprocessadores II

Transcrição:

SEL-614 MICROPROCESSADORES E APLICAÇÕES Prof: Adilson Gonzaga

HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador 4004 (3.000 transistores )

HISTÓRICO Microprocessador O microprocessador é um dispositivo lógico programável em um único chip de silício, concebido sob a tecnologia VLSI (circuito integrado em alta escala). Age sob o controle de um programa armazenado em memória, executando operações aritméticas, lógica booleana, tomadas de decisão, além de entrada e saída de dados, permitindo a comunicação com outros dispositivos periféricos.

Microprocessador: parte principal de um microcomputador executa instruções Unidades básicas de um Microprocessador: Unidade Lógica Aritmética (ULA) - responsável pela realização das operações lógicas e aritméticas. Unidade de Controle (UC) - responsável pela decodificação e execução das instruções, fornecendo os sinais de temporização adequados para as diversas partes do processador e do próprio computador. Registradores - armazenamento da Informação Binária (dados, endereços e instruções).

ARQUITETURA DE MICROCOMPUTADORES Unidade Central de Processamento (CPU- Microprocessador) Unidade lógica e Aritmética (ULA) Registradores Unidade de Memória Memória de armazenamento de programa (não volátil) Unidade de Entrada e Saída (IO) Saída de Informações Unidade de Controle (UC) Memória de armazenamento de dados (volátil) Entrada de Informação

MICROPROCESSADORES E MICROCONTROLADORES Microcomputador: computador digital com velocidade e recursos limitados, e tipicamente é constituído por: unidade central de processamento CPU; memória; circuitos de entrada e saída. Suas aplicações são também limitadas quando comparadas às de um computador de maior porte.

MICROPROCESSADORES E MICROCONTROLADORES Microprocessador: geralmente implementado em um único componente. unidade central de processamento CPU; Máquina seqüencial de uso geral, cujo comportamento no tempo é determinado por um programa externo colocado em memória. Associado a CI s periféricos, ele pode gerar: microcomputadores e controles lógicos de uso específicos microcomputadores de uso geral

MICROPROCESSADORES E MICROCONTROLADORES Microcontroladores: possuem em um único componente: a unidade central de processamento memória (ROM e RAM); 1976-1 o microcontrolador Intel 8048 1980 Intel 8051 periféricos dedicados (serial, paralela, timer, etc...). Os microcontroladores apresentam: menor desempenho que os microprocessadores, custo muito baixo (alguns dólares tipicamente), destinados a aplicações onde as dimensões, custo, tamanho e consumo do produto são muito importantes.

O 8051 é membro da família MCS-51, e constitui o núcleo de todos os dispositivos MCS-51 É um sistema de um chip único, que além do microprocessador de 8 bits pode conter:. Memória de Programa e Memória de Dados. Portas de I/O. Comunicação Serial. Contadores/ Timers. Lógica para Controle de Interrupção. etc

Configuração dos pinos do 8051 XTAL1 XTAL2 EA VSS VCC RST P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 PSEN P1.7 P1.6 ALE P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P O R T 0 P O R T 1 ENDEREÇOS (LOW) E DADOS FUNÇÕES SECUNDÁRIAS RxD TxD INT0 INT1 T0 T1 WR RD P O R T 3 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P O R T 2 ENDEREÇOS (HIGH)

Diagrama em Blocos do 8051

Organização da memória da família MCS-51 Memórias de dados e de programas separadas. MEMÓRIA DE PROGRAMA FFFFH (Read only) MEMÓRIA DE DADOS (Read/Write) FFFFH EXTERNA EXTERNA EA=0 EA=1 FFH INTERNA SFR EXTERNA INTERNA RAM 0000 00 0000 PSEN RD WR

Memória de Programa Mapeamento de memória de programa externa Mapeamento completo ( 64 Kb externo )

Memória de Dados Interna (RAM Interna) FFH FFH O endereçamento é feito com 8 bits Chips com 128 bytes de RAM não possuem a área I (Apenas Endereçamento Indireto) 128b ALTO 80H 7FH APENAS ENDEREÇAMENTO INDIRETO I APENAS ENDEREÇAMENTO DIRETO (SFR) D 80H 128b ENDEREÇAMENTO DIRETO E BAIXO 00H INDIRETO A Á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,...)).

Exemplos: Memória de Dados Interna (RAM Interna) FFH FFH a. Escrever 0AAh no endereço 80h da RAM Interna (área D) MOV 80h,#0AAh 128b ALTO 128b BAIXO 8H: 7FH 00H APENAS ENDEREÇAMENTO INDIRETO ENDEREÇAMENTO DIRETO E INDIRETO I A APENAS ENDEREÇAMENTO DIRETO (SFR) D 80H b. Escrever 0AAh no endereço 80h da RAM (área I de um microcontrolador com 256 bytes de RAM interna) MOV R0,#80h MOV @R0,#0AAh

Memória de Dados Externa Acesso através de endereço de 16 bits espaço de endereço de 64K bytes espaço todo é indiretamente endereçável pelo ponteiro de dados DPTR. Instruções : MOVX A,@DPTR MOVX @DPTR,A

Acesso através de endereço de 16 bits Memória de Dados Externa Exemplo : a. Armazenar 3Fh na posição 34CBh da memória externa : MOV DPTR,#34CBh MOV A,#3Fh MOVX @DPTR,a b. Ler o conteúdo da posição 13F4h da memória externa : MOV DPTR,#13F4h MOVX A,@DPTR

Programação de Microprocessadores Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários armazenados em memória.

As ordens ou comandos compreendidos por um determinado Microprocessador, são INSTRUÇÕES seqüencialmente armazenadas na Memória. Ao conjunto de Instruções compreendidos por um determinado Microprocessador dá-se o nome de INSTRUCTION SET. Cada Microprocessador tem seu próprio Instruction Set que é em geral, diferente do Instruction Set de outro Microprocessador de fabricantes diferentes.

Uma seqüência de Instruções do Instruction Set, armazenadas na memória e que realiza alguma operação, recebe o nome de PROGRAMA. Cada Instrução do Microprocessador é um código binário formada em geral por um ou mais Bytes. A cada código binário equivalente a uma Instrução está associado um Mnemônico para facilitar a compreensão da função que a Instrução executa. Ao conjunto de Instruções e seus Mnemônicos equivalentes dá-se o nome de LINGUAGEM ASSEMBLY.

Fluxograma Para a documentação lógica de um Programa em Assembly utiliza-se um Fluxograma ou Diagrama de Blocos. Cada bloco do Fluxograma equivale a um sub-conjunto do Instruction Set do Microprocessador. O Fluxograma é uma forma de se implementar logicamente um programa, antes que o mesmo seja codificado na Linguagem Assembly do Microprocessador.

Linhas de Fluxo do Programa Bloco de Processo Execute Fluxograma Mostram a seqüência de execução das Instruções. Cada Bloco do Fluxograma possui apenas uma linha de Fluxo de Entrada e uma ou duas de saída Equivalem às Instruções que realizam alguma operação do tipo: - Movimento de Dados - Operação Aritmética - Operação Lógica

Fluxograma Bloco de Decisão X = 0? V F Equivale às Instruções que decidem sobre o Fluxo do Programa. Se a função dentro do bloco for Verdadeira(V) o programa continua abaixo, se for Falsa(F) o programa muda o fluxo.

Fluxograma Processo Pré-definido Equivale às Instruções que mandam executar uma Sub-rotina armazenada em outro lugar da Memória. Observe que quando a sub-rotina termina, o fluxo do programa continua normalmente.

Fluxograma Bloco de Início de Programa Bloco de Fim de Programa Início FIM O Bloco de Início de Programa não equivale a uma Instrução específica do Instruction SET. O Bloco de FIM equivale a uma instrução que termina o Programa. É chamado de FIM LÓGICO do Programa.

Exemplo de Fluxograma de um Programa de Microprocessador Início Ler o dado da Memória O programa ao lado deve Ler um Dado da memória, verificar se é igual a zero. Se não for zero, continua em LOOP. Se for zero para o programa. Dado = 0? F Parar V

Codificação Assembly Para Codificar um Programa escrito através de um Fluxograma, deve-se escolher o Microprocessador, ou seja, conhecer seu Conjunto de Instruções. Os Microcontroladores da família MCS-51 serão os dispositivos a serem aplicados nesta disciplina.

Codificação Assembly do 8051 Instruções equivalentes ao Bloco de Processo Instruções Aritméticas SUBB A, direct ADD A, Rn Execute INC A DEC A DA A

Codificação Assembly do 8051 Instruções equivalentes ao Bloco de Processo Instruções Lógicas ANL A, Rn ORL A, direct Execute XRL A, #data CLR A CPL A RL A SWAP A

Codificação Assembly do 8051 Instruções equivalentes ao Bloco de Processo Instruções de Transferência de Dados MOV A, Rn MOVC A, @A+DPTR Execute MOVX A,@DPTR PUSH direct POP direct XCH A, Rn

Codificação Assembly do 8051 Instruções equivalentes ao Bloco de Decisão Instruções de Desvio JZ rel JNZ rel X = 0? F CJNE JC A, direct, rel rel JNC rel V JB bit, rel JNB bit, rel DJNZ Rn, rel

Codificação Assembly do 8051 Instruções equivalentes ao Bloco de Processo Prédefinido Instruções de Sub-Rotina LCALL addr16 ACALL addr11 RET RETI

Codificação Assembly do 8051 Instruções equivalentes a Mudança de Fluxo Instruções de Saltos LJMP addr16 AJMP addr11 SJMP rel JMP @A+DPTR

Modos de Endereçamento do 8051 1. Endereçamento Imediato Opera sobre o dado localizado na própria instrução Identificado através do sinal # Exemplo: ADD A,#30h O dado 30h é somado ao Registrador A

Modos de Endereçamento do 8051 1. Endereçamento Imediato ADD A,#30h Registrador A 00 ADD A,#30h 00 + 30h Registrador A 30h

Modos de Endereçamento do 8051 ADD A,#30h Memória Registrador A Programa Operação 00 00 + 30 30 20 ADD A,#30h Endereço (hexa) Conteúdo (hexa) Registrador A 30

Modos de Endereçamento do 8051 2. Endereçamento Direto Opera sobre o dado cujo endereço está na instrução Exemplo: ADD A,30h O dado armazenado no endereço 30h é somado ao Registrador A

Modos de Endereçamento do 8051 2. Endereçamento Direto ADD A,30h Registrador A 00 Conteúdo do Endereço 30h 20 ADD A,30h 00 + 20 Registrador A 20

Modos de Endereçamento do ADD A,30h 8051 Memória Registrador A Programa Operação 00 00 + 20 30 20 ADD A,30h Endereço (hexa) Conteúdo (hexa) Registrador A 20

Modos de Endereçamento do 8051 3. Endereçamento Indireto Opera sobre o dado cujo endereço está armazenado em um Registrador apontado na instrução Identificado através do sinal @ Exemplo: ADD A,@R0 O dado armazenado no endereço apontado pelo Registrador R0 é somado ao Registrador A

Modos de Endereçamento do 8051 3. Endereçamento Indireto ADD A,@R0 Registrador A 00 Registrador R0 Conteúdo do Endereço 30h 20 30h ADD A,@R0 00 + 20 Registrador A 20

Modos de Endereçamento do ADD A,@R0 8051 Memória Registrador A Programa Operação 00 00 + 20 30 20 Registrador R0 30h ADD A,@R0 Endereço (hexa) Conteúdo (hexa) Registrador A 20

Exemplo de um Programa Assembly do 8051 Início Ler o dado da Memória LOOP: ORG 0 MOV A,30H Dado = 0? F CJNE A,#00,LOOP Parar V AQUI: SJMP AQUI

Exemplo de um Programa Assembly do 8051 Mnemônicos (Programa Assembly) LOOP: AQUI: ORG 0 MOV A,30H CJNE A,#00,LOOP SJMP AQUI COMPILADOR Código Compilado (Opcode)

Exemplo de um Programa Memória de Programa Assembly do 8051 00 E5 01 30 02 B4 03 00 04 FB 05 80 06 FE Endereço Conteúdo