Mudanças entre as edições de "MIC29004-2015-2 Microprocessadores - Engenharia"
(34 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 2: | Linha 2: | ||
*Professor: Eraldo Silveira e Silva | *Professor: Eraldo Silveira e Silva | ||
− | * | + | e-mail: eraldo@ifsc.edu.br |
+ | |||
+ | *Professor: Fernando Bruinjé Cosentino | ||
+ | e-mail: fernando.cosentino@ifsc.edu.br | ||
+ | |||
+ | *Professor: Clayrton Monteiro Henrique | ||
+ | e-mail: clayrton.henrique@ifsc.edu.br | ||
=Plano de Ensino= | =Plano de Ensino= | ||
Linha 18: | Linha 24: | ||
=Aulas= | =Aulas= | ||
− | ==Aula | + | ==Aula 01 - Dia 29/7/2015== |
*Apresentação inicial; | *Apresentação inicial; | ||
*Visão geral do funcionamento de um sistema microprocessado | *Visão geral do funcionamento de um sistema microprocessado | ||
− | ==Aula | + | ==Aula 02 - Dia 05/10/2015== |
− | |||
− | ==Objetivos== | + | ===Objetivos=== |
*reapresentar os objetivos da disciplina | *reapresentar os objetivos da disciplina | ||
Linha 34: | Linha 39: | ||
*apresentar o procedimento de acesso para escrita e para a leitura; | *apresentar o procedimento de acesso para escrita e para a leitura; | ||
*apresentar um diagrama de tempo simplificado de acesso a memória; | *apresentar um diagrama de tempo simplificado de acesso a memória; | ||
− | *apresentar a CPU/microcontrolador como a "entidade" que acessa a memória | + | *apresentar a CPU/microcontrolador como a "entidade" que acessa a memória; |
− | ==Diagrama em blocos da memória e barramentos== | + | ===Diagrama em blocos da memória e barramentos=== |
No diagrama abaixo está representado um bloco de memória primária de 16x8 (dezesseis endereços por 8 bits). | No diagrama abaixo está representado um bloco de memória primária de 16x8 (dezesseis endereços por 8 bits). | ||
Linha 59: | Linha 64: | ||
==Diagrama de Tempo - Acesso para escrita== | ==Diagrama de Tempo - Acesso para escrita== | ||
+ | |||
+ | ===Tarefa === | ||
+ | |||
+ | *Ler apostila de memória | ||
+ | |||
+ | ==Aula 03 - Dia 14/10/2015== | ||
+ | |||
+ | *Memórias - Tipos e características construtivas | ||
+ | *Associação de memórias e exercícios | ||
+ | |||
+ | ==Aula 04 - Dia 17/10/2015== | ||
+ | |||
+ | *Introdução ao Proteus | ||
+ | |||
+ | ==Aula 05 - Dia 19/10/2015== | ||
+ | |||
+ | *Exercícios de associação de memória usando Proteus | ||
+ | *Endereçamento, inserção e recuperação de dados em memória RAM | ||
+ | |||
+ | ==Aula 06 - Dia 21/10/2015== | ||
+ | |||
+ | *Arquitetura de processadores - Harvard vs. von Neumann | ||
+ | *Barramentos de endereçamento, dados e controle | ||
+ | *Exemplo: 8051 | ||
+ | |||
+ | ==Aula 07 - Dia 26/10/2015== | ||
+ | |||
+ | Projeto didático em Proteus parte 1: | ||
+ | *Mapeamento de memórias ROM e RAM em um mesmo barramento | ||
+ | |||
+ | ==Aula 08 - Dia 28/10/2015== | ||
+ | |||
+ | *BIP - Basic Instruction Processor | ||
+ | *Instruções BIP 1 | ||
+ | *Exercícios de compilação manual de C para ASM BIP 1 | ||
+ | |||
+ | ==Aula 09 - Dia 04/11/2015== | ||
+ | |||
+ | *Instruções BIP 2 | ||
+ | *Exercícios de compilação manual de C para ASM BIP 2 | ||
+ | |||
+ | ==Aula 10 - Dia 09/11/2015== | ||
+ | |||
+ | Projeto didático em Proteus parte 2: | ||
+ | *Registradores especiais mapeados em memória | ||
+ | |||
+ | ==Aula 11 - Dia 11/11/2015== | ||
+ | |||
+ | *Exercícios com ASM BIP: laços de repetição | ||
+ | |||
+ | ==Aula 12 - Dia 16/11/2015== | ||
+ | |||
+ | Projeto didático em Proteus parte 3: | ||
+ | *Acumulador mapeado em memória | ||
+ | *Acesso direto ao acumulador | ||
+ | *Bits Z e N | ||
+ | |||
+ | ==Aula 13 - Dia 18/11/2015== | ||
+ | |||
+ | *Conceito de pilha do Program Counter | ||
+ | *Instruções de chamada com retorno | ||
+ | *Conceito de interrupções | ||
+ | |||
+ | ==Aula 14 - Dia 23/11/2015== | ||
+ | |||
+ | Projeto didático em Proteus parte 4: | ||
+ | *Unidade lógica-aritmética | ||
+ | *Base para decodificação de instruções | ||
+ | |||
+ | Baixar o [[Media:ProcPartes.zip|arquivo]] contendo partes do processador didático, para os próximos passos. | ||
+ | |||
+ | ==Aula 15 - Dia 25/11/2015== | ||
+ | |||
+ | *Arquitetura de microcontroladores comerciais | ||
+ | *Estrutura completa do 8051 | ||
+ | *Comparações entre 8051 e PIC | ||
+ | |||
+ | ==Aula 16 - Dia 30/11/2015== | ||
+ | |||
+ | Projeto didático em Proteus parte 5: | ||
+ | *Contador de programa | ||
+ | *Decodificação de instruções BIP | ||
+ | |||
+ | ==Aula 17 - Dia 02/12/2015== | ||
+ | |||
+ | *Sistemas de entrada e saída - periféricos | ||
+ | *Periféricos internos do 8051 | ||
+ | *Exemplos de periféricos de outros microcontroladores | ||
+ | |||
+ | ==Aula 18 - Dia 07/12/2015== | ||
+ | |||
+ | Projeto didático em Proteus parte 6: | ||
+ | *I/O mapeado em memória | ||
+ | *Montagem de programas simples usando LEDs e botões | ||
+ | |||
+ | ==Aula 19 - Dia 09/12/2015== | ||
+ | |||
+ | Periféricos do 8051: | ||
+ | *Portas I/O | ||
+ | *Timers | ||
+ | *Comunicação serial (UART, SPI, I2C) | ||
+ | |||
+ | *Comparação com os mesmos periféricos entre 8051, PIC e nRF51 | ||
+ | |||
+ | ==Aula 20 - Dia 14/12/2015== | ||
+ | |||
+ | Trabalho de avaliação: elaborar nova instrução no sistema do projeto didático | ||
+ | |||
+ | ==Aula 21 - Dia 16/12/2015== | ||
+ | |||
+ | Avaliação teórica | ||
+ | |||
+ | ==Aula 22 - Dia 21/12/2015== | ||
+ | |||
+ | Defesa do trabalho de avaliação | ||
+ | |||
+ | ==Aula 23 - Dia 23/12/2015== | ||
+ | |||
+ | Correção em sala da avaliação teórica | ||
+ | |||
+ | ==Aula 24 - Dia 01/02/2016== | ||
+ | Revisão sobre arquitetura interna de microcontroladores. | ||
+ | |||
+ | ==Aula 25 - Dia 03/02/2016== | ||
+ | Revisão sobre formas de endereçamento. Barramentos: dados, endereços e controle. | ||
+ | |||
+ | ==Aula 26 - Dia 15/02/2016== | ||
+ | |||
+ | Introdução ao Microcontrolador 8051 (Intel): | ||
+ | *Introdução | ||
+ | *Datasheet | ||
+ | *Pinagem | ||
+ | *Organização | ||
+ | *Periféricos do 8051 | ||
+ | |||
+ | ==Aula 27 - Dia 17/02/2016== | ||
+ | Apresentação do MCU8051: | ||
+ | |||
+ | * Área de Programação; | ||
+ | * Mapa de RAM interna; | ||
+ | * Registradores; | ||
+ | * Portas | ||
+ | * Flags | ||
+ | |||
+ | ==Aula 28 - Dia 22/02/2016== | ||
+ | Organização da Memória Interna | ||
+ | * Área de Dados | ||
+ | * Área de SFR | ||
+ | |||
+ | ==Aula 29 - Dia 24/02/2016== | ||
+ | * Registradores Especiais | ||
+ | |||
+ | ==Aula 30 - Dia 29/02/2016== | ||
+ | Tipos de Instrução: | ||
+ | |||
+ | * Aritméticas; | ||
+ | * Booleanas; | ||
+ | * Lógicas; | ||
+ | * Desvio Condicional; | ||
+ | * Desvio Incondicional; | ||
+ | |||
+ | Entregue tabela de instruções com textos explicativo sobre cada uma. | ||
+ | |||
+ | ==Aula 31 - Dia 02/03/2016== | ||
+ | Modos de endereçamento do 8051 | ||
+ | * Direto | ||
+ | * Indireto | ||
+ | * Registrador | ||
+ | * Imediato | ||
+ | * Absoluto | ||
+ | * Indexado | ||
+ | |||
+ | ==Aula 32 - Dia 07/03/2016== | ||
+ | Interrupções no 8051: | ||
+ | * Tipos; | ||
+ | * Formas; | ||
+ | * Modos; | ||
+ | * Prioridades; | ||
+ | * Exemplos; | ||
+ | |||
+ | ==Aula 33 - Dia 09/03/2016== | ||
+ | Interrupções no 8051: Exemplos e Exercícios. | ||
+ | |||
+ | ==Aula 34 - Dia 14/03/2016== | ||
+ | Desenvolvimento do projeto final. | ||
+ | |||
+ | ==Aula 35 - Dia 16/03/2016== | ||
+ | Desenvolvimento do projeto final. Data limite para entrega. |
Edição atual tal como às 10h42min de 3 de março de 2016
Informações Gerais
- Professor: Eraldo Silveira e Silva
e-mail: eraldo@ifsc.edu.br
- Professor: Fernando Bruinjé Cosentino
e-mail: fernando.cosentino@ifsc.edu.br
- Professor: Clayrton Monteiro Henrique
e-mail: clayrton.henrique@ifsc.edu.br
Plano de Ensino
Recursos
- Apostila Memória
- Slides Memória
- Introdução à Microprocessadores
- Arquitetura e Organização do BIP
- Microcontrolador e 8051
Aulas
Aula 01 - Dia 29/7/2015
- Apresentação inicial;
- Visão geral do funcionamento de um sistema microprocessado
Aula 02 - Dia 05/10/2015
Objetivos
- reapresentar os objetivos da disciplina
- trabalhar memórias na forma de diagrama em blocos
- apresentar barramentos de endereço/dados/controle
- diferenciar conteúdo de endereço de memória;
- apresentar o procedimento de acesso para escrita e para a leitura;
- apresentar um diagrama de tempo simplificado de acesso a memória;
- apresentar a CPU/microcontrolador como a "entidade" que acessa a memória;
Diagrama em blocos da memória e barramentos
No diagrama abaixo está representado um bloco de memória primária de 16x8 (dezesseis endereços por 8 bits).
- Note que uma posição de memória pode ser vista como uma caixa que possue um endereço e um conteúdo.
- O conteúdo associado a posição de memória é uma palavra binária e, neste caso, possui 8 bits;
Para que us dispositivo externo possa "acessar" a memória para leitura ou escrita, ele deve se utilizar de um conjunto de fios que chamamos de barramentos.
Barramento de Endereços
Este barramento permite determinar o endereço de uma posição a ser acessada na memória. Um barramento de 4 linhas de endereço é designado por A3,A2,A1 e A0.
Supondo uma memória com endereços designados da forma hexadecimal de 0h a Fh. Supondo que A3 seja associado ao bit mais significativo e A0 ao bit menos significativo. Então, para acessar a posição Bh de memória, deve-se injetar A3=1, A2=0, A1=1 e A0=1. Note que
O termo "injetar" significa aqui que um dispositivo externo deve forçar tensão nas linhas do barramento. Esta tensão depende da tecnologia utilizada. Poderia ser, por exemplo, 5V para o nível lógico 1 e 0V par ao nível lógico 0.,
Diagrama de Tempo - Acesso para escrita
Tarefa
- Ler apostila de memória
Aula 03 - Dia 14/10/2015
- Memórias - Tipos e características construtivas
- Associação de memórias e exercícios
Aula 04 - Dia 17/10/2015
- Introdução ao Proteus
Aula 05 - Dia 19/10/2015
- Exercícios de associação de memória usando Proteus
- Endereçamento, inserção e recuperação de dados em memória RAM
Aula 06 - Dia 21/10/2015
- Arquitetura de processadores - Harvard vs. von Neumann
- Barramentos de endereçamento, dados e controle
- Exemplo: 8051
Aula 07 - Dia 26/10/2015
Projeto didático em Proteus parte 1:
- Mapeamento de memórias ROM e RAM em um mesmo barramento
Aula 08 - Dia 28/10/2015
- BIP - Basic Instruction Processor
- Instruções BIP 1
- Exercícios de compilação manual de C para ASM BIP 1
Aula 09 - Dia 04/11/2015
- Instruções BIP 2
- Exercícios de compilação manual de C para ASM BIP 2
Aula 10 - Dia 09/11/2015
Projeto didático em Proteus parte 2:
- Registradores especiais mapeados em memória
Aula 11 - Dia 11/11/2015
- Exercícios com ASM BIP: laços de repetição
Aula 12 - Dia 16/11/2015
Projeto didático em Proteus parte 3:
- Acumulador mapeado em memória
- Acesso direto ao acumulador
- Bits Z e N
Aula 13 - Dia 18/11/2015
- Conceito de pilha do Program Counter
- Instruções de chamada com retorno
- Conceito de interrupções
Aula 14 - Dia 23/11/2015
Projeto didático em Proteus parte 4:
- Unidade lógica-aritmética
- Base para decodificação de instruções
Baixar o arquivo contendo partes do processador didático, para os próximos passos.
Aula 15 - Dia 25/11/2015
- Arquitetura de microcontroladores comerciais
- Estrutura completa do 8051
- Comparações entre 8051 e PIC
Aula 16 - Dia 30/11/2015
Projeto didático em Proteus parte 5:
- Contador de programa
- Decodificação de instruções BIP
Aula 17 - Dia 02/12/2015
- Sistemas de entrada e saída - periféricos
- Periféricos internos do 8051
- Exemplos de periféricos de outros microcontroladores
Aula 18 - Dia 07/12/2015
Projeto didático em Proteus parte 6:
- I/O mapeado em memória
- Montagem de programas simples usando LEDs e botões
Aula 19 - Dia 09/12/2015
Periféricos do 8051:
- Portas I/O
- Timers
- Comunicação serial (UART, SPI, I2C)
- Comparação com os mesmos periféricos entre 8051, PIC e nRF51
Aula 20 - Dia 14/12/2015
Trabalho de avaliação: elaborar nova instrução no sistema do projeto didático
Aula 21 - Dia 16/12/2015
Avaliação teórica
Aula 22 - Dia 21/12/2015
Defesa do trabalho de avaliação
Aula 23 - Dia 23/12/2015
Correção em sala da avaliação teórica
Aula 24 - Dia 01/02/2016
Revisão sobre arquitetura interna de microcontroladores.
Aula 25 - Dia 03/02/2016
Revisão sobre formas de endereçamento. Barramentos: dados, endereços e controle.
Aula 26 - Dia 15/02/2016
Introdução ao Microcontrolador 8051 (Intel):
- Introdução
- Datasheet
- Pinagem
- Organização
- Periféricos do 8051
Aula 27 - Dia 17/02/2016
Apresentação do MCU8051:
- Área de Programação;
- Mapa de RAM interna;
- Registradores;
- Portas
- Flags
Aula 28 - Dia 22/02/2016
Organização da Memória Interna
- Área de Dados
- Área de SFR
Aula 29 - Dia 24/02/2016
- Registradores Especiais
Aula 30 - Dia 29/02/2016
Tipos de Instrução:
- Aritméticas;
- Booleanas;
- Lógicas;
- Desvio Condicional;
- Desvio Incondicional;
Entregue tabela de instruções com textos explicativo sobre cada uma.
Aula 31 - Dia 02/03/2016
Modos de endereçamento do 8051
- Direto
- Indireto
- Registrador
- Imediato
- Absoluto
- Indexado
Aula 32 - Dia 07/03/2016
Interrupções no 8051:
- Tipos;
- Formas;
- Modos;
- Prioridades;
- Exemplos;
Aula 33 - Dia 09/03/2016
Interrupções no 8051: Exemplos e Exercícios.
Aula 34 - Dia 14/03/2016
Desenvolvimento do projeto final.
Aula 35 - Dia 16/03/2016
Desenvolvimento do projeto final. Data limite para entrega.