Vous êtes sur la page 1sur 9

MC-LAB - LABORATÓRIO 12: CONVERSORES A/D E D/A

1. Objetivos

Ensinar como os microcomputadores operam com sinais do mundo real.

2. Equipamento necessário

 Unidade microcomputador MC-1.


 Uma fonte de alimentação de +5 volts MB-2F.
 Unidade MC-2/2 A/D-D/A.
 Unidade MC-2/3 Bus Adapter.
 Unidade de serviço PU-116, de chaves e indicadores.
 Um osciloscópio.
 Unidade geradora de pulsos.
3. Teoria

 LEIA ATENTAMENTE A TEORIA EXPOSTA NESTE ITEM E NO CAPÍTULO 13 DO


GAONKAR.
 TRAGA O GAONKAR PARA O LABORATÓRIO.

A unidade MC-2/2 é a unidade de conversão A/D e D/A do sistema MC-LAB. Ela consiste de um conversor
A/D de 8 bits, baseado no circuito integrado ADC0800, e de um conversor D/A de 8 bits, cujo componente
principal é o circuito integrado 1408-8. Os dois conversores se possuem, o s endereços 80 e 81, respecti-
vamente, e podem ser operados por meio do microcomputador MC-1 ou manualmente.
A figura 1 mostra o diagrama esquemático do conversor D/A, tal como encontrado na unidade MC-2/2.
Os comparadores 7485 detectam o endereço da porta 81 junto com o sinal de escrita (/WR). Observe que o
sinal A8 diferencia a porta D/A (porta 81, com A8=1) e a porta A/D (porta 80, com A8=0).
Os dados são transferidos ao conversor D/A a partir do microcomputador ou da fonte externa de dados (de-
nominada EXTERNAL DATA IN).
A fonte de dados e dos sinais de controle é definida por meio da chave D/A BUS-EXTERNAL. Esta chave
seleciona a fonte de dados por meio da seleção do estado lógico do seletor (S) do multiplexador 74157 e,
simultaneamente, transferindo a linha de clock (CK) do 74LS273 ao sinal de START D/A.
O sinal START D/A pode ser gerado pelo microcomputador ou pode ser fornecido por um gerador de pulsos
ou chave externa, através do conector ligado ao painel frontal da unidade (chamado START D/A). Este sinal
aplica um pulso de clock ao flip-flop octal tipo D, 74LS273, que registra os valores dos dados.

73
Figura 1 - MC-2/2 - Diagrama Esquemático do Conversor D/A.
O conversor D/A 1408-8 converte os dados de entrada em valor de corrente de saída, transformado por sua
vez em um valor de tensão pelo conversor de corrente/tensão (741). Assim se obtém um valor de tensão
entre -5 e +5 volts, correspondentes aos dados digitais entre 00 e FF (hexadecimal).

