Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória



Documentos relacionados
MICROPROCESSADORES E MICROCONTROLADORES Parte 3 Microcontrolador 8051

Microprocessadores e Microcontroladores

Copyright 2011 VW Soluções

Prof. Adilson Gonzaga

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

DISPLAY LCD. Ilton L. Barbacena Claudio Afonso Fleury

Programação em BASIC para o PIC Projetos com Display Gráfico Vitor Amadeu Souza

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga

PROJETOS COM MICROCONTROLADORES

Laboratório de Microprocessadores e Microcontroladores

Tutorial de Auxílio. figura 1.0 programa de gravação

Ocircuito da Fig.1 é usado para o acionamento dos Leds do Cubo.

Laboratório de Microprocessadores e Microcontroladores

Microprocessadores II - ELE 0327 CAPÍTULO 2 ESTUDO DA CPU 8086/88

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Laboratório de Microprocessadores e Microcontroladores

Copyright 2013 VW Soluções

MEMÓRIAS. Sistemas Digitais II Prof. Marcelo Wendling Set/10

Arquitetura de Computadores. Tipos de Instruções

CAPÍTULO 7 DECODIFICADORES

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.

Dispositivos de Entrada e Saída

Prof. Adilson Gonzaga. Interface com Displays

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo.

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

Hera Indústria de Equipamentos Eletrônicos LTDA Manual de Instalação e Operação DISCADORA VIA CELULAR. HERA HR Cel.

PIC18F4550. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos alexvbh@gmail.com

1 Utilizando o Protoboard

LABORATÓRIO DE ELETRÔNICA DIGITAL Experiência 9: Análise de Circuitos com Contadores

Figura 01 Visão Geral da Placa

3. Arquitetura Básica do Computador

Hera Indústria de Equipamentos Eletrônicos LTDA. Manual de Instalação e Operação. Discadora por Celular HERA HR2048.

LCD (LiquidCrystal Display) Alex Vidigal Bastos

Manual do instalador Box Input Rev Figura 01 Apresentação do Box Input.

TUTORIAL DE PROGRAMAÇÃO. Configuração do cartão de entrada / saída analógica CP1W-MAD11.

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA

Cerne Tecnologia e Treinamento

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

ARQUITETURA DE COMPUTADORES

Comunicação Serial com o AVR ATMEGA8

Estrutura de um Computador

Microcontroladores Família MCS51

ULA Sinais de Controle enviados pela UC

Aula 2. - Elaboração de algoritmos/fluxogramas. - Gravação do programa no microcontrolador

Organização Básica do Computador

Controladores Lógicos Programáveis CLP (parte-3)

BARRAMENTO DO SISTEMA

Laboratório de Microprocessadores e Microcontroladores

CIRCUITOS COMBINACIONAIS Codificadores e decodificadores

Introdução a Informática. Prof.: Roberto Franciscatto

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento)

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Placa Acessório Modem Impacta

21/07/2010 LED ELETRÔNICA DIGITAL. LED Tipos. LED Princípio de funcionamento. Display de 7 segmentos. LED Circuito de polarização

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) /

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Componentes do Computador e. aula 3. Profa. Débora Matos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

5 Entrada e Saída de Dados:

Microprocessadores e Microcontroladores Prof. Edilson R. R. Kato Simulação do computador SAP-1

* Acesso à programação protegido por senha; * Alimentação: 90 a 240Vca (Fonte chaveada).

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]

EA079 - Laboratório de Micro e Minicomputadores: Hardware Laboratório II

MANUAL DE INSTRUÇÕES INDICADOR DIGITAL IDP204

Manual completo Programador PRG-8051-USB

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória

Binária. Introdução à Informática. Introdução à Informática. Introdução à Informática. Introdução à Informática. Bit. Introdução à Informática

Memória Cache. Prof. Leonardo Barreto Campos 1

TS Display Gráfico Serial

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

