Mudanças entre as edições de "MIC-2014-1-CST Introdução aos Microcoprocessadores"
Linha 308: | Linha 308: | ||
Defesa do Mini Projeto 4 | Defesa do Mini Projeto 4 | ||
− | Giovana | + | Giovana - B |
− | Antônio | + | Antônio - D |
+ | |||
+ | Renato - B | ||
− | + | Alfredo - B | |
− | + | Fernanda - C | |
− | + | Evander - B | |
− | + | Vinícius - B | |
− | |||
− | Vinícius | ||
=AULA - Dia 15/05/2014= | =AULA - Dia 15/05/2014= |
Edição das 11h06min de 15 de maio de 2014
DADOS GERAIS DA DISCIPLINA
- Professor: Eraldo Silveira e Silva (email: eraldo@ifsc.edu.br)
- Link da Ementa: Ementa
Avaliação
- 12 miniprojetos - 1 conceito por projeto - desprezado 2 conceitos para fins de avaliação
- recuperação - 1 avaliação escrita geral sobre a disciplina
PLANEJAMENTO 2014-1
Aula | Data | Horas | Conteúdo | Recursos | |
---|---|---|---|---|---|
1 | 12/2 | 2 | Introdução a disciplina. Avaliação. | Laboratório | |
2 | 13/2 | 2 | Conceitos associados a memórias. Barramento de dados, endereços e controle. | Laboratório | |
3 | 19/2 | 2 | Apresentação do Proteus. Apresentação do Mini-projeto 1 – acesso manual a uma memória de RAM de 2K | Laboratório | |
4 | 20/2 | 2 | Desenvolvimento do Mini-projeto 1 | Laboratório | |
5 | 26/2 | 2 | Avaliação do Mini-projeto 1 | Laboratório | |
6 | 27/2 | 2 | Defesa de TCC2 | Laboratório | |
7 | 6/3 | 2 | Apresentação do Mini-Projeto 2 – Expansão de memória RAM de 2K para 8K | Laboratório | |
8 | 12/3 | 2 | Desenvolvimento do Mini-projeto 2 | Laboratório | |
9 | 13/3 | 2 | Avaliação do Mini-projeto 2 | Laboratório | |
10 | 20/3 | 2 | Apresentação do Mini-projeto 3 – Movimentação manual de dados entre memórias e registradores | Laboratório | |
11 | 26/3 | 2 | Desenvolvimento do Mini-projeto 3 | Laboratório | |
12 | 27/3 | 2 | Avaliação do Mini-projeto 3 | Laboratório | |
13 | 2/4 | 2 | Apresentação do Mini-projeto 4 – Operação manual de soma entre dados armazenados na memória | Laboratório | |
14 | 3/4 | 2 | Desenvolvimento do Mini-projeto 4 | Laboratório | |
15 | 9/4 | 2 | Avaliação do Mini-projeto 4 | Laboratório | |
16 | 10/4 | 2 | Apresentação do Mini-projeto 5 – Introdução ao microcontrolador: movimentando dados da memória externa com o microcontrolador. | Laboratório | |
17 | 16/4 | 2 | Desenvolvimento do Mini-projeto 5 | Laboratório | |
18 | 17/4 | 2 | Avaliação do Mini-projeto 5 | Laboratório | |
19 | 23/4 | 2 | Apresentação do Mini-projeto 6 – Movimentação da memória interna (modos de endereçamento) | Laboratório | |
20 | 24/4 | 2 | Desenvolvimento do Mini-projeto 6 | Laboratório | |
21 | 30/4 | 2 | Avaliação do Mini-projeto 6 | Laboratório | |
22 | 7/5 | 2 | Apresentação do Mini-Projeto 7 – Subrotinnas e Stack | Laboratório | |
23 | 8/5 | 2 | Desenvolvimento do mini-projeto 7 | Laboratório | |
24 | 14/5 | 2 | Avaliação do Mini-Projeto 7 - | Laboratório | |
25 | 15/5 | 2 | Apresentação do Mini-Projeto 8 – Operação com aritméticas e lógicas | Laboratório | |
26 | 21/5 | 2 | Desenvolvimento do mini-projeto 8 | Laboratório | |
27 | 22/5 | 2 | Avaliação do Mini-Projeto 8 | Laboratório | |
28 | 28/5 | 2 | Apresentação do Mini-Projeto 9 – Operação com bits | Laboratório | |
29 | 29/5 | 2 | Desenvolvimento do mini-projeto 9 | Laboratório | |
30 | 4/6 | 2 | Avaliação do Mini-Projeto 9 | Laboratório | |
31 | 5/6 | 2 | Apresentação do Mini-Projeto 10 – Acesso a portas I | Laboratório | |
32 | 11/6 | 2 | Avaliação do Mini-Projeto 10 | Laboratório | |
33 | 12/6 | 2 | Desenvolvimento do mini-projeto 10 | Laboratório | |
34 | 18/6 | 2 | Apresentação do Mini-Projeto 11 – Temprizadores e contadores | Laboratório | |
35 | 25/6 | 2 | Desenvolvimento do mini-projeto 11 | Laboratório | |
36 | 26/6 | 2 | Avaliação do Mini-Projeto 11 | Laboratório | |
37 | 2/7 | 2 | Apresentação do Mini-Projeto 12 – Interrupções | Laboratório | |
38 | 3/7 | 2 | Desenvolvimento do mini-projeto 12 | Laboratório | |
39 | 9/7 | 2 | Avaliação do Mini-Projeto 12 | Laboratório | |
40 | 10/7 | 2 | Recuperação Final | Laboratório | |
TOTAL | 80 |
Aula 1- Dia 12/2/2014
Objetivos
- Apresentação Ementa
- Revisão de alguns conceitos em digital
- Introdução a memórias
- 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.
ou
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
Aula 2- Dia 13/2/2014
- continuação da aula anterior.
Aula 3- Dia 19/2/2014
- Objetivos
- Consolidar o conhecimento sobre memórias e barramentos de endereços, dados e controle através de um experimento no Proteus
Experimento 1 - Acesso a memória RAM de 2K x 8 bits
Roteiro:
1.Entrar no Windows.
2.Baixar o arquivo de projeto Experimento 1 MIC. Coloque em um diretório conhecido.
3.Clique sobre o arquivo. O PROTEUS será executado e o projeto aberto.
4.Observe que o projeto está parcialmente pronto. Você pode entrar em modo simulação. O sistema está preparado para que se possa inserir ou ler manualmente posições de memória. Tente colocar o dado AFh na posição 0 de memória e 8Eh na posição 15.
5.Note o Chip Select está habilitado sempre. Coloque uma chave adicional para colocar o Chip Select e repita a operação de gravação anterior.
Exercícios adicionais (Projeto 1)
1.Colocar uma chave de controle do Chip Select (CE). 2.Colocar o seu nome ("Maria da Silva") na memória implmentada no projeto, a partir da posição 0 (endereço). Olhar tabela ASCII. 3.Reimplementar o item dois para gravar nos últimos endereços de memória dos 2K disponíveis.
Aula 4- Dia 26/2/2014
Objetivos
- AValiação do Projeto 1:
ALUNOS OK TAREFA 1: Evander, Vinicius, Renato, Alfredo, Antonio ALUNOS devendo: fernanda
Aula 5 - Dia 6/3/2014
Objetivos
- Apresentar o Mini-Projeto 2 - Expansão de memória
- Fundamentação teórica
- Encaminhamentos
Mini-Projeto 2 - Expansão de Memória
Usando como referência o projeto anterior expandir o sistema de memória de 2Kx8bits para 8Kx8bits. Use o decodificador 74LS139. Para controle das chaves a chave lógica
Fundamentação Teórica
Decodificadores
Usando decodificadores para exppandir sistemas de memória
AULA 5 - Dia 12/3/2014
AULA 6 - Dia 13/3/2014
Desenvolvimento do projeto de expansão de memória.
AULA 7 - Dia 20/3/2014
- Apresentação do projeto de expansão de memória
- Apresentação do Terceiro Projeto
AULA 8 - Dia 26/3/2014
Terceiro Mini-Projeto
Implementar um circuito com 1 memória de 2Kx8 (6116) e um latch 373. Este deverá servir como acumulador em operações para movimentação de memória. Ao final do projeto será solicitado que o aluno entre com dados mnualamente na memória e deloque dados de uma posição para outra na memória. Criar comando WRA (write no acumulador) e RDA (read no acumulador) específicos par o LATCH, de forma a evitar o endereçamento do registrador.
O funcionamento do LATCH 373
Link para o esqueleto do projeto
Baixar o arquivo de projeto [1]
Link para tutorial Spice/Proteus
http://www.youspice.com/ys/gettingstartedwithlabcenterproteus.3sp
AULA 9 - Dia 27/3/2014
- Desenvolvimento e apresentação do mini-projeto 3
ALUNOS QUE DEFENDERAM: GIOVANA, FERNANDA, ALFREDO, EVANDER, VINICISU, RENATO, ANTONIO
AULA 10 - Dia 2/4/2014
- DApresentação do Mini-projeto 2 para os alunos que ainda não tinham defendido: Reanto, Fernanda e Evander
AULA 11 - Dia 3/4/2014
- Apresentação do Mini-Projeto 4: Implemenatação de uma (parte) de uma Unidade Lógica e Aritmética
As partes de um sistema computacional
Até o presente momento tivemos uma ideia dos seguintes elementos de um sistema computacional:
- Unidade de Entrada (e Saída)
- memória primária
- CPU
- barramentos: dados, endereço e controle
A CPU é dividida em registradores (implementamos o registrador A), a unidade de controle (que tem sido você) e a unidade lógica e aritmética. Neste mini-projeto vamos passar uma ideia do que é esta unidade, implementando um somador de bytes.
Mini-projeto 4
Acrescentar ao mini-projeto 3 um circuito somador de bytes com entrada de C e saída de carry. Armazenar o Carry em um flip flop tipo D (registrador de 1 bit). O somandor será implementado com o 74LS283. Usar uma subsheet para implementar o somador bufferizado com buffer tris-tate 74LS241.
Parte 1 - Demonstração de como o 74LS283 funciona usando o Proteus
Parte 2 - Construção do circuito em sub-sheet
O seguinte sistema foi implementado:
AULA 12 - Dia 9/4/2014
Parte 3 - Inclusão do circuito no mini-projeto 3
Parte 4 - Desenvolvimento do sistema completo
AULA 13 - Dia 16/04/2014
Arquivo parcial de projeto [2]
AULA 14 - Dia 23/04/2014
Objetivos
- Apresentar o princípio de funcionamento de um sistema microprocessado
Material
AULA 15 - Dia 24/04/2014
Continuação: Princípio de funcionamento de um istema microprocessado.
AULA 16 - Dia 30/04/2014
Objetivos
- apresentação do miniprojeto 3
- apresentação do miniprojeto 4
Miniprojeto 4
Implementar um circuito lógico combinacional usando o microntrolador 8051. Função lógica a ser implementada:
Fernanda:
Renato:
Evander:
Antônio:
Alfredo:
Giovana:
Vinícius:
Fundamentação
- Criação de um projeto simples, no Proteus, usando o 80C31, 2 chaves LOGICSTATES e um PROBESTATE associados
a pinos da porta P1.
- Criação de um programa PORTA E;
- Mostrar a memória de programa, memória de BITS, as portas e o CARRY
- Explorar as instruções de movimentação de bit, operações lógicas de bit e JMP incondicional;
- Explorar execução passo a passo, breakpoint etc.
AULA - Dia 8/05/2014
AULA - Dia 9/05/2014
AULA - Dia 14/05/2014
Defesa do Mini Projeto 4
Giovana - B
Antônio - D
Renato - B
Alfredo - B
Fernanda - C
Evander - B
Vinícius - B
AULA - Dia 15/05/2014
Objetivos
- Avaliação final do Mini-Projeto 4
- Apresentação do Mini-Projeto 5
MiniProjeto 5
Objetivo
Este projeto tem por objetivo trabalhar a operação com bits utilizando instruções de jump condicional e o acesso a memória de bits. A definição de pinos com EQU será apresentada.
Exemplo 1
- ====================================================================
- RESET and INTERRUPT VECTORS
- ====================================================================
; Reset Vector
org 0000h
jmp Start
- ====================================================================
- CODE SEGMENT
- ====================================================================
org 0100h
Start:
; Write your code here
jb P1.0, alarme_on
clr P2.0
clr 00h
jmp pto2
alarme_on:
setb P2.0
setb 00h
pto2:
jmp Start
Loop:
jmp Loop
- ====================================================================
END
</syntaxhighlight>
Exemplo 2 - Usando EQU
- ====================================================================
- DEFINITIONS
- ====================================================================
CH_ON_OFF EQU P1.0
LED_ON_OFF EQU P2.0
- ====================================================================
- VARIABLES
- ====================================================================
STATUS_ON_OFF EQU 00h
- ====================================================================
- RESET and INTERRUPT VECTORS
- ====================================================================
; Reset Vector
org 0000h
jmp Start
- ====================================================================
- CODE SEGMENT
- ====================================================================
org 0100h
Start:
; Write your code here
jb CH_ON_OFF , alarme_on
clr LED_ON_OFF
clr STATUS_ON_OFF
jmp pto2
alarme_on:
setb LED_ON_OFF
setb STATUS_ON_OFF
pto2:
jmp Start
Loop:
jmp Loop
- ====================================================================
END
</syntaxhighlight>
O Projeto
Desenvolver um alarme com 4 entradas digitais (sensores). O sensor está desligado com o estado 0. Se pelo menos um sensor for desligado um alarme deve ser disparado. O alarme é uma saída digital que alterna o estado quando ativada. Se desativada permanece em 0. O alarme deve ter um uma saída indicando se está em operação ou não. Uma entrada adicional habilita o funcionamento do alarme (pode ser usada para desligar o alarme). Para maior flexibilidade, cada sensor pode ser desabilitado individualmente através de uma entrada digital associada a ele. Quando um sensor for violado uma saída digital deve indicar seu estado através do estado 1. Tão logo todos os sensores estejam desabilitados o alarme deixa de disparar.
Parte 1 - Mapeamento de Entradas e Saídas
Parte 2 - Fluxograma
Acesso por bits