74
Um LED indica que o conversor D/A foi selecionado; o mesmo LED se apagará com a aplicação do sinal
RESET OUT. Todas as operações do LED são controladas por meio de um flip-flop (7474).
A figura 2 mostra o diagrama esquemático do conversor A/D incluído na unidade MC-2/2.
O conversor ADC0800 aceita entradas analógicas compreendidas entre -5 e +5 volts e envia 8 bits corres-
pondentes ao valor digital (entre 00 e FF) ao microcomputador, por meio do barramento de dados ou de 8
conectores ligados ao painel frontal da unidade (denominado EXTERNAL DATA OUT).
Os pulsos de clock são aplicados ao conversor A/D por meio de um circuito gerador de pulsos de clock. Este
gerador de clock consiste de um inversor Schmitt Trigger, um flip-flop tipo D conectado no modo divisor por
dois e de alguns componentes discretos. O inversor, em conjunto com o resistor que realimenta a entrada à
saída, constitui o oscilador básico. O flip-flop tipo D fornece a onda quadrada simétrica requerida pelo con-
versor A/D.
A conversão começa quando o conversor recebe o pulso START A/D. Este pulso pode vir de um gerador de
pulsos ou de uma chave externos a unidade a unidade ou também de uma instrução do microcomputador:
OUT 80, dependendo da posição do chave A/D BUS-EXTERNAL. A natureza do pulso de entrada não é
importante porque este ativa um monoestável (74LS123) que gera o pulso necessário para o conversor.
Os dados digitais estarão disponíveis depois de transcorridos 40 períodos de clock, a partir do começo da
conversão. O microcomputador poderá detectar o final da conversão se a linha EOC (End of Conversion) for
conectada a algum pino de interrupção. Esta conexão é possível porque outro monoestável (74LS123) gera
a largura de pulso EOC necessária para ativar uma interrupção.
O microcomputador lerá os dados executando a instrução IN 80. Se o microcomputador não é utilizado, os
dados podem ser obtidos através dos 8 conectores do painel frontal da unidade (EXTERNAL DATA OUT). A
chave BUS-EXTERNAL A/D determina a modalidade de funcionamento. Os dois 74LS240 funcionam como
demultiplexadores do barramento de dados.
Um LED indica a seleção do conversor A/D; este LED se apagará com a aplicação do sinal RESET OUT.
Um flip-flop (7474) controla a operação do LED.

75
Figura 2 - MC-2/2 - Diagrama Esquemático do Conversor A/D

76
4. Experimentos

PARA EXECUTAR OS PROGRAMAS, COMPLETE E CONFIRA TODOS OS CÓDIGOS HEXADECIMAIS


DAS INSTRUÇÕES

4.1. O Conversor D/A - Operação Manual.


Este experimento mostrará como operar o conversor D/A sem a ajuda de um microcomputador. Conecte 8
chaves aos conectores EXTERNAL DATA IN, um push-button (PB1 ou PB2) ao conector START D/A e o
osciloscópio ou um voltímetro ao conector VOUT. O barramento do microcomputador não precisa ser conec-
tado.
Coloque a chave D/A na posição EXTERNAL. Agora o conversor D/A está pronto para ser operado manual-
mente. Cada pulso aplicado à entrada START D/A converterá a entrada digital em um valor de voltagem.
Complete a tabela abaixo para os diferentes dados mostrados nela.

Dados de Entrada (Hex) VOUT (Volt)


00
20
40
60
7F
80
A0
C0
E0
FF
Tabela 1 - Conversor D/A - Operação manual
A máxima freqüência de pulsos que poderá ser aplicada à entrada START D/A depende da velocidade má-
xima de conversão do 1408-8.

4.2. Conversor A/D - Operação Manual.


O conversor A/D também poderá ser operado no modo manual. Conecte 8 indicadores ao conectores
EXTERNAL DATA OUT, um push-button (PB1 ou PB2) ao conector START A/D, uma fonte de tensão ao
conector VIN (que poderá ser a fonte incorporada à unidade - Vref) e coloque a chave A/D à posição
EXTERNAL. Desta forma, o conversor A/D estará pronto para ser operado manualmente.
Obs.: Para o caso de usarmos um gerador de pulsos no lugar do push-button, o tempo de conversão (ou
velocidade de conversão) é de 40 períodos de clock e portanto, a freqüência dos pulsos START A/D terá
que ser menor que 2 kHz (valor recomendado), para assegurar que as conversões cheguem a seu término.
Cada pulso START A/D converterá a entrada analógica (de -5 a +5 Volts) em um valor digital corresponden-
te. Complete a tabela abaixo para as diferentes tensões mostradas.

77
VIN (Volts) Dados de Saída (Hex)
-5
-4
-3
-2
-1
0
+1
+2
+3
+4
+5
Tabela 2 - Conversor A/D - Operação manual

4.3. Conversor D/A - Operação Automática.