Manual Técnico Interface Modbus

CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA

LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES

Programação de Robótica: Modo Circuitos Programados - Avançado -

Lógica de Seleção e Mapeamento de Memória

AEDB CURSO DE SISTEMAS DE INFORMAÇÃO APOSTILA DE ORGANIZAÇÃO DE COMPUTADORES PROF. ADÃO DE MELO NETO

Motores I Automação I Energia I Transmissão & Distribuição I Tintas. Unidade Remota CANopen RUW-01. Guia de Instalação, Configuração e Operação

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Unidade Remota CANopen RUW-04. Guia de Instalação, Configuração e Operação. Idioma: Português. Documento: / 00

Gerência de Entrada/Saída

Escola Secundária de Emídio Navarro

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

PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014

Aula 10 Microcontrolador Intel 8051 Parte 2

TS Display Gráfico Serial

Introdução aos Computadores

Memórias. Considerações iniciais Tipos de memórias RAMs Estrutura das RAMs Expansão das RAMs 12/3/10. Mário Serafim Nunes Guilherme Silva Arroz

YEALINK SIP-T22P. Função de Teclas SÍNTESE DE FUNCIONALIDADES VOIP. Permitir aos usuários o acesso ao Voice Mail;

Hera Indústria de Equipamentos Eletrônicos LTDA. Manual de Instalação e Operação. Discadora por Celular HERA HR2038.

Sistemas Operacionais. Prof. André Y. Kusumoto

LISTA DE EXERCÍCIOS #4 (BASEADO NO ENADE COMPUTAÇÃO)

Manual de Operação e Instalação. Microterminal TCP/IP MT740. versão 1.0

Transcrição:

Microprocessadores e Microcontroladores Parte 3 Expansão de Memória José Wilson Lima Nerys www.eee.ufg.br/ jwilson 2013

Um microcontrolador padrão da família 8051 possui normalmente uma memória de programa (memória Flash) de 8 Kbytes e uma memória de dados (memória RAM) de 256 bytes. No entanto, não possui memória EEPROM (dados não são perdidos com desligamento) para armazenamento de dados. Há exceções, por exemplo, o modelo AT89S8252, que possui memória EEPROM interna de 2 Kbytes. Assim, quando há necessidade de armazenamento de dados, por exemplo, dados de temperatura e umidade de uma estufa ao longo da semana, pode ser necessário usar uma memória EEPROM externa. Essa memória é acessada através das portas P2 e P0, onde a porta P0 transporta os dados e a parte baixa do endereço e a porta P2 transporta a parte alta do endereço.

Exemplo de expansão: Memória EEPROM de 8 Kbytes ocupando os endereços de 0000H a 1FFFH. ALE Pino 30 WR\ P3.6 (16) RD\ P3.7 (17) AT89S52 P0.0 D0/A0 P0.1 D1/A1 P0.2 D2/A2 P0.3 D3/A3 P0.4 D4/A4 P0.5 D5/A5 P0.6 D6/A6 P0.7 D7/A7 P2.0 A8 A9 P2.1 A10 P2.2 A11 P2.3 A12 P2.4 P2.5 P2.6 P2.7 74LS573 LE A0 A1 A2 A3 A4 A5 A6 A7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 AT28C64 CE\ D0 D1 D2 D3 D4 D5 D6 D7 WE\

A memória AT28C64 possui 8192 posições de memória. Os endereços internos da memória vão de 0000H a 1FFFH. Memória EEPROM AT28C64 = 8K x 8 bits 13 linhas de endereço: A 0... A 12 2 13 = 8192 (2000H) = 8 Kbytes 8 linhas de dados: I/O 0... I/O 7 WE\ Write Enable Output Enable CE\ Chip Enable (Habilita Escrita) (Habilita Saída) (Habilita Pastilha)

