Baixe o app para aproveitar ainda mais
Prévia do material em texto
08/03/2016 1 Microprocessadores e Microcontroladores Prof. Alex Davoglio Pinagem e memória do Microcontrolador 8051 02a Microprocessadores e Microcontroladores Prof. Alex Davoglio Pinagem e Memória do Microcontrolador 8051 Estrutura interna do microcontrolador: 08/03/2016 2 Microprocessadores e Microcontroladores Prof. Alex Davoglio • CPU de 8 bits para aplicações de controle; • Capacidade de processamento booleano operações de 1 bit; • 64 K de endereçamento para programa (memória de programa); • 64 K de endereçamento para dados (memória de dados); • 4 K de memória ROM no chip; • 128 bytes de memória RAM no chip; • 32 linhas de I/O bidirecionais e individualmente endereçáveis; • 2 contadores/temporizadores de 16 bits; • Canal serial full duplex (UART); • 6 fontes/5 vetores de interrupção com dois níveis de prioridade; • Oscilador para clock no chip. Microprocessadores e Microcontroladores Prof. Alex Davoglio Para conexão do mi- crocontrolador, o en- capsulamento mais uti- lizado na pinagem do 8051 é o DIP. Há pinos que servem a dupla finalidade. Dependendo do esque- ma de hardware, são utilizados para uma ou outra função especí- fica. Pinagem do microcontrolador 08/03/2016 3 Microprocessadores e Microcontroladores Prof. Alex Davoglio Estrutura da Memória Microprocessadores e Microcontroladores Prof. Alex Davoglio O microcontrolador 8051 possui internamente 128 Bytes de memória RAM e 4kBytes de memória ROM, o que possibilita o desenvolvimento de diversas soluções. Contudo, se o sistema necessitar de maior quantidade de memória RAM e/ou ROM, deve ser utilizada uma técnica de multiplexagem que possibilita a um mesmo port (port 0) fornecer sinais de dados (D0 - D7) e endereços (A0 - A7) para a memória externa. 08/03/2016 4 Microprocessadores e Microcontroladores Prof. Alex Davoglio Inicialmente o 8051 coloca os bits de endereços baixos A0-A7 no barramento AD0-AD7 (port 0) e leva o pino ALE a nível lógico 1. Assim, o lach 74LS373 passa a ter esses endereços na saída. Em seguida, o pino ALE é levado a nível lógico 0 que faz o latch armazenar os endereços. Em seguida, o 8051 coloca os bits de dados D0-D7 no barramento AD0- AD7 e a memória recebe as informações para serem gravadas naquele endereço. Microprocessadores e Microcontroladores Prof. Alex Davoglio Em um microcontrolador como este que estamos estudando, a memória funciona do seguinte modo: • Chega até 64kBytes de memória RAM externa. • A memória ROM pode ser utilizada até 64kBytes. • Pode-se utilizar os 4kBytes internos e mais 60kBytes externos ou utilizar 64kBytes externos, desabilitando-se a memória interna. 08/03/2016 5 Microprocessadores e Microcontroladores Prof. Alex Davoglio Memória de programa interna e externa A memória de programa (ROM) pode se apresentar totalmente externa ou com os primeiros 4kBytes internos. Quem determina a configuração da memória de programa é o pino EA. Nível Lógico Memória 0 Externa – 64 kBytes 1 Primeiros 4 kBytes internos e até 60 kBytes externos A memória externa é habilitada pelo strobe PSEN em nível lógico 0. Microprocessadores e Microcontroladores Prof. Alex Davoglio A parte inicial da memória de programa tem uma área reservada para rotinas de interrupção. 08/03/2016 6 Microprocessadores e Microcontroladores Prof. Alex Davoglio Memórias de dados interna e externa A memória de dados (RAM) do 8051 é dividida em memória interna e memória externa. A memória interna apresenta uma parte baixa com capacidade de 128 Bytes destinada ao usuário para implementação de programas, e outra parte, também com 128 Bytes, reservada aos registradores de funções especiais (SFR’s) que permitem, entre outras coisas, a configuração do sistema. Microprocessadores e Microcontroladores Prof. Alex Davoglio Memória RAM 08/03/2016 7 Microprocessadores e Microcontroladores Prof. Alex Davoglio Registrador de função especial Microprocessadores e Microcontroladores Prof. Alex Davoglio A memória de dados externa pode atingir até 64 kBytes e é totalmente independente da memória interna. RD habilita a leitura das informações. WR habilita a escrita das informações. 08/03/2016 8 Microprocessadores e Microcontroladores Prof. Alex Davoglio A parte baixa da memória RAM interna é dividida em 4 bancos de regis- tradores com 8 Bytes cada. Microprocessadores e Microcontroladores Prof. Alex Davoglio 16 Bytes são endere- çáveis por Byte ou por bit e o restante ende- reçado por Byte para uso geral. 08/03/2016 9 Microprocessadores e Microcontroladores Prof. Alex Davoglio Banco de Registradores Os bancos de registradores são posições de memória que permitem seu endereçamento pelo nome dado ao registro R0 a R7. Na prática é mais fácil lembrar o nome do registrador do que o endereço da posição de memória. Esses bancos são utilizados pelo software para facilitar a elaboração de programas de controle empregando o microcontrolador. A escolha de um determinado banco ocorre pelos valores dos bits RS0 e RS1 que estão no PSW. Microprocessadores e Microcontroladores Prof. Alex Davoglio Bits e Bytes endereçáveis Os 16 Bytes (128 bits) acima dos bancos de registradores formam um bloco de memória que pode ser endereçado por Byte ou por bit e que permite a operação com instruções que tratem apenas bits (proces- samento booleano). 08/03/2016 10 Microprocessadores e Microcontroladores Prof. Alex Davoglio Registradores de funções especiais - SFR O registrador de funções especiais (SFR) apresenta registros dos port’s de I/O, registradores para a configuração de temporizadores/contadores, interrupções e interface serial, além do registrador de trabalho chamado acumulador (ACC). Microprocessadores e Microcontroladores Prof. Alex Davoglio Registrador B Esse registrador em algumas instruções tem seu nome referenciado: MUL AB, DIV AB, que são operações entre os registradores A e B. Fora isso, trata-se de um registrador como outro qualquer. 08/03/2016 11 Microprocessadores e Microcontroladores Prof. Alex Davoglio Acumulador O acumulador é um registrador de uso geral e é um operador em várias instruções. É também o lugar onde fica o resultado de várias operações. Ele é, muitas vezes, parte do operando da instrução. Observação: O endereço do Byte do acumulador tem o mesmo nome do endereço do bit zero. Então, uma questão que surge é: como acessar o endereço do bit sem alterar o Byte? No momento de acessar qualquer endereço, a instrução de bit é diferente da instrução de byte, logo, o código em hexadecimal também. Microprocessadores e Microcontroladores Prof. Alex Davoglio Registrador PSW Este registrador contém flags (bits) que indicam as ocorrências da ULA a cada operação lógica e aritmética que houver. Avisa também em que banco de registradores ele está ativo. 08/03/2016 12 Microprocessadores e Microcontroladores Prof. Alex Davoglio • PSW7 Carry flag : É um indicador de vai um em operações aritméticas, quando ocorre o estouro da capacidade de armazenamento de 8 bits. • PSW6 Carry auxiliar: Vai (ou vem) um intermediário do bit 3 ao bit 4. • PSW5 Flag 0: Não tem função especial e não indica nada. • PSW3 e 4 RS0 e RS1 respectivamente: Realizam a seleção do banco de re- gistradores que tem nome genérico de R0 a R7. Microprocessadores e Microcontroladores Prof. Alex Davoglio • PSW2 Overflow flag : Sinaliza o estouro da capacidade de armazena- mento de 8 bits. • PSW1 Bit não disponível ao usuário. • PSW0 Paridade: Indica que há números pares de uns no acumulador. 08/03/2016 13 Microprocessadores e Microcontroladores Prof. Alex DavoglioRegistrador de IP Tem por função fixar qual o nível de prioridade das interrupções. Desse modo é possível alterar a prioridade de atendimento de uma interrupção durante o processamento. Observações: OS (D4) Define prioridade de Interrupção Serial “0” Prioridade BAIXA PT1 (D3) Define prioridade de Interrupção do Timer_1 “1” Prioridade ALTA PX1 (D2) Define prioridade de Interrupção Int_1 PT0 (D1) Define prioridade de Interrupção do Timer_0 PX0 (D0) Define prioridade de Interrupção Int_0 Microprocessadores e Microcontroladores Prof. Alex Davoglio - Não utilizado: • PS (bit D4, BCH): Prioridade Serial; �Quando em nível 1, indica prioridade para interrupção gerada pela serial, se ela estiver habilitada; �Quando em nível 0, indica baixa prioridade. • PT1 (bit D3, BBH): Prioridade do temporizador / contador 1; � • Se em nível 1, indica prioridade para interrupção pedida pelo temporizador / contador 1. • PX1 (bit D2, BAH): Prioridade Interrupção Externa; �Quando em nível 1, indica que a prioridade é para o dispositivo que esteja ligado no pino 13 (INT1/P3.3) do 8051; �Quando em nível 0 indica baixa prioridade. 08/03/2016 14 Microprocessadores e Microcontroladores Prof. Alex Davoglio • PT0 (bit D1, B9H): Prioridade do temporizador / contador 0; �Se em nível 1, indica prioridade para interrupção pedida pelo temporizador / contador 0. • PX0 (bit D0, B8H): Prioridade Interrupção Externa; �Quando em nível 1, indica que a prioridade é para o dispositivo que esteja ligado no pino 12 (INT0/P3.2) do 8051; �Quando em nível 0, indica baixa prioridade. Microprocessadores e Microcontroladores Prof. Alex Davoglio Registrador IE Este registrador é responsável pela habilitação das interrupções. Observações: EA (D7) - Habilita/desabilita todas as interrupções ES (D4) - Habilita/desabilita Interrupção Serial ET1 (D3) - Habilita/desabilita Interrupção do Timer_1 “1” = habilita EX1 (D2) - Habilita/desabilita Interrupção do Int_1 ET0 (D1) - Habilita/desabilita Interrupção do Timer_0 “0” = desabilita EX0 (D0) - Habilita/desabilita Interrupção Int_0 08/03/2016 15 Microprocessadores e Microcontroladores Prof. Alex Davoglio - Não utilizado: • EA (bit D7, AFH): Habilita todas as interrupções; �Quando em “0”, desabilita todas as interrupções; �Quando em “1”, permite a escolha de habilitar qualquer interrupção através dos bits de controle individuais, a seguir. • ES (bit D4, ACH): Habilita serial; �Quando em nível lógico 1 habilita a interrupção pedida pelo canal serial; �Quando em nível lógico 0 inibe a interrupção pedida pelo canal serial. • ET1 (bit D3, ABH): Habilita timer 1; �Quando em nível lógico 1 habilita a interrupção pelo timer/counter 1, se EA estiver = 1; �Quando em nível lógico 0 inibe a interrupção pedida pelo timer/counter 1. Microprocessadores e Microcontroladores Prof. Alex Davoglio • EX1 (bit D2, AAH):Habilita INT1; �Quando em nível lógico 1, habilita a interrupção pedida pelo dispositivo externo ligado no pino INT1 se EA estiver = 1; �Quando em nível lógico 0 inibe a interrupção pedida pelo dispositivo externo ligado ao pino INT1. • ET0 (bit D1, A9H): Habilita timer 0; �Quando em nível lógico 1 habilita a interrupção pelo timer/counter 0, se EA estiver habilitado; �Quando em nível lógico 0 inibe a interrupção pedida pelo timer/counter 0. • EX0 (bit D0, A8H): Habilita INT0; �Quando em nível lógico 1, habilita a interrupção pedida pelo dispositivo externo ligado no pino INT0 se EA estiver = 1; �Quando em nível lógico 0 inibe a interrupção pedida pelo dispositivo externo ligado ao pino INT0. 08/03/2016 16 Microprocessadores e Microcontroladores
Compartilhar