O conversor D/A poderá ser controlado por um microcomputador através de seu barramento. Neste modo, a
chave D/A deverá estar na posição BUS. O programa seguinte mostra como o microcomputador opera o
conversor D/A para produzir uma forma de onda periódica na saída VOUT. Conecte um osciloscópio nesta
saída e execute o programa da tabela abaixo. O nível mínimo de saída é de -5 Volts e o máximo, de +5
Volts.
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
LXI SP,20A0 define o stack pointer
XRA A Carrega o byte inicial (-5 volts)
LOOP: OUT 81 Inicia a conversão D/A
INR A Aumenta a tensão
JMP LOOP Retorna ao loop
Tabela 3 - Um gerador de ondas.
Escreva um programa que gere uma onda quadrada de 1KHz, com 30% do período no nível “1” e
execute-o com a unidade MC-2/2 conectada. A folha de codificação está no final da prática.

4.4. Conversão A/D - Operação Automática.


O conversor A/D poderá ser operado automaticamente quando estiver conectado a um microcomputador.
Neste modo a chave A/D deverá estar na posição BUS.
O tempo entre duas conversões poderá ser determinado por uma rotina de retardo de tempo na programa-
ção, ou usando a saída EOC (End of Conversion)
O seguinte programa usa a primeira possibilidade, convertendo a entrada analógica em dados digitais que
são transferidos à Porta A do microcomputador MC-1. Conecte VREF com VIN e execute o programa dado na
tabela abaixo.
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
LXI SP,20A0 define o stack pointer
MVI A, 0F define a porta A como porta de saí-
da
OUT 20
LOOP: OUT 80 inicia a conversão A/D
LXI D, 0020 define a constante de retardo
CALL DELAY espera até o final da conversão
IN 80 lê os dados
OUT 21 envia à porta A
JMP LOOP retorna ao loop
Tabela 4 - Conversão A/D com uma rotina de retardo de tempo.

78
VIN (Volts) Dados de Saída (Hex)
-5
-4
-3
-2
-1
0
+1
+2
+3
+4
+5
Tabela 5 - Conversor A/D - Operação automática
Uma versão melhorada deste programa está mostrada na tabela a seguir; este programa inicia o ciclo de
conversão e aguarda a subida do pulso EOC, que é recebido por meio da linha RST 6.5, para ler seguida-
mente os dados e transferi-los à porta A. Conecte EOC a RST 6.5 (na unidade Bus Adapter) e execute o
seguinte programa.
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS
LXI SP,20A0 define o stack pointer
MVI A,C3 define a rotina de interrupção,
STA 20C8
LXI H,RSI65
SHLD 20C9
MVI A, 0F define a porta A como saída
OUT 20
OUT 80 começa a conversão A/D
MVI A, 0C define a máscara de interrupção
SIM estabelece a máscara de interrupção
EI habilita as interrupções
LOOP: JMP LOOP espera a interrupção RST 6.5

RSI65: IN 80 rotina de interrupção; lê os dados


OUT 21 envia os dados à porta A
EI habilita interrupções
RET
Tabela 6 - Uso da linha EOC.

5. Experimentos

5.1. Um pequeno sistema de aquisição de dados.


A aquisição de dados é conseguida geralmente usando um conversor A/D controlado por um microcompu-
tador. Os dados poderão ser enviados a um terminal ou a um conversor D/A para serem visualizados em um
osciloscópio. Neste experimento, a unidade MC-2/2 poderá ser usada para realizar estas as duas tarefas.
A entrada analógica virá da conexão entre VREF e VIN, no conversor A/D. O terminal poderá ser o display do
microcomputador (área de dados) e o osciloscópio poderá ser conectado a VOUT, no conversor D/A.
Escreva um programa que leia um valor analógico usando o conversor A/D, envie os dados digitais corres-
pondentes ao display de dados do MC-1 e, simultaneamente, ao conversor D/A, cuja saída VOUT deverá
estar conectada a um osciloscópio.

79
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS

Tabela 7 - Seus programas

80
END. OPCODE OPERANDOS LABEL ASSEMBLY COMENTÁRIOS

Tabela 8 - Seus programas

81