A interface entre o microcontrolador e a memória é o Latch. Ele é necessário porque a porta P0, em um primeiro momento, transporta a parte baixa do endereço, que deve ser enviado aos pinos A0 a A7 da memória; em um segundo momento transporta os dados, que devem ser enviados ao pinos I /O 0 a I /O 7 da memória. Latch 74LS573

Embora o endereço interno da memória seja de 0000H a 1FFFH, o endereço inicial de acesso pode ser escolhido com portas lógicas, usando as linhas de endereço disponíveis (no caso, e ). A porta lógica escolhida define em que região (do intervalo de 64 Kbytes disponíveis) a pastilha de memória estará ativa. A saída da porta lógica é conectada ao pino (output enable) do latch 74LS573 e ao pino CE\ (chip enable) da EEPROM. End. Inicial: 0000H End. Final: 1FFFH End. Inicial: 8000H End. Final: 9FFFH End. Inicial: 2000H End. Final: 3FFFH End. Inicial: A000H End. Final: BFFFH End. Inicial: 4000H End. Final: 5FFFH End. Inicial: C000H End. Final: DFFFH End. Inicial: 6000H End. Final: 7FFFH End. Inicial: E000H End. Final: FFFFH

A tabela a seguir mostra o endereço completo em binário e hexadecimal para as 8 regiões definidas com as portas NAND. As linhas A0 a A12 são usadas no endereçamento interno da memória e as 3 linhas restantes, a são usadas para habilitar o Latch e a EEPROM nas regiões desejadas de memória. A12 A11 A10 A9 A8 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 A7 A6 A5 A4 A3 A2 A1 A0 End Região 0 0 0 0 0 0 0 0 0000 H 0 1 1 1 1 1 1 1 1 1FFF H 0 0 0 0 0 0 0 0 2000 H 1 1 1 1 1 1 1 1 1 3FFF H 0 0 0 0 0 0 0 0 4000 H 2 1 1 1 1 1 1 1 1 5FFF H 0 0 0 0 0 0 0 0 6000 H 3 1 1 1 1 1 1 1 1 7FFF H 0 0 0 0 0 0 0 0 8000 H 4 1 1 1 1 1 1 1 1 9FFF H 0 0 0 0 0 0 0 0 A000 H 5 1 1 1 1 1 1 1 1 BFFF H 0 0 0 0 0 0 0 0 C000 H 6 1 1 1 1 1 1 1 1 DFFF H 0 0 0 0 0 0 0 0 E000 H 7 1 1 1 1 1 1 1 1 FFFF H

É interessante ressaltar que o uso de portas NAND (ou de decodificadores) é fundamental quando se deseja usar duas ou mais pastilhas de memória ou quando se deseja usar pastilhas de memória e outros periféricos (como será visto na seção de mapeamento de memória). No entanto, desejando-se usar apenas uma pastilha de memória, a porta NAND é dispensável. Os pinos e CE\ podem ser conectados diretamente ao Terra. Nesse caso a EEPROM ficará todo o tempo habilitada e o Latch, além de ficar o tempo todo habilitado, apresenta sombras de memória.

Sombras de memória significa, por exemplo, que os endereços 1000H (0001 0000 0000 0000) e 3000H (0011 0000 0000 0000) acessam a mesma região de memória, uma vez que os pinos, e estão flutuando e, portanto, são irrelevantes no endereçamento. Como já enfatisado, as portas NAND podem ser usadas para o endereçamento de mais pastilhas de memória. Assim, se houver necessidade de espaço de memória superior a 8 Kbytes, pode-se usar uma pastilha com uma capacidade maior que 8 Kbytes ou duas pastilhas de 8 Kbytes.

