GENOVA 19-05-1997                    CLASSE Va G serale                       ANTONIO MAGGIO

 

RELAZIONE LABORATORIO TDP

 

SI VUOLE COSTRUIRE UN LETTORE DI TENSIONE DA 0 A 5V, UTILIZZANDO UN CONVERTITORE A/D TIPO ADC0800, ED UN MICRO-PROFESSOR.

 

DESCRIZIONE DEL SISTEMA:

 

Il seguente sistema emula un tester digitale, infatti rileva un valore di tensione da 0V a 5V, e lo visualizza in due modi: 1- attraverso otto LED  ; 2- tramite i display di un micro-professor.

Vediamo lo schema a blocchi:

Il convertitore A/D utilizzato, è del tipo ADC0800, che converte un segnale analogico continuo in un segnale digitale ad 8 bit. Il valore massimo di tensione ammesso in ingresso è 5V, quindi l’uscita avrà valore zero (0000 0000BIN) quando la tensione di ingresso VIN = 0V, mentre avrà valore 225 (1111 1111BIN) quando VIN = 5V.

L’ADC0800, è un convertitore che utilizza la tecnica dell’approssimazione successiva, dove il segnale sorgente viene comparato con dei livelli digitali interni predefiniti da dei microinteruttori. Quando il segnale sorgente è uguale ad uno dei livelli interni, la conversione è terminata, ed all’uscita del convertitore verrà fornito il valore digitale corrispondente, ma complementato

Per funzionare il convertitore A/D ha bisogno di un treno di impulsi (clock) con frequenza massima di 800 KHz, mentre al reoforo di Start Convertion (SC) deve giungere un impulso la cui durata t1 deve essere minore 3.5 volte il periodo del clock: 

t1 < 3.5 TCK

  Gli otto bit di uscita (byte) forniti dal convertitore A/D, vengono visualizzati da 8 LED, e successivamente inviati, tramite un bus di collegamento (flat), al PIO Z80 del Micro-Professor.

Il Micro-Professor, è un micro computer formato da vari integrati, vediamo lo schema a blocchi:

Ogni blocco può essere composto da uno o più integrati, che comunicano con lo Z80 attraverso i BUS DATI, BUS CONTROLLI e BUS INDIRIZZI. Il PIO costituisce le porte di comunicazione dello Z80, infatti attraverso di esse lo Z80 acquisisce ed invia dati.

Attraverso la tastiera viene digitato un programma in linguaggio Assembler che si occuperà di predisporre le porte del PIO, di inviare il segnale di Start-Convertion al convertitore A/D, di leggere il dato convertito ed infine di visualizzarlo sui Display del Micro-Professor, utilizzando delle sub routine interne del Micro-Professor.

 

Vediamo il diagramma di flusso del software: 

 

Vediamo ora il listato commentato del programma in linguaggio Assembler:

LOCAZIONE

DI

MEMORIA

LINGUAGGIO

MEMONICO

 

LING.

ASSEMBL

 

COMMENTO

1800

LD C,82H

0E

L’82H è il byte di controllo della porta A

1801

 

82

 

1802

LD A,4FH

3E

Il 4FH è il byte selettore di entrata

1803

 

4F

 

1804

OUT (C),A

ED

Definisce la porta A come ingresso

1805

 

79

 

1806

LD C,83H

0E

L’83H è il byte di controllo della porta B

1807

 

83

 

1808

LD A,0FH

3E

Lo 0FH è il byte selettore di uscita

1809

 

0F

 

180A

OUT (C),A

ED

Definisce la porta B come uscita

180B

 

79

 

180C

LD C,81H

0E

L’81H è l’indirizzo della porta B

180D

 

81

 

180E

LD A,01H

3E

|          Viene generato

180F

 

01

|          un impulso

1810

OUT (C),A

ED

|          al pin B0

1811

 

79

|          della porta B

1812

LD A,00H

3E

|          che equivale

1813

 

00

|          allo

1814

OUT (C),A

ED

|          Start Convertion (SC)

1815

 

79

|          del convertitore AD

1816

LD E,FF

1E

Viene effettuato un ciclo

1817

 

FF

di ritardo

1818

DEC E

1D

per permettere

1819

JPNZ,1818

C2

al convertitore A/D

181A

 

18

di effettuare

181B

 

18

la conversione

181C

LD C,80H

0E

L’80H è l’indirizzo della porta A

181D

 

80

 

181E

IN B,(C)

ED

Carica nel registro B il valore letto

181F

 

40

nella porta A

1820

LD A,B

78

Sposta in A il valore di B

1821

LD HL,1891

21

Carica nel doppio registro HL il valore 1891

1822

 

91

 

1823

 

18

 

1824

CALL 0678

CD

Converte il valore esadecimale del registro A nello stesso

1824

 

78

valore ma visualizzabile in un display a 7 segmenti, e lo

1826

 

06

scrive nella locazione di memoria indicata dal registro HL

1827

LD IX,1890

DD

Carica nel registro IX il dato 1891

1828

 

21

 

1829

 

90

 

182A

 

18

 

182B

CALL 0624

CD

Legge i 6 dati contenuti nelle 6 locazioni

182C

 

24

 di memoria successive a quella indicata dal

182D

 

06

 registro IX, e li visualizza sul display da destra verso sinistra

182E

JP 1800

C3

Salta alla locazione iniziale 1800

182F

 

00

 

1830

 

18

 

 

 

 

 

1890

 

37

Lettera H

1891

 

00

vuoto

1892

 

00

vuoto

1893

 

00

vuoto

1894

 

00

vuoto

1895

 

00

vuoto

Il convertitore ADC0800, viene montato su una scheda millefori, dove trovano posto anche un generatore di onda quadra, ottenuto con una porta logica NOT (integrato 74HC14) inserita in un circuito RC; una resistenza variabile da 0 a 10 KW che simula la variazione di tensione all’ingresso del convertitore A/D; uno stabilizzatore di tensione tipo LM7905 che stabilizza la tensione negativa, fornita esternamente, di cui abbisogna il convertitore A/D, e 8 LED che visualizzano l’uscita digitale del segnale convertito dal convertitore A/D.

Vediamo il Lay-out dei componenti:

In pratica: il micro-professor invia l’impulso di SC al ADC0800, il quale inizia la conversione del segnale analogico fornito da Rvar. Al termine della conversione, ai reofori OUT del ADC0800 è presente il valore digitale (binario) del segnale analogico, visualizzato dagli 8 LED. Il micro-professor, tramite il software visto sopra, preleva il dato digitale e lo visualizza in forma esadecimale sui suoi display.

Essendo il programma un loop, è possibile avere la visualizzazione in tempo reale della variazione di Rvar.

 

Vediamo infine lo schema elettrico del circuito: