Você está na página 1de 15

Introdução a Metodologia de

Desenvolvimento em
Dispositivos Programáveis

Prof Meuse Nogueira de O. Júnior, DSc


Tópicos
• Metodologia para dispositivos programáveis.
• Prática de Desenvolvimento
–Exercício
Familia 8051- Primeira prática de programação
Implementar uma porta AND

A
B

Y
Metodologia Básica de
Desenvolvimento
1. Especificação
2. Descrição
3. Definição do Algorítmo
4. Codificação
5. Simulação
6. Prototipação
Metodologia Básica de
Desenvolvimento
Metodologia Básica de
Desenvolvimento
4. Codificação
– Escrita de programa(s) que implemente o(s)
algoritmo(s) propostos.
5. Simulação
1. Primeira validação do sistema sobre uma plataforma
“virtual”
– Simulação de software, na própria IDE
(Integrated Development Environment)
– Simulação de hardware (Proteus, etc)
Implementando uma AND
1. Especificação

- Porta Lógica And (Funcional)


- Duas entradas (Funcional)
- Interface elétrica TTL (Funcional)
- Tempo de resposta < 1ms (Funcional)
- Alimentação ( Funcional)
- Single Chip (Um CI) (N Funcional)
- Peso < 200g (N Funcional)
- Custo < R$ 10,00 /unid (N Funcional)
- .......
Implementando uma AND
2. Descrição

- Caracteristica comportamental dominante:


- A saida será 0 sempre
que ao menos uma
entrada seja zero.
Implementando uma AND
Inicio
3. Algoritmo
S
X=1 A == 0? X=0

N
N
S
B == 0?
Implementando uma AND
4. Codificação – Linguagem Assembly

Inicio ; Declaração de Variáveis


Av EQU P2.0
Bv EQU P2.1
X EQU P2.7
S INICIO: JNB Av,RESET-X
X=1 A == 0? X=0 JNB Bv,RESET-X
SETB X
JMP INICIO
N
N RESET-X: CLR X
S
B == 0? JMP INICIO
Implementando uma AND Main() Main()
{ {
bit A ; bit A ;
bit B ; bit B ;
4. Codificação - Linguagem C Bit X = 0; bit X = 0;
While(1) While(1)
{ {
While(1) A = P2_0;
Inicio B = P2_1;
{
A = P2_0; If (A&
B = P2_1; {
if (A == 0) X=1;
S }
X=1 A == 0? X=0 {
X=0; else
break; {
N } X=0;
if (B==0) }
N }
S {
B == 0? X=0; }
break;
}
X=1;
}
Implementando uma AND
4. Simulação
Keil -> Linguagem C / Assembly Pinnacle -> Assembly
Implementando uma AND
5. Prototipação
Ambiente de Simulação Protótipo de Hardware
Exercícios de Classe
• Implementar em Assembly (Pinnacle) e em C
(Keil)
a) Porta NAND de duas entradas
b) Porta OR de duas entradas
c) Porta NOR de duas entradas
d) Porta XOR de duas entradas
e) Porta NAND de quatro entradas
Exercícios de Casa
• Implementar em Assembly (Pinnacle) e em C
(Keil)
a) Um meio somador
b) Um somador completo para palavras de 4 bits

OBS: Usando apenas instruções de fluxos – sem uso


de instruções lógicas e aritméticas.

Você também pode gostar