TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Microcontrolador e Microprocessador

Por:   •  22/9/2015  •  Trabalho acadêmico  •  1.575 Palavras (7 Páginas)  •  412 Visualizações

Página 1 de 7

[pic 1]

LISTA DE EXERCÍCIOS 02

Disciplina: Microprocessadores e Microcontroladores

Curso: Eng. Elétrica / Eng. de Controle e Automação

Professor: Davi Sabbag Roveri

  • As questões abaixo devem ser respondidas de maneira direta, objetiva e sucinta.
  • Formar equipes de no máximo 6 alunos para responder este questionário. Os nomes dos alunos deverão estar identificados no início da folha de respostas.
  • Esta lista de exercícios vale como a ATPS do segundo bimestre.
  • Este questionário deverá ser entregue impresso.
  • Prazo de entrega:
  • até o dia 15/06/2015, antes do início da prova (Engenharia Elétrica).
  • até o dia 16/06/2015, antes do início da prova (Engenharia de Controle e Automação).

PARTE I

  1. Sistemas computacionais, como os microcontroladores, utilizam um tipo de estrutura de dados que é fundamental para a correta execução do programa-principal conforme sub-rotinas são chamadas/executadas/terminadas. Explique a estrutura e funcionamento da “Pilha” de um microcontrolador.

Quando acontece a primeira interrupção, o endereço armazenado em PC vai para o primeiro nível da pilha, se por acaso acontece uma segunda interrupção então novamente o endereço que esta dentro do PC ocupa o primeiro nível da pilha e o endereço que antes ocupava o primeiro nível desce para o segundo, quando a interrupção 2 acaba, o endereço que esta no primeiro nível, é posto novamente no PC, que retorna para a posição em que havia parado na primeira interrupção, daí o endereço 1 volta para o primeiro nível da pilhar e daí por diante

[pic 2]

  1. Na família MCS-51, existe um registrador especial denominado SP. Descreva qual é sua função e indique seu valor inicial após a ocorrência de um RESET.

O valor de SP após um reset é 07H, de modo que a pilha começa, por default, no byte de memória interna 08H, onde inicia também o banco de registradores 1. Portanto, se o programa precisar trabalhar com mais de um banco de registradores, deve escolher outro local para a pilha.

  1. Explicar resumidamente a diferença entre as instruções SJMP, AJMP, LJMP.

O endereço da instrução LJMP é um endereço de 16 bits da memória de programa. Através dessa instrução é possível realizar desvios para qualquer endereço dos 64Kb de memória de programa. Efetua um desvio incondicional da execução para o endereço (end16) da memória de programa.

O endereço da instrução SJMP é um valor de 8 bits correspondente ao deslocamento relativo desejado em relação ao atual endereço de execução (registro de função especial PC). Através dessa instrução é possível realizar desvios relativos de –128 a +127 posições na memória de programa, pois o deslocamento é dado em complemento de dois.Efetua um desvio incondicional relativo da execução do programa. O endereço de 16 bits do desvio é obtido pela CPU somando-se o valor relativo (rel) ao endereço contido no registro de função especial PC.

O endereço da instrução AJMP é um endereço de 1 bits da memória de programa. Através dessa instrução é possível realizar desvios apenas para a mesma página de 2Kb da memória de programa onde encontrase a referida instrução.Efetua um desvio incondicional da execução na mesma página de 2Kb da memória de programa. O endereço de 16 bits do desvio é obtido pela CPU completando os 1 bits (end1) com os 5 bits mais significativos do endereço contido no registro de função especial PC.

  1. Explicar resumidamente a diferença entre as instruções CALL, ACALL, LCALL.

O endereço da instrução ACALL é um endereço de 1 bits da memória de programa. Através dessa instrução é possível realizar chamadas de subrotinas apenas para a mesma página de 2Kb da memória de programa onde encontra-se a referida instrução.Salva o conteúdo do registro de função especial PC na pilha (o registro SP é incrementado 2 vezes, pois trata-se de um registro de 16 bits). Em seguida efetua um desvio para o endereço da subrotina (end11) na mesma página de 2KB da memória de programa. O valor salvo na pilha constitui o endereço de retorno a ser restaurado pela instrução RET ao final da subrotina.

O endereço da instrução LCALL é um endereço de 16 bits da memória de programa. Através dessa instrução é possível realizar chamadas de subrotinas em qualquer endereço dos 64Kb de memória de programa. Salva o conteúdo do registro de função especial PC na pilha (o registro SP é incrementado 2 vezes, pois trata-se de um registro de 16 bits). Em seguida efetua um desvio para o endereço da subrotina (end16). O valor salvo na pilha constitui o endereço de retorno a ser restaurado pela instrução RET ao final da subrotina.

  1. Explique o que é uma interrupção “não vetorada” e “vetorada”.

 Quando a CPU tem um endereço fixo de desvio de interrupção, esta é chamada de interrupção não vetorada.

 Quando a CPU, ao ser interrompida, permite que o dispositivo que a interrompeu, envie o endereço de desvio, então esta é chamada de interrupção vetorada.

  1. Que tipo de disparo pode-se programar com relação às interrupções geradas externamente? Como esta característica é programada?
  1. Considere um microcontrolador que trabalha apenas com interrupções não vetoradas. Por que não se pode desenvolver um programa grande de atendimento à interrupção, a partir do próprio endereço desta interrupção?
  1. Qual a diferença entre as instruções RET e RETI?

As instruções RET e RETI são instruções que realizam o retorno de chamadas de subrotinas e interrupções, respectivamente, possuindo as seguintes sintaxes:

As instruções de retorno recuperam o endereço original contido no registro de função especial PC no momento da chamada da subrotina ou interrupção.

...

Baixar como (para membros premium)  txt (10.5 Kb)   pdf (170.9 Kb)   docx (29.5 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com