Duas pastilhas de memória EEPROM de 8 Kbytes cada uma. Endereços da Pastilha 1: 0000H a 1FFFH (Região 0) Endereços da Pastilha 2: 2000H a 3FFFH (Região 1) ALE Pino 30 WR\ P3.6 (16) RD\ P3.7 (17) AT89S52 P0.0 D0/A0 P0.1 D1/A1 P0.2 D2/A2 P0.3 D3/A3 P0.4 D4/A4 P0.5 D5/A5 P0.6 D6/A6 P0.7 D7/A7 P2.0 A8 A9 P2.1 A10 P2.2 A11 P2.3 A12 P2.4 P2.5 P2.6 P2.7 LE A0 A1 A2 A3 A4 A5 A6 A7 LE A8 74LS573 74LS573 A9 A10 A11 A12 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 AT28C64 0000H a 1FFFH CE\ D0 D1 D2 D3 D4 D5 D6 D7 WE\ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 LE A0 A1 A2 A3 A4 A5 A6 A7 LE A8 74LS573 74LS573 A9 A10 A11 A12 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 AT28C64 2000H a 3FFFH CE\ D0 D1 D2 D3 D4 D5 D6 D7 WE\

O acesso à memória EEPROM externa é feito através do comando MOVX. Por exemplo, desejando-se armazenar no endereço 1500H da memória externa o valor 35H, presente no acumulador, deve-se usar as instruções: MOV DPTR,#1500H carrega o valor 1500H em DPTR. MOV A,#35H carrega valor 35H no acumulador MOVX @DPTR,A transfere o conteúdo de A para o endereço 1500H da memória externa. O procedimento para copiar um conteúdo da memória externa para o acumulador é semelhante: MOV DPTR,#3000H carrega o valor 3000H em DPTR. MOVX A,@DPTR transfere para o acumulador o conteúdo do endereço 3000H da memória externa.

Exemplo: um texto é transferido da memória interna para a memória EEPROM externa, a partir do endereço 0000H. Rótulo Mnemônico Rótulo Mnemônico $mod51 cjne a,#0ffh,envia org 00h pop dpl ljmp inicio pop dph org 30h sjmp v1 inicio: mov sp,#2fh envia: pop dpl mov dptr,#0000h pop dph v1: mov r7,#00h movx @dptr,a v2: push dph inc dptr push dpl inc r7 mov dptr,#msg msg: sjmp v2 mov a,r7 db Microcontrolador,0ffh movc a,@a+dptr end

MAPEAMENTO DE MEMÓRIA

Na seção de Expansão de Memória as Portas P0 e P2 são usadas para aumentar a capacidade de memória do sistema construído. Para isso foi usada uma porta NAND. As outras portas NAND mostradas podem ser usadas tanto para acessar outras pastilhas de memória quanto para acessar outros periféricos. Pode-se, por exemplo, desejar acessar, além da memória, um display LCD, um conjunto de 8 LEDs, um motor de passo e um teclado. Nesse caso, cada um desses componentes pode ser alocado em qualquer uma das regiões definidas pelas portas NAND.

A divisão da região total de memória (64 K) pode ser distribuída, então, como mostrado na tabela a seguir. Região Endereço Dispositivo 0 0000H - 1FFFH Memória EEPROM 1 1 2000H - 3FFFH Memória EEPROM 2 2 4000H - 5FFFH Display LCD 3 6000H - 7FFFH Conjunto de 8 LEDs 4 8000H - 9FFFH Motor de Passo 5 A000H - BFFFH Reservado 6 C000H - DFFFH Reservado 7 E000H - FFFFH Teclado

Os dispositivos podem ser, então, habilitados através das seguintes portas NAND: End. Inicial: 0000H End. Final: 1FFFH Memória EEPROM 1 End. Inicial: 2000H End. Final: 3FFFH Memória EEPROM 2 End. Inicial: 4000H End. Final: 5FFFH Display LCD End. Inicial: 6000H End. Final: 7FFFH Conjunto de 8 LEDs End. Inicial: 8000H End. Final: 9FFFH Motor de Passo End. Inicial: E000H End. Final: FFFFH Teclado

