microcontroladores sistemas digitais microprocessados (sdm) aula3 –parte a profa. ana t. y....

25
Microcontroladores Microcontroladores Sistemas Digitais Sistemas Digitais Microprocessados Microprocessados (SDM) (SDM) AULA3 –parte A AULA3 –parte A Profa. Ana T. Y. Watanabe Profa. Ana T. Y. Watanabe [email protected]

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

MicrocontroladoresMicrocontroladores

Sistemas Digitais MicroprocessadosSistemas Digitais Microprocessados

(SDM)(SDM)

AULA3 –parte AAULA3 –parte A

Profa. Ana T. Y. WatanabeProfa. Ana T. Y. [email protected]

Page 2: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Microcontroladores

“Bem-aventurado o homem que acha sabedoria, e o homem que adquire conhecimento;” Provérbios 3:13

Page 3: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

OBJETIVO DA AULA

• Temporização e Execução de Instruções• Linguagem do computador: Assembly• Classificação das Instruções: * Movimentação de Dados * Manipulação de Bits

* Aritméticas e Lógicas * Teste e Desvio * Controle do Processador

• Modos de endereçamento • Exercícios de fixação

Page 4: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Temporização e Execução de Instruções

• O sistema de relógio (clocking system) do microcontrolador é responsável por gerar os pulsos de clock que fazem as instruções, a CPU e os periféricos funcionarem em sincronia corretamente.

• O clocking system do HCS08QG8 é o ICS (Internal Clock Source).

• O sistema ICS engloba basicamente um circuito FLL (Frequency-Locked Loop) que pode receber sinal de clock de uma fonte interna ou externa.

Page 5: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Temporização e Execução de Instruções

• O circuito FLL gera um sinal comparando a frequência gerada por um oscilador digital (DCO) com a frequência do sinal de referência interna ou externa;

• A saída deste módulo é chamada ICSOUT;

• Esta saída é dividida por dois gerando o barramento de Clock (BUSCLK).

Page 6: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Módulo ICS (Internal Clock Source)

Page 7: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

• Uma instrução necessita de no mínimo um ciclo de barramento ( ou dois ciclos de clock) para ser executada;

Temporização e Execução de Instruções

Page 8: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

• Exemplo: ICSOUT = 16MHz =>> BUSCLK = 8MHz• No melhor caso: instrução em um

ciclo de barramento;• Equivale: 125ns ou 8 milhões de

instruções por segundo (8 MIPS);• Tempo médio: 4 ciclos de barramento;• Equivale: 500ns ou 2 milhões de

instruções por seg. (2 MIPS);

Temporização e Execução de Instruções

Page 9: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Linguagem do computador: Assembly

Qual a linguagem com que o computador se comunica? Linguagem binária (zeros e uns)

Um programa => sequência de comandos (conjunto de bits agrupados em 4, 8, 16, 32 ou 64 elementos dependendo da CPU).

Page 10: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Linguagem do computador: Assembly

• O microcontrolador ou microprocessador possui um conjunto de instruções (opcodes) próprias. É imperativo conhecê-las para que se possa escrever um programa para ele.

• Os fabricantes para facilitar disponibilizam uma linguagem alternativa => linguagem Assembly.

• Na realidade, constitui-se apenas em nomear ou “apelidar” os opcodes, de forma a se memorizar e entender sua forma mais clara e simples.

Page 11: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Linguagem do computador: Assembly

• A linguagem assembly é constituído de mnemônicos que são abreviações (em inglês) das operações efetuadas pelas intruções.

• Ex.: LDA #$0A ; carrega A com 10 CMP $80 ; compara A com o conteúdo do

end. $80 BEQ FIM ; se a comparação for igual vai

para fim

LDA = LoaD Acumulator (carregar acumulador)

CMP = CoMP (comparar) BEQ = Branch if EQual (desvie se igual)

Page 12: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Linguagem do computador: Assembly

• Observe que as instruções vem acompanhados de valores ou palavras. Estes elementos são chamados de operandos da instrução e possuem o propósito de complementá-la.

• Estes operandos podem ser valores: imediato, registrador e memória.

Page 13: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Linguagem do computador: Assembly

• Montador Assembler. Este é o programa que transforma o código escrito na linguagem Assembly em linguagem de máquina, substituindo as instruções, variáveis pelos códigos binários e endereços de memória correspondentes.

• Os compiladores de várias linguagens de alto nível fazem a compilação dos programas em duas etapas, na primeira transformando o código fonte em código Assembly e em seguida gerando o binário com a ajuda de um Assembler.

Page 14: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Classificação das Instruções:

1)Movimentação de Dados: efetua a carga, movimentação e manipulação de dados (bytes ou words);

2)Manipulação de Bit: setar/apagar um bit na memória ou em um registrador;

3)Aritméticas e Lógicas: realizar operações matemáticas ou lógicas;

Page 15: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Classificação das Instruções:

4)Teste Condicional e Desvio: realizar testes e desvios no fluxo de programa;

5)Controle do Processador: Controle interno do processador.

Page 16: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento:

Page 17: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento

Page 18: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento

Page 19: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento

Page 20: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento

Page 21: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento

Page 22: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento

Page 23: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento

Page 24: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Modos de Endereçamento

Page 25: Microcontroladores Sistemas Digitais Microprocessados (SDM) AULA3 –parte A Profa. Ana T. Y. Watanabe atywata@gmail.com.br

Exercício:

Escreva um programa que lê o conteúdo do acumulador previamente carregado com o conteúdo da memória do endereço $007F. A seguir, testa se o “bit” menos significativo é igual a 1. Em caso positivo, acende o led (bit 0) na porta de saída A ($0000), caso contrário, acende outro led (bit 1) na porta de saída A ($0000). Os leds devem ser devidamente configurados, sendo que acende com nivel 0.