aula3_2013_2A

Propaganda
Microcontroladores
Sistemas Digitais Microprocessados
(SDM)
AULA3 –parte A
Profa. Ana T. Y. Watanabe
[email protected]
Microcontroladores
“Bem-aventurado o homem que
acha sabedoria, e o homem que
adquire conhecimento;”
Provérbios 3:13
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
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.
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).
Módulo ICS
(Internal Clock Source)
Temporização e Execução de Instruções
• 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
• 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);
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).
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.
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)
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.
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.
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;
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.
Modos de Endereçamento:
Modos de Endereçamento
Modos de Endereçamento
Modos de Endereçamento
Modos de Endereçamento
Modos de Endereçamento
Modos de Endereçamento
Modos de Endereçamento
Modos de Endereçamento
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.
Download