Na verdade, o uso de portas NAND não seria o mais adequado quando se tem vários dispositivos para serem acessados. Nesse caso, o mais adequado é o uso de um decodificador. Por exemplo, o 74LS138, mostrado a seguir.

Tabela-Verdade e Diagrama Lógico do decodificador 74LS138

Portanto, usando o decodificador 74LS138 para o endereçamento dos dispositivos escolhidos, as conexões ficam como mostrado a seguir. Os sinais de controle RD\ e WR\ são usados para habilitação através do pino E3. Quando os dois sinais estão em nível lógico alto (operação interna do microcontrolador) nenhum periférico é habilitado. Quando um dos dois sinais está ativo (nível baixo) o decodificador é habilitado. RD\ WR\ A2 A1 A0 E3 E2\ E1\ 74LS138 O0\ O1\ O2\ O3\ O4\ O5\ O6\ O7\ Memória 1 Memória 2 LCD LEDs Motor de Passo Teclado

DISPLAY LCD

Comandos mais comuns para o Display LCD DESCRIÇÃO MODO RS R/W Código (Hexa) Display Liga (sem cursor) 0 0 0C Desliga 0 0 0A/08 Limpa Display com Home cursor 0 0 01 Controle docursor Liga 0 0 0E Desliga 0 0 0C Deslocapara Esquerda 0 0 10 Deslocapara Direita 0 0 14 Cursor Home 0 0 02 Cursor Piscante 0 0 0D Cursorcom Alternância 0 0 0F Sentido de deslocamento do cursor aoentrarcom caractere Deslocamento da mensagem ao entrarcom caractere Deslocamento da mensagem sem entrada decaractere Para a esquerda 0 0 04 Para a direita 0 0 06 Para a esquerda 0 0 07 Para a direita 0 0 05 Para a esquerda 0 0 18 Para a direita 0 0 1C Endereço daprimeira posição Primeira linha 0 0 80 Segunda linha 0 0 C0

Pinagem do Display LCD Pino Função Descrição 1 Vss (Alimentação) Terra ou GND 2 VDD (Alimentação) Vcc ou +5V 3 VEE Tensão para ajuste de contraste 4 RS 1 - Dado; 0 - Instrução 5 RW 1 - Leitura; 0 - Escrita 6 E (Chip Enable) 1 - Habilita; 0 - Desabilita 7 a 14 D0 a D7 Bits de Dados/Instruções 15 A (qdo existir) Anodo LED backlight 16 K (qdo existir) Catodo LED backlight 1 2 3 4 5 6 9 10 11 12 13 14 7 8 VSS VDD VEE RS RW E D0 D1 D2 D3 D4 D5 D6 D7

Endereços para escrita/leitura com o LCD alocado na região 2 (endereços de 4000H a 5FFFH): A12...... A3 A2 A1 A0 0 1 0 0...... 0 0 RW RS Com os pinos RW e RS conectados, respectivamente, aos pinos A1 e A0, os endereços de comando são: Endereço A1 (RW) A0 (RS) Descrição 4000H 0 0 Escrita de Instrução no LCD 4001H 0 1 Escrita de Dados no LCD 4002H 1 0 Leitura de Instrução do LCD 4003H 1 1 Leitura de Dados do LCD

No uso do Display LCD são necessários alguns procedimentos: 1. Inicialização escolhe-se o tipo de LCD, p.e., 2 linhas x 16 colunas ou 4 linhas x 20 colunas; define-se a transferência de dados com 8 ou 4 bits; e define-se o modo de entrada dos dados e como são mostrados. 2. Subrotina para escrita/leitura de instrução 3. Subrotina para escrita/leitura de dados. Um exemplo de instrução é o endereço de escrita no LCD. A tabela a seguir mostra os endereços (decimais) para o display de 2 linhas x 16 colunas. Colunas 1 2 3 4... 12 13 14 15 16 Linha 1 128 129 130 131... 139 140 141 142 143 Linha 2 192 193 194 195... 203 204 205 206 207