MIC29004-2014-2
Microprocessadores: Diário de Aula 2014-2
- Professor: Roberto de Matos
- Encontros: 2ª feira às 9:40h e 5ª feira às 7:30h
- Grupo no Facebook
Material
Listas de Exercício
Aula 03/08: Apresentação
- Apresentação do professor.
- Apresentação dos alunos: Nome, perfil, preferências, etc.
- Apresentação da disciplina: conteúdo, bibliografia e avaliação.
- Aula Introdutória: Projetos práticos com Microcontroladores
Aula 07/08: Introdução a Memória
- Projetos práticos com Microcontroladores
- Introdução a Memória
- Latch D e Tristate
- Célula básica de memória
- Circuito genérico de memória
- Barramentos de dados, endereços e controle
- Links:
Aula 11/08: Não Houve Aula – Licença Médica
Aula 14/08: Proteus e Memória
- Introdução a Memória (cont.):
- Tamanho da memória e Largura da Palavra (N x M)
- Capacidade em bits
- Associação de Memórias
Proteus
Multiples of bytes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fonte: http://en.wikipedia.org/wiki/Kilobyte |
- Consolidar o conhecimento sobre memórias e barramentos de endereços, dados e controle através de um experimento no Proteus.
- Roteiro:
- Entrar no Windows.
- Baixe o arquivo de projeto. Coloque em um diretório conhecido.
- Clique sobre o arquivo. O PROTEUS será executado e o projeto aberto.
- 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.
- Grave o dado Ah na posição 0 de memória e Bh na posição 8.
- 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.
- Utilize a nova configuração para gravar o seu número de matrícula a partir da posição 0.
Exercícios
- Usando a memória do experimento como bloco base, realize a ligação entre elas de modo que se construa um banco de memória de 32 palavras de 8 bits.
- Usando a memória do experimento como bloco base, realize a ligação entre elas de modo que se construa um banco de memória de 64 palavras de 4 bits.
- Quais os tamanhos dos barramentos de endereço e dado para uma Memória de 512x8 bits?
- Determine a capacidade final em bits e o endereço inicial e final em Hexadecimal das memórias com as seguintes características:
- 512x4
- 4Kx8
- 128Kx8
- 2Mx16
Aula 17/08: Tipos de Memória
- ROM (PROM, EPROM, EEPROM, FLASH);
- RAM (DRAM, SRAM, DDR)
- Diferença das células
Exercícios (cont.)
- Usando a memória do experimento como bloco base, realize a ligação entre elas de modo que se construa um bancos de memórias de:
- 16 palavras de 8 bits.
- 32 palavras de 4 bits.
Aula 21/08: Exercícios Memória e Apresentação TCCs
Aula 25/08: Introdução a Arquitetura e Organização de Computadores
Aula 28/08: Arquitetura do BIP I
Aula 01/09: Organização do BIP I
Aula 04/09: Decoder BIP I
Aula 08/09: Arquitetura e Organização do BIP II
Aula 22/09: Prova Teórica
Aula 25/09: Microcontroladores
- Microcontrolador vs Microprocessador
- Aplicações
- Limitações
Aula 29/09: Prova Prática
Aula 02/10: Troca com Prof. Francisco (POO)
Aula 06/10: 8051
- Introdução
- Arquitetura Interna
- Memória
Aula 09/10: Assembly 8051
- Organização de um Código Assembly
- Instrução do montador: ORG, DB, END
- Prática com o MCU8051IDE.
- Conjunto de Instruções e Opcodes
- Modos de Endereçamento:
- Imediato
MOV A, #100</syntaxhighlight>
- Direto
MOV A, 20</syntaxhighlight>
- Indireto
MOV A, @R0</syntaxhighlight>
- Registro
MOV A, R0</syntaxhighlight>
- Registro Específico
MOVX A, @DPTR</syntaxhighlight>
- Indexado
MOVC A, @A+DPTR</syntaxhighlight>
Exemplo:
- INSTRUÇÕES DO 8051
ORG 0
Inicio:
mov 20h,#30h ;Ender. Imediato (valor constante esta' no opcode)
mov 30h,#07ah ;Ender. Imediato (valor constante esta' no opcode)
mov r0,30h ;Ender. Direto (operando especifica ENDERECO de 8 bits da RAM interna)
mov a,r0 ;Ender. via registrador (opcode contem 3 bits indicando qual registrador usar)
mov a,20h ;Ender. Direto (operando especifica ENDERECO de 8 bits da RAM interna)
mov a,#20h ;Ender. Imediato (valor constante esta' no opcode)
mov a,@r0 ;Ender. Indireto (registrador R0, R1, contem endereco do operando)
mov dptr,#tabela ;Ender. Imediato (valor constante esta' no opcode)
tabela: db 10h,20h,30h,0BBh,0AAh
end
</syntaxhighlight>
Aula 13/10: Exercícios Movimentação de Dados
Transferência de dados IDATA
- Construir um trecho de código para colocar a mensagem "ALO" na memória RAM interna, a partir do endereço 30H. Usar endereçamento imediato e direto.
- Construir um trecho de código para copiar 5 bytes consecutivos da memória RAM interna a partir do endereço 50H para um destino a partir de 42H. Usar somente endereçamento direto e por registrador.
- Repetir o exercício anterior usando somente endereço direto.
- Copiar 5 bytes consecutivos de uma área interna de memória de dados, a partir da posição 40H para a posição 66H. Usar endereçamento indireto e direto.
Transferência de dados XDATA
- Zerar as posições de memória RAM externa (XDATA) de número 80FFH, 9765H e FEA5H.
- Colocar a mensagem "ALO" nas posições de memória externa de dados 0670h,0671h e 0672h.
- Copiar os bytes das posições 4654H, 7687H e FADEH da XDATA para as posições 0000H, 0005H e A000H respectivamente.
Leitura da memória CODE
- Uma mensagem "ALO" foi gravada na área CODE a partir da posição de memória 5465H. Copie esta mensagem para a área de memória interna de dados, a partir das posições 76H.
- Repetir o exercício anterior mas agora copiando para a RAM externa de dados para um destino a partir de F555H.